From f5bce578c51a8fb5bf885e65e16d362fd704f53c Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Tue, 28 Jun 2022 20:15:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E8=83=BD=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_heroskilllevel.json | 387 ++++++++++++++++++ modules/compconfigure.go | 2 + modules/hero/api_heroSkillUp.go | 52 ++- modules/hero/configure_comp.go | 32 +- pb/errorcode.pb.go | 18 +- pb/hero_msg.pb.go | 146 +++---- pb/proto/errorcode.proto | 1 + pb/proto/hero/hero_msg.proto | 3 +- sys/configure/structs/game.heroSkillLevel.go | 42 ++ .../structs/game.heroSkillLevelData.go | 33 ++ 10 files changed, 619 insertions(+), 97 deletions(-) create mode 100644 bin/json/game_heroskilllevel.json create mode 100644 sys/configure/structs/game.heroSkillLevel.go create mode 100644 sys/configure/structs/game.heroSkillLevelData.go diff --git a/bin/json/game_heroskilllevel.json b/bin/json/game_heroskilllevel.json new file mode 100644 index 000000000..8f7d775b7 --- /dev/null +++ b/bin/json/game_heroskilllevel.json @@ -0,0 +1,387 @@ +[ + { + "key": 1, + "hid": 15001, + "skillpos": 1, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 2, + "hid": 15001, + "skillpos": 1, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 3, + "hid": 15001, + "skillpos": 1, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 4, + "hid": 15001, + "skillpos": 1, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 5, + "hid": 15001, + "skillpos": 1, + "skilllevel": 5, + "probability": 0 + }, + { + "key": 6, + "hid": 15001, + "skillpos": 2, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 7, + "hid": 15001, + "skillpos": 2, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 8, + "hid": 15001, + "skillpos": 2, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 9, + "hid": 15001, + "skillpos": 2, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 10, + "hid": 15001, + "skillpos": 2, + "skilllevel": 5, + "probability": 0 + }, + { + "key": 11, + "hid": 15001, + "skillpos": 3, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 12, + "hid": 15001, + "skillpos": 3, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 13, + "hid": 15001, + "skillpos": 3, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 14, + "hid": 15001, + "skillpos": 3, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 15, + "hid": 15001, + "skillpos": 3, + "skilllevel": 5, + "probability": 0 + }, + { + "key": 16, + "hid": 25001, + "skillpos": 1, + "skilllevel": 1, + "probability": 255 + }, + { + "key": 17, + "hid": 25001, + "skillpos": 1, + "skilllevel": 2, + "probability": 200 + }, + { + "key": 18, + "hid": 25001, + "skillpos": 1, + "skilllevel": 3, + "probability": 100 + }, + { + "key": 19, + "hid": 25001, + "skillpos": 1, + "skilllevel": 4, + "probability": 0 + }, + { + "key": 20, + "hid": 25001, + "skillpos": 2, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 21, + "hid": 25001, + "skillpos": 2, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 22, + "hid": 25001, + "skillpos": 2, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 23, + "hid": 25001, + "skillpos": 2, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 24, + "hid": 25001, + "skillpos": 2, + "skilllevel": 5, + "probability": 50 + }, + { + "key": 25, + "hid": 25001, + "skillpos": 2, + "skilllevel": 6, + "probability": 0 + }, + { + "key": 26, + "hid": 25001, + "skillpos": 3, + "skilllevel": 1, + "probability": 255 + }, + { + "key": 27, + "hid": 25001, + "skillpos": 3, + "skilllevel": 2, + "probability": 200 + }, + { + "key": 28, + "hid": 25001, + "skillpos": 3, + "skilllevel": 3, + "probability": 100 + }, + { + "key": 29, + "hid": 25001, + "skillpos": 3, + "skilllevel": 4, + "probability": 50 + }, + { + "key": 30, + "hid": 25001, + "skillpos": 3, + "skilllevel": 5, + "probability": 0 + }, + { + "key": 31, + "hid": 35001, + "skillpos": 1, + "skilllevel": 1, + "probability": 255 + }, + { + "key": 32, + "hid": 35001, + "skillpos": 1, + "skilllevel": 2, + "probability": 200 + }, + { + "key": 33, + "hid": 35001, + "skillpos": 1, + "skilllevel": 3, + "probability": 100 + }, + { + "key": 34, + "hid": 35001, + "skillpos": 1, + "skilllevel": 4, + "probability": 0 + }, + { + "key": 35, + "hid": 35001, + "skillpos": 2, + "skilllevel": 1, + "probability": 0 + }, + { + "key": 36, + "hid": 35001, + "skillpos": 3, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 37, + "hid": 35001, + "skillpos": 3, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 38, + "hid": 35001, + "skillpos": 3, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 39, + "hid": 35001, + "skillpos": 3, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 40, + "hid": 35001, + "skillpos": 3, + "skilllevel": 5, + "probability": 0 + }, + { + "key": 41, + "hid": 44001, + "skillpos": 1, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 42, + "hid": 44001, + "skillpos": 1, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 43, + "hid": 44001, + "skillpos": 1, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 44, + "hid": 44001, + "skillpos": 1, + "skilllevel": 4, + "probability": 0 + }, + { + "key": 45, + "hid": 44001, + "skillpos": 2, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 46, + "hid": 44001, + "skillpos": 2, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 47, + "hid": 44001, + "skillpos": 2, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 48, + "hid": 44001, + "skillpos": 2, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 49, + "hid": 44001, + "skillpos": 2, + "skilllevel": 5, + "probability": 50 + }, + { + "key": 50, + "hid": 44001, + "skillpos": 2, + "skilllevel": 6, + "probability": 0 + }, + { + "key": 51, + "hid": 44001, + "skillpos": 3, + "skilllevel": 1, + "probability": 300 + }, + { + "key": 52, + "hid": 44001, + "skillpos": 3, + "skilllevel": 2, + "probability": 255 + }, + { + "key": 53, + "hid": 44001, + "skillpos": 3, + "skilllevel": 3, + "probability": 200 + }, + { + "key": 54, + "hid": 44001, + "skillpos": 3, + "skilllevel": 4, + "probability": 100 + }, + { + "key": 55, + "hid": 44001, + "skillpos": 3, + "skilllevel": 5, + "probability": 0 + } +] \ No newline at end of file diff --git a/modules/compconfigure.go b/modules/compconfigure.go index 2a45b932e..eac1f6aa3 100644 --- a/modules/compconfigure.go +++ b/modules/compconfigure.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/lego/base" "go_dreamfactory/lego/core" "go_dreamfactory/lego/core/cbase" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/sys/configure" ) @@ -32,6 +33,7 @@ func (this *MCompConfigure) LoadMultiConfigure(confs map[string]interface{}) (er for k, v := range confs { err = configure.RegisterConfigure(k, v) if err != nil { + log.Errorf("配置文件:%s解析失败!", k) break } } diff --git a/modules/hero/api_heroSkillUp.go b/modules/hero/api_heroSkillUp.go index 6503a575e..aec369c31 100644 --- a/modules/hero/api_heroSkillUp.go +++ b/modules/hero/api_heroSkillUp.go @@ -2,16 +2,50 @@ package hero import ( "go_dreamfactory/comm" + "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" ) //参数校验 func (this *apiComp) StrengthenUpSkillCheck(session comm.IUserSession, req *pb.HeroStrengthenUpSkillReq) (result map[string]interface{}, code comm.ErrorCode) { - if req.HeroObjID == "" { + if req.HeroObjID == "" || req.CostCardObj == "" { code.Code = pb.ErrorCode_ReqParameterError return } - + var ( + tagColor int32 + costColor int32 + ) + _hero, err := this.moduleHero.modelHero.moduleHero.GetHero(session.GetUserId(), req.HeroObjID) // 查询目标卡是否存在 + if err != 0 { + code.Code = pb.ErrorCode_HeroNoExist + return + } + _costHero, err := this.moduleHero.modelHero.moduleHero.GetHero(session.GetUserId(), req.CostCardObj) // 查询消耗卡是否存在 + if err != 0 { + code.Code = pb.ErrorCode_HeroNoExist + return + } + // 查询配置表 找出原始品质 + tmp := this.moduleHero.configure.GetHero(_hero.HeroID) + if tmp == nil { + code.Code = pb.ErrorCode_HeroNoExist + return + } + tagColor = tmp.Color + tmp = this.moduleHero.configure.GetHero(_costHero.HeroID) + if tmp == nil { + code.Code = pb.ErrorCode_HeroNoExist + return + } + costColor = tmp.Color + if costColor != tagColor { + code.Code = pb.ErrorCode_HeroColorErr + return + } + result = map[string]interface{}{ + "heroid": _hero.HeroID, + } return } @@ -23,6 +57,18 @@ func (this *apiComp) StrengthenUpSkill(session comm.IUserSession, agrs map[strin session.SendMsg(string(this.moduleHero.GetType()), StrengthenUplv, &pb.HeroStrengthenUpSkillResp{}) } }() - + var ( + tagHero int32 // 操作的英雄(configid) + ) + tagHero = agrs["heroid"].(int32) + log.Debugf("英雄:%d 技能升级", tagHero) + config, err := this.moduleHero.configure.GetHeroSkillUpConfig() + if err != nil { + return + } + // 先随机一个没有升满 + for _, value := range config.GetDataList() { + log.Debugf("%d", value.Hid) + } return } diff --git a/modules/hero/configure_comp.go b/modules/hero/configure_comp.go index 3fffcb0c4..ad82aa413 100644 --- a/modules/hero/configure_comp.go +++ b/modules/hero/configure_comp.go @@ -9,12 +9,13 @@ import ( ) const ( - new_hero = "game_newhero.json" //英雄 - hero_stargrow = "game_herostargrow.json" //英雄品质系数 - hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数 - hero_starup = "game_herostarup.json" // - hero_levelup = "game_herolevelup.json" //英雄等级基础属性 - hero_exp = "game_heroexp.json" + new_hero = "game_newhero.json" //英雄 + hero_stargrow = "game_herostargrow.json" //英雄品质系数 + hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数 + hero_starup = "game_herostarup.json" // 升星 + hero_levelup = "game_herolevelup.json" //英雄等级基础属性 + hero_exp = "game_heroexp.json" // 升级 + hero_skillup = "game_heroskilllevel.json" // 英雄技能升级 ) ///配置管理组件 @@ -33,6 +34,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp hero_starup: cfg.NewGame_heroStarup, hero_levelup: cfg.NewGame_heroLevelup, hero_exp: cfg.NewGame_heroExp, + hero_skillup: cfg.NewGame_heroSkillLevel, }) return @@ -252,3 +254,21 @@ func (this *configureComp) GetHeroLvgrow(heroId int32) *cfg.Game_heroLevelgrowDa } return nil } + +// 获取英雄技能升级相关信息 +func (this *configureComp) GetHeroSkillUpConfig() (configure *cfg.Game_heroSkillLevel, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(hero_skillup); err == nil { + if configure, ok = v.(*cfg.Game_heroSkillLevel); !ok { + err = fmt.Errorf("%T no is *cfg.Game_hero", v) + return + } + } else { + err = fmt.Errorf("%T no is *cfg.Game_hero", v) + } + + return +} diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 859393cec..4281af514 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -71,6 +71,7 @@ const ( ErrorCode_HeroNoEnough ErrorCode = 1301 //英雄数量不足 ErrorCode_HeroMaxLv ErrorCode = 1302 //英雄达到最大等级 ErrorCode_HeroInitCreat ErrorCode = 1303 //初始化英雄 + ErrorCode_HeroColorErr ErrorCode = 1304 // 品质不匹配 // equipment ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器 ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限 @@ -123,6 +124,7 @@ var ( 1301: "HeroNoEnough", 1302: "HeroMaxLv", 1303: "HeroInitCreat", + 1304: "HeroColorErr", 1400: "EquipmentOnFoundEquipment", 1401: "EquipmentLvlimitReached", } @@ -171,6 +173,7 @@ var ( "HeroNoEnough": 1301, "HeroMaxLv": 1302, "HeroInitCreat": 1303, + "HeroColorErr": 1304, "EquipmentOnFoundEquipment": 1400, "EquipmentLvlimitReached": 1401, } @@ -207,7 +210,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xcf, 0x07, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xe2, 0x07, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, @@ -264,12 +267,13 @@ var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x12, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, - 0x10, 0xf9, 0x0a, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x10, 0x97, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x45, 0x72, 0x72, 0x10, 0x98, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, + 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/hero_msg.pb.go b/pb/hero_msg.pb.go index 0d136263e..4811966cb 100644 --- a/pb/hero_msg.pb.go +++ b/pb/hero_msg.pb.go @@ -541,9 +541,8 @@ type HeroStrengthenUpSkillReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID - SkillIndex int32 `protobuf:"varint,2,opt,name=skillIndex,proto3" json:"skillIndex"` // 英雄技能索引 - Items *CostCardData `protobuf:"bytes,3,opt,name=items,proto3" json:"items"` // 消耗技能升级卡 + HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID + CostCardObj string `protobuf:"bytes,2,opt,name=costCardObj,proto3" json:"costCardObj"` // 消耗技能升级卡 } func (x *HeroStrengthenUpSkillReq) Reset() { @@ -585,18 +584,11 @@ func (x *HeroStrengthenUpSkillReq) GetHeroObjID() string { return "" } -func (x *HeroStrengthenUpSkillReq) GetSkillIndex() int32 { +func (x *HeroStrengthenUpSkillReq) GetCostCardObj() string { if x != nil { - return x.SkillIndex + return x.CostCardObj } - return 0 -} - -func (x *HeroStrengthenUpSkillReq) GetItems() *CostCardData { - if x != nil { - return x.Items - } - return nil + return "" } // 卡牌技能升级返回 @@ -1130,61 +1122,58 @@ var file_hero_hero_msg_proto_rawDesc = []byte{ 0x48, 0x65, 0x72, 0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x18, 0x48, 0x65, 0x72, - 0x6f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 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, 0x1e, 0x0a, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3b, 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, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x4d, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, - 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 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, 0x22, 0x76, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x47, - 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, - 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 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, 0x2a, 0x0a, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, - 0x65, 0x72, 0x6f, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x22, - 0x34, 0x0a, 0x14, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 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, 0x4f, 0x0a, 0x15, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, - 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, - 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, - 0x62, 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, 0x70, 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, - 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 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, 0x3b, 0x0a, 0x19, 0x48, 0x65, 0x72, 0x6f, - 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, - 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x5a, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4a, 0x75, 0x65, - 0x78, 0x69, 0x6e, 0x67, 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, 0x2a, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, 0x65, - 0x73, 0x22, 0x31, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x4a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, + 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x5a, 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f, + 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 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, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62, + 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x4f, 0x62, 0x6a, 0x22, 0x3b, 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, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, + 0x6f, 0x22, 0x4d, 0x0a, 0x0f, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, + 0x67, 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, + 0x22, 0x76, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, - 0x68, 0x65, 0x72, 0x6f, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 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, 0x2a, 0x0a, 0x0a, + 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x0a, 0x75, 0x70, + 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x22, 0x34, 0x0a, 0x14, 0x48, 0x65, 0x72, 0x6f, + 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 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, 0x4f, + 0x0a, 0x15, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 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, + 0x70, 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 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, 0x3b, 0x0a, 0x19, 0x48, 0x65, 0x72, 0x6f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, + 0x67, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, + 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x5a, + 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x4a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 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, 0x2a, + 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x0f, 0x48, 0x65, + 0x72, 0x6f, 0x4a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, + 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, + 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1230,19 +1219,18 @@ var file_hero_hero_msg_proto_depIdxs = []int32{ 7, // 3: pb.HeroStrengthenUpStarReq.hero:type_name -> pb.CostCardData 7, // 4: pb.HeroStrengthenUpStarReq.heroRace:type_name -> pb.CostCardData 20, // 5: pb.HeroStrengthenUpStarResp.hero:type_name -> pb.DBHero - 7, // 6: pb.HeroStrengthenUpSkillReq.items:type_name -> pb.CostCardData - 20, // 7: pb.HeroStrengthenUpSkillResp.hero:type_name -> pb.DBHero - 20, // 8: pb.HeroGongmingResp.hero:type_name -> pb.DBHero - 20, // 9: pb.HeroGongmingResp.upStarCard:type_name -> pb.DBHero - 20, // 10: pb.HeroGongmingResetResp.hero:type_name -> pb.DBHero - 20, // 11: pb.HeroGongmingUseEnergyResp.hero:type_name -> pb.DBHero - 4, // 12: pb.HeroJuexingReq.costItmes:type_name -> pb.ItemData - 20, // 13: pb.HeroJuexingResp.hero:type_name -> pb.DBHero - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 20, // 6: pb.HeroStrengthenUpSkillResp.hero:type_name -> pb.DBHero + 20, // 7: pb.HeroGongmingResp.hero:type_name -> pb.DBHero + 20, // 8: pb.HeroGongmingResp.upStarCard:type_name -> pb.DBHero + 20, // 9: pb.HeroGongmingResetResp.hero:type_name -> pb.DBHero + 20, // 10: pb.HeroGongmingUseEnergyResp.hero:type_name -> pb.DBHero + 4, // 11: pb.HeroJuexingReq.costItmes:type_name -> pb.ItemData + 20, // 12: pb.HeroJuexingResp.hero:type_name -> pb.DBHero + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_hero_hero_msg_proto_init() } diff --git a/pb/proto/errorcode.proto b/pb/proto/errorcode.proto index 148451495..0235c74f8 100644 --- a/pb/proto/errorcode.proto +++ b/pb/proto/errorcode.proto @@ -54,6 +54,7 @@ enum ErrorCode { HeroNoEnough = 1301; //英雄数量不足 HeroMaxLv = 1302; //英雄达到最大等级 HeroInitCreat = 1303; //初始化英雄 + HeroColorErr = 1304; // 品质不匹配 // equipment EquipmentOnFoundEquipment = 1400; // 未找到武器 EquipmentLvlimitReached = 1401; // 武器等级已达上限 diff --git a/pb/proto/hero/hero_msg.proto b/pb/proto/hero/hero_msg.proto index 8da28f31d..7fa3a3759 100644 --- a/pb/proto/hero/hero_msg.proto +++ b/pb/proto/hero/hero_msg.proto @@ -54,8 +54,7 @@ message HeroStrengthenUpStarResp { // 卡牌技能升级 message HeroStrengthenUpSkillReq { string heroObjID = 1; // 英雄对象ID - int32 skillIndex = 2; // 英雄技能索引 - CostCardData items = 3; // 消耗技能升级卡 + string costCardObj = 2; // 消耗技能升级卡 } // 卡牌技能升级返回 diff --git a/sys/configure/structs/game.heroSkillLevel.go b/sys/configure/structs/game.heroSkillLevel.go new file mode 100644 index 000000000..f72c2b50b --- /dev/null +++ b/sys/configure/structs/game.heroSkillLevel.go @@ -0,0 +1,42 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +package cfg + +type Game_heroSkillLevel struct { + _dataMap map[int32]*Game_heroSkillLevelData + _dataList []*Game_heroSkillLevelData +} + +func NewGame_heroSkillLevel(_buf []map[string]interface{}) (*Game_heroSkillLevel, error) { + _dataList := make([]*Game_heroSkillLevelData, 0, len(_buf)) + dataMap := make(map[int32]*Game_heroSkillLevelData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_heroSkillLevelData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Key] = _v + } + } + return &Game_heroSkillLevel{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_heroSkillLevel) GetDataMap() map[int32]*Game_heroSkillLevelData { + return table._dataMap +} + +func (table *Game_heroSkillLevel) GetDataList() []*Game_heroSkillLevelData { + return table._dataList +} + +func (table *Game_heroSkillLevel) Get(key int32) *Game_heroSkillLevelData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.heroSkillLevelData.go b/sys/configure/structs/game.heroSkillLevelData.go new file mode 100644 index 000000000..7f0b04d57 --- /dev/null +++ b/sys/configure/structs/game.heroSkillLevelData.go @@ -0,0 +1,33 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +package cfg + +import "errors" + +type Game_heroSkillLevelData struct { + Key int32 + Hid int32 + Skillpos int32 + Skilllevel int32 + Probability int32 +} + +func (Game_heroSkillLevelData) GetTypeId() int { + return -1505023981 +} + +func NewGame_heroSkillLevelData(_buf map[string]interface{}) (_v *Game_heroSkillLevelData, err error) { + _v = &Game_heroSkillLevelData{} + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skillpos"].(float64); !_ok_ { err = errors.New("skillpos error"); return }; _v.Skillpos = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skilllevel"].(float64); !_ok_ { err = errors.New("skilllevel error"); return }; _v.Skilllevel = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) } + return +}