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

View File

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

View File

@ -7,20 +7,20 @@ import (
)
const (
HuntingGetListResp = "getlist"
HuntingChallengeResp = "challenge"
HuntingChallengeOverResp = "challengeover"
HuntingSkillLvResp = "skilllv"
HuntingGetRewardResp = "getreward"
HuntingBuyResp = "buy"
HuntingRankListResp = "ranklist"
EnchantGetListResp = "getlist"
EnchantChallengeResp = "challenge"
EnchantChallengeOverResp = "challengeover"
EnchantSkillLvResp = "skilllv"
EnchantGetRewardResp = "getreward"
EnchantBuyResp = "buy"
EnchantRankListResp = "ranklist"
)
type apiComp struct {
modules.MCompGate
service core.IService
configure *configureComp
module *Hunting
module *Enchant
friend comm.IFriend
chat comm.IChat
}
@ -28,7 +28,7 @@ type apiComp struct {
//组件初始化接口
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompGate.Init(service, module, comp, options)
this.module = module.(*Hunting)
this.module = module.(*Enchant)
this.service = service
return

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

View File

@ -9,8 +9,8 @@ import (
)
//参数校验
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.HuntingChallengeReq) (code pb.ErrorCode) {
if req.BossType <= 0 && req.Difficulty > 0 {
func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.EnchantChallengeReq) (code pb.ErrorCode) {
if req.BossType <= 0 {
code = pb.ErrorCode_ReqParameterError
return
}
@ -18,14 +18,14 @@ func (this *apiComp) ChallengeCheck(session comm.IUserSession, req *pb.HuntingCh
}
///挑战主线关卡
func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallengeReq) (code pb.ErrorCode, data proto.Message) {
func (this *apiComp) Challenge(session comm.IUserSession, req *pb.EnchantChallengeReq) (code pb.ErrorCode, data proto.Message) {
code = this.ChallengeCheck(session, req)
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
hunting, err := this.module.modelHunting.getHuntingList(session.GetUserId())
enchant, err := this.module.modelEnchant.getEnchantList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
return
@ -44,24 +44,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen
code = pb.ErrorCode_HuntingNoChallengeCount
return
}
// if hunting.ChallengeCount > this.module.configure.GetGlobalConf().HuntingNum+hunting.BuyCount {
// code = pb.ErrorCode_HuntingMaxChallengeCount
// return
// }
cfgData := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty)
cfgData := this.module.configure.GetEnchantBossConfigData(req.BossType)
if cfgData == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
value, ok := hunting.Boss[req.BossType]
_, ok := enchant.Boss[req.BossType]
if !ok { // 类型校验
hunting.Boss[req.BossType] = 0
}
if value < req.Difficulty {
if value+1 != req.Difficulty {
code = pb.ErrorCode_HuntingLvErr
return
}
enchant.Boss[req.BossType] = 0
}
code, record := this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{
@ -71,20 +62,15 @@ func (this *apiComp) Challenge(session comm.IUserSession, req *pb.HuntingChallen
Leadpos: req.Leadpos,
Format: req.Teamids,
},
Mformat: cfgData.Boss,
//Mformat: cfgData.Boss,
})
if code != pb.ErrorCode_Success {
return
}
session.SendMsg(string(this.module.GetType()), HuntingChallengeResp, &pb.HuntingChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist},
BossType: req.BossType,
Difficulty: req.Difficulty,
session.SendMsg(string(this.module.GetType()), EnchantChallengeResp, &pb.EnchantChallengeResp{
Info: &pb.BattleInfo{Id: record.Id, Title: record.Title, Btype: record.Btype, Ptype: record.Ptype, RedCompId: record.RedCompId, Redflist: record.Redflist, BlueCompId: record.BlueCompId, Buleflist: record.Buleflist},
BossType: req.BossType,
})
if user := this.module.ModuleUser.GetUser(session.GetUserId()); user != nil {
this.chat.SendSysChatToWorld(comm.ChatSystem15, nil, req.BossType, req.Difficulty, user.Name)
} else {
this.module.Errorf("no found userdata uid:%s", session.GetUserId())
}
return
}

View File

@ -3,15 +3,14 @@ package enchant
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"google.golang.org/protobuf/proto"
)
//参数校验
func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.HuntingChallengeOverReq) (code pb.ErrorCode) {
if req.BossType <= 0 && req.Difficulty > 0 {
func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.EnchantChallengeOverReq) (code pb.ErrorCode) {
if req.BossType <= 0 {
code = pb.ErrorCode_ReqParameterError
return
}
@ -19,21 +18,19 @@ func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.Hunti
}
///挑战主线关卡
func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingChallengeOverReq) (code pb.ErrorCode, data proto.Message) {
func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.EnchantChallengeOverReq) (code pb.ErrorCode, data proto.Message) {
var (
mapData map[string]interface{}
newChallenge bool // 新的关卡
reward []*cfg.Gameatn
bWin bool // 战斗是否胜利
mapData map[string]interface{}
bWin bool // 战斗是否胜利
)
mapData = make(map[string]interface{}, 0)
reward = make([]*cfg.Gameatn, 0)
// reward = make([]*cfg.Gameatn, 0)
code = this.ChallengeOverCheck(session, req)
if code != pb.ErrorCode_Success {
return // 参数校验失败直接返回
}
hunting, err := this.module.modelHunting.getHuntingList(session.GetUserId())
enchant, err := this.module.modelEnchant.getEnchantList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_PagodaNotFound
return
@ -50,26 +47,16 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
}
if code = this.module.CheckRes(session, []*cfg.Gameatn{costRes}); code != pb.ErrorCode_Success {
code = pb.ErrorCode_HuntingNoChallengeCount
code = pb.ErrorCode_EnchantNoChallengeCount
return
}
cfgHunting := this.module.configure.GetHuntingBossConfigData(req.BossType, req.Difficulty)
if cfgHunting == nil {
cfgEnchant := this.module.configure.GetEnchantBossConfigData(req.BossType)
if cfgEnchant == nil {
code = pb.ErrorCode_ConfigNoFound
return
}
value, ok := hunting.Boss[req.BossType]
if !ok { // 类型校验
hunting.Boss[req.BossType] = 0
}
if value < req.Difficulty {
if value+1 != req.Difficulty {
code = pb.ErrorCode_HuntingLvErr
return
}
newChallenge = true
}
// 校验门票数量够不够
if code = this.module.ConsumeRes(session, []*cfg.Gameatn{costRes}, true); code != pb.ErrorCode_Success {
return
@ -80,40 +67,34 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.HuntingCha
return
}
amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量
//amount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), costRes.T)) // 获取当前数量
if amount < conf.HuntingNum {
hunting.RecoveryTime = configure.Now().Unix()
mapData["recoveryTime"] = hunting.RecoveryTime
}
// if amount < conf.EnchantNum {
// enchant.RecoveryTime = configure.Now().Unix()
// mapData["recoveryTime"] = enchant.RecoveryTime
// }
if bWin {
this.module.CheckRank(session.GetUserId(), req.BossType, req.Difficulty, hunting, req.Report)
this.module.CheckRank(session.GetUserId(), req.BossType, enchant, req.Report, 0)
}
// 耗时校验 当前战斗胜利时间消耗小于之前刷新数据
// 发放通关随机奖励
reward = this.module.configure.GetDropReward(cfgHunting.Drop) // 获取掉落奖励
if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success {
return
}
if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励
if code = this.module.DispenseRes(session, cfgHunting.Firstprize, true); code != pb.ErrorCode_Success {
return
}
hunting.Boss[req.BossType] += 1
mapData["boss"] = hunting.Boss
// reward = this.module.configure.GetDropReward(cfgEnchant.) // 获取掉落奖励
// if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success {
// return
// }
// if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励
// if code = this.module.DispenseRes(session, cfgEnchant.Firstprize, true); code != pb.ErrorCode_Success {
// return
// }
// enchant.Boss[req.BossType] += 1
// mapData["boss"] = enchant.Boss
}
for k := range hunting.Boss {
hunting.Boss[k] += 1
}
mapData["challengeTime"] = hunting.BossTime
code = this.module.ModifyHuntingData(session.GetUserId(), mapData)
session.SendMsg(string(this.module.GetType()), HuntingChallengeOverResp, &pb.HuntingChallengeOverResp{Data: hunting})
// }
// 随机任务统计
this.module.ModuleRtask.SendToRtask(session, comm.Rtype81, req.Difficulty, req.BossType)
this.module.ModuleRtask.SendToRtask(session, comm.Rtype82, req.BossType)
mapData["challengeTime"] = enchant.BossTime
code = this.module.ModifyEnchantData(session.GetUserId(), mapData)
session.SendMsg(string(this.module.GetType()), EnchantChallengeOverResp, &pb.EnchantChallengeOverResp{Data: enchant})
return
}

View File

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

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) {
var (
szRank []*pb.DBHuntingRank
szRank []*pb.DBEnchantRank
rd *redis.StringSliceCmd
)
code = this.RankListCheck(session, req)
@ -28,7 +28,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList
}
if !req.Friend {
var (
pipe *pipe.RedisPipe = this.module.modelHunting.Redis.RedisPipe(context.TODO())
pipe *pipe.RedisPipe = this.module.modelEnchant.Redis.RedisPipe(context.TODO())
)
rd = pipe.ZRange("huntingRank"+strconv.Itoa(int(req.BoosType)), 0, -1)
@ -38,7 +38,7 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList
}
_dataList := rd.Val()
for _, v := range _dataList {
result := &pb.DBHuntingRank{}
result := &pb.DBEnchantRank{}
if err := this.module.modulerank.GetListObj(session.GetUserId(), v, result); err == nil {
szRank = append(szRank, result)
}
@ -47,13 +47,13 @@ func (this *apiComp) RankList(session comm.IUserSession, req *pb.HuntingRankList
} else {
uids := this.friend.GetFriendList(session.GetUserId())
for _, id := range uids {
rankData := this.module.modulerank.getHuntingRankListByBossType(id, req.BoosType)
rankData := this.module.modulerank.getEnchantRankListByBossType(id, req.BoosType)
if rankData != nil {
szRank = append(szRank, rankData)
}
}
}
session.SendMsg(string(this.module.GetType()), HuntingRankListResp, &pb.HuntingRankListResp{Ranks: szRank})
session.SendMsg(string(this.module.GetType()), EnchantRankListResp, &pb.EnchantRankListResp{Ranks: szRank})
return
}

View File

@ -10,45 +10,45 @@ import (
)
const (
game_huntingboss = "game_huntingboss.json"
game_challenge = "game_huntingchallenge.json"
game_enchantboss = "game_enchantboss.json"
game_enchantshop = "game_enchantshop.json"
)
///配置管理基础组件
type configureComp struct {
hlock sync.RWMutex
modules.MCompConfigure
_huntingMap map[int64]*cfg.GameHuntingBossData
_enchantMap map[int32][]*cfg.GameEnchantBossData
}
//组件初始化接口
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this._huntingMap = make(map[int64]*cfg.GameHuntingBossData, 0)
configure.RegisterConfigure(game_huntingboss, cfg.NewGameHuntingBoss, func() {
if v, err := this.GetConfigure(game_huntingboss); err == nil {
if configure, ok := v.(*cfg.GameHuntingBoss); ok {
this._enchantMap = make(map[int32][]*cfg.GameEnchantBossData, 0)
configure.RegisterConfigure(game_enchantboss, cfg.NewGameEnchantBoss, func() {
if v, err := this.GetConfigure(game_enchantboss); err == nil {
if configure, ok := v.(*cfg.GameEnchantBoss); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
for _, value := range configure.GetDataList() {
this._huntingMap[int64(value.Type<<16)+int64(value.Difficulty)] = value
this._enchantMap[value.Bossid] = append(this._enchantMap[value.Bossid], value)
}
return
}
} else {
log.Errorf("get game_huntingboss conf err:%v", err)
log.Errorf("get game_enchantboss conf err:%v", err)
}
return
})
err = this.LoadConfigure(game_challenge, cfg.NewGameHuntingChallenge)
err = this.LoadConfigure(game_enchantshop, cfg.NewGameEnchantShop)
return
}
// 参数: boss类型 难度
func (this *configureComp) GetHuntingBossConfigData(bossType int32, difficulty int32) (data *cfg.GameHuntingBossData) {
func (this *configureComp) GetEnchantBossConfigData(bossId int32) (data []*cfg.GameEnchantBossData) {
return this._huntingMap[int64(bossType<<16)+int64(difficulty)]
return this._enchantMap[bossId]
}
//加载多个配置文件
@ -69,16 +69,16 @@ func (this *configureComp) GetConfigure(name string) (v interface{}, err error)
}
// get boss Type
func (this *configureComp) GetHuntingBossTypeConfigData() (mapType map[int32]struct{}) {
func (this *configureComp) GetEnchantBossTypeConfigData() (mapType map[int32]struct{}) {
mapType = make(map[int32]struct{}, 0)
if v, err := this.GetConfigure(game_huntingboss); err == nil {
if configure, ok := v.(*cfg.GameHuntingBoss); ok {
if v, err := this.GetConfigure(game_enchantboss); err == nil {
if configure, ok := v.(*cfg.GameEnchantBoss); ok {
this.hlock.Lock()
defer this.hlock.Unlock()
for _, value := range configure.GetDataList() {
if _, ok := mapType[value.Type]; !ok {
mapType[value.Type] = struct{}{}
if _, ok := mapType[value.Bossid]; !ok {
mapType[value.Bossid] = struct{}{}
}
}
@ -87,9 +87,9 @@ func (this *configureComp) GetHuntingBossTypeConfigData() (mapType map[int32]str
return
}
func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHuntingChallengeData) {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok {
func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameEnchantShopData) {
if v, err := this.GetConfigure(game_enchantshop); err == nil {
if configure, ok := v.(*cfg.GameEnchantShop); ok {
data = configure.Get(index)
return
}
@ -100,8 +100,8 @@ func (this *configureComp) GetBuyChallengeCount(index int32) (data *cfg.GameHunt
return
}
func (this *configureComp) GetMaxBuyChallengeCount() int32 {
if v, err := this.GetConfigure(game_challenge); err == nil {
if configure, ok := v.(*cfg.GameHuntingChallenge); ok {
if v, err := this.GetConfigure(game_enchantshop); err == nil {
if configure, ok := v.(*cfg.GameEnchantShop); ok {
return int32(len(configure.GetDataList()))
}
} else {

View File

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

View File

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

View File

@ -12,9 +12,9 @@ import (
"go.mongodb.org/mongo-driver/bson/primitive"
)
type Hunting struct {
type Enchant struct {
modules.ModuleBase
modelHunting *modelHunting
modelEnchant *modelEnchant
api *apiComp
configure *configureComp
modulerank *ModelRank
@ -23,20 +23,20 @@ type Hunting struct {
}
func NewModule() core.IModule {
return &Hunting{}
return &Enchant{}
}
func (this *Hunting) GetType() core.M_Modules {
return comm.ModuleHunting
func (this *Enchant) GetType() core.M_Modules {
return comm.ModuleEnchant
}
func (this *Hunting) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
func (this *Enchant) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service
return
}
func (this *Hunting) Start() (err error) {
func (this *Enchant) Start() (err error) {
err = this.ModuleBase.Start()
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
@ -47,28 +47,28 @@ func (this *Hunting) Start() (err error) {
return
}
func (this *Hunting) OnInstallComp() {
func (this *Enchant) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelHunting = this.RegisterComp(new(modelHunting)).(*modelHunting)
this.modelEnchant = this.RegisterComp(new(modelEnchant)).(*modelEnchant)
this.modulerank = this.RegisterComp(new(ModelRank)).(*ModelRank)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
// 接口信息
func (this *Hunting) ModifyHuntingData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
err := this.modelHunting.modifyHuntingDataByObjId(uid, data)
func (this *Enchant) ModifyEnchantData(uid string, data map[string]interface{}) (code pb.ErrorCode) {
err := this.modelEnchant.modifyEnchantDataByObjId(uid, data)
if err != nil {
code = pb.ErrorCode_DBError
}
return
}
func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingRank) {
list, err := this.modelHunting.getHuntingList(uid)
func (this *Enchant) CheckUserBaseEnchantInfo(uid string) (data []*pb.DBEnchantRank) {
list, err := this.modelEnchant.getEnchantList(uid)
if err != nil {
for k := range list.Boss {
_d := this.modulerank.getHuntingRankListByBossType(uid, k)
_d := this.modulerank.getEnchantRankListByBossType(uid, k)
if _d != nil {
data = append(data, _d)
}
@ -76,12 +76,12 @@ func (this *Hunting) CheckUserBaseHuntingInfo(uid string) (data []*pb.DBHuntingR
}
return
}
func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunting *pb.DBHunting, report *pb.BattleReport) {
func (this *Enchant) CheckRank(uid string, boosID int32, Enchant *pb.DBEnchant, report *pb.BattleReport, score int32) {
costTime := report.Costtime
key := strconv.Itoa(int(boosID)) + "_" + strconv.Itoa(int(difficulty))
key := strconv.Itoa(int(boosID))
if hunting.BossTime[key] > costTime || hunting.BossTime[key] == 0 && difficulty >= hunting.Boss[boosID] { // 刷新记录
hunting.BossTime[key] = costTime
if Enchant.BossTime[key] > costTime || Enchant.BossTime[key] == 0 { // 刷新记录
Enchant.BossTime[key] = costTime
szLine := make([]*pb.LineUp, 5)
Leadpos := 0
if report != nil && report.Info != nil && len(report.Info.Redflist) > 0 {
@ -100,17 +100,17 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunti
// 写入排行榜
objID := ""
bFind := false
ranks := this.modulerank.getHuntingRankList(uid)
ranks := this.modulerank.getEnchantRankList(uid)
for _, v := range ranks {
if v.Bosstype == boosID {
mapRankData := make(map[string]interface{}, 0)
mapRankData["difficulty"] = difficulty
mapRankData["bosstype"] = boosID
mapRankData["Leadpos"] = Leadpos
mapRankData["line"] = szLine
mapRankData["costTime"] = costTime
conn_, _ := db.Cross()
dbModel := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_)
dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_)
dbModel.ChangeList(uid, v.Id, mapRankData)
objID = v.Id
bFind = true
@ -119,63 +119,35 @@ func (this *Hunting) CheckRank(uid string, boosID int32, difficulty int32, hunti
}
if !bFind {
userinfo := this.ModuleUser.GetUser(uid)
new := &pb.DBHuntingRank{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Difficulty: difficulty,
Bosstype: boosID,
Nickname: userinfo.Name,
Icon: "",
Lv: userinfo.Lv,
Leadpos: int32(Leadpos),
Line: szLine,
CostTime: costTime,
new := &pb.DBEnchantRank{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Bosstype: boosID,
Nickname: userinfo.Name,
Lv: userinfo.Lv,
Leadpos: int32(Leadpos),
Line: szLine,
CostTime: costTime,
}
objID = new.Id
conn_, _ := db.Cross()
dbModel := db.NewDBModel(comm.TableHuntingRank, time.Hour, conn_)
dbModel := db.NewDBModel(comm.TableEnchantRank, time.Hour, conn_)
dbModel.AddList(uid, new.Id, new)
}
this.modulerank.SetRankListData("huntingRank"+strconv.Itoa(int(boosID)), difficulty<<16+costTime, objID)
this.modulerank.SetRankListData("EnchantRank"+strconv.Itoa(int(boosID)), score, objID)
}
}
//红点查询
func (this *Hunting) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
func (this *Enchant) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (reddot map[comm.ReddotType]bool) {
reddot = make(map[comm.ReddotType]bool)
for _, v := range rid {
switch v {
case comm.Reddot32:
reddot[comm.Reddot32] = this.modelHunting.checkReddot32(session.GetUserId())
reddot[comm.Reddot32] = this.modelEnchant.checkReddot32(session.GetUserId())
break
}
}
return
}
// 解锁远征所有难度
func (this *Hunting) CompleteAllLevel(session comm.IUserSession) (code pb.ErrorCode) {
list, err := this.modelHunting.getHuntingList(session.GetUserId())
if err != nil {
code = pb.ErrorCode_DBError
return
}
mapData := make(map[string]interface{}, 0)
// 查配置获取每个Boss的最大难度
for k := range list.Boss {
for i := 1; ; i++ {
conf := this.configure.GetHuntingBossConfigData(k, int32(i))
if conf == nil {
list.Boss[k] = int32(i - 1)
}
}
}
mapData["boss"] = list.Boss
code = this.ModifyHuntingData(session.GetUserId(), mapData)
for k := range list.Boss {
list.Boss[k] += 1
}
session.SendMsg(string(this.GetType()), HuntingGetListResp, &pb.HuntingGetListResp{Data: list})
return
}

View File

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

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

View File

@ -87,7 +87,9 @@ type GameGlobalData struct {
HuntingRecovery int32
HuntingCos *Gameatn
HuntingReset int32
HuntingCap []int32
EnchantbossInitial int32
EnchantbossMax int32
EnchantbossCos *Gameatn
GameTime []int32
SellingTipsStrengthen int32
SellingTipsStar int32
@ -142,6 +144,8 @@ type GameGlobalData struct {
DrawCardSupplement1 int32
DrawCardSupplement10 int32
CGPloatTxt []string
VIPDaysSent int32
MonthlyCardDaysSent int32
}
const TypeId_GameGlobalData = 477542761
@ -292,20 +296,9 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_recovery"].(float64); !_ok_ { err = errors.New("hunting_recovery error"); return }; _v.HuntingRecovery = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["hunting_cos"].(map[string]interface{}); !_ok_ { err = errors.New("hunting_cos error"); return }; if _v.HuntingCos, err = DeserializeGameatn(_x_); err != nil { return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hunting_reset"].(float64); !_ok_ { err = errors.New("hunting_reset error"); return }; _v.HuntingReset = int32(_tempNum_) }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["hunting_cap"].([]interface{}); !_ok_ { err = errors.New("hunting_cap error"); return }
_v.HuntingCap = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ int32
{ var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.HuntingCap = append(_v.HuntingCap, _list_v_)
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_initial"].(float64); !_ok_ { err = errors.New("enchantboss_initial error"); return }; _v.EnchantbossInitial = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["enchantboss_max"].(float64); !_ok_ { err = errors.New("enchantboss_max error"); return }; _v.EnchantbossMax = int32(_tempNum_) }
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["enchantboss_cos"].(map[string]interface{}); !_ok_ { err = errors.New("enchantboss_cos error"); return }; if _v.EnchantbossCos, err = DeserializeGameatn(_x_); err != nil { return } }
{
var _arr_ []interface{}
var _ok_ bool
@ -594,6 +587,8 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
}
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["VIP_DaysSent"].(float64); !_ok_ { err = errors.New("VIP_DaysSent error"); return }; _v.VIPDaysSent = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["MonthlyCard_DaysSent"].(float64); !_ok_ { err = errors.New("MonthlyCard_DaysSent error"); return }; _v.MonthlyCardDaysSent = int32(_tempNum_) }
return
}