From 5f54f23130b90490d10f9332f77179788b05e133 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 26 Feb 2024 18:41:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=B8=93=E5=B1=9E=E6=AD=A6?= =?UTF-8?q?=E5=99=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_exclusiveitem.json | 18 + bin/json/game_exclusivestar.json | 30 +- bin/json/game_item.json | 164 ++++++ bin/json/game_reddot.json | 20 - comm/core.go | 1 + comm/imodule.go | 7 + modules/exclusive/api_addexp.go | 57 ++ modules/exclusive/api_getlist.go | 2 +- modules/exclusive/api_rankup.go | 53 ++ modules/exclusive/api_starup.go | 58 ++ modules/exclusive/api_upgrade.go | 54 ++ modules/exclusive/api_wear.go | 59 ++ modules/exclusive/configure.go | 191 ++++--- modules/exclusive/model.go | 271 ++++++--- modules/exclusive/module.go | 45 ++ modules/hero/model_hero.go | 34 ++ modules/hero/module.go | 16 + modules/modulebase.go | 55 +- pb/exclusive_db.pb.go | 48 +- pb/exclusive_msg.pb.go | 537 ++++++++++++++++-- pb/hero_db.pb.go | 374 ++++++------ sys/configure/structs/Game.ExclusiveItem.go | 42 ++ .../structs/Game.ExclusiveItemData.go | 37 ++ sys/configure/structs/Game.ExclusiveRank.go | 14 +- sys/configure/structs/Game.ExclusiveStar.go | 14 +- .../structs/Game.ExclusiveStarData.go | 17 +- .../structs/Game.ExclusiveUpgrade.go | 14 +- sys/configure/structs/Tables.go | 7 + 28 files changed, 1733 insertions(+), 506 deletions(-) create mode 100644 bin/json/game_exclusiveitem.json create mode 100644 modules/exclusive/api_addexp.go create mode 100644 modules/exclusive/api_rankup.go create mode 100644 modules/exclusive/api_starup.go create mode 100644 modules/exclusive/api_upgrade.go create mode 100644 modules/exclusive/api_wear.go create mode 100644 sys/configure/structs/Game.ExclusiveItem.go create mode 100644 sys/configure/structs/Game.ExclusiveItemData.go diff --git a/bin/json/game_exclusiveitem.json b/bin/json/game_exclusiveitem.json new file mode 100644 index 000000000..45e03cc41 --- /dev/null +++ b/bin/json/game_exclusiveitem.json @@ -0,0 +1,18 @@ +[ + { + "itemid": "10000044", + "exp": 1 + }, + { + "itemid": "10000045", + "exp": 500 + }, + { + "itemid": "10000046", + "exp": 1000 + }, + { + "itemid": "10000047", + "exp": 2000 + } +] \ No newline at end of file diff --git a/bin/json/game_exclusivestar.json b/bin/json/game_exclusivestar.json index 13fc856a3..a5dcf9767 100644 --- a/bin/json/game_exclusivestar.json +++ b/bin/json/game_exclusivestar.json @@ -5,11 +5,7 @@ "star": 1, "commonskill": 10001, "exclusiveskill": 20001, - "cost1": { - "a": "exw", - "t": "100001", - "n": 0 - } + "cost1": [] }, { "id": 2, @@ -17,11 +13,7 @@ "star": 2, "commonskill": 10002, "exclusiveskill": 20002, - "cost1": { - "a": "exw", - "t": "100001", - "n": 1 - } + "cost1": [] }, { "id": 3, @@ -29,11 +21,7 @@ "star": 3, "commonskill": 10003, "exclusiveskill": 20003, - "cost1": { - "a": "exw", - "t": "100001", - "n": 1 - } + "cost1": [] }, { "id": 4, @@ -41,11 +29,7 @@ "star": 4, "commonskill": 10004, "exclusiveskill": 20004, - "cost1": { - "a": "exw", - "t": "100001", - "n": 1 - } + "cost1": [] }, { "id": 5, @@ -53,10 +37,6 @@ "star": 5, "commonskill": 10005, "exclusiveskill": 20005, - "cost1": { - "a": "exw", - "t": "100001", - "n": 1 - } + "cost1": [] } ] \ No newline at end of file diff --git a/bin/json/game_item.json b/bin/json/game_item.json index 3d3711221..d28031d9e 100644 --- a/bin/json/game_item.json +++ b/bin/json/game_item.json @@ -1270,6 +1270,170 @@ "sale": [], "gm": 0 }, + { + "id": "10000044", + "name": { + "key": "item_item_name_10000044", + "text": "1点专武升级经验" + }, + "usetype": 1, + "color": 1, + "bagtype": 3, + "index": 99, + "special_type": 0, + "hold": 0, + "time": 0, + "reddottype": 0, + "effects": "", + "modelName": "", + "box_id": 0, + "synthetize_num": 0, + "synthetize_deplete": [], + "synthetize_get": [], + "decompose_deplete": [], + "decompose_get": [], + "access": [], + "use_skip": 0, + "upper_limit": 2000, + "img": "item_10000041", + "intr": { + "key": "item_item_intr_10000044", + "text": "锻造中的遗落的碎屑,提供1点专属武器升级经验" + }, + "describe": { + "key": "item_item_describe_10000044", + "text": "专属武器升级材料,闪着淬火的光芒,看起来很有经验的样子" + }, + "dialogue": { + "key": "item_item_dialogue_10000044", + "text": "" + }, + "sale": [], + "gm": 0 + }, + { + "id": "10000045", + "name": { + "key": "item_item_name_10000045", + "text": "500点专武升级经验" + }, + "usetype": 1, + "color": 2, + "bagtype": 3, + "index": 99, + "special_type": 0, + "hold": 0, + "time": 0, + "reddottype": 0, + "effects": "", + "modelName": "", + "box_id": 0, + "synthetize_num": 0, + "synthetize_deplete": [], + "synthetize_get": [], + "decompose_deplete": [], + "decompose_get": [], + "access": [], + "use_skip": 0, + "upper_limit": 2000, + "img": "item_10000041", + "intr": { + "key": "item_item_intr_10000045", + "text": "普通的材料,提供500点专属武器升级经验" + }, + "describe": { + "key": "item_item_describe_10000045", + "text": "专属武器升级材料,闪着淬火的光芒,看起来很有经验的样子" + }, + "dialogue": { + "key": "item_item_dialogue_10000045", + "text": "" + }, + "sale": [], + "gm": 0 + }, + { + "id": "10000046", + "name": { + "key": "item_item_name_10000046", + "text": "1000点专武升级经验" + }, + "usetype": 1, + "color": 3, + "bagtype": 3, + "index": 99, + "special_type": 0, + "hold": 0, + "time": 0, + "reddottype": 0, + "effects": "", + "modelName": "", + "box_id": 0, + "synthetize_num": 0, + "synthetize_deplete": [], + "synthetize_get": [], + "decompose_deplete": [], + "decompose_get": [], + "access": [], + "use_skip": 0, + "upper_limit": 2000, + "img": "item_10000041", + "intr": { + "key": "item_item_intr_10000046", + "text": "稀有的材料,提供1000点专属武器升级经验" + }, + "describe": { + "key": "item_item_describe_10000046", + "text": "专属武器升级材料,闪着淬火的光芒,看起来很有经验的样子" + }, + "dialogue": { + "key": "item_item_dialogue_10000046", + "text": "" + }, + "sale": [], + "gm": 0 + }, + { + "id": "10000047", + "name": { + "key": "item_item_name_10000047", + "text": "2000点专武升级经验" + }, + "usetype": 1, + "color": 4, + "bagtype": 3, + "index": 99, + "special_type": 0, + "hold": 0, + "time": 0, + "reddottype": 0, + "effects": "", + "modelName": "", + "box_id": 0, + "synthetize_num": 0, + "synthetize_deplete": [], + "synthetize_get": [], + "decompose_deplete": [], + "decompose_get": [], + "access": [], + "use_skip": 0, + "upper_limit": 2000, + "img": "item_10000041", + "intr": { + "key": "item_item_intr_10000047", + "text": "高级的材料,提供2000点专属武器升级经验" + }, + "describe": { + "key": "item_item_describe_10000047", + "text": "专属武器升级材料,闪着淬火的光芒,看起来很有经验的样子" + }, + "dialogue": { + "key": "item_item_dialogue_10000047", + "text": "" + }, + "sale": [], + "gm": 0 + }, { "id": "11013001", "name": { diff --git a/bin/json/game_reddot.json b/bin/json/game_reddot.json index ae938bb18..8540dcfaf 100644 --- a/bin/json/game_reddot.json +++ b/bin/json/game_reddot.json @@ -525,26 +525,6 @@ "path": "Root|KungFu|Pillar", "header": "" }, - { - "id": 18102, - "msg_type": 0, - "show_type": 0, - "count_type": 0, - "opencond_id": "", - "opencond": [], - "path": "", - "header": "" - }, - { - "id": 18103, - "msg_type": 0, - "show_type": 0, - "count_type": 0, - "opencond_id": "", - "opencond": [], - "path": "", - "header": "" - }, { "id": 18104, "msg_type": 0, diff --git a/comm/core.go b/comm/core.go index b93c62a82..3e1c661f0 100644 --- a/comm/core.go +++ b/comm/core.go @@ -46,6 +46,7 @@ const ( TitleType = "title" //称号资源 XxlType = "xxl" //三消卡片资源 XxlSkill = "xxlskill" //三消技能资源 + ExclusiveType = "exw" //专属武器 ) type Autogenerated struct { diff --git a/comm/imodule.go b/comm/imodule.go index c322f3987..290b72356 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -157,6 +157,8 @@ type ( // 通过卡池随机获取指定数量的英雄卡 GetRandomCardByCardPool(uid string, count int32) (cards []string, err error) + //佩戴专属武器 + UpdateExclusive(session IUserSession, hero *pb.DBHero, exw *pb.DB_Exclusive) (errdata *pb.ErrorData) } //玩家 @@ -748,4 +750,9 @@ type ( IPlunder interface { InitPlunderByUser(session IUserSession) } + //专属武器 + IExclusive interface { + AddNewExclusive(session IUserSession, cIds map[string]int32, bPush bool) (change []*pb.DB_Exclusive, errdata *pb.ErrorData) + DelNewExclusive(session IUserSession, cIds []string, bPush bool) (change []*pb.DB_Exclusive, errdata *pb.ErrorData) + } ) diff --git a/modules/exclusive/api_addexp.go b/modules/exclusive/api_addexp.go new file mode 100644 index 000000000..74700b0bb --- /dev/null +++ b/modules/exclusive/api_addexp.go @@ -0,0 +1,57 @@ +package exclusive + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +//参数校验 +func (this *apiComp) AddExpCheck(session comm.IUserSession, req *pb.ExclusiveAddExpReq) (errdata *pb.ErrorData) { + + return +} + +///获取用户装备列表 +func (this *apiComp) AddExp(session comm.IUserSession, req *pb.ExclusiveAddExpReq) (errdata *pb.ErrorData) { + var ( + info *pb.DB_Exclusive + conf *cfg.GameExclusiveItemData + need []*cfg.Gameatn = make([]*cfg.Gameatn, 0) + err error + ) + + if info, err = this.module.model.getExclusivesById(session.GetUserId(), req.Oid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if conf, err = this.module.configure.GetGameExclusiveItem(req.Itemid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Message: err.Error(), + } + return + } + need = append(need, &cfg.Gameatn{ + A: comm.ItemType, + T: req.Itemid, + N: req.Num, + }) + if errdata = this.module.ConsumeRes(session, need, true); errdata != nil { + return + } + info.Exp += conf.Exp + if err = this.module.model.updateExclusive(session.GetUserId(), info); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + this.module.equipmentsChangePush(session, []*pb.DB_Exclusive{info}) + session.SendMsg(string(this.module.GetType()), "addExp", &pb.ExclusiveAddExpResp{Exclusives: info}) + return +} diff --git a/modules/exclusive/api_getlist.go b/modules/exclusive/api_getlist.go index b71f2f59b..d697c7195 100644 --- a/modules/exclusive/api_getlist.go +++ b/modules/exclusive/api_getlist.go @@ -17,7 +17,7 @@ func (this *apiComp) Getlist(session comm.IUserSession, req *pb.ExclusiveGetList list []*pb.DB_Exclusive err error ) - if list, err = this.module.model.QueryUserEquipments(session.GetUserId()); err != nil { + if list, err = this.module.model.getExclusives(session.GetUserId()); err != nil { errdata = &pb.ErrorData{ Code: pb.ErrorCode_DBError, Message: err.Error(), diff --git a/modules/exclusive/api_rankup.go b/modules/exclusive/api_rankup.go new file mode 100644 index 000000000..10fc5df38 --- /dev/null +++ b/modules/exclusive/api_rankup.go @@ -0,0 +1,53 @@ +package exclusive + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +//参数校验 +func (this *apiComp) RankUpCheck(session comm.IUserSession, req *pb.ExclusiveRankUpReq) (errdata *pb.ErrorData) { + + return +} + +///获取用户装备列表 +func (this *apiComp) RankUp(session comm.IUserSession, req *pb.ExclusiveRankUpReq) (errdata *pb.ErrorData) { + var ( + info *pb.DB_Exclusive + conf *cfg.GameExclusiveRankData + err error + ) + + if info, err = this.module.model.getExclusivesById(session.GetUserId(), req.Oid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + + if conf, err = this.module.configure.GetGameExclusiveRankData(info.CId, info.Step); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Message: err.Error(), + } + return + } + + if errdata = this.module.ConsumeRes(session, conf.Cost, true); errdata != nil { + return + } + info.Step += 1 + if err = this.module.model.updateExclusive(session.GetUserId(), info); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + this.module.equipmentsChangePush(session, []*pb.DB_Exclusive{info}) + session.SendMsg(string(this.module.GetType()), "rankup", &pb.ExclusiveRankUpResp{Exclusives: info}) + return +} diff --git a/modules/exclusive/api_starup.go b/modules/exclusive/api_starup.go new file mode 100644 index 000000000..b8695f956 --- /dev/null +++ b/modules/exclusive/api_starup.go @@ -0,0 +1,58 @@ +package exclusive + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) StarUpCheck(session comm.IUserSession, req *pb.ExclusiveStarUpReq) (errdata *pb.ErrorData) { + + return +} + +///获取用户装备列表 +func (this *apiComp) StarUp(session comm.IUserSession, req *pb.ExclusiveStarUpReq) (errdata *pb.ErrorData) { + var ( + info *pb.DB_Exclusive + list []*pb.DB_Exclusive + change []*pb.DB_Exclusive + stars int32 + err error + ) + + if list, err = this.module.model.getExclusivesByIds(session.GetUserId(), req.Eatid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + + for _, v := range list { + if v.Id == req.Oid { + info = v + } else { + stars += v.Star + } + } + info.Star += stars + if err = this.module.model.updateExclusive(session.GetUserId(), info); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if change, err = this.module.model.delExclusives(session.GetUserId(), req.Eatid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + change = append(change, info) + this.module.equipmentsChangePush(session, change) + session.SendMsg(string(this.module.GetType()), "starup", &pb.ExclusiveStarUpResp{Exclusives: info}) + return +} diff --git a/modules/exclusive/api_upgrade.go b/modules/exclusive/api_upgrade.go new file mode 100644 index 000000000..2e060aa42 --- /dev/null +++ b/modules/exclusive/api_upgrade.go @@ -0,0 +1,54 @@ +package exclusive + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" +) + +//参数校验 +func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.ExclusiveUpgradeReq) (errdata *pb.ErrorData) { + + return +} + +///获取用户装备列表 +func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.ExclusiveUpgradeReq) (errdata *pb.ErrorData) { + var ( + info *pb.DB_Exclusive + conf *cfg.GameExclusiveUpgradeData + err error + ) + + if info, err = this.module.model.getExclusivesById(session.GetUserId(), req.Oid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if conf, err = this.module.configure.GetGameExclusiveUpgradeData(info.CId, info.Lv); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Message: err.Error(), + } + return + } + if info.Exp < conf.Needexp { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Message: "exp not enough!", + } + return + } + if errdata = this.module.ConsumeRes(session, conf.Cost, true); errdata != nil { + return + } + info.Lv++ + info.Property = make(map[int32]int32) + for _, v := range conf.Attribute { + info.Property[v.A] = v.N + } + session.SendMsg(string(this.module.GetType()), "upgrade", &pb.ExclusiveUpgradeResp{Exclusives: info}) + return +} diff --git a/modules/exclusive/api_wear.go b/modules/exclusive/api_wear.go new file mode 100644 index 000000000..500e9ec42 --- /dev/null +++ b/modules/exclusive/api_wear.go @@ -0,0 +1,59 @@ +package exclusive + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *apiComp) WearCheck(session comm.IUserSession, req *pb.ExclusiveWearReq) (errdata *pb.ErrorData) { + + return +} + +///获取用户装备列表 +func (this *apiComp) Wear(session comm.IUserSession, req *pb.ExclusiveWearReq) (errdata *pb.ErrorData) { + var ( + info *pb.DB_Exclusive + hero *pb.DBHero + change []*pb.DB_Exclusive + err error + ) + + if hero, errdata = this.module.ModuleHero.GetHeroByObjID(session.GetUserId(), req.Heroid); err != nil { + return + } + if hero.Exclusiveid != "" { + if info, err = this.module.model.getExclusivesById(session.GetUserId(), hero.Exclusiveid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + info.Hero = "" + change = append(change, info) + } + if info, err = this.module.model.getExclusivesById(session.GetUserId(), req.Oid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + info.Hero = hero.Id + change = append(change, info) + if err = this.module.model.updateExclusive(session.GetUserId(), change...); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if errdata = this.module.ModuleHero.UpdateExclusive(session, hero, info); errdata != nil { + return + } + this.module.equipmentsChangePush(session, []*pb.DB_Exclusive{info}) + session.SendMsg(string(this.module.GetType()), "wear", &pb.ExclusiveWearResp{Exclusives: info}) + return +} diff --git a/modules/exclusive/configure.go b/modules/exclusive/configure.go index 3aeace666..2dcb5086c 100644 --- a/modules/exclusive/configure.go +++ b/modules/exclusive/configure.go @@ -12,62 +12,108 @@ import ( ) const ( - game_equip = "game_equip.json" //装备信息表 + game_exclusiveweapon = "game_exclusiveweapon.json" //装备信息表 + game_exclusiveupgrade = "game_exclusiveupgrade.json" //装备信息表 + game_exclusivestar = "game_exclusivestar.json" //装备信息表 + game_exclusiverack = "game_exclusiverank.json" //装备信息表 + game_exclusiveitem = "game_exclusiveitem.json" //经验道具 ) // /背包配置管理组件 type configureComp struct { modules.MCompConfigure - module *Exclusive - equiplock sync.RWMutex - suit map[int32][]*cfg.GameEquipData + module *Exclusive + lock sync.RWMutex + lvs map[string][]*cfg.GameExclusiveUpgradeData + stars map[string][]*cfg.GameExclusiveStarData + ranks map[string][]*cfg.GameExclusiveRankData } // 组件初始化接口 func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.MCompConfigure.Init(service, module, comp, options) this.module = module.(*Exclusive) - this.LoadConfigure(game_equip, cfg.NewGameEquip) - configure.RegisterConfigure(game_equip, cfg.NewGameEquip, func() { - this.equiplock.Lock() - if v, err := this.GetConfigure(game_equip); err != nil { + this.LoadConfigure(game_exclusiveweapon, cfg.NewGameExclusiveWeapon) + this.LoadConfigure(game_exclusiveitem, cfg.NewGameExclusiveItem) + //等级 + configure.RegisterConfigure(game_exclusiveupgrade, cfg.NewGameExclusiveUpgrade, func() { + this.lock.Lock() + if v, err := this.GetConfigure(game_exclusiveupgrade); err != nil { this.module.Errorf("err:%v", err) return } else { - this.suit = make(map[int32][]*cfg.GameEquipData) - for _, v := range v.(*cfg.GameEquip).GetDataList() { - if this.suit[v.Suittype] == nil { - this.suit[v.Suittype] = make([]*cfg.GameEquipData, 0) + this.lvs = make(map[string][]*cfg.GameExclusiveUpgradeData) + for _, v := range v.(*cfg.GameExclusiveUpgrade).GetDataList() { + if this.lvs[v.Weaponid] == nil { + this.lvs[v.Weaponid] = make([]*cfg.GameExclusiveUpgradeData, 0) } - this.suit[v.Suittype] = append(this.suit[v.Suittype], v) + this.lvs[v.Weaponid] = append(this.lvs[v.Weaponid], v) } } - this.equiplock.Unlock() + this.lock.Unlock() + }) + //星级 + configure.RegisterConfigure(game_exclusivestar, cfg.NewGameExclusiveStar, func() { + this.lock.Lock() + if v, err := this.GetConfigure(game_exclusivestar); err != nil { + this.module.Errorf("err:%v", err) + return + } else { + this.stars = make(map[string][]*cfg.GameExclusiveStarData) + for _, v := range v.(*cfg.GameExclusiveStar).GetDataList() { + if this.stars[v.Weaponid] == nil { + this.stars[v.Weaponid] = make([]*cfg.GameExclusiveStarData, 0) + } + this.stars[v.Weaponid] = append(this.stars[v.Weaponid], v) + } + } + this.lock.Unlock() + }) + //星级 + configure.RegisterConfigure(game_exclusiverack, cfg.NewGameExclusiveRank, func() { + this.lock.Lock() + if v, err := this.GetConfigure(game_exclusiverack); err != nil { + this.module.Errorf("err:%v", err) + return + } else { + this.ranks = make(map[string][]*cfg.GameExclusiveRankData) + for _, v := range v.(*cfg.GameExclusiveRank).GetDataList() { + if this.ranks[v.Weaponid] == nil { + this.ranks[v.Weaponid] = make([]*cfg.GameExclusiveRankData, 0) + } + this.ranks[v.Weaponid] = append(this.ranks[v.Weaponid], v) + } + } + this.lock.Unlock() }) return } -// 获取全部资源 -func (this *configureComp) GetAllEquipmentConfigure() (configure []*cfg.GameEquipData) { - if v, err := this.GetConfigure(game_equip); err == nil { - configure = v.(*cfg.GameEquip).GetDataList() +//获取全部资源 +func (this *configureComp) GetAllGameExclusiveWeapon() (conf *cfg.GameExclusiveWeapon, err error) { + var ( + v interface{} + ) + if v, err = this.GetConfigure(game_exclusiveweapon); err == nil { + conf = v.(*cfg.GameExclusiveWeapon) return } return } -// 获取装备配置数据 -func (this *configureComp) GetEquipmentConfigure() (configure *cfg.GameEquip, err error) { +//获取全部资源 +func (this *configureComp) GetGameExclusiveItem(id string) (conf *cfg.GameExclusiveItemData, err error) { + var ( v interface{} ok bool ) - if v, err = this.GetConfigure(game_equip); err != nil { + if v, err = this.GetConfigure(game_exclusiveitem); err != nil { this.module.Errorf("err:%v", err) return } else { - if configure, ok = v.(*cfg.GameEquip); !ok { - err = fmt.Errorf("%T no is *cfg.Game_equipment", v) + if conf, ok = v.(*cfg.GameExclusiveItem).GetDataMap()[id]; !ok { + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveitem, id) this.module.Errorf("err:%v", err) return } @@ -75,56 +121,59 @@ func (this *configureComp) GetEquipmentConfigure() (configure *cfg.GameEquip, er return } -// 获取装备配置数据 -func (this *configureComp) GetSuitEquipmentConfigure(suitid int32) (configures []*cfg.GameEquipData, err error) { - var ok bool - this.equiplock.RLock() - configures, ok = this.suit[suitid] - this.equiplock.RUnlock() - if !ok { - err = fmt.Errorf("no found suitid:%d", suitid) - } - return -} - -// 获取装备配置数据 -func (this *configureComp) GetEquipmentConfigureById(equipmentId string) (configure *cfg.GameEquipData, err error) { - var ( - v interface{} - ok bool - ) - if v, err = this.GetConfigure(game_equip); err != nil { - this.module.Errorf("err:%v", err) - return - } else { - if configure, ok = v.(*cfg.GameEquip).GetDataMap()[equipmentId]; !ok { - // err = fmt.Errorf("EquipmentConfigure not found:%s ", equipmentId) - err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_equip, equipmentId) - this.module.Errorf("err:%v", err) - return - } - } - return -} - -// 获取装备配置数据 -func (this *configureComp) GetEquipmentConfigureByIds(equipmentId []string) (configure []*cfg.GameEquipData, err error) { - var ( - t interface{} - c *cfg.GameEquipData - ok bool - ) - if t, err = this.GetConfigure(game_equip); err != nil { - this.module.Errorf("err:%v", err) - return - } else { - configure = make([]*cfg.GameEquipData, len(equipmentId)) - for i, v := range equipmentId { - if c, ok = t.(*cfg.GameEquip).GetDataMap()[v]; ok { - configure[i] = c +//获取全部资源 +func (this *configureComp) GetGameExclusiveUpgradeData(cid string, lv int32) (conf *cfg.GameExclusiveUpgradeData, err error) { + this.lock.RLock() + defer this.lock.RUnlock() + if _, ok := this.lvs[cid]; ok { + for _, v := range this.lvs[cid] { + if v.Lv == lv { + conf = v return } } + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveupgrade, fmt.Sprintf("%s-%d", cid, lv)) + return + } else { + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveupgrade, cid) + return + } +} + +//获取全部资源 +func (this *configureComp) GetGameExclusiveStarData(cid string, star int32) (conf *cfg.GameExclusiveStarData, err error) { + this.lock.RLock() + defer this.lock.RUnlock() + if _, ok := this.stars[cid]; ok { + for _, v := range this.stars[cid] { + if v.Star == star { + conf = v + return + } + } + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveupgrade, fmt.Sprintf("%s-%d", cid, star)) + return + } else { + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveupgrade, cid) + return + } +} + +//获取全部资源 +func (this *configureComp) GetGameExclusiveRankData(cid string, rank int32) (conf *cfg.GameExclusiveRankData, err error) { + this.lock.RLock() + defer this.lock.RUnlock() + if _, ok := this.ranks[cid]; ok { + for _, v := range this.ranks[cid] { + if v.Rank == rank { + conf = v + return + } + } + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveupgrade, fmt.Sprintf("%s-%d", cid, rank)) + return + } else { + err = comm.NewNotFoundConfErr(string(this.module.GetType()), game_exclusiveupgrade, cid) + return } - return } diff --git a/modules/exclusive/model.go b/modules/exclusive/model.go index db6c363e5..a751a333d 100644 --- a/modules/exclusive/model.go +++ b/modules/exclusive/model.go @@ -5,8 +5,10 @@ import ( "go_dreamfactory/lego/core" "go_dreamfactory/modules" "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/sys/db" + "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/x/bsonx" ) @@ -29,91 +31,77 @@ func (this *modelComp) Init(service core.IService, module core.IModule, comp cor return } -// 查询用户装备数据 -func (this *modelComp) QueryUserEquipmentsById(uId, id string) (equipment *pb.DB_Equipment, err error) { - equipment = &pb.DB_Equipment{} - err = this.GetListObj(uId, id, equipment) - return -} - -// 查询用户装备数据 -func (this *modelComp) QueryUserEquipmentsByIds(uId string, ids []string) (equipments []*pb.DB_Equipment, err error) { - equipments = []*pb.DB_Equipment{} - if err = this.GetListObjs(uId, ids, &equipments); err != nil { - this.module.Errorf("err:%v", err) +// 更新埋点数据到db中 +func (this *modelComp) getburiedModel(uid string) (model *exclusiveModel, err error) { + var m *db.DBModel + if db.IsCross() { + if m, err = this.module.GetDBModelByUid(uid, this.TableName); err != nil { + return + } + model = &exclusiveModel{module: this.module, model: m} + } else { + model = &exclusiveModel{module: this.module, model: this.DBModel} } return } // /查询用户的武器背包 -func (this *modelComp) QueryUserEquipments(uId string) (exclusives []*pb.DB_Exclusive, err error) { +func (this *modelComp) getExclusives(uId string) (list []*pb.DB_Exclusive, err error) { var ( - model *db.DBModel + model *exclusiveModel ) - exclusives = make([]*pb.DB_Exclusive, 0) - if this.module.IsCross() { - if model, err = this.module.GetDBModelByUid(uId, this.TableName); err != nil { - this.module.Errorln(err) - } else { - if err = model.GetList(uId, &exclusives); err != nil { - this.module.Errorf("err:%v", err) - } - } - } else { - if err = this.GetList(uId, &exclusives); err != nil { - this.module.Errorf("err:%v", err) - } + if model, err = this.getburiedModel(uId); err != nil { + return } - + list, err = model.getExclusives(uId) return } -func (this *modelComp) addEquipments(uid string, exclusives []*pb.DB_Exclusive) (err error) { +// /查询用户的武器背包 +func (this *modelComp) getExclusivesById(uId, oid string) (info *pb.DB_Exclusive, err error) { var ( - model *db.DBModel - equipsMap map[string]*pb.DB_Exclusive = make(map[string]*pb.DB_Exclusive) + model *exclusiveModel ) - for _, v := range exclusives { - equipsMap[v.Id] = v + if model, err = this.getburiedModel(uId); err != nil { + return } - if this.module.IsCross() { - if model, err = this.module.GetDBModelByUid(uid, this.TableName); err != nil { - this.module.Errorln(err) - } else { - if err = model.AddLists(uid, equipsMap); err != nil { - this.module.Errorf("err:%v", err) - return - } - } - } else { - if err = this.AddLists(uid, equipsMap); err != nil { - this.module.Errorf("err:%v", err) - return - } + info, err = model.getExclusivesById(uId, oid) + return +} + +// /查询用户的武器背包 +func (this *modelComp) getExclusivesByIds(uId string, oids []string) (list []*pb.DB_Exclusive, err error) { + var ( + model *exclusiveModel + ) + if model, err = this.getburiedModel(uId); err != nil { + return } + list, err = model.getExclusivesByIds(uId, oids) + return +} + +func (this *modelComp) addExclusives(uid string, cIds map[string]int32) (change []*pb.DB_Exclusive, err error) { + var ( + model *exclusiveModel + ) + if model, err = this.getburiedModel(uid); err != nil { + return + } + change, err = model.addExclusives(uid, cIds) return } // 删除装备 -func (this *modelComp) DelEquipments(uId string, eIds []string) (change []*pb.DB_Exclusive, err error) { +func (this *modelComp) delExclusives(uId string, eIds []string) (change []*pb.DB_Exclusive, err error) { var ( - model *db.DBModel + model *exclusiveModel ) - change = make([]*pb.DB_Exclusive, 0) - if this.module.IsCross() { - if model, err = this.module.GetDBModelByUid(uId, this.TableName); err != nil { - this.module.Errorln(err) - } else { - if err = model.DelListlds(uId, eIds); err != nil { - this.module.Errorln(err) - return - } - } - } else { - if err = this.DelListlds(uId, eIds); err != nil { - this.module.Errorln(err) - return - } + if model, err = this.getburiedModel(uId); err != nil { + return + } + if err = model.delExclusive(uId, eIds); err != nil { + return } for _, v := range eIds { change = append(change, &pb.DB_Exclusive{ @@ -125,33 +113,148 @@ func (this *modelComp) DelEquipments(uId string, eIds []string) (change []*pb.DB } // 更新武器挂载信息 -func (this *modelComp) UpdateByHeroId(uid string, exclusives ...*pb.DB_Equipment) (err error) { +func (this *modelComp) updateExclusive(uid string, exclusives ...*pb.DB_Exclusive) (err error) { + + var ( + model *exclusiveModel + ) + if model, err = this.getburiedModel(uid); err != nil { + return + } + err = model.updateExclusive(uid, exclusives) + return +} + +// 埋点专属模型 会封装特殊的数据转换接口 +type exclusiveModel struct { + module *Exclusive + model *db.DBModel +} + +// /查询用户的武器背包 +func (this *exclusiveModel) getExclusives(uId string) (list []*pb.DB_Exclusive, err error) { var ( model *db.DBModel ) - if this.module.IsCross() { - if model, err = this.module.GetDBModelByUid(uid, this.TableName); err != nil { - this.module.Errorln(err) - } else { - for _, v := range exclusives { - if err = model.ChangeList(uid, v.Id, map[string]interface{}{ - "heroId": v.HeroId, - }); err != nil { - this.module.Errorf("err:%v", err) - return + list = make([]*pb.DB_Exclusive, 0) + if err = model.GetList(uId, &list); err != nil { + this.module.Errorf("err:%v", err) + } + return +} + +// /查询用户的武器背包 +func (this *exclusiveModel) getExclusivesById(uId string, oid string) (info *pb.DB_Exclusive, err error) { + var ( + model *db.DBModel + ) + info = &pb.DB_Exclusive{} + if err = model.GetListObj(uId, oid, info); err != nil { + this.module.Errorf("err:%v", err) + } + return +} + +// /查询用户的武器背包 +func (this *exclusiveModel) getExclusivesByIds(uId string, oid []string) (list []*pb.DB_Exclusive, err error) { + var ( + model *db.DBModel + ) + list = make([]*pb.DB_Exclusive, 0) + if err = model.GetListObjs(uId, oid, &list); err != nil { + this.module.Errorf("err:%v", err) + } + return +} + +func (this *exclusiveModel) addExclusives(uId string, cIds map[string]int32) (change []*pb.DB_Exclusive, err error) { + var ( + conf *cfg.GameExclusiveWeapon + add map[string]*pb.DB_Exclusive + ) + if conf, err = this.module.configure.GetAllGameExclusiveWeapon(); err != nil { + return + } + add = make(map[string]*pb.DB_Exclusive) + change = make([]*pb.DB_Exclusive, 0, 10) + for k, v := range cIds { + if c, ok := conf.GetDataMap()[k]; ok { + for i := int32(0); i < v; i++ { + if equipment, err := this.newEquipment(uId, c); err != nil { + return nil, err + } else { + add[equipment.Id] = equipment + change = append(change, equipment) } } - } - } else { - for _, v := range exclusives { - if err = this.ChangeList(uid, v.Id, map[string]interface{}{ - "heroId": v.HeroId, - }); err != nil { - this.module.Errorf("err:%v", err) - return - } + } else { + this.module.Errorf("cfg.Game_equipment not found equip id %s", k) } } + if len(add) > 0 { + if err = this.model.AddLists(uId, add); err != nil { + this.module.Errorf("err:%v", err) + return + } + } + return +} + +func (this *exclusiveModel) delExclusive(uId string, oid []string) (err error) { + if err = this.model.DelListlds(uId, oid); err != nil { + this.module.Errorf("err:%v", err) + return + } + return +} + +func (this *exclusiveModel) updateExclusive(uid string, list []*pb.DB_Exclusive) (err error) { + var ( + datas map[string]interface{} = make(map[string]interface{}) + ) + for _, v := range list { + datas[v.Id] = map[string]interface{}{ + "hero": v.Hero, + "star": v.Star, + "lv": v.Lv, + "step": v.Step, + "exp": v.Exp, + "property": v.Property, + "commonskill": v.Commonskill, + "Exclusiveskill": v.Exclusiveskill, + } + } + + err = this.model.ChangeLists(uid, datas) + return +} + +func (this *exclusiveModel) newEquipment(uId string, conf *cfg.GameExclusiveWeaponData) (equipment *pb.DB_Exclusive, err error) { + var ( + lvconf *cfg.GameExclusiveUpgradeData + starconf *cfg.GameExclusiveStarData + ) + + equipment = &pb.DB_Exclusive{ + Id: primitive.NewObjectID().Hex(), + UId: uId, + CId: conf.Weaponid, + Lv: 1, + Star: 1, + Step: 1, + Property: make(map[int32]int32), + } + if lvconf, err = this.module.configure.GetGameExclusiveUpgradeData(conf.Weaponid, 1); err != nil { + return + } + if starconf, err = this.module.configure.GetGameExclusiveStarData(conf.Weaponid, 1); err != nil { + return + } + for _, v := range lvconf.Attribute { + equipment.Property[v.A] = v.N + } + equipment.Commonskill = starconf.Commonskill + equipment.Exclusiveskill = starconf.Exclusiveskill return } diff --git a/modules/exclusive/module.go b/modules/exclusive/module.go index 87df894a9..c12c59f94 100644 --- a/modules/exclusive/module.go +++ b/modules/exclusive/module.go @@ -5,6 +5,7 @@ import ( "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/event" "go_dreamfactory/modules" + "go_dreamfactory/pb" ) const moduleName = "专武" @@ -60,7 +61,51 @@ func (this *Exclusive) OnInstallComp() { this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } +// 添加武器 +func (this *Exclusive) AddNewExclusive(session comm.IUserSession, cIds map[string]int32, bPush bool) (change []*pb.DB_Exclusive, errdata *pb.ErrorData) { + var ( + err error + ) + if change, err = this.model.addExclusives(session.GetUserId(), cIds); err != nil { + this.Errorf("err%v", err) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if len(change) > 0 && bPush { + this.equipmentsChangePush(session, change) + } + return +} + +// 添加武器 +func (this *Exclusive) DelNewExclusive(session comm.IUserSession, cIds []string, bPush bool) (change []*pb.DB_Exclusive, errdata *pb.ErrorData) { + var ( + err error + ) + if change, err = this.model.delExclusives(session.GetUserId(), cIds); err != nil { + this.Errorf("err%v", err) + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if len(change) > 0 && bPush { + this.equipmentsChangePush(session, change) + } + return +} + // Event------------------------------------------------------------------------------------------------------------ func (this *Exclusive) EventUserOffline(uid, sessionid string) { this.model.BatchDelLists(uid) } + +// 推送道具变化消息 +func (this *Exclusive) equipmentsChangePush(session comm.IUserSession, items []*pb.DB_Exclusive) (err error) { + session.SendMsg(string(this.GetType()), "change", &pb.ExclusiveChangePush{Exclusives: items}) + return +} diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 0e81717e7..2ecea9fcf 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -462,6 +462,40 @@ func (this *ModelHero) setEquipProperty(hero *pb.DBHero, equip []*pb.DB_Equipmen this.mergeAddProperty(hero.Uid, hero, addProperty, equipSkill) } +// 设置装备属性 +func (this *ModelHero) setExclusiveProperty(hero *pb.DBHero, exw *pb.DB_Exclusive) { + + addProperty := make(map[int32]int32) //副属性 + equipSkill := make([]*pb.SkillData, 0) + hero.Exclusiveid = exw.Id + + for k, v := range exw.Property { + addProperty[k] = v //附加属性 + } + hero.ExclusiveProperty = addProperty + if exw.Commonskill != 0 { + equipSkill = append(equipSkill, &pb.SkillData{ + SkillID: exw.Commonskill, + SkillLv: 1, + }) + } + if exw.Exclusiveskill != 0 { + equipSkill = append(equipSkill, &pb.SkillData{ + SkillID: exw.Exclusiveskill, + SkillLv: 1, + }) + } + hero.ExclusiveSkill = equipSkill + this.calFigthValue(hero) + if err := this.ChangeList(hero.Uid, hero.Id, map[string]interface{}{ + "exclusiveid": hero.Exclusiveid, + "exclusiveProperty": hero.ExclusiveProperty, + "exclusiveSkill": hero.ExclusiveSkill, + }); err != nil { + this.module.Errorf("mergeAddProperty err %v", err) + } +} + // 设置装备 func (this *ModelHero) setEquipment(uid string, hero *pb.DBHero) (newHero *pb.DBHero, err error) { if len(hero.EquipID) == 0 { diff --git a/modules/hero/module.go b/modules/hero/module.go index ac33216e8..d783df9cd 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -134,6 +134,22 @@ func (this *Hero) UpdateEquipment(session comm.IUserSession, hero *pb.DBHero, eq return } +// 佩戴专属武器 +func (this *Hero) UpdateExclusive(session comm.IUserSession, hero *pb.DBHero, exw *pb.DB_Exclusive) (errdata *pb.ErrorData) { + if hero == nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_HeroNoExist, + Title: pb.ErrorCode_HeroNoExist.ToString(), + } + return + } + list := make([]*pb.DBHero, 0) + list = append(list, hero) + this.modelHero.setExclusiveProperty(hero, exw) + session.SendMsg("hero", "change", &pb.HeroChangePush{List: list}) + return +} + // 英雄列表 func (this *Hero) GetHeroList(uid string) []*pb.DBHero { return this.modelHero.getHeroList(uid) diff --git a/modules/modulebase.go b/modules/modulebase.go index e0db04f53..f71284fd2 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -47,6 +47,7 @@ type ModuleBase struct { ModuleUiGame comm.IUiGame // ModuleDragon comm.IDragon // ModuleEntertain comm.IEntertainment // + ModuleExclusive comm.IExclusive //专属武器 } // 重构模块配置对象 @@ -723,21 +724,23 @@ func (this *ModuleBase) Panicln(args ...interface{}) { // 发放资源 func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gameatn, bPush bool) (errdata *pb.ErrorData, atno []*pb.UserAtno) { var ( - items map[string]int32 // 道具背包 批量处理 - heros map[string]int32 // 英雄 - attrs map[string]int32 // 属性 - equips map[string]uint32 // 装备 - vip map[string]int32 // vip - atlas map[string]int32 // 铁匠铺资源 - panda map[string]int32 // 熊猫武馆资源 - mts map[string]int32 // 捕羊大赛资源 - per map[string]int32 // 捕羊大赛资源 - title map[string]int32 // 称号资源 - xxl map[string]int32 // 三消资源 - xxlSkill map[string]int32 // 三消资源 - equipschange []*pb.DB_Equipment - heroschange []*pb.UserAtno - itemschange []*pb.UserAtno + items map[string]int32 // 道具背包 批量处理 + heros map[string]int32 // 英雄 + attrs map[string]int32 // 属性 + equips map[string]uint32 // 装备 + vip map[string]int32 // vip + atlas map[string]int32 // 铁匠铺资源 + panda map[string]int32 // 熊猫武馆资源 + mts map[string]int32 // 捕羊大赛资源 + per map[string]int32 // 捕羊大赛资源 + title map[string]int32 // 称号资源 + xxl map[string]int32 // 三消资源 + xxlSkill map[string]int32 // 三消资源 + exw map[string]int32 // 专属武器 + equipschange []*pb.DB_Equipment + heroschange []*pb.UserAtno + itemschange []*pb.UserAtno + exclusivechange []*pb.DB_Exclusive ) items = make(map[string]int32, 0) heros = make(map[string]int32, 0) @@ -751,6 +754,7 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea title = make(map[string]int32, 0) xxl = make(map[string]int32, 0) xxlSkill = make(map[string]int32, 0) + exw = make(map[string]int32, 0) for _, v := range res { switch v.A { @@ -782,6 +786,8 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea xxl[v.T] += v.N case comm.XxlSkill: xxlSkill[v.T] += v.N + case comm.ExclusiveType: + exw[v.T] += v.N default: this.Error("not found res type", log.Field{Key: "Type", Value: v.A}) // 找不到资源类型 } @@ -822,9 +828,9 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea } for _, v := range equipschange { atno = append(atno, &pb.UserAtno{ - A: "equi", + A: comm.EquipmentType, T: v.CId, - N: int32(len(equips)), + N: 1, O: v.Id, }) } @@ -936,7 +942,20 @@ func (this *ModuleBase) DispenseAtno(session comm.IUserSession, res []*cfg.Gamea } this.Debugf("发放三消技能卡片资源资源: %v errdata: %v", xxlSkill, errdata) } - + if len(exw) > 0 { + if exclusivechange, errdata = this.ModuleExclusive.AddNewExclusive(session, exw, bPush); errdata != nil { + return + } + for _, v := range exclusivechange { + atno = append(atno, &pb.UserAtno{ + A: comm.ExclusiveType, //, + T: v.CId, + N: 1, + O: v.Id, + }) + } + this.Debugf("发放三消技能卡片资源资源: %v errdata: %v", xxlSkill, errdata) + } return } diff --git a/pb/exclusive_db.pb.go b/pb/exclusive_db.pb.go index d5d075165..736f04097 100644 --- a/pb/exclusive_db.pb.go +++ b/pb/exclusive_db.pb.go @@ -29,7 +29,7 @@ type DB_Exclusive struct { Id string `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id" bson:"_id"` // 专武id CId string `protobuf:"bytes,2,opt,name=cId,proto3" json:"cId" bson:"cId"` // 配置Id UId string `protobuf:"bytes,3,opt,name=uId,proto3" json:"uId" bson:"uid"` // 所属玩家Id - HeroId string `protobuf:"bytes,4,opt,name=heroId,proto3" json:"heroId" bson:"heroId"` // 挂在的英雄卡片id 未装备 填 '' + Hero string `protobuf:"bytes,4,opt,name=hero,proto3" json:"hero" bson:"heroId"` // 挂在的英雄卡片id 未装备 填 '' Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv" bson:"lv"` //等级 Star int32 `protobuf:"varint,6,opt,name=star,proto3" json:"star" bson:"star"` //星级 Step int32 `protobuf:"varint,7,opt,name=step,proto3" json:"step"` // 阶 @@ -92,9 +92,9 @@ func (x *DB_Exclusive) GetUId() string { return "" } -func (x *DB_Exclusive) GetHeroId() string { +func (x *DB_Exclusive) GetHero() string { if x != nil { - return x.HeroId + return x.Hero } return "" } @@ -152,31 +152,31 @@ var File_exclusive_exclusive_db_proto protoreflect.FileDescriptor var file_exclusive_exclusive_db_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x6c, - 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x74, 0x65, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 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, 0x20, - 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, - 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x6b, 0x69, - 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 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, 0x05, 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, + 0x75, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x74, 0x65, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, + 0x70, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 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, 0x20, 0x0a, 0x0b, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x0e, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, + 0x6b, 0x69, 0x6c, 0x6c, 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, 0x05, 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/exclusive_msg.pb.go b/pb/exclusive_msg.pb.go index fbdecfac6..77ec771e4 100644 --- a/pb/exclusive_msg.pb.go +++ b/pb/exclusive_msg.pb.go @@ -107,20 +107,130 @@ func (x *ExclusiveGetListResp) GetExclusives() []*DB_Exclusive { return nil } -// 升级 -type ExclusiveUpgradeReq struct { +// 加经验 +type ExclusiveAddExpReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` Itemid string `protobuf:"bytes,2,opt,name=itemid,proto3" json:"itemid"` + Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num"` +} + +func (x *ExclusiveAddExpReq) Reset() { + *x = ExclusiveAddExpReq{} + if protoimpl.UnsafeEnabled { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExclusiveAddExpReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExclusiveAddExpReq) ProtoMessage() {} + +func (x *ExclusiveAddExpReq) ProtoReflect() protoreflect.Message { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExclusiveAddExpReq.ProtoReflect.Descriptor instead. +func (*ExclusiveAddExpReq) Descriptor() ([]byte, []int) { + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{2} +} + +func (x *ExclusiveAddExpReq) GetOid() string { + if x != nil { + return x.Oid + } + return "" +} + +func (x *ExclusiveAddExpReq) GetItemid() string { + if x != nil { + return x.Itemid + } + return "" +} + +func (x *ExclusiveAddExpReq) GetNum() int32 { + if x != nil { + return x.Num + } + return 0 +} + +type ExclusiveAddExpResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exclusives *DB_Exclusive `protobuf:"bytes,1,opt,name=Exclusives,proto3" json:"Exclusives"` +} + +func (x *ExclusiveAddExpResp) Reset() { + *x = ExclusiveAddExpResp{} + if protoimpl.UnsafeEnabled { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExclusiveAddExpResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExclusiveAddExpResp) ProtoMessage() {} + +func (x *ExclusiveAddExpResp) ProtoReflect() protoreflect.Message { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExclusiveAddExpResp.ProtoReflect.Descriptor instead. +func (*ExclusiveAddExpResp) Descriptor() ([]byte, []int) { + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *ExclusiveAddExpResp) GetExclusives() *DB_Exclusive { + if x != nil { + return x.Exclusives + } + return nil +} + +// 升级 +type ExclusiveUpgradeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` } func (x *ExclusiveUpgradeReq) Reset() { *x = ExclusiveUpgradeReq{} if protoimpl.UnsafeEnabled { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[2] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -133,7 +243,7 @@ func (x *ExclusiveUpgradeReq) String() string { func (*ExclusiveUpgradeReq) ProtoMessage() {} func (x *ExclusiveUpgradeReq) ProtoReflect() protoreflect.Message { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[2] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -146,7 +256,7 @@ func (x *ExclusiveUpgradeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ExclusiveUpgradeReq.ProtoReflect.Descriptor instead. func (*ExclusiveUpgradeReq) Descriptor() ([]byte, []int) { - return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{2} + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{4} } func (x *ExclusiveUpgradeReq) GetOid() string { @@ -156,13 +266,6 @@ func (x *ExclusiveUpgradeReq) GetOid() string { return "" } -func (x *ExclusiveUpgradeReq) GetItemid() string { - if x != nil { - return x.Itemid - } - return "" -} - type ExclusiveUpgradeResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -174,7 +277,7 @@ type ExclusiveUpgradeResp struct { func (x *ExclusiveUpgradeResp) Reset() { *x = ExclusiveUpgradeResp{} if protoimpl.UnsafeEnabled { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[3] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -187,7 +290,7 @@ func (x *ExclusiveUpgradeResp) String() string { func (*ExclusiveUpgradeResp) ProtoMessage() {} func (x *ExclusiveUpgradeResp) ProtoReflect() protoreflect.Message { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[3] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -200,7 +303,7 @@ func (x *ExclusiveUpgradeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ExclusiveUpgradeResp.ProtoReflect.Descriptor instead. func (*ExclusiveUpgradeResp) Descriptor() ([]byte, []int) { - return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{3} + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{5} } func (x *ExclusiveUpgradeResp) GetExclusives() *DB_Exclusive { @@ -216,13 +319,14 @@ type ExclusiveStarUpReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` + Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` + Eatid []string `protobuf:"bytes,2,rep,name=eatid,proto3" json:"eatid"` } func (x *ExclusiveStarUpReq) Reset() { *x = ExclusiveStarUpReq{} if protoimpl.UnsafeEnabled { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[4] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -235,7 +339,7 @@ func (x *ExclusiveStarUpReq) String() string { func (*ExclusiveStarUpReq) ProtoMessage() {} func (x *ExclusiveStarUpReq) ProtoReflect() protoreflect.Message { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[4] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -248,7 +352,7 @@ func (x *ExclusiveStarUpReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ExclusiveStarUpReq.ProtoReflect.Descriptor instead. func (*ExclusiveStarUpReq) Descriptor() ([]byte, []int) { - return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{4} + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{6} } func (x *ExclusiveStarUpReq) GetOid() string { @@ -258,6 +362,13 @@ func (x *ExclusiveStarUpReq) GetOid() string { return "" } +func (x *ExclusiveStarUpReq) GetEatid() []string { + if x != nil { + return x.Eatid + } + return nil +} + type ExclusiveStarUpResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -269,7 +380,7 @@ type ExclusiveStarUpResp struct { func (x *ExclusiveStarUpResp) Reset() { *x = ExclusiveStarUpResp{} if protoimpl.UnsafeEnabled { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[5] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -282,7 +393,7 @@ func (x *ExclusiveStarUpResp) String() string { func (*ExclusiveStarUpResp) ProtoMessage() {} func (x *ExclusiveStarUpResp) ProtoReflect() protoreflect.Message { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[5] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -295,7 +406,7 @@ func (x *ExclusiveStarUpResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ExclusiveStarUpResp.ProtoReflect.Descriptor instead. func (*ExclusiveStarUpResp) Descriptor() ([]byte, []int) { - return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{5} + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{7} } func (x *ExclusiveStarUpResp) GetExclusives() *DB_Exclusive { @@ -305,6 +416,203 @@ func (x *ExclusiveStarUpResp) GetExclusives() *DB_Exclusive { return nil } +// 升星 +type ExclusiveRankUpReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` +} + +func (x *ExclusiveRankUpReq) Reset() { + *x = ExclusiveRankUpReq{} + if protoimpl.UnsafeEnabled { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExclusiveRankUpReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExclusiveRankUpReq) ProtoMessage() {} + +func (x *ExclusiveRankUpReq) ProtoReflect() protoreflect.Message { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExclusiveRankUpReq.ProtoReflect.Descriptor instead. +func (*ExclusiveRankUpReq) Descriptor() ([]byte, []int) { + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{8} +} + +func (x *ExclusiveRankUpReq) GetOid() string { + if x != nil { + return x.Oid + } + return "" +} + +type ExclusiveRankUpResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exclusives *DB_Exclusive `protobuf:"bytes,1,opt,name=Exclusives,proto3" json:"Exclusives"` +} + +func (x *ExclusiveRankUpResp) Reset() { + *x = ExclusiveRankUpResp{} + if protoimpl.UnsafeEnabled { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExclusiveRankUpResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExclusiveRankUpResp) ProtoMessage() {} + +func (x *ExclusiveRankUpResp) ProtoReflect() protoreflect.Message { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExclusiveRankUpResp.ProtoReflect.Descriptor instead. +func (*ExclusiveRankUpResp) Descriptor() ([]byte, []int) { + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{9} +} + +func (x *ExclusiveRankUpResp) GetExclusives() *DB_Exclusive { + if x != nil { + return x.Exclusives + } + return nil +} + +type ExclusiveWearReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Oid string `protobuf:"bytes,1,opt,name=oid,proto3" json:"oid"` + Heroid string `protobuf:"bytes,2,opt,name=heroid,proto3" json:"heroid"` +} + +func (x *ExclusiveWearReq) Reset() { + *x = ExclusiveWearReq{} + if protoimpl.UnsafeEnabled { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExclusiveWearReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExclusiveWearReq) ProtoMessage() {} + +func (x *ExclusiveWearReq) ProtoReflect() protoreflect.Message { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExclusiveWearReq.ProtoReflect.Descriptor instead. +func (*ExclusiveWearReq) Descriptor() ([]byte, []int) { + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{10} +} + +func (x *ExclusiveWearReq) GetOid() string { + if x != nil { + return x.Oid + } + return "" +} + +func (x *ExclusiveWearReq) GetHeroid() string { + if x != nil { + return x.Heroid + } + return "" +} + +type ExclusiveWearResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exclusives *DB_Exclusive `protobuf:"bytes,1,opt,name=Exclusives,proto3" json:"Exclusives"` +} + +func (x *ExclusiveWearResp) Reset() { + *x = ExclusiveWearResp{} + if protoimpl.UnsafeEnabled { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExclusiveWearResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExclusiveWearResp) ProtoMessage() {} + +func (x *ExclusiveWearResp) ProtoReflect() protoreflect.Message { + mi := &file_exclusive_exclusive_msg_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExclusiveWearResp.ProtoReflect.Descriptor instead. +func (*ExclusiveWearResp) Descriptor() ([]byte, []int) { + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{11} +} + +func (x *ExclusiveWearResp) GetExclusives() *DB_Exclusive { + if x != nil { + return x.Exclusives + } + return nil +} + //推送装备背包变化 type ExclusiveChangePush struct { state protoimpl.MessageState @@ -317,7 +625,7 @@ type ExclusiveChangePush struct { func (x *ExclusiveChangePush) Reset() { *x = ExclusiveChangePush{} if protoimpl.UnsafeEnabled { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[6] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -330,7 +638,7 @@ func (x *ExclusiveChangePush) String() string { func (*ExclusiveChangePush) ProtoMessage() {} func (x *ExclusiveChangePush) ProtoReflect() protoreflect.Message { - mi := &file_exclusive_exclusive_msg_proto_msgTypes[6] + mi := &file_exclusive_exclusive_msg_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -343,7 +651,7 @@ func (x *ExclusiveChangePush) ProtoReflect() protoreflect.Message { // Deprecated: Use ExclusiveChangePush.ProtoReflect.Descriptor instead. func (*ExclusiveChangePush) Descriptor() ([]byte, []int) { - return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{6} + return file_exclusive_exclusive_msg_proto_rawDescGZIP(), []int{12} } func (x *ExclusiveChangePush) GetExclusives() []*DB_Exclusive { @@ -365,28 +673,52 @@ var file_exclusive_exclusive_msg_proto_rawDesc = []byte{ 0x65, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, - 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x13, 0x45, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6f, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x14, + 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x50, 0x0a, 0x12, 0x45, + 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x45, 0x78, 0x70, 0x52, 0x65, + 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6f, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x44, 0x0a, + 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x41, 0x64, 0x64, 0x45, 0x78, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, + 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x76, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x12, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x13, 0x45, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x55, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x73, 0x22, 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, + 0x61, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x65, 0x61, 0x74, 0x69, + 0x64, 0x22, 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, + 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, + 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x6b, + 0x55, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, + 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, + 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x57, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, + 0x6f, 0x69, 0x64, 0x22, 0x42, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x57, 0x65, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, + 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x2d, + 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x5f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x73, 0x42, 0x06, 0x5a, + 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -401,27 +733,36 @@ func file_exclusive_exclusive_msg_proto_rawDescGZIP() []byte { return file_exclusive_exclusive_msg_proto_rawDescData } -var file_exclusive_exclusive_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_exclusive_exclusive_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_exclusive_exclusive_msg_proto_goTypes = []interface{}{ (*ExclusiveGetListReq)(nil), // 0: ExclusiveGetListReq (*ExclusiveGetListResp)(nil), // 1: ExclusiveGetListResp - (*ExclusiveUpgradeReq)(nil), // 2: ExclusiveUpgradeReq - (*ExclusiveUpgradeResp)(nil), // 3: ExclusiveUpgradeResp - (*ExclusiveStarUpReq)(nil), // 4: ExclusiveStarUpReq - (*ExclusiveStarUpResp)(nil), // 5: ExclusiveStarUpResp - (*ExclusiveChangePush)(nil), // 6: ExclusiveChangePush - (*DB_Exclusive)(nil), // 7: DB_Exclusive + (*ExclusiveAddExpReq)(nil), // 2: ExclusiveAddExpReq + (*ExclusiveAddExpResp)(nil), // 3: ExclusiveAddExpResp + (*ExclusiveUpgradeReq)(nil), // 4: ExclusiveUpgradeReq + (*ExclusiveUpgradeResp)(nil), // 5: ExclusiveUpgradeResp + (*ExclusiveStarUpReq)(nil), // 6: ExclusiveStarUpReq + (*ExclusiveStarUpResp)(nil), // 7: ExclusiveStarUpResp + (*ExclusiveRankUpReq)(nil), // 8: ExclusiveRankUpReq + (*ExclusiveRankUpResp)(nil), // 9: ExclusiveRankUpResp + (*ExclusiveWearReq)(nil), // 10: ExclusiveWearReq + (*ExclusiveWearResp)(nil), // 11: ExclusiveWearResp + (*ExclusiveChangePush)(nil), // 12: ExclusiveChangePush + (*DB_Exclusive)(nil), // 13: DB_Exclusive } var file_exclusive_exclusive_msg_proto_depIdxs = []int32{ - 7, // 0: ExclusiveGetListResp.Exclusives:type_name -> DB_Exclusive - 7, // 1: ExclusiveUpgradeResp.Exclusives:type_name -> DB_Exclusive - 7, // 2: ExclusiveStarUpResp.Exclusives:type_name -> DB_Exclusive - 7, // 3: ExclusiveChangePush.Exclusives:type_name -> DB_Exclusive - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 13, // 0: ExclusiveGetListResp.Exclusives:type_name -> DB_Exclusive + 13, // 1: ExclusiveAddExpResp.Exclusives:type_name -> DB_Exclusive + 13, // 2: ExclusiveUpgradeResp.Exclusives:type_name -> DB_Exclusive + 13, // 3: ExclusiveStarUpResp.Exclusives:type_name -> DB_Exclusive + 13, // 4: ExclusiveRankUpResp.Exclusives:type_name -> DB_Exclusive + 13, // 5: ExclusiveWearResp.Exclusives:type_name -> DB_Exclusive + 13, // 6: ExclusiveChangePush.Exclusives:type_name -> DB_Exclusive + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_exclusive_exclusive_msg_proto_init() } @@ -456,7 +797,7 @@ func file_exclusive_exclusive_msg_proto_init() { } } file_exclusive_exclusive_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExclusiveUpgradeReq); i { + switch v := v.(*ExclusiveAddExpReq); i { case 0: return &v.state case 1: @@ -468,7 +809,7 @@ func file_exclusive_exclusive_msg_proto_init() { } } file_exclusive_exclusive_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExclusiveUpgradeResp); i { + switch v := v.(*ExclusiveAddExpResp); i { case 0: return &v.state case 1: @@ -480,7 +821,7 @@ func file_exclusive_exclusive_msg_proto_init() { } } file_exclusive_exclusive_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExclusiveStarUpReq); i { + switch v := v.(*ExclusiveUpgradeReq); i { case 0: return &v.state case 1: @@ -492,7 +833,7 @@ func file_exclusive_exclusive_msg_proto_init() { } } file_exclusive_exclusive_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExclusiveStarUpResp); i { + switch v := v.(*ExclusiveUpgradeResp); i { case 0: return &v.state case 1: @@ -504,6 +845,78 @@ func file_exclusive_exclusive_msg_proto_init() { } } file_exclusive_exclusive_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExclusiveStarUpReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_exclusive_exclusive_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExclusiveStarUpResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_exclusive_exclusive_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExclusiveRankUpReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_exclusive_exclusive_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExclusiveRankUpResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_exclusive_exclusive_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExclusiveWearReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_exclusive_exclusive_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExclusiveWearResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_exclusive_exclusive_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExclusiveChangePush); i { case 0: return &v.state @@ -522,7 +935,7 @@ func file_exclusive_exclusive_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_exclusive_exclusive_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 13, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/hero_db.pb.go b/pb/hero_db.pb.go index b1a75824a..fa309bbcc 100644 --- a/pb/hero_db.pb.go +++ b/pb/hero_db.pb.go @@ -101,6 +101,9 @@ type DBHero struct { Awakenskill []*SkillData `protobuf:"bytes,28,rep,name=awakenskill,proto3" json:"awakenskill"` // 觉醒技能 Talentskill []*SkillData `protobuf:"bytes,29,rep,name=talentskill,proto3" json:"talentskill"` // 回响技能 Fightvalue int32 `protobuf:"varint,30,opt,name=fightvalue,proto3" json:"fightvalue"` // 战力 + Exclusiveid string `protobuf:"bytes,31,opt,name=exclusiveid,proto3" json:"exclusiveid"` //专属武器id + ExclusiveProperty map[int32]int32 `protobuf:"bytes,32,rep,name=exclusiveProperty,proto3" json:"exclusiveProperty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"exclusiveProperty"` //专属武器属性 + ExclusiveSkill []*SkillData `protobuf:"bytes,33,rep,name=exclusiveSkill,proto3" json:"exclusiveSkill" bson:"exclusiveSkill"` //装备技能 } func (x *DBHero) Reset() { @@ -345,6 +348,27 @@ func (x *DBHero) GetFightvalue() int32 { return 0 } +func (x *DBHero) GetExclusiveid() string { + if x != nil { + return x.Exclusiveid + } + return "" +} + +func (x *DBHero) GetExclusiveProperty() map[int32]int32 { + if x != nil { + return x.ExclusiveProperty + } + return nil +} + +func (x *DBHero) GetExclusiveSkill() []*SkillData { + if x != nil { + return x.ExclusiveSkill + } + return nil +} + //英雄扩展数据 type DBHeroRecord struct { state protoimpl.MessageState @@ -743,8 +767,8 @@ var file_hero_hero_db_proto_rawDesc = []byte{ 0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x71, 0x75, 0x69, - 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, - 0x0b, 0x0a, 0x06, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, + 0x0d, 0x0a, 0x06, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, @@ -812,143 +836,158 @@ var file_hero_hero_db_proto_rawDesc = []byte{ 0x61, 0x74, 0x61, 0x52, 0x0b, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x67, 0x68, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x67, 0x68, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, - 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, 0x05, 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, 0x05, 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, 0x3f, 0x0a, - 0x11, 0x4a, 0x75, 0x65, 0x78, 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, 0x05, 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, 0x41, - 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x69, 0x64, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x2e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, + 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x12, 0x32, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x53, + 0x6b, 0x69, 0x6c, 0x6c, 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, 0x05, 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, 0x44, 0x0a, 0x16, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 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, 0x05, 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, 0x3a, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 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, 0x22, 0x8e, 0x0b, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, - 0x65, 0x72, 0x6f, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, - 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, - 0x72, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, - 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, - 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x61, 0x63, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x62, - 0x61, 0x6f, 0x64, 0x69, 0x34, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, - 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, 0x61, 0x6f, 0x64, 0x69, - 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x12, 0x31, - 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, 0x61, - 0x6f, 0x64, 0x69, 0x35, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, - 0x35, 0x12, 0x2e, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x70, 0x65, 0x61, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x50, 0x65, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x65, 0x61, 0x63, - 0x68, 0x12, 0x2e, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x12, - 0x2b, 0x0a, 0x04, 0x77, 0x69, 0x73, 0x68, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x57, 0x69, 0x73, - 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x77, 0x69, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, - 0x77, 0x69, 0x73, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x69, 0x73, 0x68, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x61, 0x63, - 0x68, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, - 0x65, 0x61, 0x63, 0x68, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, - 0x77, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x6e, 0x65, 0x77, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x63, 0x75, 0x72, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x63, 0x75, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x74, 0x31, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x72, 0x73, 0x74, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x74, 0x32, 0x18, 0x19, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x04, 0x72, 0x73, 0x74, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x68, 0x65, - 0x72, 0x6f, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x68, 0x65, 0x72, 0x6f, - 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x70, 0x68, 0x65, 0x72, 0x6f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x75, 0x70, 0x68, 0x65, 0x72, 0x6f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 0x3c, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 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, 0x37, - 0x0a, 0x09, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x39, 0x0a, 0x0b, 0x42, 0x61, 0x6f, 0x64, 0x69, - 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 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, 0x39, 0x0a, 0x0b, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x38, 0x0a, - 0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x38, 0x0a, 0x0a, 0x50, 0x65, 0x61, 0x63, 0x68, + 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, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, 0x69, 0x74, 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, 0x03, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x57, - 0x69, 0x73, 0x68, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, - 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, - 0x31, 0x0a, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x54, - 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x65, - 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4a, 0x75, 0x65, 0x78, 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, 0x05, 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, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 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, 0x05, 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, 0x44, 0x0a, 0x16, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 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, 0x05, 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, 0x3a, 0x0a, 0x0c, 0x46, + 0x65, 0x74, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x44, 0x0a, 0x16, 0x45, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 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, 0x05, 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, 0x22, 0x7e, 0x0a, - 0x10, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x72, 0x61, 0x77, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, - 0x72, 0x61, 0x77, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x2a, 0x2f, 0x0a, - 0x08, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x65, 0x72, - 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, - 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01, 0x42, 0x06, - 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x0b, + 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x72, 0x61, 0x77, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x64, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, + 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x61, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x04, 0x72, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x61, 0x6f, 0x64, + 0x69, 0x35, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, + 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x62, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x12, 0x2e, 0x0a, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, + 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x70, + 0x65, 0x61, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, + 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x50, 0x65, 0x61, 0x63, 0x68, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x70, 0x65, 0x61, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x48, + 0x65, 0x72, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x48, 0x65, 0x72, 0x6f, 0x12, 0x2b, 0x0a, 0x04, 0x77, 0x69, 0x73, + 0x68, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x57, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x77, 0x69, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x73, 0x68, 0x48, 0x65, + 0x72, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x69, 0x73, 0x68, 0x48, 0x65, + 0x72, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x61, 0x63, 0x68, 0x72, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x65, 0x61, 0x63, 0x68, 0x72, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x75, 0x72, 0x18, + 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x63, 0x75, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, + 0x74, 0x31, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x72, 0x73, 0x74, 0x31, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x73, 0x74, 0x32, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x72, 0x73, + 0x74, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x1a, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x75, 0x70, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x70, + 0x68, 0x65, 0x72, 0x6f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x75, 0x70, 0x68, 0x65, 0x72, 0x6f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x3c, 0x0a, 0x0e, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 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, 0x3c, 0x0a, 0x0e, 0x53, 0x74, + 0x61, 0x72, 0x35, 0x48, 0x65, 0x72, 0x6f, 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, 0x37, 0x0a, 0x09, 0x52, 0x61, 0x63, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 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, 0x39, 0x0a, 0x0b, 0x42, 0x61, 0x6f, 0x64, 0x69, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x39, 0x0a, 0x0b, + 0x42, 0x61, 0x6f, 0x64, 0x69, 0x35, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x38, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 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, 0x38, 0x0a, 0x0a, 0x50, 0x65, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x57, 0x69, 0x73, 0x68, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, + 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x6c, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x48, 0x65, + 0x72, 0x6f, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x22, 0x7e, 0x0a, 0x10, 0x44, 0x42, 0x48, 0x65, 0x72, + 0x6f, 0x44, 0x72, 0x61, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x77, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x72, 0x61, 0x77, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x2a, 0x2f, 0x0a, 0x08, 0x48, 0x65, 0x72, 0x6f, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4e, + 0x69, 0x6c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x72, 0x6f, 0x54, 0x79, 0x70, 0x65, + 0x4b, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x10, 0x01, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -964,7 +1003,7 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte { } var file_hero_hero_db_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_hero_hero_db_proto_goTypes = []interface{}{ (HeroType)(0), // 0: HeroType (*DBHero)(nil), // 1: DBHero @@ -977,47 +1016,50 @@ var file_hero_hero_db_proto_goTypes = []interface{}{ nil, // 8: DBHero.TalentPropertyEntry nil, // 9: DBHero.HoroscopePropertyEntry nil, // 10: DBHero.FettersEntry - nil, // 11: DBHeroRecord.ConditionEntry - nil, // 12: DBHeroRecord.Star5HeroEntry - nil, // 13: DBHeroRecord.RaceEntry - nil, // 14: DBHeroRecord.Baodi4Entry - nil, // 15: DBHeroRecord.Baodi5Entry - nil, // 16: DBHeroRecord.CountEntry - nil, // 17: DBHeroRecord.PeachEntry - nil, // 18: DBHeroRecord.LimitEntry - nil, // 19: DBHeroRecord.WishEntry - nil, // 20: DBHeroTalent.TalentEntry - (*SkillData)(nil), // 21: SkillData - (*DB_EquipmentSuit)(nil), // 22: DB_EquipmentSuit + nil, // 11: DBHero.ExclusivePropertyEntry + nil, // 12: DBHeroRecord.ConditionEntry + nil, // 13: DBHeroRecord.Star5HeroEntry + nil, // 14: DBHeroRecord.RaceEntry + nil, // 15: DBHeroRecord.Baodi4Entry + nil, // 16: DBHeroRecord.Baodi5Entry + nil, // 17: DBHeroRecord.CountEntry + nil, // 18: DBHeroRecord.PeachEntry + nil, // 19: DBHeroRecord.LimitEntry + nil, // 20: DBHeroRecord.WishEntry + nil, // 21: DBHeroTalent.TalentEntry + (*SkillData)(nil), // 22: SkillData + (*DB_EquipmentSuit)(nil), // 23: DB_EquipmentSuit } var file_hero_hero_db_proto_depIdxs = []int32{ - 21, // 0: DBHero.normalSkill:type_name -> SkillData + 22, // 0: DBHero.normalSkill:type_name -> SkillData 5, // 1: DBHero.property:type_name -> DBHero.PropertyEntry 6, // 2: DBHero.addProperty:type_name -> DBHero.AddPropertyEntry 7, // 3: DBHero.juexProperty:type_name -> DBHero.JuexPropertyEntry 0, // 4: DBHero.status:type_name -> HeroType - 22, // 5: DBHero.suits:type_name -> DB_EquipmentSuit + 23, // 5: DBHero.suits:type_name -> DB_EquipmentSuit 8, // 6: DBHero.talentProperty:type_name -> DBHero.TalentPropertyEntry - 21, // 7: DBHero.equipSkill:type_name -> SkillData + 22, // 7: DBHero.equipSkill:type_name -> SkillData 9, // 8: DBHero.horoscopeProperty:type_name -> DBHero.HoroscopePropertyEntry 10, // 9: DBHero.fetters:type_name -> DBHero.FettersEntry - 21, // 10: DBHero.awakenskill:type_name -> SkillData - 21, // 11: DBHero.talentskill:type_name -> SkillData - 11, // 12: DBHeroRecord.condition:type_name -> DBHeroRecord.ConditionEntry - 12, // 13: DBHeroRecord.star5Hero:type_name -> DBHeroRecord.Star5HeroEntry - 13, // 14: DBHeroRecord.race:type_name -> DBHeroRecord.RaceEntry - 14, // 15: DBHeroRecord.baodi4:type_name -> DBHeroRecord.Baodi4Entry - 15, // 16: DBHeroRecord.baodi5:type_name -> DBHeroRecord.Baodi5Entry - 16, // 17: DBHeroRecord.count:type_name -> DBHeroRecord.CountEntry - 17, // 18: DBHeroRecord.peach:type_name -> DBHeroRecord.PeachEntry - 18, // 19: DBHeroRecord.limit:type_name -> DBHeroRecord.LimitEntry - 19, // 20: DBHeroRecord.wish:type_name -> DBHeroRecord.WishEntry - 20, // 21: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry - 22, // [22:22] is the sub-list for method output_type - 22, // [22:22] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 22, // 10: DBHero.awakenskill:type_name -> SkillData + 22, // 11: DBHero.talentskill:type_name -> SkillData + 11, // 12: DBHero.exclusiveProperty:type_name -> DBHero.ExclusivePropertyEntry + 22, // 13: DBHero.exclusiveSkill:type_name -> SkillData + 12, // 14: DBHeroRecord.condition:type_name -> DBHeroRecord.ConditionEntry + 13, // 15: DBHeroRecord.star5Hero:type_name -> DBHeroRecord.Star5HeroEntry + 14, // 16: DBHeroRecord.race:type_name -> DBHeroRecord.RaceEntry + 15, // 17: DBHeroRecord.baodi4:type_name -> DBHeroRecord.Baodi4Entry + 16, // 18: DBHeroRecord.baodi5:type_name -> DBHeroRecord.Baodi5Entry + 17, // 19: DBHeroRecord.count:type_name -> DBHeroRecord.CountEntry + 18, // 20: DBHeroRecord.peach:type_name -> DBHeroRecord.PeachEntry + 19, // 21: DBHeroRecord.limit:type_name -> DBHeroRecord.LimitEntry + 20, // 22: DBHeroRecord.wish:type_name -> DBHeroRecord.WishEntry + 21, // 23: DBHeroTalent.talent:type_name -> DBHeroTalent.TalentEntry + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } func init() { file_hero_hero_db_proto_init() } @@ -1083,7 +1125,7 @@ func file_hero_hero_db_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_hero_hero_db_proto_rawDesc, NumEnums: 1, - NumMessages: 20, + NumMessages: 21, NumExtensions: 0, NumServices: 0, }, diff --git a/sys/configure/structs/Game.ExclusiveItem.go b/sys/configure/structs/Game.ExclusiveItem.go new file mode 100644 index 000000000..d6a6a22c0 --- /dev/null +++ b/sys/configure/structs/Game.ExclusiveItem.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 GameExclusiveItem struct { + _dataMap map[string]*GameExclusiveItemData + _dataList []*GameExclusiveItemData +} + +func NewGameExclusiveItem(_buf []map[string]interface{}) (*GameExclusiveItem, error) { + _dataList := make([]*GameExclusiveItemData, 0, len(_buf)) + dataMap := make(map[string]*GameExclusiveItemData) + for _, _ele_ := range _buf { + if _v, err2 := DeserializeGameExclusiveItemData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Itemid] = _v + } + } + return &GameExclusiveItem{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *GameExclusiveItem) GetDataMap() map[string]*GameExclusiveItemData { + return table._dataMap +} + +func (table *GameExclusiveItem) GetDataList() []*GameExclusiveItemData { + return table._dataList +} + +func (table *GameExclusiveItem) Get(key string) *GameExclusiveItemData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/Game.ExclusiveItemData.go b/sys/configure/structs/Game.ExclusiveItemData.go new file mode 100644 index 000000000..783c5d6f3 --- /dev/null +++ b/sys/configure/structs/Game.ExclusiveItemData.go @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// 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 GameExclusiveItemData struct { + Itemid string + Exp int32 +} + +const TypeId_GameExclusiveItemData = -1706015969 + +func (*GameExclusiveItemData) GetTypeId() int32 { + return -1706015969 +} + +func (_v *GameExclusiveItemData)Deserialize(_buf map[string]interface{}) (err error) { + { var _ok_ bool; if _v.Itemid, _ok_ = _buf["itemid"].(string); !_ok_ { err = errors.New("itemid error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exp"].(float64); !_ok_ { err = errors.New("exp error"); return }; _v.Exp = int32(_tempNum_) } + return +} + +func DeserializeGameExclusiveItemData(_buf map[string]interface{}) (*GameExclusiveItemData, error) { + v := &GameExclusiveItemData{} + if err := v.Deserialize(_buf); err == nil { + return v, nil + } else { + return nil, err + } +} diff --git a/sys/configure/structs/Game.ExclusiveRank.go b/sys/configure/structs/Game.ExclusiveRank.go index 3bbcfe3d5..08fdd94c3 100644 --- a/sys/configure/structs/Game.ExclusiveRank.go +++ b/sys/configure/structs/Game.ExclusiveRank.go @@ -9,34 +9,26 @@ package cfg type GameExclusiveRank struct { - _dataMap map[int32]*GameExclusiveRankData _dataList []*GameExclusiveRankData } func NewGameExclusiveRank(_buf []map[string]interface{}) (*GameExclusiveRank, error) { _dataList := make([]*GameExclusiveRankData, 0, len(_buf)) - dataMap := make(map[int32]*GameExclusiveRankData) for _, _ele_ := range _buf { if _v, err2 := DeserializeGameExclusiveRankData(_ele_); err2 != nil { return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v } } - return &GameExclusiveRank{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameExclusiveRank) GetDataMap() map[int32]*GameExclusiveRankData { - return table._dataMap + return &GameExclusiveRank{_dataList:_dataList}, nil } func (table *GameExclusiveRank) GetDataList() []*GameExclusiveRankData { return table._dataList } -func (table *GameExclusiveRank) Get(key int32) *GameExclusiveRankData { - return table._dataMap[key] +func (table *GameExclusiveRank) Get(index int) *GameExclusiveRankData { + return table._dataList[index] } - diff --git a/sys/configure/structs/Game.ExclusiveStar.go b/sys/configure/structs/Game.ExclusiveStar.go index 344758eee..88904179e 100644 --- a/sys/configure/structs/Game.ExclusiveStar.go +++ b/sys/configure/structs/Game.ExclusiveStar.go @@ -9,34 +9,26 @@ package cfg type GameExclusiveStar struct { - _dataMap map[int32]*GameExclusiveStarData _dataList []*GameExclusiveStarData } func NewGameExclusiveStar(_buf []map[string]interface{}) (*GameExclusiveStar, error) { _dataList := make([]*GameExclusiveStarData, 0, len(_buf)) - dataMap := make(map[int32]*GameExclusiveStarData) for _, _ele_ := range _buf { if _v, err2 := DeserializeGameExclusiveStarData(_ele_); err2 != nil { return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v } } - return &GameExclusiveStar{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameExclusiveStar) GetDataMap() map[int32]*GameExclusiveStarData { - return table._dataMap + return &GameExclusiveStar{_dataList:_dataList}, nil } func (table *GameExclusiveStar) GetDataList() []*GameExclusiveStarData { return table._dataList } -func (table *GameExclusiveStar) Get(key int32) *GameExclusiveStarData { - return table._dataMap[key] +func (table *GameExclusiveStar) Get(index int) *GameExclusiveStarData { + return table._dataList[index] } - diff --git a/sys/configure/structs/Game.ExclusiveStarData.go b/sys/configure/structs/Game.ExclusiveStarData.go index 3ae7687e7..efef23693 100644 --- a/sys/configure/structs/Game.ExclusiveStarData.go +++ b/sys/configure/structs/Game.ExclusiveStarData.go @@ -16,7 +16,7 @@ type GameExclusiveStarData struct { Star int32 Commonskill int32 Exclusiveskill int32 - Cost1 *Gameatn + Cost1 []*Gameatn } const TypeId_GameExclusiveStarData = -1567680802 @@ -31,7 +31,20 @@ func (_v *GameExclusiveStarData)Deserialize(_buf map[string]interface{}) (err er { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["commonskill"].(float64); !_ok_ { err = errors.New("commonskill error"); return }; _v.Commonskill = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exclusiveskill"].(float64); !_ok_ { err = errors.New("exclusiveskill error"); return }; _v.Exclusiveskill = int32(_tempNum_) } - { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["cost1"].(map[string]interface{}); !_ok_ { err = errors.New("cost1 error"); return }; if _v.Cost1, err = DeserializeGameatn(_x_); err != nil { return } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["cost1"].([]interface{}); !_ok_ { err = errors.New("cost1 error"); return } + + _v.Cost1 = make([]*Gameatn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Gameatn + { 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 = DeserializeGameatn(_x_); err != nil { return } } + _v.Cost1 = append(_v.Cost1, _list_v_) + } + } + return } diff --git a/sys/configure/structs/Game.ExclusiveUpgrade.go b/sys/configure/structs/Game.ExclusiveUpgrade.go index 049047bda..b520b20f6 100644 --- a/sys/configure/structs/Game.ExclusiveUpgrade.go +++ b/sys/configure/structs/Game.ExclusiveUpgrade.go @@ -9,34 +9,26 @@ package cfg type GameExclusiveUpgrade struct { - _dataMap map[int32]*GameExclusiveUpgradeData _dataList []*GameExclusiveUpgradeData } func NewGameExclusiveUpgrade(_buf []map[string]interface{}) (*GameExclusiveUpgrade, error) { _dataList := make([]*GameExclusiveUpgradeData, 0, len(_buf)) - dataMap := make(map[int32]*GameExclusiveUpgradeData) for _, _ele_ := range _buf { if _v, err2 := DeserializeGameExclusiveUpgradeData(_ele_); err2 != nil { return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v } } - return &GameExclusiveUpgrade{_dataList:_dataList, _dataMap:dataMap}, nil -} - -func (table *GameExclusiveUpgrade) GetDataMap() map[int32]*GameExclusiveUpgradeData { - return table._dataMap + return &GameExclusiveUpgrade{_dataList:_dataList}, nil } func (table *GameExclusiveUpgrade) GetDataList() []*GameExclusiveUpgradeData { return table._dataList } -func (table *GameExclusiveUpgrade) Get(key int32) *GameExclusiveUpgradeData { - return table._dataMap[key] +func (table *GameExclusiveUpgrade) Get(index int) *GameExclusiveUpgradeData { + return table._dataList[index] } - diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 132165d9f..6c5ecfa2d 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -362,6 +362,7 @@ type Tables struct { ExclusiveUpgrade *GameExclusiveUpgrade ExclusiveRank *GameExclusiveRank ExclusiveStar *GameExclusiveStar + ExclusiveItem *GameExclusiveItem } func NewTables(loader JsonLoader) (*Tables, error) { @@ -2475,5 +2476,11 @@ func NewTables(loader JsonLoader) (*Tables, error) { if tables.ExclusiveStar, err = NewGameExclusiveStar(buf) ; err != nil { return nil, err } + if buf, err = loader("game_exclusiveitem") ; err != nil { + return nil, err + } + if tables.ExclusiveItem, err = NewGameExclusiveItem(buf) ; err != nil { + return nil, err + } return tables, nil }