From b1ccc8f36ffeb334b93cdfdd167ee288ed638f31 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Mon, 12 Dec 2022 18:06:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- busi/friend.go | 1 + 1 file changed, 1 insertion(+) diff --git a/busi/friend.go b/busi/friend.go index 69d01fe..6118062 100644 --- a/busi/friend.go +++ b/busi/friend.go @@ -24,5 +24,6 @@ func (f *FriendScene) Run(robot lib.IRobot) error { req := &pb.FriendRandlistReq{} rsp := &pb.FriendRandlistResp{} robot.SendMsg("", "", req, rsp) + return nil } From 7f53373c3f6861b4122124c7b556e2dfd03b93f7 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Mon, 12 Dec 2022 18:06:59 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- busi/hero.go | 411 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 411 insertions(+) create mode 100644 busi/hero.go diff --git a/busi/hero.go b/busi/hero.go new file mode 100644 index 0000000..51758a5 --- /dev/null +++ b/busi/hero.go @@ -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 +}