From e071cf0d44a5c3bdf37474218eb306847b796b65 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 5 Jul 2022 15:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B1=E9=B8=A3=E6=B6=88=E8=80=97=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_heroresonance.json | 24 ++- comm/const.go | 5 +- modules/hero/api_resonance.go | 60 +++++--- modules/hero/api_skillUp.go | 2 +- modules/hero/api_starUp.go | 6 +- modules/hero/module.go | 6 +- modules/user/module.go | 2 +- pb/hero_msg.pb.go | 138 ++++++++---------- pb/proto/hero/hero_msg.proto | 3 +- sys/configure/structs/game.heroData.go | 2 + .../structs/game.heroResonanceData.go | 15 ++ 11 files changed, 153 insertions(+), 110 deletions(-) diff --git a/bin/json/game_heroresonance.json b/bin/json/game_heroresonance.json index 964c21f48..204fa435e 100644 --- a/bin/json/game_heroresonance.json +++ b/bin/json/game_heroresonance.json @@ -10,12 +10,14 @@ "n": 1 } ], - "need": [ + "heroneed": [ { "a": "hero", "t": "15001", "n": 1 - }, + } + ], + "need": [ { "a": "attr", "t": "gold", @@ -41,12 +43,14 @@ "n": 1 } ], - "need": [ + "heroneed": [ { "a": "hero", "t": "25001", "n": 1 - }, + } + ], + "need": [ { "a": "attr", "t": "gold", @@ -72,12 +76,14 @@ "n": 1 } ], - "need": [ + "heroneed": [ { "a": "hero", "t": "35001", "n": 1 - }, + } + ], + "need": [ { "a": "attr", "t": "gold", @@ -103,12 +109,14 @@ "n": 1 } ], - "need": [ + "heroneed": [ { "a": "hero", "t": "44001", "n": 1 - }, + } + ], + "need": [ { "a": "attr", "t": "gold", diff --git a/comm/const.go b/comm/const.go index cd61c3756..628372a2d 100644 --- a/comm/const.go +++ b/comm/const.go @@ -85,6 +85,7 @@ const ( ) const ( - ResGold = "gold" //金币 - ResExp = "exp" //经验 + ResGold = "gold" //金币 + ResExp = "exp" //经验 + ResDiamonds = "diamonds" // 钻石 ) diff --git a/modules/hero/api_resonance.go b/modules/hero/api_resonance.go index 9747a1c38..02602cde8 100644 --- a/modules/hero/api_resonance.go +++ b/modules/hero/api_resonance.go @@ -11,7 +11,7 @@ import ( //参数校验 func (this *apiComp) ResonanceCheck(session comm.IUserSession, req *pb.HeroResonanceReq) (code pb.ErrorCode) { - if req.HeroObjID == "" || req.CostObjID == "" { + if req.HeroObjID == "" || len(req.CostObjID) == 0 { code = pb.ErrorCode_ReqParameterError return } @@ -20,7 +20,11 @@ func (this *apiComp) ResonanceCheck(session comm.IUserSession, req *pb.HeroReson /// 英雄共鸣 func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceReq) (code pb.ErrorCode, data proto.Message) { - + var ( + szCostHero map[string]int32 // k 消耗卡牌对象 v 数量 + totalCostCard int32 //消耗卡总数量 + ) + szCostHero = make(map[string]int32, 0) _hero, code := this.module.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 defer func() { if code == pb.ErrorCode_Success { @@ -35,14 +39,10 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR if code != pb.ErrorCode_Success { return } - _costHero, code := this.module.GetHero(session.GetUserId(), req.CostObjID) // 查询消耗卡是否存在 - if code != pb.ErrorCode_Success { - code = pb.ErrorCode_HeroNoEnough - return - } - if _costHero.SameCount < req.Amount { // 消耗卡数量不足 - code = pb.ErrorCode_HeroNoEnough + for _, v := range req.CostObjID { + szCostHero[v] += 1 } + // 共鸣次数判断 resonConfig, errr := this.module.configure.GetHeroResonanceConfig(_hero.HeroID) if errr != nil { @@ -54,21 +54,45 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR return } - // 消耗英雄的配置id - for _, v := range resonConfig.Need { - if v.A == comm.HeroType && v.T == strconv.Itoa(int(_costHero.HeroID)) { - if req.Amount != v.N { - code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应 + var _costHero *pb.DBHero + for k, v := range szCostHero { + bCheck := false + for _, v1 := range resonConfig.Heroneed { + if v1.A == comm.HeroType { + totalCostCard += 1 + } + value, err := strconv.Atoi(v1.T) + if err != nil { // 不能转成英雄配置ID 说明配置出错 + code = pb.ErrorCode_ConfigurationException return } + if int32(value) == _costHero.HeroID && v1.N == v { // 校验消耗类型是否一致 + bCheck = true + break + } + } + if bCheck { + _costHero, code = this.module.GetHero(session.GetUserId(), k) // 查询消耗卡是否存在 + if code != pb.ErrorCode_Success && _costHero.SameCount <= v { + code = pb.ErrorCode_HeroNoEnough + return + } + } else { + code = pb.ErrorCode_HeroNoEnough // 校验失败 + return } } - - code = this.module.DelCard(req.CostObjID, req.Amount) // 删除材料卡 - if code != pb.ErrorCode_Success { - code = pb.ErrorCode_DBError + if int32(len(req.CostObjID)) != totalCostCard { // 总数消耗校验 + code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应 return } + for _, v := range req.CostObjID { + code = this.module.DelCard(session.GetUserId(), v, 1) // 删除材料卡 + if code != pb.ErrorCode_Success { + code = pb.ErrorCode_DBError + return + } + } resonConfig, err1 := this.module.configure.GetHeroResonanceConfig(_hero.HeroID) if err1 != nil { diff --git a/modules/hero/api_skillUp.go b/modules/hero/api_skillUp.go index f2d2138be..4d070142e 100644 --- a/modules/hero/api_skillUp.go +++ b/modules/hero/api_skillUp.go @@ -126,7 +126,7 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, req *pb.HeroSt log.Errorf("update hero skill failed:%v", err) } // 扣除材料 - code = this.module.DelCard(req.CostCardObj, 1) + code = this.module.DelCard(session.GetUserId(), req.CostCardObj, 1) if code != pb.ErrorCode_Success { code = pb.ErrorCode_DBError return diff --git a/modules/hero/api_starUp.go b/modules/hero/api_starUp.go index 8ac88c55f..3b90fdd3b 100644 --- a/modules/hero/api_starUp.go +++ b/modules/hero/api_starUp.go @@ -109,7 +109,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr } // 消耗道具 - code = this.module.ModuleUser.AddAttributeValue(session.GetUserId(), "gold", curGold-target.Gold) // 减少金币 + code = this.module.ModuleUser.AddAttributeValue(session.GetUserId(), "gold", -target.Gold) // 减少金币 if code != pb.ErrorCode_Success { log.Errorf("cost gold failed ,count = %d", target.Gold) code = pb.ErrorCode_GoldNoEnough @@ -117,7 +117,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr } // 消耗指定英雄 for _, v := range req.Hero { - code = this.module.DelCard(v.CostCardObj, v.Amount) + code = this.module.DelCard(session.GetUserId(), v.CostCardObj, v.Amount) if code != pb.ErrorCode_Success { code = pb.ErrorCode_DBError log.Errorf("del hero err card:%s,count = %d", v.CostCardObj, v.Amount) @@ -127,7 +127,7 @@ func (this *apiComp) StrengthenUpStar(session comm.IUserSession, req *pb.HeroStr //消耗种族英雄 for _, v := range req.HeroRace { - code = this.module.DelCard(v.CostCardObj, v.Amount) + code = this.module.DelCard(session.GetUserId(), v.CostCardObj, v.Amount) if code != pb.ErrorCode_Success { code = pb.ErrorCode_DBError return diff --git a/modules/hero/module.go b/modules/hero/module.go index 2d8590ad4..31a511bd7 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -201,6 +201,10 @@ func (this *Hero) AddCardExp(uid string, heroId string, exp int32) (code pb.Erro } // 删除指定卡牌 -func (this *Hero) DelCard(cardid string, amount int32) (code pb.ErrorCode) { +func (this *Hero) DelCard(udi string, cardid string, amount int32) (code pb.ErrorCode) { + err := this.modelHero.consumeOneHeroCard(udi, cardid, amount) + if err != nil { + return pb.ErrorCode_DBError + } return } diff --git a/modules/user/module.go b/modules/user/module.go index 9dda79c16..9af3af765 100644 --- a/modules/user/module.go +++ b/modules/user/module.go @@ -103,7 +103,7 @@ func (this *User) AddAttributeValue(uid string, attr string, add int32) (code pb return } } - update[comm.ResExp] = user.Gold + add + update[comm.ResExp] = user.Exp + add } if err := this.modelUser.updateUserAttr(uid, update); err != nil { diff --git a/pb/hero_msg.pb.go b/pb/hero_msg.pb.go index 09cfd4f33..212bcf740 100644 --- a/pb/hero_msg.pb.go +++ b/pb/hero_msg.pb.go @@ -645,9 +645,8 @@ type HeroResonanceReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID - CostObjID string `protobuf:"bytes,2,opt,name=costObjID,proto3" json:"costObjID"` // 消耗对象 - Amount int32 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount"` // 消耗的数量 + HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID + CostObjID []string `protobuf:"bytes,2,rep,name=costObjID,proto3" json:"costObjID"` // 消耗对象 } func (x *HeroResonanceReq) Reset() { @@ -689,18 +688,11 @@ func (x *HeroResonanceReq) GetHeroObjID() string { return "" } -func (x *HeroResonanceReq) GetCostObjID() string { +func (x *HeroResonanceReq) GetCostObjID() []string { if x != nil { return x.CostObjID } - return "" -} - -func (x *HeroResonanceReq) GetAmount() int32 { - if x != nil { - return x.Amount - } - return 0 + return nil } type HeroResonanceResp struct { @@ -1289,71 +1281,69 @@ var file_hero_hero_msg_proto_rawDesc = []byte{ 0x22, 0x38, 0x0a, 0x19, 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, - 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x66, 0x0a, 0x10, 0x48, 0x65, + 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x4e, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x71, 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, - 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x27, 0x0a, 0x0a, - 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, - 0x72, 0x43, 0x61, 0x72, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, - 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, - 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x4d, 0x0a, 0x16, - 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, - 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x71, 0x0a, 0x19, 0x48, - 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x73, 0x65, 0x45, - 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, - 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, - 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65, - 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, - 0x0a, 0x1a, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55, - 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, - 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, - 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x2d, 0x0a, 0x0d, 0x48, 0x65, 0x72, - 0x6f, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, - 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, - 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x2d, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, - 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, - 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, - 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x29, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x43, - 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, - 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, - 0x64, 0x73, 0x22, 0x31, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x06, 0x68, - 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x9e, 0x02, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x37, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x48, - 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x41, 0x64, 0x64, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, - 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x71, 0x0a, 0x11, 0x48, 0x65, + 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, + 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, + 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, + 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, + 0x6f, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x22, 0x35, 0x0a, + 0x15, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, + 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, + 0x62, 0x6a, 0x49, 0x44, 0x22, 0x4d, 0x0a, 0x16, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, + 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, + 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x22, 0x71, 0x0a, 0x19, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x71, + 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, + 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, + 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x39, 0x0a, 0x1a, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, + 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, + 0x6f, 0x22, 0x2d, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, + 0x22, 0x2d, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, + 0x29, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65, 0x71, + 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x07, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x73, 0x22, 0x31, 0x0a, 0x0e, 0x48, 0x65, + 0x72, 0x6f, 0x43, 0x68, 0x6f, 0x75, 0x6b, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x06, + 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, + 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x65, 0x73, 0x22, 0x9e, 0x02, + 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, + 0x40, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, + 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/proto/hero/hero_msg.proto b/pb/proto/hero/hero_msg.proto index d726a3644..438fbc0e5 100644 --- a/pb/proto/hero/hero_msg.proto +++ b/pb/proto/hero/hero_msg.proto @@ -64,8 +64,7 @@ message HeroStrengthenUpSkillResp { // 共鸣英雄 message HeroResonanceReq { string heroObjID = 1; // 英雄对象ID - string costObjID = 2; // 消耗对象 - int32 amount = 3; // 消耗的数量 + repeated string costObjID = 2; // 消耗对象 } message HeroResonanceResp { diff --git a/sys/configure/structs/game.heroData.go b/sys/configure/structs/game.heroData.go index e054bcb13..f7a770308 100644 --- a/sys/configure/structs/game.heroData.go +++ b/sys/configure/structs/game.heroData.go @@ -32,6 +32,7 @@ type Game_heroData struct { Skill2 int32 Skill3 int32 Enteranivalue int32 + Camerainterval float32 } func (Game_heroData) GetTypeId() int { @@ -93,5 +94,6 @@ func NewGame_heroData(_buf map[string]interface{}) (_v *Game_heroData, err error { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill2"].(float64); !_ok_ { err = errors.New("skill2 error"); return }; _v.Skill2 = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill3"].(float64); !_ok_ { err = errors.New("skill3 error"); return }; _v.Skill3 = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enteranivalue"].(float64); !_ok_ { err = errors.New("enteranivalue error"); return }; _v.Enteranivalue = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["camerainterval"].(float64); !_ok_ { err = errors.New("camerainterval error"); return }; _v.Camerainterval = float32(_tempNum_) } return } diff --git a/sys/configure/structs/game.heroResonanceData.go b/sys/configure/structs/game.heroResonanceData.go index 0805a5a5d..b49e2e631 100644 --- a/sys/configure/structs/game.heroResonanceData.go +++ b/sys/configure/structs/game.heroResonanceData.go @@ -15,6 +15,7 @@ type Game_heroResonanceData struct { Star int32 Energy int32 Prize []*Game_atn + Heroneed []*Game_atn Need []*Game_atn Hppro int32 Atkpro int32 @@ -48,6 +49,20 @@ func NewGame_heroResonanceData(_buf map[string]interface{}) (_v *Game_heroResona } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["heroneed"].([]interface{}); !_ok_ { err = errors.New("heroneed error"); return } + + _v.Heroneed = make([]*Game_atn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Game_atn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } } + _v.Heroneed = append(_v.Heroneed, _list_v_) + } + } + { var _arr_ []interface{} var _ok_ bool