diff --git a/bin/json/game_global.json b/bin/json/game_global.json index f537f7a2c..6b1cf2023 100644 --- a/bin/json/game_global.json +++ b/bin/json/game_global.json @@ -172,13 +172,13 @@ "n": 1 }, "hunting_reset": 1, - "hunting_cap": [ - 25001, - 25004, - 34006, - 35001, - 35002 - ], + "enchantboss_initial": 10, + "enchantboss_max": 10, + "enchantboss_cos": { + "a": "item", + "t": "100005", + "n": 1 + }, "game_time": [ 1, 24 @@ -325,6 +325,8 @@ "CGPloatTxt": [ "First_plot1", "First_plot2" - ] + ], + "VIP_DaysSent": 7, + "MonthlyCard_DaysSent": 30 } ] \ No newline at end of file diff --git a/comm/const.go b/comm/const.go index 8bd932ee9..471e5822c 100644 --- a/comm/const.go +++ b/comm/const.go @@ -75,6 +75,7 @@ const ( ModuleWorldtask core.M_Modules = "worldtask" //世界任务 ModuleReddot core.M_Modules = "reddot" //红点 ModuleCombat core.M_Modules = "combat" //关卡编辑 + ModuleEnchant core.M_Modules = "enchant" //附魔 ) //数据表名定义处 @@ -203,6 +204,9 @@ const ( TableCombat = "combat" /// vip TableVip = "vip" + + TableEnchantRank = "enchantRank" + TableEnchant = "enchant" ) //RPC服务接口定义处 diff --git a/modules/enchant/api.go b/modules/enchant/api.go index 18eda61f9..42920ca41 100644 --- a/modules/enchant/api.go +++ b/modules/enchant/api.go @@ -7,20 +7,20 @@ import ( ) const ( - HuntingGetListResp = "getlist" - HuntingChallengeResp = "challenge" - HuntingChallengeOverResp = "challengeover" - HuntingSkillLvResp = "skilllv" - HuntingGetRewardResp = "getreward" - HuntingBuyResp = "buy" - HuntingRankListResp = "ranklist" + EnchantGetListResp = "getlist" + EnchantChallengeResp = "challenge" + EnchantChallengeOverResp = "challengeover" + EnchantSkillLvResp = "skilllv" + EnchantGetRewardResp = "getreward" + EnchantBuyResp = "buy" + EnchantRankListResp = "ranklist" ) type apiComp struct { modules.MCompGate service core.IService configure *configureComp - module *Hunting + module *Enchant friend comm.IFriend chat comm.IChat } @@ -28,7 +28,7 @@ type apiComp struct { //组件初始化接口 func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompGate.Init(service, module, comp, options) - this.module = module.(*Hunting) + this.module = module.(*Enchant) this.service = service return diff --git a/modules/enchant/api_buy.go b/modules/enchant/api_buy.go index 17b24b376..6aabdfe82 100644 --- a/modules/enchant/api_buy.go +++ b/modules/enchant/api_buy.go @@ -11,7 +11,7 @@ import ( ) //参数校验 -func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.HuntingBuyReq) (code pb.ErrorCode) { +func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.EnchantBuyReq) (code pb.ErrorCode) { if req.Count <= 0 { code = pb.ErrorCode_ReqParameterError return @@ -19,7 +19,7 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.HuntingBuyReq) return } -func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code pb.ErrorCode, data proto.Message) { +func (this *apiComp) Buy(session comm.IUserSession, req *pb.EnchantBuyReq) (code pb.ErrorCode, data proto.Message) { var ( curByCount int32 costRes *cfg.Gameatn // 门票atn 类型 只取T @@ -33,7 +33,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) + list, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) if err != nil { code = pb.ErrorCode_DBError return @@ -130,8 +130,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code } list.BuyCount = curByCount mapData["buyCount"] = curByCount - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) + code = this.module.ModifyEnchantData(session.GetUserId(), mapData) - session.SendMsg(string(this.module.GetType()), HuntingBuyResp, &pb.HuntingBuyResp{Data: list}) + session.SendMsg(string(this.module.GetType()), EnchantBuyResp, &pb.EnchantBuyResp{Data: list}) return } diff --git a/modules/enchant/api_challenge.go b/modules/enchant/api_challenge.go index a3baf53a7..4d2c34ff7 100644 --- a/modules/enchant/api_challenge.go +++ b/modules/enchant/api_challenge.go @@ -9,8 +9,8 @@ import ( ) //参数校验 -func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.HuntingChallengeReq) (code pb.ErrorCode) { - if req.BossType <= 0 && req.Difficulty > 0 { +func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.EnchantChallengeReq) (code pb.ErrorCode) { + if req.BossType <= 0 { code = pb.ErrorCode_ReqParameterError return } @@ -18,14 +18,14 @@ func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.HuntingCh } ///挑战主线关卡 -func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallengeReq) (code pb.ErrorCode, data proto.Message) { +func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallengeReq) (code pb.ErrorCode, data proto.Message) { code = this.ChallengeCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - hunting, err := this.module.modelHunting.getHuntingList(session.GetUserId()) + enchant, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) if err != nil { code = pb.ErrorCode_PagodaNotFound return @@ -44,24 +44,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen code = pb.ErrorCode_HuntingNoChallengeCount return } - // if hunting.ChallengeCount > this.module.configure.GetGlobalConf().HuntingNum+hunting.BuyCount { - // code = pb.ErrorCode_HuntingMaxChallengeCount - // return - // } - cfgData := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty) + + cfgData := this.module.configure.GetEnchantBossConfigData(req.BossType) if cfgData == nil { code = pb.ErrorCode_ConfigNoFound return } - value, ok := hunting.Boss[req.BossType] + _, ok := enchant.Boss[req.BossType] if !ok { // 类型校验 - hunting.Boss[req.BossType] = 0 - } - if value < req.Difficulty { - if value+1 != req.Difficulty { - code = pb.ErrorCode_HuntingLvErr - return - } + enchant.Boss[req.BossType] = 0 } code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ @@ -71,20 +62,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen Leadpos: req.Leadpos, Format: req.Teamids, }, - Mformat: cfgData.Boss, + //Mformat: cfgData.Boss, }) if code != pb.ErrorCode_Success { return } - session.SendMsg(string(this.module.GetType()), HuntingChallengeResp, &pb.HuntingChallengeResp{ - Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, - BossType: req.BossType, - Difficulty: req.Difficulty, + session.SendMsg(string(this.module.GetType()), EnchantChallengeResp, &pb.EnchantChallengeResp{ + Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist}, + BossType: req.BossType, }) - if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil { - this.chat.SendSysChatToWorld(comm.ChatSystem15, nil, req.BossType, req.Difficulty, user.Name) - } else { - this.module.Errorf("no found userdata uid:%s", session.GetUserId()) - } + return } diff --git a/modules/enchant/api_challengeover.go b/modules/enchant/api_challengeover.go index d3bdd872b..21b7b15ca 100644 --- a/modules/enchant/api_challengeover.go +++ b/modules/enchant/api_challengeover.go @@ -3,15 +3,14 @@ package enchant import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "google.golang.org/protobuf/proto" ) //参数校验 -func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.HuntingChallengeOverReq) (code pb.ErrorCode) { - if req.BossType <= 0 && req.Difficulty > 0 { +func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.EnchantChallengeOverReq) (code pb.ErrorCode) { + if req.BossType <= 0 { code = pb.ErrorCode_ReqParameterError return } @@ -19,21 +18,19 @@ func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.Hunti } ///挑战主线关卡 -func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingChallengeOverReq) (code pb.ErrorCode, data proto.Message) { +func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantChallengeOverReq) (code pb.ErrorCode, data proto.Message) { var ( - mapData map[string]interface{} - newChallenge bool // 新的关卡 - reward []*cfg.Gameatn - bWin bool // 战斗是否胜利 + mapData map[string]interface{} + bWin bool // 战斗是否胜利 ) mapData = make(map[string]interface{}, 0) - reward = make([]*cfg.Gameatn, 0) + // reward = make([]*cfg.Gameatn, 0) code = this.ChallengeOverCheck(session, req) if code != pb.ErrorCode_Success { return // 参数校验失败直接返回 } - hunting, err := this.module.modelHunting.getHuntingList(session.GetUserId()) + enchant, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) if err != nil { code = pb.ErrorCode_PagodaNotFound return @@ -50,26 +47,16 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha } if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success { - code = pb.ErrorCode_HuntingNoChallengeCount + code = pb.ErrorCode_EnchantNoChallengeCount return } - cfgHunting := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty) - if cfgHunting == nil { + cfgEnchant := this.module.configure.GetEnchantBossConfigData(req.BossType) + if cfgEnchant == nil { code = pb.ErrorCode_ConfigNoFound return } - value, ok := hunting.Boss[req.BossType] - if !ok { // 类型校验 - hunting.Boss[req.BossType] = 0 - } - if value < req.Difficulty { - if value+1 != req.Difficulty { - code = pb.ErrorCode_HuntingLvErr - return - } - newChallenge = true - } + // 校验门票数量够不够 if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success { return @@ -80,40 +67,34 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha return } - amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 + //amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量 - if amount < conf.HuntingNum { - hunting.RecoveryTime = configure.Now().Unix() - mapData["recoveryTime"] = hunting.RecoveryTime - } + // if amount < conf.EnchantNum { + // enchant.RecoveryTime = configure.Now().Unix() + // mapData["recoveryTime"] = enchant.RecoveryTime + // } if bWin { - this.module.CheckRank(session.GetUserId(), req.BossType, req.Difficulty, hunting, req.Report) + this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, 0) } // 耗时校验 当前战斗胜利时间消耗小于之前刷新数据 // 发放通关随机奖励 - reward = this.module.configure.GetDropReward(cfgHunting.Drop) // 获取掉落奖励 - if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success { - return - } - if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励 - if code = this.module.DispenseRes(session, cfgHunting.Firstprize, true); code != pb.ErrorCode_Success { - return - } - hunting.Boss[req.BossType] += 1 - mapData["boss"] = hunting.Boss + // reward = this.module.configure.GetDropReward(cfgEnchant.) // 获取掉落奖励 + // if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success { + // return + // } + // if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励 + // if code = this.module.DispenseRes(session, cfgEnchant.Firstprize, true); code != pb.ErrorCode_Success { + // return + // } + // enchant.Boss[req.BossType] += 1 + // mapData["boss"] = enchant.Boss - } - for k := range hunting.Boss { - hunting.Boss[k] += 1 - } - mapData["challengeTime"] = hunting.BossTime - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) - session.SendMsg(string(this.module.GetType()), HuntingChallengeOverResp, &pb.HuntingChallengeOverResp{Data: hunting}) + // } - // 随机任务统计 - this.module.ModuleRtask.SendToRtask(session, comm.Rtype81, req.Difficulty, req.BossType) - this.module.ModuleRtask.SendToRtask(session, comm.Rtype82, req.BossType) + mapData["challengeTime"] = enchant.BossTime + code = this.module.ModifyEnchantData(session.GetUserId(), mapData) + session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant}) return } diff --git a/modules/enchant/api_getlist.go b/modules/enchant/api_getlist.go index 8b6d7f8ca..dfacabac1 100644 --- a/modules/enchant/api_getlist.go +++ b/modules/enchant/api_getlist.go @@ -27,7 +27,7 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe return // 参数校验失败直接返回 } - list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) + list, err := this.module.modelEnchant.getEnchantList(session.GetUserId()) if err != nil { code = pb.ErrorCode_DBError return @@ -85,11 +85,11 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe list.RecoveryTime = 0 } mapData["recoveryTime"] = list.RecoveryTime - code = this.module.ModifyHuntingData(session.GetUserId(), mapData) //修改内存信息 + code = this.module.ModifyEnchantData(session.GetUserId(), mapData) //修改内存信息 // 发送难度 for k := range list.Boss { list.Boss[k] += 1 } - session.SendMsg(string(this.module.GetType()), HuntingGetListResp, &pb.HuntingGetListResp{Data: list}) + session.SendMsg(string(this.module.GetType()), EnchantGetListResp, &pb.EnchantGetListResp{Data: list}) return } diff --git a/modules/enchant/api_ranklist.go b/modules/enchant/api_ranklist.go index 85ef360c0..bec523427 100644 --- a/modules/enchant/api_ranklist.go +++ b/modules/enchant/api_ranklist.go @@ -19,7 +19,7 @@ func (this *apiComp) RankListCheck(session comm.IUserSession, req *pb.HuntingRan func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankListReq) (code pb.ErrorCode, data proto.Message) { var ( - szRank []*pb.DBHuntingRank + szRank []*pb.DBEnchantRank rd *redis.StringSliceCmd ) code = this.RankListCheck(session, req) @@ -28,7 +28,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList } if !req.Friend { var ( - pipe *pipe.RedisPipe = this.module.modelHunting.Redis.RedisPipe(context.TODO()) + pipe *pipe.RedisPipe = this.module.modelEnchant.Redis.RedisPipe(context.TODO()) ) rd = pipe.ZRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, -1) @@ -38,7 +38,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList } _dataList := rd.Val() for _, v := range _dataList { - result := &pb.DBHuntingRank{} + result := &pb.DBEnchantRank{} if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { szRank = append(szRank, result) } @@ -47,13 +47,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList } else { uids := this.friend.GetFriendList(session.GetUserId()) for _, id := range uids { - rankData := this.module.modulerank.getHuntingRankListByBossType(id, req.BoosType) + rankData := this.module.modulerank.getEnchantRankListByBossType(id, req.BoosType) if rankData != nil { szRank = append(szRank, rankData) } } } - session.SendMsg(string(this.module.GetType()), HuntingRankListResp, &pb.HuntingRankListResp{Ranks: szRank}) + session.SendMsg(string(this.module.GetType()), EnchantRankListResp, &pb.EnchantRankListResp{Ranks: szRank}) return } diff --git a/modules/enchant/comp_configure.go b/modules/enchant/comp_configure.go index d7aba3dec..3a8299874 100644 --- a/modules/enchant/comp_configure.go +++ b/modules/enchant/comp_configure.go @@ -10,45 +10,45 @@ import ( ) const ( - game_huntingboss = "game_huntingboss.json" - game_challenge = "game_huntingchallenge.json" + game_enchantboss = "game_enchantboss.json" + game_enchantshop = "game_enchantshop.json" ) ///配置管理基础组件 type configureComp struct { hlock sync.RWMutex modules.MCompConfigure - _huntingMap map[int64]*cfg.GameHuntingBossData + _enchantMap map[int32][]*cfg.GameEnchantBossData } //组件初始化接口 func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.MCompConfigure.Init(service, module, comp, options) - this._huntingMap = make(map[int64]*cfg.GameHuntingBossData, 0) - configure.RegisterConfigure(game_huntingboss, cfg.NewGameHuntingBoss, func() { - if v, err := this.GetConfigure(game_huntingboss); err == nil { - if configure, ok := v.(*cfg.GameHuntingBoss); ok { + this._enchantMap = make(map[int32][]*cfg.GameEnchantBossData, 0) + configure.RegisterConfigure(game_enchantboss, cfg.NewGameEnchantBoss, func() { + if v, err := this.GetConfigure(game_enchantboss); err == nil { + if configure, ok := v.(*cfg.GameEnchantBoss); ok { this.hlock.Lock() defer this.hlock.Unlock() for _, value := range configure.GetDataList() { - this._huntingMap[int64(value.Type<<16)+int64(value.Difficulty)] = value + this._enchantMap[value.Bossid] = append(this._enchantMap[value.Bossid], value) } return } } else { - log.Errorf("get game_huntingboss conf err:%v", err) + log.Errorf("get game_enchantboss conf err:%v", err) } return }) - err = this.LoadConfigure(game_challenge, cfg.NewGameHuntingChallenge) + err = this.LoadConfigure(game_enchantshop, cfg.NewGameEnchantShop) return } // 参数: boss类型 难度 -func (this *configureComp) GetHuntingBossConfigData(bossType int32, difficulty int32) (data *cfg.GameHuntingBossData) { +func (this *configureComp) GetEnchantBossConfigData(bossId int32) (data []*cfg.GameEnchantBossData) { - return this._huntingMap[int64(bossType<<16)+int64(difficulty)] + return this._enchantMap[bossId] } //加载多个配置文件 @@ -69,16 +69,16 @@ func (this *configureComp) GetConfigure(name string) (v interface{}, err error) } // get boss Type -func (this *configureComp) GetHuntingBossTypeConfigData() (mapType map[int32]struct{}) { +func (this *configureComp) GetEnchantBossTypeConfigData() (mapType map[int32]struct{}) { mapType = make(map[int32]struct{}, 0) - if v, err := this.GetConfigure(game_huntingboss); err == nil { - if configure, ok := v.(*cfg.GameHuntingBoss); ok { + if v, err := this.GetConfigure(game_enchantboss); err == nil { + if configure, ok := v.(*cfg.GameEnchantBoss); ok { this.hlock.Lock() defer this.hlock.Unlock() for _, value := range configure.GetDataList() { - if _, ok := mapType[value.Type]; !ok { - mapType[value.Type] = struct{}{} + if _, ok := mapType[value.Bossid]; !ok { + mapType[value.Bossid] = struct{}{} } } @@ -87,9 +87,9 @@ func (this *configureComp) GetHuntingBossTypeConfigData() (mapType map[int32]str return } -func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHuntingChallengeData) { - if v, err := this.GetConfigure(game_challenge); err == nil { - if configure, ok := v.(*cfg.GameHuntingChallenge); ok { +func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameEnchantShopData) { + if v, err := this.GetConfigure(game_enchantshop); err == nil { + if configure, ok := v.(*cfg.GameEnchantShop); ok { data = configure.Get(index) return } @@ -100,8 +100,8 @@ func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHunt return } func (this *configureComp) GetMaxBuyChallengeCount() int32 { - if v, err := this.GetConfigure(game_challenge); err == nil { - if configure, ok := v.(*cfg.GameHuntingChallenge); ok { + if v, err := this.GetConfigure(game_enchantshop); err == nil { + if configure, ok := v.(*cfg.GameEnchantShop); ok { return int32(len(configure.GetDataList())) } } else { diff --git a/modules/enchant/model_hunting.go b/modules/enchant/model_enchant.go similarity index 77% rename from modules/enchant/model_hunting.go rename to modules/enchant/model_enchant.go index f468fbbdf..33c707111 100644 --- a/modules/enchant/model_hunting.go +++ b/modules/enchant/model_enchant.go @@ -13,15 +13,15 @@ import ( "go.mongodb.org/mongo-driver/x/bsonx" ) -type modelHunting struct { +type modelEnchant struct { modules.MCompModel - module *Hunting + module *Enchant } -func (this *modelHunting) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { +func (this *modelEnchant) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { this.TableName = string(comm.TableHunting) err = this.MCompModel.Init(service, module, comp, options) - this.module = module.(*Hunting) + this.module = module.(*Enchant) // uid 创建索引 this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, @@ -29,13 +29,13 @@ func (this *modelHunting) Init(service core.IService, module core.IModule, comp return } -func (this *modelHunting) modifyHuntingDataByObjId(uid string, data map[string]interface{}) error { +func (this *modelEnchant) modifyEnchantDataByObjId(uid string, data map[string]interface{}) error { return this.Change(uid, data) } // 获取列表信息 -func (this *modelHunting) getHuntingList(uid string) (result *pb.DBHunting, err error) { - result = &pb.DBHunting{ +func (this *modelEnchant) getEnchantList(uid string) (result *pb.DBEnchant, err error) { + result = &pb.DBEnchant{ Id: primitive.NewObjectID().Hex(), Uid: uid, Boss: make(map[int32]int32), @@ -47,7 +47,7 @@ func (this *modelHunting) getHuntingList(uid string) (result *pb.DBHunting, err } if mgo.MongodbNil == err { if len(result.Boss) == 0 { - _cfg := this.module.configure.GetHuntingBossTypeConfigData() + _cfg := this.module.configure.GetEnchantBossTypeConfigData() for k := range _cfg { result.Boss[k] = 0 str := strconv.Itoa(int(k)) + "_1" @@ -61,7 +61,7 @@ func (this *modelHunting) getHuntingList(uid string) (result *pb.DBHunting, err } // 红点检测 -func (this *modelHunting) checkReddot32(uid string) bool { +func (this *modelEnchant) checkReddot32(uid string) bool { conf := this.module.configure.GetGlobalConf() if conf == nil { diff --git a/modules/enchant/model_rank.go b/modules/enchant/model_rank.go index 22f91442d..463c0abd1 100644 --- a/modules/enchant/model_rank.go +++ b/modules/enchant/model_rank.go @@ -14,17 +14,17 @@ import ( type ModelRank struct { modules.MCompModel - moduleHunting *Hunting + moduleEnchant *Enchant } func (this *ModelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { - this.TableName = comm.TableHuntingRecord // 挑战记录 + this.TableName = comm.TableEnchantRank // 挑战记录 err = this.MCompModel.Init(service, module, comp, options) - this.moduleHunting = module.(*Hunting) + this.moduleEnchant = module.(*Enchant) return } -func (this *ModelRank) AddRankList(uId string, objId string, data *pb.DBHuntingRank) (err error) { +func (this *ModelRank) AddRankList(uId string, objId string, data *pb.DBEnchantRank) (err error) { if err = this.AddList(uId, objId, data); err != nil { return @@ -32,8 +32,8 @@ func (this *ModelRank) AddRankList(uId string, objId string, data *pb.DBHuntingR return nil } -func (this *ModelRank) getHuntingRankList(uid string) []*pb.DBHuntingRank { - ranks := make([]*pb.DBHuntingRank, 0) +func (this *ModelRank) getEnchantRankList(uid string) []*pb.DBEnchantRank { + ranks := make([]*pb.DBEnchantRank, 0) err := this.GetList(uid, &ranks) if err != nil { return nil @@ -41,8 +41,8 @@ func (this *ModelRank) getHuntingRankList(uid string) []*pb.DBHuntingRank { return ranks } -func (this *ModelRank) getHuntingRankListByBossType(uid string, bossType int32) *pb.DBHuntingRank { - ranks := make([]*pb.DBHuntingRank, 0) +func (this *ModelRank) getEnchantRankListByBossType(uid string, bossType int32) *pb.DBEnchantRank { + ranks := make([]*pb.DBEnchantRank, 0) err := this.GetList(uid, &ranks) if err != nil { return nil @@ -70,11 +70,11 @@ func (this *ModelRank) SetRankListData(tableName string, score int32, uid string dock, err1 := cmd.Result() if err1 != nil { - this.moduleHunting.Errorln(dock, err1) + this.moduleEnchant.Errorln(dock, err1) } } if _, err := pipe.Exec(); err != nil { - this.moduleHunting.Errorln(err) + this.moduleEnchant.Errorln(err) return } } diff --git a/modules/enchant/module.go b/modules/enchant/module.go index 5d94d3f49..692ffb671 100644 --- a/modules/enchant/module.go +++ b/modules/enchant/module.go @@ -12,9 +12,9 @@ import ( "go.mongodb.org/mongo-driver/bson/primitive" ) -type Hunting struct { +type Enchant struct { modules.ModuleBase - modelHunting *modelHunting + modelEnchant *modelEnchant api *apiComp configure *configureComp modulerank *ModelRank @@ -23,20 +23,20 @@ type Hunting struct { } func NewModule() core.IModule { - return &Hunting{} + return &Enchant{} } -func (this *Hunting) GetType() core.M_Modules { - return comm.ModuleHunting +func (this *Enchant) GetType() core.M_Modules { + return comm.ModuleEnchant } -func (this *Hunting) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { +func (this *Enchant) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) this.service = service return } -func (this *Hunting) Start() (err error) { +func (this *Enchant) Start() (err error) { err = this.ModuleBase.Start() var module core.IModule if module, err = this.service.GetModule(comm.ModuleBattle); err != nil { @@ -47,28 +47,28 @@ func (this *Hunting) Start() (err error) { return } -func (this *Hunting) OnInstallComp() { +func (this *Enchant) OnInstallComp() { this.ModuleBase.OnInstallComp() this.api = this.RegisterComp(new(apiComp)).(*apiComp) - this.modelHunting = this.RegisterComp(new(modelHunting)).(*modelHunting) + this.modelEnchant = this.RegisterComp(new(modelEnchant)).(*modelEnchant) this.modulerank = this.RegisterComp(new(ModelRank)).(*ModelRank) this.configure = this.RegisterComp(new(configureComp)).(*configureComp) } // 接口信息 -func (this *Hunting) ModifyHuntingData(uid string, data map[string]interface{}) (code pb.ErrorCode) { - err := this.modelHunting.modifyHuntingDataByObjId(uid, data) +func (this *Enchant) ModifyEnchantData(uid string, data map[string]interface{}) (code pb.ErrorCode) { + err := this.modelEnchant.modifyEnchantDataByObjId(uid, data) if err != nil { code = pb.ErrorCode_DBError } return } -func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) { - list, err := this.modelHunting.getHuntingList(uid) +func (this *Enchant) CheckUserBaseEnchantInfo(uid string) (data []*pb.DBEnchantRank) { + list, err := this.modelEnchant.getEnchantList(uid) if err != nil { for k := range list.Boss { - _d := this.modulerank.getHuntingRankListByBossType(uid, k) + _d := this.modulerank.getEnchantRankListByBossType(uid, k) if _d != nil { data = append(data, _d) } @@ -76,12 +76,12 @@ func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingR } return } -func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunting *pb.DBHunting, report *pb.BattleReport) { +func (this *Enchant) CheckRank(uid string, boosID int32, Enchant *pb.DBEnchant, report *pb.BattleReport, score int32) { costTime := report.Costtime - key := strconv.Itoa(int(boosID)) + "_" + strconv.Itoa(int(difficulty)) + key := strconv.Itoa(int(boosID)) - if hunting.BossTime[key] > costTime || hunting.BossTime[key] == 0 && difficulty >= hunting.Boss[boosID] { // 刷新记录 - hunting.BossTime[key] = costTime + if Enchant.BossTime[key] > costTime || Enchant.BossTime[key] == 0 { // 刷新记录 + Enchant.BossTime[key] = costTime szLine := make([]*pb.LineUp, 5) Leadpos := 0 if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 { @@ -100,17 +100,17 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunti // 写入排行榜 objID := "" bFind := false - ranks := this.modulerank.getHuntingRankList(uid) + ranks := this.modulerank.getEnchantRankList(uid) for _, v := range ranks { if v.Bosstype == boosID { mapRankData := make(map[string]interface{}, 0) - mapRankData["difficulty"] = difficulty + mapRankData["bosstype"] = boosID mapRankData["Leadpos"] = Leadpos mapRankData["line"] = szLine mapRankData["costTime"] = costTime conn_, _ := db.Cross() - dbModel := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_) + dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_) dbModel.ChangeList(uid, v.Id, mapRankData) objID = v.Id bFind = true @@ -119,63 +119,35 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunti } if !bFind { userinfo := this.ModuleUser.GetUser(uid) - new := &pb.DBHuntingRank{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Difficulty: difficulty, - Bosstype: boosID, - Nickname: userinfo.Name, - Icon: "", - Lv: userinfo.Lv, - Leadpos: int32(Leadpos), - Line: szLine, - CostTime: costTime, + new := &pb.DBEnchantRank{ + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Bosstype: boosID, + Nickname: userinfo.Name, + Lv: userinfo.Lv, + Leadpos: int32(Leadpos), + Line: szLine, + CostTime: costTime, } objID = new.Id conn_, _ := db.Cross() - dbModel := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_) + dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_) dbModel.AddList(uid, new.Id, new) } - this.modulerank.SetRankListData("huntingRank"+strconv.Itoa(int(boosID)), difficulty<<16+costTime, objID) + this.modulerank.SetRankListData("EnchantRank"+strconv.Itoa(int(boosID)), score, objID) } } //红点查询 -func (this *Hunting) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) { +func (this *Enchant) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) { reddot = make(map[comm.ReddotType]bool) for _, v := range rid { switch v { case comm.Reddot32: - reddot[comm.Reddot32] = this.modelHunting.checkReddot32(session.GetUserId()) + reddot[comm.Reddot32] = this.modelEnchant.checkReddot32(session.GetUserId()) break } } return } - -// 解锁远征所有难度 -func (this *Hunting) CompleteAllLevel(session comm.IUserSession) (code pb.ErrorCode) { - list, err := this.modelHunting.getHuntingList(session.GetUserId()) - if err != nil { - code = pb.ErrorCode_DBError - return - } - mapData := make(map[string]interface{}, 0) - // 查配置获取每个Boss的最大难度 - for k := range list.Boss { - for i := 1; ; i++ { - conf := this.configure.GetHuntingBossConfigData(k, int32(i)) - if conf == nil { - list.Boss[k] = int32(i - 1) - } - } - } - mapData["boss"] = list.Boss - code = this.ModifyHuntingData(session.GetUserId(), mapData) - for k := range list.Boss { - list.Boss[k] += 1 - } - session.SendMsg(string(this.GetType()), HuntingGetListResp, &pb.HuntingGetListResp{Data: list}) - return -} diff --git a/modules/task/model_task.go b/modules/task/model_task.go index b587bc138..72b7cac97 100644 --- a/modules/task/model_task.go +++ b/modules/task/model_task.go @@ -82,22 +82,39 @@ func (this *ModelTask) getTaskListByTag(uid string, taskTag comm.TaskTag) *pb.DB return nil } - // 筛选出指定tag的任务 + var dataList []*pb.TaskData if taskTag == comm.TASK_DAILY { - for _, v := range task.DayList { - if p, ok := dr.Vals[v.TypeId]; ok { - if len(p.Data) > 0 { - v.Progress = p.Data[0] - } + dataList = task.DayList + } else if taskTag == comm.TASK_WEEKLY { + dataList = task.WeekList + } + + // 筛选出指定tag的任务 + update := map[string]interface{}{} + var flag bool + for _, v := range dataList { + oldVal := v.Progress + var newVal int32 + if p, ok := dr.Vals[v.TypeId]; ok { + if len(p.Data) == 0 { + continue + } + newVal = p.Data[0] + if code := this.moduleTask.ModuleRtask.CheckCondi(uid, v.TypeId); code == pb.ErrorCode_Success { + v.Progress = p.Data[0] + v.Status = 1 + } else { + v.Progress = p.Data[0] } } - } else if taskTag == comm.TASK_WEEKLY { - for _, v := range task.WeekList { - if p, ok := dr.Vals[v.TypeId]; ok { - if len(p.Data) > 0 { - v.Progress = p.Data[0] - } - } + if oldVal != newVal { + flag = true + } + } + if flag { + update["dayList"] = task.DayList + if err := this.moduleTask.modelTask.Change("uid", update); err != nil { + log.Error("更新每日任务", log.Fields{"uid": uid}) } } diff --git a/pb/enchant_db.pb.go b/pb/enchant_db.pb.go new file mode 100644 index 000000000..966c8ddf2 --- /dev/null +++ b/pb/enchant_db.pb.go @@ -0,0 +1,347 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: enchant/enchant_db.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DBEnchant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID + Boss map[int32]int32 `protobuf:"bytes,3,rep,name=boss,proto3" json:"boss" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // key boss 类型 value 积分 + BuyCount int32 `protobuf:"varint,4,opt,name=buyCount,proto3" json:"buyCount" bson:"buyCount"` //购买次数 + CTime int64 `protobuf:"varint,5,opt,name=cTime,proto3" json:"cTime" bson:"cTime"` //修改时间 + BossTime map[string]int32 `protobuf:"bytes,6,rep,name=bossTime,proto3" json:"bossTime" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"bossTime"` // + RecoveryTime int64 `protobuf:"varint,7,opt,name=recoveryTime,proto3" json:"recoveryTime" bson:"recoveryTime"` //// 开始恢复的时间 +} + +func (x *DBEnchant) Reset() { + *x = DBEnchant{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_db_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBEnchant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBEnchant) ProtoMessage() {} + +func (x *DBEnchant) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_db_proto_msgTypes[0] + 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 DBEnchant.ProtoReflect.Descriptor instead. +func (*DBEnchant) Descriptor() ([]byte, []int) { + return file_enchant_enchant_db_proto_rawDescGZIP(), []int{0} +} + +func (x *DBEnchant) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBEnchant) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBEnchant) GetBoss() map[int32]int32 { + if x != nil { + return x.Boss + } + return nil +} + +func (x *DBEnchant) GetBuyCount() int32 { + if x != nil { + return x.BuyCount + } + return 0 +} + +func (x *DBEnchant) GetCTime() int64 { + if x != nil { + return x.CTime + } + return 0 +} + +func (x *DBEnchant) GetBossTime() map[string]int32 { + if x != nil { + return x.BossTime + } + return nil +} + +func (x *DBEnchant) GetRecoveryTime() int64 { + if x != nil { + return x.RecoveryTime + } + return 0 +} + +// 排行榜 +type DBEnchantRank struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID + Bosstype int32 `protobuf:"varint,3,opt,name=bosstype,proto3" json:"bosstype"` // boss类型塔类型 + Nickname string `protobuf:"bytes,4,opt,name=nickname,proto3" json:"nickname"` // 昵称 + Lv int32 `protobuf:"varint,5,opt,name=lv,proto3" json:"lv"` // 玩家等级 + Leadpos int32 `protobuf:"varint,6,opt,name=leadpos,proto3" json:"leadpos"` //队长位置 + Line []*LineUp `protobuf:"bytes,7,rep,name=line,proto3" json:"line"` // 阵容数据 + CostTime int32 `protobuf:"varint,8,opt,name=costTime,proto3" json:"costTime" bson:"costTime"` //闯关耗时 单位s +} + +func (x *DBEnchantRank) Reset() { + *x = DBEnchantRank{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_db_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DBEnchantRank) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DBEnchantRank) ProtoMessage() {} + +func (x *DBEnchantRank) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_db_proto_msgTypes[1] + 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 DBEnchantRank.ProtoReflect.Descriptor instead. +func (*DBEnchantRank) Descriptor() ([]byte, []int) { + return file_enchant_enchant_db_proto_rawDescGZIP(), []int{1} +} + +func (x *DBEnchantRank) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DBEnchantRank) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *DBEnchantRank) GetBosstype() int32 { + if x != nil { + return x.Bosstype + } + return 0 +} + +func (x *DBEnchantRank) GetNickname() string { + if x != nil { + return x.Nickname + } + return "" +} + +func (x *DBEnchantRank) GetLv() int32 { + if x != nil { + return x.Lv + } + return 0 +} + +func (x *DBEnchantRank) GetLeadpos() int32 { + if x != nil { + return x.Leadpos + } + return 0 +} + +func (x *DBEnchantRank) GetLine() []*LineUp { + if x != nil { + return x.Line + } + return nil +} + +func (x *DBEnchantRank) GetCostTime() int32 { + if x != nil { + return x.CostTime + } + return 0 +} + +var File_enchant_enchant_db_proto protoreflect.FileDescriptor + +var file_enchant_enchant_db_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x02, 0x0a, 0x09, 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, 0x61, 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, 0x28, 0x0a, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, + 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x73, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x62, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x62, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x34, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x2e, 0x42, 0x6f, + 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x6f, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x42, 0x6f, 0x73, + 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, 0x3b, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 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, 0x22, + 0xcc, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x52, 0x61, 0x6e, + 0x6b, 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, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, + 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, + 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, + 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, + 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_enchant_enchant_db_proto_rawDescOnce sync.Once + file_enchant_enchant_db_proto_rawDescData = file_enchant_enchant_db_proto_rawDesc +) + +func file_enchant_enchant_db_proto_rawDescGZIP() []byte { + file_enchant_enchant_db_proto_rawDescOnce.Do(func() { + file_enchant_enchant_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_enchant_enchant_db_proto_rawDescData) + }) + return file_enchant_enchant_db_proto_rawDescData +} + +var file_enchant_enchant_db_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_enchant_enchant_db_proto_goTypes = []interface{}{ + (*DBEnchant)(nil), // 0: DBEnchant + (*DBEnchantRank)(nil), // 1: DBEnchantRank + nil, // 2: DBEnchant.BossEntry + nil, // 3: DBEnchant.BossTimeEntry + (*LineUp)(nil), // 4: LineUp +} +var file_enchant_enchant_db_proto_depIdxs = []int32{ + 2, // 0: DBEnchant.boss:type_name -> DBEnchant.BossEntry + 3, // 1: DBEnchant.bossTime:type_name -> DBEnchant.BossTimeEntry + 4, // 2: DBEnchantRank.line:type_name -> LineUp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_enchant_enchant_db_proto_init() } +func file_enchant_enchant_db_proto_init() { + if File_enchant_enchant_db_proto != nil { + return + } + file_battle_battle_msg_proto_init() + if !protoimpl.UnsafeEnabled { + file_enchant_enchant_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBEnchant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DBEnchantRank); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_enchant_enchant_db_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_enchant_enchant_db_proto_goTypes, + DependencyIndexes: file_enchant_enchant_db_proto_depIdxs, + MessageInfos: file_enchant_enchant_db_proto_msgTypes, + }.Build() + File_enchant_enchant_db_proto = out.File + file_enchant_enchant_db_proto_rawDesc = nil + file_enchant_enchant_db_proto_goTypes = nil + file_enchant_enchant_db_proto_depIdxs = nil +} diff --git a/pb/enchant_msg.pb.go b/pb/enchant_msg.pb.go new file mode 100644 index 000000000..5a81ce4df --- /dev/null +++ b/pb/enchant_msg.pb.go @@ -0,0 +1,769 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc v3.20.0 +// source: enchant/enchant_msg.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type EnchantGetListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EnchantGetListReq) Reset() { + *x = EnchantGetListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantGetListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantGetListReq) ProtoMessage() {} + +func (x *EnchantGetListReq) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_msg_proto_msgTypes[0] + 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 EnchantGetListReq.ProtoReflect.Descriptor instead. +func (*EnchantGetListReq) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{0} +} + +type EnchantGetListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBEnchant `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *EnchantGetListResp) Reset() { + *x = EnchantGetListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantGetListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantGetListResp) ProtoMessage() {} + +func (x *EnchantGetListResp) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_msg_proto_msgTypes[1] + 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 EnchantGetListResp.ProtoReflect.Descriptor instead. +func (*EnchantGetListResp) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{1} +} + +func (x *EnchantGetListResp) GetData() *DBEnchant { + if x != nil { + return x.Data + } + return nil +} + +// 挑战 +type EnchantChallengeReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BossType int32 `protobuf:"varint,1,opt,name=bossType,proto3" json:"bossType"` // boos 类型 + Leadpos int32 `protobuf:"varint,2,opt,name=leadpos,proto3" json:"leadpos"` //队长位置 + Teamids []string `protobuf:"bytes,3,rep,name=teamids,proto3" json:"teamids"` //阵容信息 +} + +func (x *EnchantChallengeReq) Reset() { + *x = EnchantChallengeReq{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantChallengeReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantChallengeReq) ProtoMessage() {} + +func (x *EnchantChallengeReq) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_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 EnchantChallengeReq.ProtoReflect.Descriptor instead. +func (*EnchantChallengeReq) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{2} +} + +func (x *EnchantChallengeReq) GetBossType() int32 { + if x != nil { + return x.BossType + } + return 0 +} + +func (x *EnchantChallengeReq) GetLeadpos() int32 { + if x != nil { + return x.Leadpos + } + return 0 +} + +func (x *EnchantChallengeReq) GetTeamids() []string { + if x != nil { + return x.Teamids + } + return nil +} + +type EnchantChallengeResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` + BossType int32 `protobuf:"varint,2,opt,name=bossType,proto3" json:"bossType"` // boos 类型 +} + +func (x *EnchantChallengeResp) Reset() { + *x = EnchantChallengeResp{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantChallengeResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantChallengeResp) ProtoMessage() {} + +func (x *EnchantChallengeResp) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_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 EnchantChallengeResp.ProtoReflect.Descriptor instead. +func (*EnchantChallengeResp) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *EnchantChallengeResp) GetInfo() *BattleInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *EnchantChallengeResp) GetBossType() int32 { + if x != nil { + return x.BossType + } + return 0 +} + +type EnchantChallengeOverReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BossType int32 `protobuf:"varint,1,opt,name=bossType,proto3" json:"bossType"` // boos 类型 + Report *BattleReport `protobuf:"bytes,2,opt,name=report,proto3" json:"report"` //战报 +} + +func (x *EnchantChallengeOverReq) Reset() { + *x = EnchantChallengeOverReq{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantChallengeOverReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantChallengeOverReq) ProtoMessage() {} + +func (x *EnchantChallengeOverReq) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_msg_proto_msgTypes[4] + 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 EnchantChallengeOverReq.ProtoReflect.Descriptor instead. +func (*EnchantChallengeOverReq) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{4} +} + +func (x *EnchantChallengeOverReq) GetBossType() int32 { + if x != nil { + return x.BossType + } + return 0 +} + +func (x *EnchantChallengeOverReq) GetReport() *BattleReport { + if x != nil { + return x.Report + } + return nil +} + +// 客户端通知服务器打赢了 +type EnchantChallengeOverResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBEnchant `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *EnchantChallengeOverResp) Reset() { + *x = EnchantChallengeOverResp{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantChallengeOverResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantChallengeOverResp) ProtoMessage() {} + +func (x *EnchantChallengeOverResp) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_msg_proto_msgTypes[5] + 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 EnchantChallengeOverResp.ProtoReflect.Descriptor instead. +func (*EnchantChallengeOverResp) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{5} +} + +func (x *EnchantChallengeOverResp) GetData() *DBEnchant { + if x != nil { + return x.Data + } + return nil +} + +// 购买 +type EnchantBuyReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count"` // 购买次数 +} + +func (x *EnchantBuyReq) Reset() { + *x = EnchantBuyReq{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantBuyReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantBuyReq) ProtoMessage() {} + +func (x *EnchantBuyReq) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_msg_proto_msgTypes[6] + 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 EnchantBuyReq.ProtoReflect.Descriptor instead. +func (*EnchantBuyReq) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{6} +} + +func (x *EnchantBuyReq) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +type EnchantBuyResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data *DBEnchant `protobuf:"bytes,1,opt,name=data,proto3" json:"data"` +} + +func (x *EnchantBuyResp) Reset() { + *x = EnchantBuyResp{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantBuyResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantBuyResp) ProtoMessage() {} + +func (x *EnchantBuyResp) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_msg_proto_msgTypes[7] + 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 EnchantBuyResp.ProtoReflect.Descriptor instead. +func (*EnchantBuyResp) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{7} +} + +func (x *EnchantBuyResp) GetData() *DBEnchant { + if x != nil { + return x.Data + } + return nil +} + +// 排行榜 +type EnchantRankListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BoosType int32 `protobuf:"varint,1,opt,name=boosType,proto3" json:"boosType"` // boss 类型 + Friend bool `protobuf:"varint,2,opt,name=friend,proto3" json:"friend"` // 是否是好友榜 +} + +func (x *EnchantRankListReq) Reset() { + *x = EnchantRankListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantRankListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantRankListReq) ProtoMessage() {} + +func (x *EnchantRankListReq) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_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 EnchantRankListReq.ProtoReflect.Descriptor instead. +func (*EnchantRankListReq) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{8} +} + +func (x *EnchantRankListReq) GetBoosType() int32 { + if x != nil { + return x.BoosType + } + return 0 +} + +func (x *EnchantRankListReq) GetFriend() bool { + if x != nil { + return x.Friend + } + return false +} + +type EnchantRankListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ranks []*DBEnchantRank `protobuf:"bytes,1,rep,name=ranks,proto3" json:"ranks"` // 排行数据 有序的 注意boss类型 +} + +func (x *EnchantRankListResp) Reset() { + *x = EnchantRankListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_enchant_enchant_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnchantRankListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnchantRankListResp) ProtoMessage() {} + +func (x *EnchantRankListResp) ProtoReflect() protoreflect.Message { + mi := &file_enchant_enchant_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 EnchantRankListResp.ProtoReflect.Descriptor instead. +func (*EnchantRankListResp) Descriptor() ([]byte, []int) { + return file_enchant_enchant_msg_proto_rawDescGZIP(), []int{9} +} + +func (x *EnchantRankListResp) GetRanks() []*DBEnchantRank { + if x != nil { + return x.Ranks + } + return nil +} + +var File_enchant_enchant_msg_proto protoreflect.FileDescriptor + +var file_enchant_enchant_msg_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x64, 0x62, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x13, + 0x0a, 0x11, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x22, 0x34, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x47, 0x65, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x65, 0x0a, 0x13, 0x45, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, + 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x73, + 0x22, 0x53, 0x0a, 0x14, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, + 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, + 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x62, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x06, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x22, 0x3a, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x25, 0x0a, 0x0d, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x52, 0x65, 0x71, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x30, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x44, 0x42, 0x45, 0x6e, 0x63, 0x68, 0x61, + 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x12, 0x45, 0x6e, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, + 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x13, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x52, 0x61, 0x6e, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x6e, + 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x45, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x6b, 0x73, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_enchant_enchant_msg_proto_rawDescOnce sync.Once + file_enchant_enchant_msg_proto_rawDescData = file_enchant_enchant_msg_proto_rawDesc +) + +func file_enchant_enchant_msg_proto_rawDescGZIP() []byte { + file_enchant_enchant_msg_proto_rawDescOnce.Do(func() { + file_enchant_enchant_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_enchant_enchant_msg_proto_rawDescData) + }) + return file_enchant_enchant_msg_proto_rawDescData +} + +var file_enchant_enchant_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_enchant_enchant_msg_proto_goTypes = []interface{}{ + (*EnchantGetListReq)(nil), // 0: EnchantGetListReq + (*EnchantGetListResp)(nil), // 1: EnchantGetListResp + (*EnchantChallengeReq)(nil), // 2: EnchantChallengeReq + (*EnchantChallengeResp)(nil), // 3: EnchantChallengeResp + (*EnchantChallengeOverReq)(nil), // 4: EnchantChallengeOverReq + (*EnchantChallengeOverResp)(nil), // 5: EnchantChallengeOverResp + (*EnchantBuyReq)(nil), // 6: EnchantBuyReq + (*EnchantBuyResp)(nil), // 7: EnchantBuyResp + (*EnchantRankListReq)(nil), // 8: EnchantRankListReq + (*EnchantRankListResp)(nil), // 9: EnchantRankListResp + (*DBEnchant)(nil), // 10: DBEnchant + (*BattleInfo)(nil), // 11: BattleInfo + (*BattleReport)(nil), // 12: BattleReport + (*DBEnchantRank)(nil), // 13: DBEnchantRank +} +var file_enchant_enchant_msg_proto_depIdxs = []int32{ + 10, // 0: EnchantGetListResp.data:type_name -> DBEnchant + 11, // 1: EnchantChallengeResp.info:type_name -> BattleInfo + 12, // 2: EnchantChallengeOverReq.report:type_name -> BattleReport + 10, // 3: EnchantChallengeOverResp.data:type_name -> DBEnchant + 10, // 4: EnchantBuyResp.data:type_name -> DBEnchant + 13, // 5: EnchantRankListResp.ranks:type_name -> DBEnchantRank + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_enchant_enchant_msg_proto_init() } +func file_enchant_enchant_msg_proto_init() { + if File_enchant_enchant_msg_proto != nil { + return + } + file_enchant_enchant_db_proto_init() + file_battle_battle_msg_proto_init() + if !protoimpl.UnsafeEnabled { + file_enchant_enchant_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantGetListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantGetListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantChallengeReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantChallengeResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantChallengeOverReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantChallengeOverResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantBuyReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantBuyResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantRankListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_enchant_enchant_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnchantRankListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_enchant_enchant_msg_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_enchant_enchant_msg_proto_goTypes, + DependencyIndexes: file_enchant_enchant_msg_proto_depIdxs, + MessageInfos: file_enchant_enchant_msg_proto_msgTypes, + }.Build() + File_enchant_enchant_msg_proto = out.File + file_enchant_enchant_msg_proto_rawDesc = nil + file_enchant_enchant_msg_proto_goTypes = nil + file_enchant_enchant_msg_proto_depIdxs = nil +} diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 912cc4c4c..261f9fb7f 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -196,6 +196,12 @@ const ( ErrorCode_HuntingBuyMaxCount ErrorCode = 2703 // 购买达到最大次数 ErrorCode_HuntingMaxChallengeCount ErrorCode = 2704 // 挑战达到最大次数 ErrorCode_HuntingNoChallengeCount ErrorCode = 2705 // 挑战次数不足 + // Enchant + ErrorCode_EnchantLvErr ErrorCode = 2711 // 关卡难度不匹配 + ErrorCode_EnchantBoosType ErrorCode = 2712 // BOSS 类型不对 + ErrorCode_EnchantBuyMaxCount ErrorCode = 2713 // 购买达到最大次数 + ErrorCode_EnchantMaxChallengeCount ErrorCode = 2714 // 挑战达到最大次数 + ErrorCode_EnchantNoChallengeCount ErrorCode = 2715 // 挑战达到最大次数 // library ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级 ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据 @@ -440,6 +446,11 @@ var ( 2703: "HuntingBuyMaxCount", 2704: "HuntingMaxChallengeCount", 2705: "HuntingNoChallengeCount", + 2711: "EnchantLvErr", + 2712: "EnchantBoosType", + 2713: "EnchantBuyMaxCount", + 2714: "EnchantMaxChallengeCount", + 2715: "EnchantNoChallengeCount", 2801: "LibraryMaxLv", 2802: "LibraryNoData", 2803: "LibraryActivation", @@ -669,6 +680,11 @@ var ( "HuntingBuyMaxCount": 2703, "HuntingMaxChallengeCount": 2704, "HuntingNoChallengeCount": 2705, + "EnchantLvErr": 2711, + "EnchantBoosType": 2712, + "EnchantBuyMaxCount": 2713, + "EnchantMaxChallengeCount": 2714, + "EnchantNoChallengeCount": 2715, "LibraryMaxLv": 2801, "LibraryNoData": 2802, "LibraryActivation": 2803, @@ -774,7 +790,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xb3, 0x28, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xb2, 0x29, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, @@ -992,113 +1008,121 @@ var file_errorcode_proto_rawDesc = []byte{ 0x4d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x90, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, - 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, - 0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, - 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, - 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, - 0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, - 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, - 0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, - 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, - 0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, - 0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, - 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x10, 0xba, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, - 0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, - 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, - 0x73, 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, - 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x10, 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x10, 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, - 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, - 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x10, 0xc7, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, - 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, - 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, - 0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, - 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, - 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, - 0x78, 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x10, 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, - 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, - 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, - 0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, - 0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, - 0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, - 0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, - 0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, - 0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, - 0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, - 0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, - 0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, - 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, - 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, - 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, - 0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, - 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, - 0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, - 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, - 0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, - 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, - 0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, - 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, - 0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, - 0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, - 0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, - 0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, - 0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, - 0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, - 0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, - 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, - 0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, - 0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, - 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, - 0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4c, 0x76, 0x45, + 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, + 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x45, + 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4d, + 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4e, 0x6f, + 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9b, + 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x4c, + 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e, + 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15, + 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, + 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11, + 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9, + 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14, + 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, + 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13, + 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, + 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75, + 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x10, 0xba, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x12, + 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x15, + 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73, + 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, + 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a, + 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, + 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01, + 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, + 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, + 0xc7, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65, + 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01, + 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c, + 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a, + 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, + 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10, + 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, + 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72, + 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d, + 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12, + 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e, + 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a, + 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82, + 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63, + 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10, + 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d, + 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65, + 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19, + 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c, + 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e, + 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a, + 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44, + 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b, + 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e, + 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70, + 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69, + 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a, + 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b, + 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, + 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12, + 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x14, + 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, + 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, + 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x64, + 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0xdc, + 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, + 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6c, + 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x6d, + 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sys/configure/structs/game.globalData.go b/sys/configure/structs/game.globalData.go index 757ad1543..027381ad7 100644 --- a/sys/configure/structs/game.globalData.go +++ b/sys/configure/structs/game.globalData.go @@ -87,7 +87,9 @@ type GameGlobalData struct { HuntingRecovery int32 HuntingCos *Gameatn HuntingReset int32 - HuntingCap []int32 + EnchantbossInitial int32 + EnchantbossMax int32 + EnchantbossCos *Gameatn GameTime []int32 SellingTipsStrengthen int32 SellingTipsStar int32 @@ -142,6 +144,8 @@ type GameGlobalData struct { DrawCardSupplement1 int32 DrawCardSupplement10 int32 CGPloatTxt []string + VIPDaysSent int32 + MonthlyCardDaysSent int32 } const TypeId_GameGlobalData = 477542761 @@ -292,20 +296,9 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_recovery"].(float64); !_ok_ { err = errors.New("hunting_recovery error"); return }; _v.HuntingRecovery = int32(_tempNum_) } { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_cos"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_cos error"); return }; if _v.HuntingCos, err = DeserializeGameatn(_x_); err != nil { return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_reset"].(float64); !_ok_ { err = errors.New("hunting_reset error"); return }; _v.HuntingReset = int32(_tempNum_) } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["hunting_cap"].([]interface{}); !_ok_ { err = errors.New("hunting_cap error"); return } - - _v.HuntingCap = make([]int32, 0, len(_arr_)) - - for _, _e_ := range _arr_ { - var _list_v_ int32 - { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } - _v.HuntingCap = append(_v.HuntingCap, _list_v_) - } - } - + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_initial"].(float64); !_ok_ { err = errors.New("enchantboss_initial error"); return }; _v.EnchantbossInitial = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_max"].(float64); !_ok_ { err = errors.New("enchantboss_max error"); return }; _v.EnchantbossMax = int32(_tempNum_) } + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_cos"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_cos error"); return }; if _v.EnchantbossCos, err = DeserializeGameatn(_x_); err != nil { return } } { var _arr_ []interface{} var _ok_ bool @@ -594,6 +587,8 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) { } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VIP_DaysSent"].(float64); !_ok_ { err = errors.New("VIP_DaysSent error"); return }; _v.VIPDaysSent = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MonthlyCard_DaysSent"].(float64); !_ok_ { err = errors.New("MonthlyCard_DaysSent error"); return }; _v.MonthlyCardDaysSent = int32(_tempNum_) } return }