英雄场景测试
This commit is contained in:
parent
b1ccc8f36f
commit
7f53373c3f
411
busi/hero.go
Normal file
411
busi/hero.go
Normal file
@ -0,0 +1,411 @@
|
||||
package busi
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"legu.airobot/lib"
|
||||
"legu.airobot/pb"
|
||||
)
|
||||
|
||||
//好友场景
|
||||
|
||||
var _ lib.IScene = (*HeroScene)(nil)
|
||||
|
||||
type HeroScene struct {
|
||||
lib.Action
|
||||
}
|
||||
|
||||
func (f *HeroScene) Info() lib.SceneInfo {
|
||||
return lib.SceneInfo{
|
||||
Name: "英雄模块",
|
||||
Desc: "aaa",
|
||||
}
|
||||
}
|
||||
|
||||
func (f *HeroScene) Run(robot lib.IRobot) error {
|
||||
// var (
|
||||
// code pb.ErrorCode
|
||||
// )
|
||||
// req := &pb.HeroListReq{}
|
||||
// rsp := &pb.HeroListResp{}
|
||||
// code = robot.SendMsg("hero", "list", req, rsp)
|
||||
// if code != pb.ErrorCode_Success {
|
||||
// return nil
|
||||
// }
|
||||
f.AddHero(robot, "25001") // 加阿宝
|
||||
f.AddHero(robot, "44911") // 升级精灵
|
||||
f.AddHero(robot, "45921") // 技能精灵
|
||||
time.Sleep(10 * time.Millisecond) // 等待10ms
|
||||
f.HeroLvUp(robot) // 英雄升级
|
||||
time.Sleep(10 * time.Millisecond) // 等待10ms
|
||||
f.HeroSkillLvUp(robot) // 技能升级
|
||||
|
||||
// 升星
|
||||
f.AddAttrGold(robot)
|
||||
time.Sleep(10 * time.Millisecond) // 等待10ms
|
||||
f.HeroStarUp(robot)
|
||||
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
f.HeroResonance(robot) // 共鸣
|
||||
|
||||
f.AddItem(robot, "50001") // 觉醒材料
|
||||
f.HeroAwaken(robot)
|
||||
|
||||
f.AddItem(robot, "30001") // 抽卡材料
|
||||
f.HeroDraw(robot) // 普通十连
|
||||
|
||||
// 购买抽卡道具
|
||||
f.AddAttrDiamond(robot) // 加钻石
|
||||
f.HeroDraw(robot)
|
||||
|
||||
// 卡牌融合
|
||||
f.AddHero(robot, "25004") // 加英雄
|
||||
f.AddHero(robot, "25004") // 加英雄
|
||||
f.AddHero(robot, "25004") // 加英雄
|
||||
f.AddHero(robot, "25004") // 加英雄
|
||||
return nil
|
||||
}
|
||||
|
||||
// 加金币
|
||||
func (f *HeroScene) AddAttrGold(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
)
|
||||
req := &pb.GMCmdReq{
|
||||
Cmod: "bingo:attr,gold,1000000",
|
||||
}
|
||||
rsp := &pb.GMCmdResp{}
|
||||
code = robot.SendMsg("gm", "cmd", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 加钻石
|
||||
func (f *HeroScene) AddAttrDiamond(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
)
|
||||
req := &pb.GMCmdReq{
|
||||
Cmod: "bingo:attr,diamond,1000000",
|
||||
}
|
||||
rsp := &pb.GMCmdResp{}
|
||||
code = robot.SendMsg("gm", "cmd", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 加英雄
|
||||
func (f *HeroScene) AddHero(robot lib.IRobot, cid string) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
)
|
||||
req := &pb.GMCmdReq{
|
||||
Cmod: "bingo:hero," + cid + ",1",
|
||||
}
|
||||
rsp := &pb.GMCmdResp{}
|
||||
code = robot.SendMsg("gm", "cmd", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
func (f *HeroScene) AddItem(robot lib.IRobot, cid string) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
)
|
||||
req := &pb.GMCmdReq{
|
||||
Cmod: "bingo:item," + cid + ",1000",
|
||||
}
|
||||
rsp := &pb.GMCmdResp{}
|
||||
code = robot.SendMsg("gm", "cmd", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
func (f *HeroScene) HeroLvUp(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
expCard *pb.DBHero // 消耗的英雄
|
||||
lvcard *pb.DBHero // 升级的英雄
|
||||
)
|
||||
req := &pb.HeroListReq{}
|
||||
rsp := &pb.HeroListResp{}
|
||||
code = robot.SendMsg("hero", "list", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
for _, v := range rsp.List {
|
||||
if v.CardType == 3 {
|
||||
expCard = v // 找到升级卡
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
for _, v := range rsp.List {
|
||||
if v.HeroID == "25001" {
|
||||
lvcard = v
|
||||
break
|
||||
}
|
||||
}
|
||||
// 升级
|
||||
lvReq := &pb.HeroStrengthenUplvReq{
|
||||
HeroObjID: lvcard.Id,
|
||||
ExpCards: []*pb.MapStringInt32{},
|
||||
}
|
||||
lvReq.ExpCards = append(lvReq.ExpCards, &pb.MapStringInt32{
|
||||
Key: expCard.Id,
|
||||
Value: 1,
|
||||
})
|
||||
lvRsp := &pb.HeroStrengthenUplvResp{}
|
||||
code = robot.SendMsg("hero", "strengthenuplv", lvReq, lvRsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
//技能升级
|
||||
func (f *HeroScene) HeroSkillLvUp(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
skillCard *pb.DBHero // 消耗的英雄
|
||||
lvcard *pb.DBHero // 升级的英雄
|
||||
)
|
||||
req := &pb.HeroListReq{}
|
||||
rsp := &pb.HeroListResp{}
|
||||
code = robot.SendMsg("hero", "list", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
for _, v := range rsp.List {
|
||||
if v.CardType == 4 {
|
||||
skillCard = v // 找到技能升级卡
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
for _, v := range rsp.List {
|
||||
if v.HeroID == "25001" {
|
||||
lvcard = v
|
||||
break
|
||||
}
|
||||
}
|
||||
// 升级
|
||||
lvReq := &pb.HeroStrengthenUpSkillReq{
|
||||
HeroObjID: lvcard.Id,
|
||||
CostCardObj: []string{},
|
||||
}
|
||||
lvReq.CostCardObj = append(lvReq.CostCardObj, skillCard.Id)
|
||||
lvRsp := &pb.HeroStrengthenUpSkillResp{}
|
||||
code = robot.SendMsg("hero", "strengthenupskill", lvReq, lvRsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 升星
|
||||
func (f *HeroScene) HeroStarUp(robot lib.IRobot) error {
|
||||
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
costCard *pb.DBHero // 消耗的英雄
|
||||
lvcard *pb.DBHero // 升级的英雄
|
||||
)
|
||||
req := &pb.GMCmdReq{
|
||||
Cmod: "bingo:hero,15002,5",
|
||||
}
|
||||
rsp := &pb.GMCmdResp{}
|
||||
code = robot.SendMsg("gm", "cmd", req, rsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
listReq := &pb.HeroListReq{}
|
||||
listResp := &pb.HeroListResp{}
|
||||
code = robot.SendMsg("hero", "list", listReq, listResp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
for _, v := range listResp.List {
|
||||
if v.HeroID == "15002" {
|
||||
costCard = v // 找到技能升级卡
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
for _, v := range listResp.List {
|
||||
if v.HeroID == "25001" {
|
||||
lvcard = v
|
||||
break
|
||||
}
|
||||
}
|
||||
// 升星
|
||||
starReq := &pb.HeroStrengthenUpStarReq{
|
||||
HeroObjID: lvcard.Id,
|
||||
|
||||
HeroRace: []*pb.CostCardData{},
|
||||
}
|
||||
starReq.HeroRace = append(starReq.HeroRace, &pb.CostCardData{
|
||||
CostCardObj: costCard.Id,
|
||||
Amount: 5,
|
||||
})
|
||||
starRsp := &pb.HeroStrengthenUpStarResp{}
|
||||
code = robot.SendMsg("hero", "strengthenupstar", starReq, starRsp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 英雄共鸣
|
||||
func (f *HeroScene) HeroResonance(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
costCard *pb.DBHero // 消耗的英雄
|
||||
resonCard *pb.DBHero // 共鸣的英雄
|
||||
)
|
||||
f.AddHero(robot, "25001") // 加阿宝
|
||||
listReq := &pb.HeroListReq{}
|
||||
listResp := &pb.HeroListResp{}
|
||||
code = robot.SendMsg("hero", "list", listReq, listResp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
for _, v := range listResp.List {
|
||||
if v.HeroID == "25001" && v.Lv > 1 {
|
||||
resonCard = v // 找到目标卡
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
for _, v := range listResp.List {
|
||||
if v.HeroID == "25001" && v.Lv == 1 {
|
||||
costCard = v
|
||||
break
|
||||
}
|
||||
}
|
||||
resonReq := &pb.HeroResonanceReq{
|
||||
HeroObjID: resonCard.Id,
|
||||
CostObjID: []string{},
|
||||
}
|
||||
resonReq.CostObjID = append(resonReq.CostObjID, costCard.Id)
|
||||
resonResp := &pb.HeroResonanceResp{}
|
||||
code = robot.SendMsg("hero", "resonance", resonReq, resonResp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 英雄觉醒
|
||||
func (f *HeroScene) HeroAwaken(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
awakenCard *pb.DBHero // 觉醒的英雄
|
||||
)
|
||||
|
||||
listReq := &pb.HeroListReq{}
|
||||
listResp := &pb.HeroListResp{}
|
||||
code = robot.SendMsg("hero", "list", listReq, listResp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
for _, v := range listResp.List {
|
||||
if v.HeroID == "25001" && v.Lv > 1 {
|
||||
awakenCard = v // 找到目标卡
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
awakenReq := &pb.HeroAwakenReq{
|
||||
HeroObjID: awakenCard.Id,
|
||||
}
|
||||
awakenResp := &pb.HeroAwakenResp{}
|
||||
code = robot.SendMsg("hero", "awaken", awakenReq, awakenResp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 抽卡
|
||||
func (f *HeroScene) HeroDraw(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
)
|
||||
|
||||
req := &pb.HeroDrawCardReq{
|
||||
DrawType: 0,
|
||||
DrawCount: 10,
|
||||
}
|
||||
resp := &pb.HeroDrawCardResp{}
|
||||
code = robot.SendMsg("hero", "drawcard", req, resp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 购买抽卡道具
|
||||
func (f *HeroScene) HeroBuy(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
)
|
||||
|
||||
req := &pb.HeroBuyReq{
|
||||
BuyType: 1000001,
|
||||
BuyCount: 10,
|
||||
}
|
||||
resp := &pb.HeroBuyResp{}
|
||||
code = robot.SendMsg("hero", "buy", req, resp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 英雄融合
|
||||
func (f *HeroScene) HeroFusion(robot lib.IRobot) error {
|
||||
var (
|
||||
code pb.ErrorCode
|
||||
delCard string
|
||||
)
|
||||
listReq := &pb.HeroListReq{}
|
||||
listResp := &pb.HeroListResp{}
|
||||
code = robot.SendMsg("hero", "list", listReq, listResp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
for _, v := range listResp.List {
|
||||
if v.HeroID == "25004" {
|
||||
delCard = v.Id // 找到目标卡
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
req := &pb.HeroFusionReq{
|
||||
HeroId: "25001",
|
||||
Heros: map[string]int32{},
|
||||
}
|
||||
req.Heros[delCard] = 4
|
||||
resp := &pb.HeroFusionResp{}
|
||||
code = robot.SendMsg("hero", "fusion", req, resp)
|
||||
if code != pb.ErrorCode_Success {
|
||||
return nil
|
||||
}
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue
Block a user