This commit is contained in:
liwei1dao 2022-12-19 16:25:38 +08:00
commit e16a8a971c
17 changed files with 1443 additions and 346 deletions

View File

@ -172,13 +172,13 @@
"n": 1 "n": 1
}, },
"hunting_reset": 1, "hunting_reset": 1,
"hunting_cap": [ "enchantboss_initial": 10,
25001, "enchantboss_max": 10,
25004, "enchantboss_cos": {
34006, "a": "item",
35001, "t": "100005",
35002 "n": 1
], },
"game_time": [ "game_time": [
1, 1,
24 24
@ -325,6 +325,8 @@
"CGPloatTxt": [ "CGPloatTxt": [
"First_plot1", "First_plot1",
"First_plot2" "First_plot2"
] ],
"VIP_DaysSent": 7,
"MonthlyCard_DaysSent": 30
} }
] ]

View File

@ -75,6 +75,7 @@ const (
ModuleWorldtask core.M_Modules = "worldtask" //世界任务 ModuleWorldtask core.M_Modules = "worldtask" //世界任务
ModuleReddot core.M_Modules = "reddot" //红点 ModuleReddot core.M_Modules = "reddot" //红点
ModuleCombat core.M_Modules = "combat" //关卡编辑 ModuleCombat core.M_Modules = "combat" //关卡编辑
ModuleEnchant core.M_Modules = "enchant" //附魔
) )
//数据表名定义处 //数据表名定义处
@ -203,6 +204,9 @@ const (
TableCombat = "combat" TableCombat = "combat"
/// vip /// vip
TableVip = "vip" TableVip = "vip"
TableEnchantRank = "enchantRank"
TableEnchant = "enchant"
) )
//RPC服务接口定义处 //RPC服务接口定义处

View File

@ -7,20 +7,20 @@ import (
) )
const ( const (
HuntingGetListResp = "getlist" EnchantGetListResp = "getlist"
HuntingChallengeResp = "challenge" EnchantChallengeResp = "challenge"
HuntingChallengeOverResp = "challengeover" EnchantChallengeOverResp = "challengeover"
HuntingSkillLvResp = "skilllv" EnchantSkillLvResp = "skilllv"
HuntingGetRewardResp = "getreward" EnchantGetRewardResp = "getreward"
HuntingBuyResp = "buy" EnchantBuyResp = "buy"
HuntingRankListResp = "ranklist" EnchantRankListResp = "ranklist"
) )
type apiComp struct { type apiComp struct {
modules.MCompGate modules.MCompGate
service core.IService service core.IService
configure *configureComp configure *configureComp
module *Hunting module *Enchant
friend comm.IFriend friend comm.IFriend
chat comm.IChat 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) { 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) err = this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Hunting) this.module = module.(*Enchant)
this.service = service this.service = service
return return

View File

@ -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 { if req.Count <= 0 {
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ReqParameterError
return return
@ -19,7 +19,7 @@ func (this *apiComp) BuyCheck(session comm.IUserSession, req *pb.HuntingBuyReq)
return 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 ( var (
curByCount int32 curByCount int32
costRes *cfg.Gameatn // 门票atn 类型 只取T 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 { if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) list, err := this.module.modelEnchant.getEnchantList(session.GetUserId())
if err != nil { if err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
@ -130,8 +130,8 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.HuntingBuyReq) (code
} }
list.BuyCount = curByCount list.BuyCount = curByCount
mapData["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 return
} }

View File

@ -9,8 +9,8 @@ import (
) )
//参数校验 //参数校验
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.HuntingChallengeReq) (code pb.ErrorCode) { func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.EnchantChallengeReq) (code pb.ErrorCode) {
if req.BossType <= 0 && req.Difficulty > 0 { if req.BossType <= 0 {
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ReqParameterError
return 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) code = this.ChallengeCheck(session, req)
if code != pb.ErrorCode_Success { if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
hunting, err := this.module.modelHunting.getHuntingList(session.GetUserId()) enchant, err := this.module.modelEnchant.getEnchantList(session.GetUserId())
if err != nil { if err != nil {
code = pb.ErrorCode_PagodaNotFound code = pb.ErrorCode_PagodaNotFound
return return
@ -44,24 +44,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen
code = pb.ErrorCode_HuntingNoChallengeCount code = pb.ErrorCode_HuntingNoChallengeCount
return return
} }
// if hunting.ChallengeCount > this.module.configure.GetGlobalConf().HuntingNum+hunting.BuyCount {
// code = pb.ErrorCode_HuntingMaxChallengeCount cfgData := this.module.configure.GetEnchantBossConfigData(req.BossType)
// return
// }
cfgData := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty)
if cfgData == nil { if cfgData == nil {
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
value, ok := hunting.Boss[req.BossType] _, ok := enchant.Boss[req.BossType]
if !ok { // 类型校验 if !ok { // 类型校验
hunting.Boss[req.BossType] = 0 enchant.Boss[req.BossType] = 0
}
if value < req.Difficulty {
if value+1 != req.Difficulty {
code = pb.ErrorCode_HuntingLvErr
return
}
} }
code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ 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, Leadpos: req.Leadpos,
Format: req.Teamids, Format: req.Teamids,
}, },
Mformat: cfgData.Boss, //Mformat: cfgData.Boss,
}) })
if code != pb.ErrorCode_Success { if code != pb.ErrorCode_Success {
return return
} }
session.SendMsg(string(this.module.GetType()), HuntingChallengeResp, &pb.HuntingChallengeResp{ 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}, 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, BossType: req.BossType,
Difficulty: req.Difficulty,
}) })
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 return
} }

View File

@ -3,15 +3,14 @@ package enchant
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )
//参数校验 //参数校验
func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.HuntingChallengeOverReq) (code pb.ErrorCode) { func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.EnchantChallengeOverReq) (code pb.ErrorCode) {
if req.BossType <= 0 && req.Difficulty > 0 { if req.BossType <= 0 {
code = pb.ErrorCode_ReqParameterError code = pb.ErrorCode_ReqParameterError
return 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 ( var (
mapData map[string]interface{} mapData map[string]interface{}
newChallenge bool // 新的关卡 bWin bool // 战斗是否胜利
reward []*cfg.Gameatn
bWin bool // 战斗是否胜利
) )
mapData = make(map[string]interface{}, 0) mapData = make(map[string]interface{}, 0)
reward = make([]*cfg.Gameatn, 0) // reward = make([]*cfg.Gameatn, 0)
code = this.ChallengeOverCheck(session, req) code = this.ChallengeOverCheck(session, req)
if code != pb.ErrorCode_Success { if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
hunting, err := this.module.modelHunting.getHuntingList(session.GetUserId()) enchant, err := this.module.modelEnchant.getEnchantList(session.GetUserId())
if err != nil { if err != nil {
code = pb.ErrorCode_PagodaNotFound code = pb.ErrorCode_PagodaNotFound
return 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 { if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
code = pb.ErrorCode_HuntingNoChallengeCount code = pb.ErrorCode_EnchantNoChallengeCount
return return
} }
cfgHunting := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty) cfgEnchant := this.module.configure.GetEnchantBossConfigData(req.BossType)
if cfgHunting == nil { if cfgEnchant == nil {
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return 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 { if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success {
return return
@ -80,40 +67,34 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
return 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 { // if amount < conf.EnchantNum {
hunting.RecoveryTime = configure.Now().Unix() // enchant.RecoveryTime = configure.Now().Unix()
mapData["recoveryTime"] = hunting.RecoveryTime // mapData["recoveryTime"] = enchant.RecoveryTime
} // }
if bWin { 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) // 获取掉落奖励 // reward = this.module.configure.GetDropReward(cfgEnchant.) // 获取掉落奖励
if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success { // if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success {
return // return
} // }
if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励 // if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励
if code = this.module.DispenseRes(session, cfgHunting.Firstprize, true); code != pb.ErrorCode_Success { // if code = this.module.DispenseRes(session, cfgEnchant.Firstprize, true); code != pb.ErrorCode_Success {
return // return
} // }
hunting.Boss[req.BossType] += 1 // enchant.Boss[req.BossType] += 1
mapData["boss"] = hunting.Boss // 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})
// 随机任务统计 mapData["challengeTime"] = enchant.BossTime
this.module.ModuleRtask.SendToRtask(session, comm.Rtype81, req.Difficulty, req.BossType) code = this.module.ModifyEnchantData(session.GetUserId(), mapData)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype82, req.BossType) session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant})
return return
} }

View File

@ -27,7 +27,7 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe
return // 参数校验失败直接返回 return // 参数校验失败直接返回
} }
list, err := this.module.modelHunting.getHuntingList(session.GetUserId()) list, err := this.module.modelEnchant.getEnchantList(session.GetUserId())
if err != nil { if err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
return return
@ -85,11 +85,11 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe
list.RecoveryTime = 0 list.RecoveryTime = 0
} }
mapData["recoveryTime"] = list.RecoveryTime mapData["recoveryTime"] = list.RecoveryTime
code = this.module.ModifyHuntingData(session.GetUserId(), mapData) //修改内存信息 code = this.module.ModifyEnchantData(session.GetUserId(), mapData) //修改内存信息
// 发送难度 // 发送难度
for k := range list.Boss { for k := range list.Boss {
list.Boss[k] += 1 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 return
} }

View File

@ -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) { func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankListReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
szRank []*pb.DBHuntingRank szRank []*pb.DBEnchantRank
rd *redis.StringSliceCmd rd *redis.StringSliceCmd
) )
code = this.RankListCheck(session, req) code = this.RankListCheck(session, req)
@ -28,7 +28,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList
} }
if !req.Friend { if !req.Friend {
var ( 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) 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() _dataList := rd.Val()
for _, v := range _dataList { for _, v := range _dataList {
result := &pb.DBHuntingRank{} result := &pb.DBEnchantRank{}
if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil { if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil {
szRank = append(szRank, result) szRank = append(szRank, result)
} }
@ -47,13 +47,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList
} else { } else {
uids := this.friend.GetFriendList(session.GetUserId()) uids := this.friend.GetFriendList(session.GetUserId())
for _, id := range uids { for _, id := range uids {
rankData := this.module.modulerank.getHuntingRankListByBossType(id, req.BoosType) rankData := this.module.modulerank.getEnchantRankListByBossType(id, req.BoosType)
if rankData != nil { if rankData != nil {
szRank = append(szRank, rankData) 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 return
} }

View File

@ -10,45 +10,45 @@ import (
) )
const ( const (
game_huntingboss = "game_huntingboss.json" game_enchantboss = "game_enchantboss.json"
game_challenge = "game_huntingchallenge.json" game_enchantshop = "game_enchantshop.json"
) )
///配置管理基础组件 ///配置管理基础组件
type configureComp struct { type configureComp struct {
hlock sync.RWMutex hlock sync.RWMutex
modules.MCompConfigure 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) { 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) err = this.MCompConfigure.Init(service, module, comp, options)
this._huntingMap = make(map[int64]*cfg.GameHuntingBossData, 0) this._enchantMap = make(map[int32][]*cfg.GameEnchantBossData, 0)
configure.RegisterConfigure(game_huntingboss, cfg.NewGameHuntingBoss, func() { configure.RegisterConfigure(game_enchantboss, cfg.NewGameEnchantBoss, func() {
if v, err := this.GetConfigure(game_huntingboss); err == nil { if v, err := this.GetConfigure(game_enchantboss); err == nil {
if configure, ok := v.(*cfg.GameHuntingBoss); ok { if configure, ok := v.(*cfg.GameEnchantBoss); ok {
this.hlock.Lock() this.hlock.Lock()
defer this.hlock.Unlock() defer this.hlock.Unlock()
for _, value := range configure.GetDataList() { 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 return
} }
} else { } else {
log.Errorf("get game_huntingboss conf err:%v", err) log.Errorf("get game_enchantboss conf err:%v", err)
} }
return return
}) })
err = this.LoadConfigure(game_challenge, cfg.NewGameHuntingChallenge) err = this.LoadConfigure(game_enchantshop, cfg.NewGameEnchantShop)
return return
} }
// 参数: boss类型 难度 // 参数: 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 // 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) mapType = make(map[int32]struct{}, 0)
if v, err := this.GetConfigure(game_huntingboss); err == nil { if v, err := this.GetConfigure(game_enchantboss); err == nil {
if configure, ok := v.(*cfg.GameHuntingBoss); ok { if configure, ok := v.(*cfg.GameEnchantBoss); ok {
this.hlock.Lock() this.hlock.Lock()
defer this.hlock.Unlock() defer this.hlock.Unlock()
for _, value := range configure.GetDataList() { for _, value := range configure.GetDataList() {
if _, ok := mapType[value.Type]; !ok { if _, ok := mapType[value.Bossid]; !ok {
mapType[value.Type] = struct{}{} mapType[value.Bossid] = struct{}{}
} }
} }
@ -87,9 +87,9 @@ func (this *configureComp) GetHuntingBossTypeConfigData() (mapType map[int32]str
return return
} }
func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHuntingChallengeData) { func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameEnchantShopData) {
if v, err := this.GetConfigure(game_challenge); err == nil { if v, err := this.GetConfigure(game_enchantshop); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok { if configure, ok := v.(*cfg.GameEnchantShop); ok {
data = configure.Get(index) data = configure.Get(index)
return return
} }
@ -100,8 +100,8 @@ func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHunt
return return
} }
func (this *configureComp) GetMaxBuyChallengeCount() int32 { func (this *configureComp) GetMaxBuyChallengeCount() int32 {
if v, err := this.GetConfigure(game_challenge); err == nil { if v, err := this.GetConfigure(game_enchantshop); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok { if configure, ok := v.(*cfg.GameEnchantShop); ok {
return int32(len(configure.GetDataList())) return int32(len(configure.GetDataList()))
} }
} else { } else {

View File

@ -13,15 +13,15 @@ import (
"go.mongodb.org/mongo-driver/x/bsonx" "go.mongodb.org/mongo-driver/x/bsonx"
) )
type modelHunting struct { type modelEnchant struct {
modules.MCompModel 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) this.TableName = string(comm.TableHunting)
err = this.MCompModel.Init(service, module, comp, options) err = this.MCompModel.Init(service, module, comp, options)
this.module = module.(*Hunting) this.module = module.(*Enchant)
// uid 创建索引 // uid 创建索引
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{ this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}}, 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 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) return this.Change(uid, data)
} }
// 获取列表信息 // 获取列表信息
func (this *modelHunting) getHuntingList(uid string) (result *pb.DBHunting, err error) { func (this *modelEnchant) getEnchantList(uid string) (result *pb.DBEnchant, err error) {
result = &pb.DBHunting{ result = &pb.DBEnchant{
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
Uid: uid, Uid: uid,
Boss: make(map[int32]int32), Boss: make(map[int32]int32),
@ -47,7 +47,7 @@ func (this *modelHunting) getHuntingList(uid string) (result *pb.DBHunting, err
} }
if mgo.MongodbNil == err { if mgo.MongodbNil == err {
if len(result.Boss) == 0 { if len(result.Boss) == 0 {
_cfg := this.module.configure.GetHuntingBossTypeConfigData() _cfg := this.module.configure.GetEnchantBossTypeConfigData()
for k := range _cfg { for k := range _cfg {
result.Boss[k] = 0 result.Boss[k] = 0
str := strconv.Itoa(int(k)) + "_1" 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() conf := this.module.configure.GetGlobalConf()
if conf == nil { if conf == nil {

View File

@ -14,17 +14,17 @@ import (
type ModelRank struct { type ModelRank struct {
modules.MCompModel modules.MCompModel
moduleHunting *Hunting moduleEnchant *Enchant
} }
func (this *ModelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { 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) err = this.MCompModel.Init(service, module, comp, options)
this.moduleHunting = module.(*Hunting) this.moduleEnchant = module.(*Enchant)
return 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 { if err = this.AddList(uId, objId, data); err != nil {
return return
@ -32,8 +32,8 @@ func (this *ModelRank) AddRankList(uId string, objId string, data *pb.DBHuntingR
return nil return nil
} }
func (this *ModelRank) getHuntingRankList(uid string) []*pb.DBHuntingRank { func (this *ModelRank) getEnchantRankList(uid string) []*pb.DBEnchantRank {
ranks := make([]*pb.DBHuntingRank, 0) ranks := make([]*pb.DBEnchantRank, 0)
err := this.GetList(uid, &ranks) err := this.GetList(uid, &ranks)
if err != nil { if err != nil {
return nil return nil
@ -41,8 +41,8 @@ func (this *ModelRank) getHuntingRankList(uid string) []*pb.DBHuntingRank {
return ranks return ranks
} }
func (this *ModelRank) getHuntingRankListByBossType(uid string, bossType int32) *pb.DBHuntingRank { func (this *ModelRank) getEnchantRankListByBossType(uid string, bossType int32) *pb.DBEnchantRank {
ranks := make([]*pb.DBHuntingRank, 0) ranks := make([]*pb.DBEnchantRank, 0)
err := this.GetList(uid, &ranks) err := this.GetList(uid, &ranks)
if err != nil { if err != nil {
return nil return nil
@ -70,11 +70,11 @@ func (this *ModelRank) SetRankListData(tableName string, score int32, uid string
dock, err1 := cmd.Result() dock, err1 := cmd.Result()
if err1 != nil { if err1 != nil {
this.moduleHunting.Errorln(dock, err1) this.moduleEnchant.Errorln(dock, err1)
} }
} }
if _, err := pipe.Exec(); err != nil { if _, err := pipe.Exec(); err != nil {
this.moduleHunting.Errorln(err) this.moduleEnchant.Errorln(err)
return return
} }
} }

View File

@ -12,9 +12,9 @@ import (
"go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/bson/primitive"
) )
type Hunting struct { type Enchant struct {
modules.ModuleBase modules.ModuleBase
modelHunting *modelHunting modelEnchant *modelEnchant
api *apiComp api *apiComp
configure *configureComp configure *configureComp
modulerank *ModelRank modulerank *ModelRank
@ -23,20 +23,20 @@ type Hunting struct {
} }
func NewModule() core.IModule { func NewModule() core.IModule {
return &Hunting{} return &Enchant{}
} }
func (this *Hunting) GetType() core.M_Modules { func (this *Enchant) GetType() core.M_Modules {
return comm.ModuleHunting 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) err = this.ModuleBase.Init(service, module, options)
this.service = service this.service = service
return return
} }
func (this *Hunting) Start() (err error) { func (this *Enchant) Start() (err error) {
err = this.ModuleBase.Start() err = this.ModuleBase.Start()
var module core.IModule var module core.IModule
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil { if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
@ -47,28 +47,28 @@ func (this *Hunting) Start() (err error) {
return return
} }
func (this *Hunting) OnInstallComp() { func (this *Enchant) OnInstallComp() {
this.ModuleBase.OnInstallComp() this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp) 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.modulerank = this.RegisterComp(new(ModelRank)).(*ModelRank)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp) this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
} }
// 接口信息 // 接口信息
func (this *Hunting) ModifyHuntingData(uid string, data map[string]interface{}) (code pb.ErrorCode) { func (this *Enchant) ModifyEnchantData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
err := this.modelHunting.modifyHuntingDataByObjId(uid, data) err := this.modelEnchant.modifyEnchantDataByObjId(uid, data)
if err != nil { if err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError
} }
return return
} }
func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) { func (this *Enchant) CheckUserBaseEnchantInfo(uid string) (data []*pb.DBEnchantRank) {
list, err := this.modelHunting.getHuntingList(uid) list, err := this.modelEnchant.getEnchantList(uid)
if err != nil { if err != nil {
for k := range list.Boss { for k := range list.Boss {
_d := this.modulerank.getHuntingRankListByBossType(uid, k) _d := this.modulerank.getEnchantRankListByBossType(uid, k)
if _d != nil { if _d != nil {
data = append(data, _d) data = append(data, _d)
} }
@ -76,12 +76,12 @@ func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingR
} }
return 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 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] { // 刷新记录 if Enchant.BossTime[key] > costTime || Enchant.BossTime[key] == 0 { // 刷新记录
hunting.BossTime[key] = costTime Enchant.BossTime[key] = costTime
szLine := make([]*pb.LineUp, 5) szLine := make([]*pb.LineUp, 5)
Leadpos := 0 Leadpos := 0
if report != nil && report.Info != nil && len(report.Info.Redflist) > 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 := "" objID := ""
bFind := false bFind := false
ranks := this.modulerank.getHuntingRankList(uid) ranks := this.modulerank.getEnchantRankList(uid)
for _, v := range ranks { for _, v := range ranks {
if v.Bosstype == boosID { if v.Bosstype == boosID {
mapRankData := make(map[string]interface{}, 0) mapRankData := make(map[string]interface{}, 0)
mapRankData["difficulty"] = difficulty
mapRankData["bosstype"] = boosID mapRankData["bosstype"] = boosID
mapRankData["Leadpos"] = Leadpos mapRankData["Leadpos"] = Leadpos
mapRankData["line"] = szLine mapRankData["line"] = szLine
mapRankData["costTime"] = costTime mapRankData["costTime"] = costTime
conn_, _ := db.Cross() 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) dbModel.ChangeList(uid, v.Id, mapRankData)
objID = v.Id objID = v.Id
bFind = true bFind = true
@ -119,63 +119,35 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunti
} }
if !bFind { if !bFind {
userinfo := this.ModuleUser.GetUser(uid) userinfo := this.ModuleUser.GetUser(uid)
new := &pb.DBHuntingRank{ new := &pb.DBEnchantRank{
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
Uid: uid, Uid: uid,
Difficulty: difficulty, Bosstype: boosID,
Bosstype: boosID, Nickname: userinfo.Name,
Nickname: userinfo.Name, Lv: userinfo.Lv,
Icon: "", Leadpos: int32(Leadpos),
Lv: userinfo.Lv, Line: szLine,
Leadpos: int32(Leadpos), CostTime: costTime,
Line: szLine,
CostTime: costTime,
} }
objID = new.Id objID = new.Id
conn_, _ := db.Cross() 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) 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) reddot = make(map[comm.ReddotType]bool)
for _, v := range rid { for _, v := range rid {
switch v { switch v {
case comm.Reddot32: case comm.Reddot32:
reddot[comm.Reddot32] = this.modelHunting.checkReddot32(session.GetUserId()) reddot[comm.Reddot32] = this.modelEnchant.checkReddot32(session.GetUserId())
break break
} }
} }
return 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
}

View File

@ -82,22 +82,39 @@ func (this *ModelTask) getTaskListByTag(uid string, taskTag comm.TaskTag) *pb.DB
return nil return nil
} }
// 筛选出指定tag的任务 var dataList []*pb.TaskData
if taskTag == comm.TASK_DAILY { if taskTag == comm.TASK_DAILY {
for _, v := range task.DayList { dataList = task.DayList
if p, ok := dr.Vals[v.TypeId]; ok { } else if taskTag == comm.TASK_WEEKLY {
if len(p.Data) > 0 { dataList = task.WeekList
v.Progress = p.Data[0] }
}
// 筛选出指定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 { if oldVal != newVal {
for _, v := range task.WeekList { flag = true
if p, ok := dr.Vals[v.TypeId]; ok { }
if len(p.Data) > 0 { }
v.Progress = p.Data[0] if flag {
} update["dayList"] = task.DayList
} if err := this.moduleTask.modelTask.Change("uid", update); err != nil {
log.Error("更新每日任务", log.Fields{"uid": uid})
} }
} }

347
pb/enchant_db.pb.go Normal file
View File

@ -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
}

769
pb/enchant_msg.pb.go Normal file
View File

@ -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
}

View File

@ -196,6 +196,12 @@ const (
ErrorCode_HuntingBuyMaxCount ErrorCode = 2703 // 购买达到最大次数 ErrorCode_HuntingBuyMaxCount ErrorCode = 2703 // 购买达到最大次数
ErrorCode_HuntingMaxChallengeCount ErrorCode = 2704 // 挑战达到最大次数 ErrorCode_HuntingMaxChallengeCount ErrorCode = 2704 // 挑战达到最大次数
ErrorCode_HuntingNoChallengeCount ErrorCode = 2705 // 挑战次数不足 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 // library
ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级 ErrorCode_LibraryMaxLv ErrorCode = 2801 // 达到最大等级
ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据 ErrorCode_LibraryNoData ErrorCode = 2802 // 没找到羁绊数据
@ -440,6 +446,11 @@ var (
2703: "HuntingBuyMaxCount", 2703: "HuntingBuyMaxCount",
2704: "HuntingMaxChallengeCount", 2704: "HuntingMaxChallengeCount",
2705: "HuntingNoChallengeCount", 2705: "HuntingNoChallengeCount",
2711: "EnchantLvErr",
2712: "EnchantBoosType",
2713: "EnchantBuyMaxCount",
2714: "EnchantMaxChallengeCount",
2715: "EnchantNoChallengeCount",
2801: "LibraryMaxLv", 2801: "LibraryMaxLv",
2802: "LibraryNoData", 2802: "LibraryNoData",
2803: "LibraryActivation", 2803: "LibraryActivation",
@ -669,6 +680,11 @@ var (
"HuntingBuyMaxCount": 2703, "HuntingBuyMaxCount": 2703,
"HuntingMaxChallengeCount": 2704, "HuntingMaxChallengeCount": 2704,
"HuntingNoChallengeCount": 2705, "HuntingNoChallengeCount": 2705,
"EnchantLvErr": 2711,
"EnchantBoosType": 2712,
"EnchantBuyMaxCount": 2713,
"EnchantMaxChallengeCount": 2714,
"EnchantNoChallengeCount": 2715,
"LibraryMaxLv": 2801, "LibraryMaxLv": 2801,
"LibraryNoData": 2802, "LibraryNoData": 2802,
"LibraryActivation": 2803, "LibraryActivation": 2803,
@ -774,7 +790,7 @@ var File_errorcode_proto protoreflect.FileDescriptor
var file_errorcode_proto_rawDesc = []byte{ var file_errorcode_proto_rawDesc = []byte{
0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 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, 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, 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, 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, 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, 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, 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, 0x91, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4c, 0x76, 0x45,
0x4c, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x72, 0x72, 0x10, 0x97, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74,
0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x42, 0x6f, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x10, 0x98, 0x15, 0x12, 0x17, 0x0a, 0x12, 0x45,
0x72, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e,
0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x74, 0x10, 0x99, 0x15, 0x12, 0x1d, 0x0a, 0x18, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4d,
0x72, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x61, 0x78, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x4c, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x10, 0x9a, 0x15, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4e, 0x6f,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x9b,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x15, 0x12, 0x11, 0x0a, 0x0c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x78, 0x4c,
0x6c, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x76, 0x10, 0xf1, 0x15, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e,
0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xf2, 0x15, 0x12, 0x16, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72,
0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xf3, 0x15,
0xb9, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x64, 0x10, 0xf4, 0x15, 0x12, 0x14, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c,
0x14, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x76, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf5, 0x15, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x61,
0x65, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x74, 0x74, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61,
0x4e, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x69, 0x6c, 0x65, 0x64, 0x10, 0xd5, 0x16, 0x12, 0x10, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x65, 0x4e, 0x6f, 0x57, 0x69, 0x6e, 0x10, 0xd6, 0x16, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63,
0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xb8, 0x17, 0x12, 0x11,
0x73, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xb9,
0x75, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x17, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x61, 0x6d,
0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xba, 0x17, 0x12, 0x14,
0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x4d, 0x65, 0x6d, 0x62, 0x65,
0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x72, 0x10, 0xbb, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e,
0x73, 0x10, 0xba, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x6f, 0x52, 0x69, 0x67, 0x68, 0x74, 0x10, 0xbc, 0x17, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x6f, 0x63,
0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x64, 0x64, 0x65, 0x64, 0x10, 0xbd, 0x17, 0x12, 0x13,
0x12, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73,
0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x10, 0xbe, 0x17, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x51, 0x75,
0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x69, 0x74, 0x10, 0xbf, 0x17, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x41, 0x67, 0x72, 0x65, 0x65, 0x10, 0xc0, 0x17, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69,
0x73, 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x61, 0x74, 0x79, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x10, 0xc1, 0x17, 0x12, 0x16, 0x0a, 0x10,
0x79, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
0x69, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x10, 0xba, 0xea, 0x01, 0x12, 0x19, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d,
0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x73, 0x10, 0xbb, 0xea, 0x01, 0x12,
0x10, 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x17, 0x0a, 0x11, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x70, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x67, 0x4a, 0x6f, 0x62, 0x10, 0xbc, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f, 0x63, 0x69,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x10, 0xbd, 0xea, 0x01, 0x12, 0x15,
0x67, 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f, 0x41, 0x63, 0x63, 0x75, 0x73,
0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x10, 0xbe, 0xea, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79,
0x10, 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x53, 0x69, 0x67, 0x6e, 0x10, 0xbf, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x53, 0x6f, 0x63, 0x69,
0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x61, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0xc0, 0xea, 0x01, 0x12, 0x14, 0x0a,
0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x0e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x43, 0x44, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10,
0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0xc1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70,
0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x61, 0x78, 0x10, 0xc2, 0xea, 0x01, 0x12, 0x18, 0x0a, 0x12, 0x53, 0x6f,
0x10, 0xc7, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x63, 0x69, 0x61, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x10, 0xc3, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4d,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10,
0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0xc4, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65,
0x4c, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x10, 0xc5, 0xea, 0x01,
0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x64, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0xc6, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f,
0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10,
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0xc7, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x42, 0x65,
0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x6c, 0x6f, 0x6e, 0x67, 0x54, 0x6f, 0x10, 0xc9, 0xea, 0x01, 0x12, 0x14, 0x0a, 0x0e, 0x53, 0x6f,
0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x10, 0xca, 0xea, 0x01,
0x61, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12, 0x1b, 0x0a, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x70, 0x70, 0x79, 0x4c,
0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcb, 0xea, 0x01, 0x12, 0x1b, 0x0a,
0x78, 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x15, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x6c, 0x69,
0x61, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0xcc, 0xea, 0x01, 0x12, 0x1d, 0x0a, 0x17, 0x53, 0x6f,
0x10, 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x63, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x45,
0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xcd, 0xea, 0x01, 0x12, 0x1c, 0x0a, 0x16, 0x53, 0x6f, 0x63,
0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x69, 0x61, 0x74, 0x79, 0x41, 0x63, 0x69, 0x74, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x65,
0x9d, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x69, 0x76, 0x65, 0x10, 0xce, 0xea, 0x01, 0x12, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x74, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x74, 0x79, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x65, 0x64, 0x10, 0xcf, 0xea, 0x01, 0x12,
0x12, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x16, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x78,
0x6e, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x10, 0xd0, 0xea, 0x01, 0x12, 0x1a, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61,
0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x74, 0x79, 0x51, 0x75, 0x69, 0x74, 0x4e, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x10,
0x0a, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd1, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x4e, 0x6f,
0x82, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x10, 0xd2, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x41, 0x72,
0x63, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x79, 0x55, 0x70, 0x10, 0x9d,
0x10, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x18, 0x12, 0x19, 0x0a, 0x14, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74,
0x65, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x9e, 0x18, 0x12, 0x17, 0x0a, 0x12,
0x4d, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x6e,
0x65, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x43, 0x64, 0x10, 0x9f, 0x18, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52,
0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x65, 0x70, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x10, 0x81, 0x19, 0x12, 0x12, 0x0a,
0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x0d, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x44, 0x61, 0x74, 0x61, 0x10, 0x82,
0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x63,
0x6c, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x6b, 0x65, 0x72, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x10, 0x83, 0x19, 0x12, 0x15, 0x0a, 0x10,
0x10, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65,
0x4e, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x10, 0x84, 0x19, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x42, 0x75, 0x79, 0x4d,
0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x61, 0x78, 0x10, 0xe5, 0x19, 0x12, 0x11, 0x0a, 0x0c, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x53, 0x65,
0x44, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x10, 0xe6, 0x19, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c,
0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x6c, 0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe7, 0x19,
0x1b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x12, 0x16, 0x0a, 0x11, 0x54, 0x72, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d,
0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0xe8, 0x19, 0x12, 0x18, 0x0a, 0x13, 0x54, 0x72, 0x6f, 0x6c,
0x70, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10,
0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0xe9, 0x19, 0x12, 0x19, 0x0a, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4e,
0x0a, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x6f, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x4f, 0x6e, 0x10, 0xc9, 0x1a, 0x12, 0x19, 0x0a,
0x1b, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x14, 0x48, 0x6f, 0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x65, 0x73, 0x74, 0x43, 0x44,
0x65, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x4e, 0x6f, 0x45, 0x6e, 0x64, 0x10, 0xca, 0x1a, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76,
0x61, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0xad, 0x1b,
0x12, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x52, 0x65, 0x6e,
0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x10, 0xae, 0x1b, 0x12, 0x0f, 0x0a, 0x0a, 0x56, 0x69, 0x70,
0x52, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x4c, 0x76, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xaf, 0x1b, 0x12, 0x11, 0x0a, 0x0c, 0x56, 0x69,
0x14, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x70, 0x47, 0x69, 0x66, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xb0, 0x1b, 0x12, 0x11, 0x0a,
0x73, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x0c, 0x56, 0x69, 0x70, 0x42, 0x75, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x10, 0xb1, 0x1b,
0x73, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12, 0x14, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65,
0x12, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x69, 0x76, 0x65, 0x10, 0x91, 0x1c, 0x12, 0x17, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x10, 0xdb, 0x1d, 0x12, 0x18, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6c, 0x73, 0x6b, 0x41, 0x64, 0x76, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x10, 0x92, 0x1c, 0x12,
0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x17, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4e, 0x75, 0x6d, 0x4e, 0x6f, 0x74, 0x45,
0xdc, 0x1d, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xf5, 0x1c, 0x12, 0x14, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52,
0x69, 0x6e, 0x69, 0x68, 0x65, 0x64, 0x10, 0xdd, 0x1d, 0x12, 0x1c, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x72, 0x72, 0x10, 0xf6, 0x1c, 0x12, 0x14,
0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x73, 0x68, 0x65, 0x64, 0x10, 0xde, 0x1d, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x63, 0x61, 0x64, 0x65, 0x68, 0x10, 0xd9, 0x1d, 0x12, 0x19, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73,
0x6d, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6b, 0x4c, 0x76, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xda, 0x1d, 0x12,
0x54, 0x61, 0x73, 0x6b, 0x10, 0xbd, 0x1e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x16, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x41, 0x63,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 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 ( var (

View File

@ -87,7 +87,9 @@ type GameGlobalData struct {
HuntingRecovery int32 HuntingRecovery int32
HuntingCos *Gameatn HuntingCos *Gameatn
HuntingReset int32 HuntingReset int32
HuntingCap []int32 EnchantbossInitial int32
EnchantbossMax int32
EnchantbossCos *Gameatn
GameTime []int32 GameTime []int32
SellingTipsStrengthen int32 SellingTipsStrengthen int32
SellingTipsStar int32 SellingTipsStar int32
@ -142,6 +144,8 @@ type GameGlobalData struct {
DrawCardSupplement1 int32 DrawCardSupplement1 int32
DrawCardSupplement10 int32 DrawCardSupplement10 int32
CGPloatTxt []string CGPloatTxt []string
VIPDaysSent int32
MonthlyCardDaysSent int32
} }
const TypeId_GameGlobalData = 477542761 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 _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 _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 _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 _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 _arr_ []interface{} { 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 _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 } }
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 _arr_ []interface{} var _arr_ []interface{}
var _ok_ bool 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 return
} }