This commit is contained in:
meixiongfeng 2023-02-24 16:27:01 +08:00
commit a9f41b7f6c
4 changed files with 228 additions and 82 deletions

View File

@ -13,6 +13,7 @@ const (
game_equipsuit = "game_equipsuit.json" //套装技能表 game_equipsuit = "game_equipsuit.json" //套装技能表
game_monsterformat = "game_monsterformat.json" //整容表 game_monsterformat = "game_monsterformat.json" //整容表
game_monster = "game_monster.json" //怪物表 game_monster = "game_monster.json" //怪物表
game_pandamasbuff = "game_pandamasbuff.json" //熊猫buff
game_battletasktesting = "game_battletasktesting.json" //被动技能表 game_battletasktesting = "game_battletasktesting.json" //被动技能表
game_skillatk = "game_skillatk" //主技能表 game_skillatk = "game_skillatk" //主技能表
game_skillafteratk = "game_skillafteratk" //子技能表 game_skillafteratk = "game_skillafteratk" //子技能表
@ -38,6 +39,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
this.LoadConfigure(game_equipsuit, cfg.NewGameEquipSuit) this.LoadConfigure(game_equipsuit, cfg.NewGameEquipSuit)
this.LoadConfigure(game_monster, cfg.NewGameMonster) this.LoadConfigure(game_monster, cfg.NewGameMonster)
this.LoadConfigure(game_battletasktesting, cfg.NewGameBattletasktesting) this.LoadConfigure(game_battletasktesting, cfg.NewGameBattletasktesting)
this.LoadConfigure(game_pandamasbuff, cfg.NewGamePandamasBuff)
configure.RegisterConfigure(game_monsterformat, cfg.NewGameMonsterFormat, func() { configure.RegisterConfigure(game_monsterformat, cfg.NewGameMonsterFormat, func() {
this.mformatlock.Lock() this.mformatlock.Lock()
if v, err := this.GetConfigure(game_monsterformat); err != nil { if v, err := this.GetConfigure(game_monsterformat); err != nil {
@ -111,6 +113,25 @@ func (this *configureComp) GetMonster(id int32) (result *cfg.GameMonsterData, er
return return
} }
//获取全局buff
func (this *configureComp) getPandamasBuff(id int32) (configure *cfg.GamePandamasBuffData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_pandamasbuff); err != nil {
this.module.Errorln(err)
return
} else {
if configure, ok = v.(*cfg.GamePandamasBuff).GetDataMap()[id]; !ok {
err = fmt.Errorf("not found:%d ", id)
this.module.Errorln(err)
return
}
}
return
}
//查询装备套装表 //查询装备套装表
func (this *configureComp) Getequipsuit(id int32) (result *cfg.GameEquipSuitData, err error) { func (this *configureComp) Getequipsuit(id int32) (result *cfg.GameEquipSuitData, err error) {
var ( var (

View File

@ -58,8 +58,9 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
battletas *cfg.GameBattletasktestingData battletas *cfg.GameBattletasktestingData
captain int32 captain int32
masters []*pb.BattleRole masters []*pb.BattleRole
buff *cfg.GamePandamasBuffData
) )
buff, _ = this.getGlobalBuff(session.GetUserId())
if battletas, _ = this.module.configure.GetBattleTask(int32(req.Ptype)); battletas != nil { if battletas, _ = this.module.configure.GetBattleTask(int32(req.Ptype)); battletas != nil {
record.Tasks = battletas.BattletaskTestingId record.Tasks = battletas.BattletaskTestingId
} }
@ -83,6 +84,13 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
if record.Redflist[0].Team[i], code = this.createBattleRole(hero, tid, i); code != pb.ErrorCode_Success { if record.Redflist[0].Team[i], code = this.createBattleRole(hero, tid, i); code != pb.ErrorCode_Success {
return return
} }
if buff != nil {
if conf := this.module.configure.GetHeroConfig(hero.HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
record.Redflist[0].Team[i].PandaBuff = buff.Buffid
}
}
}
} else { } else {
record.Redflist[0].Team[i] = nil record.Redflist[0].Team[i] = nil
} }
@ -118,6 +126,13 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
return return
} }
record.Redflist[0].Team[i].Ishelp = true record.Redflist[0].Team[i].Ishelp = true
if buff != nil {
if conf := this.module.configure.GetHeroConfig(hero.HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
record.Redflist[0].Team[i].PandaBuff = buff.Buffid
}
}
}
} }
} }
if req.Sysformat != nil && len(req.Sysformat) > 0 { if req.Sysformat != nil && len(req.Sysformat) > 0 {
@ -132,6 +147,15 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
if record.Redflist[i].Leadpos == -1 && captain != -1 { if record.Redflist[i].Leadpos == -1 && captain != -1 {
record.Redflist[i].Leadpos = captain record.Redflist[i].Leadpos = captain
} }
if buff != nil {
for _, v := range masters {
if conf := this.module.configure.GetHeroConfig(v.HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
v.PandaBuff = buff.Buffid
}
}
}
}
} }
} }
if req.Backupformat != nil && len(req.Backupformat) > 0 { if req.Backupformat != nil && len(req.Backupformat) > 0 {
@ -143,6 +167,15 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
return return
} }
record.Redflist[i].Backupteam = masters record.Redflist[i].Backupteam = masters
if buff != nil {
for _, v := range masters {
if conf := this.module.configure.GetHeroConfig(v.HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
v.PandaBuff = buff.Buffid
}
}
}
}
} }
} }
} else { } else {
@ -155,6 +188,15 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
Leadpos: captain, Leadpos: captain,
Systeam: masters, Systeam: masters,
} }
if buff != nil {
for _, v := range masters {
if conf := this.module.configure.GetHeroConfig(v.HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
v.PandaBuff = buff.Buffid
}
}
}
}
} }
if req.Backupformat != nil && len(req.Backupformat) > 0 { if req.Backupformat != nil && len(req.Backupformat) > 0 {
for i, v := range req.Backupformat { for i, v := range req.Backupformat {
@ -162,6 +204,15 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
return return
} }
record.Redflist[i].Backupteam = masters record.Redflist[i].Backupteam = masters
if buff != nil {
for _, v := range masters {
if conf := this.module.configure.GetHeroConfig(v.HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
v.PandaBuff = buff.Buffid
}
}
}
}
} }
} }
} }
@ -182,6 +233,7 @@ func (this *modelBattleComp) createeve(session comm.IUserSession, conn *db.DBCon
func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVEReq) (record *pb.DBBattleRecord, code pb.ErrorCode) { func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVEReq) (record *pb.DBBattleRecord, code pb.ErrorCode) {
var ( var (
heros []*pb.DBHero = make([]*pb.DBHero, 5) heros []*pb.DBHero = make([]*pb.DBHero, 5)
buff *cfg.GamePandamasBuffData
) )
record = &pb.DBBattleRecord{ record = &pb.DBBattleRecord{
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
@ -199,6 +251,7 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon
Team: make([]*pb.BattleRole, len(req.Format.Format)), Team: make([]*pb.BattleRole, len(req.Format.Format)),
} }
model := db.NewDBModel(comm.TableHero, time.Hour, conn) model := db.NewDBModel(comm.TableHero, time.Hour, conn)
buff, _ = this.getGlobalBuff(session.GetUserId())
//自己的英雄阵营 //自己的英雄阵营
for i, v := range req.Format.Format { for i, v := range req.Format.Format {
if v != "" { if v != "" {
@ -211,6 +264,13 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon
if record.Redflist[0].Team[i], code = this.createBattleRole(heros[i], tid, i); code != pb.ErrorCode_Success { if record.Redflist[0].Team[i], code = this.createBattleRole(heros[i], tid, i); code != pb.ErrorCode_Success {
return return
} }
if buff != nil {
if conf := this.module.configure.GetHeroConfig(heros[i].HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
record.Redflist[0].Team[i].PandaBuff = buff.Buffid
}
}
}
} else { } else {
record.Redflist[0].Team[i] = nil record.Redflist[0].Team[i] = nil
} }
@ -245,6 +305,13 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon
return return
} }
record.Redflist[0].Team[i].Ishelp = true record.Redflist[0].Team[i].Ishelp = true
if buff != nil {
if conf := this.module.configure.GetHeroConfig(heros[i].HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
record.Redflist[0].Team[i].PandaBuff = buff.Buffid
}
}
}
} }
} }
if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); !ok { if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); !ok {
@ -269,6 +336,9 @@ func (this *modelBattleComp) createpve(session comm.IUserSession, conn *db.DBCon
//创建pve 战斗记录 //创建pve 战斗记录
func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVBReq) (record *pb.DBBattleRecord, code pb.ErrorCode) { func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattlePVBReq) (record *pb.DBBattleRecord, code pb.ErrorCode) {
var (
buff *cfg.GamePandamasBuffData
)
record = &pb.DBBattleRecord{ record = &pb.DBBattleRecord{
Id: primitive.NewObjectID().Hex(), Id: primitive.NewObjectID().Hex(),
Title: req.Title, Title: req.Title,
@ -280,6 +350,7 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon
BlueCompId: "", BlueCompId: "",
Buleflist: make([]*pb.DBBattleFormt, len(req.Mformat)), Buleflist: make([]*pb.DBBattleFormt, len(req.Mformat)),
} }
buff, _ = this.getGlobalBuff(session.GetUserId())
for ii, v := range req.Format { for ii, v := range req.Format {
heros := make([]*pb.DBHero, 5) heros := make([]*pb.DBHero, 5)
record.Redflist[ii] = &pb.DBBattleFormt{ record.Redflist[ii] = &pb.DBBattleFormt{
@ -299,6 +370,13 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon
if record.Redflist[ii].Team[i], code = this.createBattleRole(heros[i], tid, i); code != pb.ErrorCode_Success { if record.Redflist[ii].Team[i], code = this.createBattleRole(heros[i], tid, i); code != pb.ErrorCode_Success {
return return
} }
if buff != nil {
if conf := this.module.configure.GetHeroConfig(heros[i].HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
record.Redflist[ii].Team[i].PandaBuff = buff.Buffid
}
}
}
} else { } else {
record.Redflist[ii].Team[i] = nil record.Redflist[ii].Team[i] = nil
} }
@ -333,6 +411,13 @@ func (this *modelBattleComp) createpvb(session comm.IUserSession, conn *db.DBCon
return return
} }
record.Redflist[ii].Team[i].Ishelp = true record.Redflist[ii].Team[i].Ishelp = true
if buff != nil {
if conf := this.module.configure.GetHeroConfig(heros[i].HeroID); conf != nil {
if buff.CampRestriction == conf.Race && buff.OccupationalRestrictions == conf.Job && conf.Star >= buff.StarLimit {
record.Redflist[ii].Team[i].PandaBuff = buff.Buffid
}
}
}
} }
} }
if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok { if ok := this.checkBattlereadyCapskill(v.Leadpos, heros); !ok {
@ -686,3 +771,23 @@ func (this *modelBattleComp) checkBattlereadyCapskill(leadpos int32, heros []*pb
} }
return return
} }
//获取熊猫buff
func (this *modelBattleComp) getGlobalBuff(uid string) (buff *cfg.GamePandamasBuffData, ok bool) {
var (
userex *pb.DBUserExpand
err error
)
if userex, err = this.module.ModuleUser.GetUserExpand(uid); err != nil {
ok = false
return
}
if userex.Globalbuff != 0 {
if buff, err = this.module.configure.getPandamasBuff(userex.Globalbuff); err != nil {
ok = false
return
}
ok = true
}
return
}

View File

@ -274,10 +274,11 @@ type BattleRole struct {
SubSuitSkill int32 `protobuf:"varint,9,opt,name=subSuitSkill,proto3" json:"subSuitSkill" bson:"subSuitSkill"` /// 副套装技能 SubSuitSkill int32 `protobuf:"varint,9,opt,name=subSuitSkill,proto3" json:"subSuitSkill" bson:"subSuitSkill"` /// 副套装技能
NormalSkill []*SkillData `protobuf:"bytes,10,rep,name=normalSkill,proto3" json:"normalSkill" bson:"normalSkill"` //普通技能 NormalSkill []*SkillData `protobuf:"bytes,10,rep,name=normalSkill,proto3" json:"normalSkill" bson:"normalSkill"` //普通技能
EquipSkill []*SkillData `protobuf:"bytes,11,rep,name=equipSkill,proto3" json:"equipSkill" bson:"normalSkill"` //普通技能 EquipSkill []*SkillData `protobuf:"bytes,11,rep,name=equipSkill,proto3" json:"equipSkill" bson:"normalSkill"` //普通技能
Property map[string]int32 `protobuf:"bytes,12,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 属性相关 PandaBuff int32 `protobuf:"varint,12,opt,name=PandaBuff,proto3" json:"PandaBuff"` //熊猫buff技能id
Ishelp bool `protobuf:"varint,13,opt,name=ishelp,proto3" json:"ishelp"` //是否是助战英雄 Property map[string]int32 `protobuf:"bytes,13,rep,name=property,proto3" json:"property" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 属性相关
Isboos int32 `protobuf:"varint,14,opt,name=isboos,proto3" json:"isboos"` //是否是boos Ishelp bool `protobuf:"varint,14,opt,name=ishelp,proto3" json:"ishelp"` //是否是助战英雄
Monsterid int32 `protobuf:"varint,15,opt,name=monsterid,proto3" json:"monsterid"` //怪物id Isboos int32 `protobuf:"varint,15,opt,name=isboos,proto3" json:"isboos"` //是否是boos
Monsterid int32 `protobuf:"varint,16,opt,name=monsterid,proto3" json:"monsterid"` //怪物id
} }
func (x *BattleRole) Reset() { func (x *BattleRole) Reset() {
@ -389,6 +390,13 @@ func (x *BattleRole) GetEquipSkill() []*SkillData {
return nil return nil
} }
func (x *BattleRole) GetPandaBuff() int32 {
if x != nil {
return x.PandaBuff
}
return 0
}
func (x *BattleRole) GetProperty() map[string]int32 { func (x *BattleRole) GetProperty() map[string]int32 {
if x != nil { if x != nil {
return x.Property return x.Property
@ -638,7 +646,7 @@ var File_battle_battle_db_proto protoreflect.FileDescriptor
var file_battle_battle_db_proto_rawDesc = []byte{ var file_battle_battle_db_proto_rawDesc = []byte{
0x0a, 0x16, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x0a, 0x16, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f,
0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x04, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52,
0x6f, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x6f, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x03,
@ -658,80 +666,82 @@ var file_battle_battle_db_proto_rawDesc = []byte{
0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c,
0x6c, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x6c, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18,
0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74,
0x61, 0x52, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x61, 0x52, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x1c, 0x0a,
0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x50, 0x61, 0x6e, 0x64, 0x61, 0x42, 0x75, 0x66, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
0x19, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x52, 0x09, 0x50, 0x61, 0x6e, 0x64, 0x61, 0x42, 0x75, 0x66, 0x66, 0x12, 0x35, 0x0a, 0x08, 0x70,
0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x65, 0x72, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65,
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
0x69, 0x73, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x0e, 0x20, 0x01,
0x62, 0x6f, 0x6f, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x69, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73,
0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x62, 0x6f,
0x69, 0x64, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x6f, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x69, 0x64, 0x18,
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x69, 0x64,
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x9e, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9e, 0x01,
0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x74, 0x0a, 0x0d, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x12,
0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x07, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x04, 0x74, 0x65, 0x61,
0x73, 0x79, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x07, 0x73, 0x79,
0x65, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x74, 0x65, 0x61, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61,
0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x61,
0x52, 0x6f, 0x6c, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x74, 0x65, 0x61, 0x6d, 0x6d, 0x12, 0x2b, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x74, 0x65, 0x61, 0x6d, 0x18,
0x22, 0xbd, 0x03, 0x0a, 0x0e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f,
0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x6c, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x74, 0x65, 0x61, 0x6d, 0x22, 0xbd,
0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x03, 0x0a, 0x0e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65,
0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54,
0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x79, 0x70, 0x65, 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74,
0x06, 0x70, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79,
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x65,
0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01,
0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74,
0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x66, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x43,
0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64,
0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x08, 0x72, 0x65, 0x64, 0x66, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69,
0x6c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74,
0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69,
0x6d, 0x70, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64,
0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18,
0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74,
0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x6d, 0x70, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x73, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x0e, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70,
0x2a, 0x44, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b,
0x0a, 0x03, 0x6e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x65, 0x10, 0x01, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2a, 0x44,
0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x70, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x62, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03,
0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x76, 0x65, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x72, 0x6e, 0x69, 0x6c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x65, 0x10, 0x01, 0x12, 0x07,
0x74, 0x70, 0x76, 0x70, 0x10, 0x05, 0x2a, 0xc4, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x0a, 0x03, 0x70, 0x76, 0x70, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x70, 0x76, 0x62, 0x10, 0x03,
0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x76, 0x65, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x72, 0x74, 0x70,
0x08, 0x6d, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x70, 0x76, 0x70, 0x10, 0x05, 0x2a, 0xc4, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70,
0x61, 0x67, 0x6f, 0x64, 0x61, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x6e, 0x75, 0x6c, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x6d,
0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x61, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x70, 0x61, 0x67,
0x0a, 0x0a, 0x06, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x61, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x72, 0x74, 0x61, 0x73, 0x6b, 0x10, 0x03,
0x6f, 0x6f, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x0a, 0x0a,
0x61, 0x72, 0x65, 0x6e, 0x61, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x61, 0x63, 0x61, 0x64, 0x65, 0x06, 0x76, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x6d, 0x6f, 0x6f,
0x6d, 0x79, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x74, 0x65, 0x61, 0x63, 0x6e, 0x66, 0x61, 0x6e, 0x74, 0x61, 0x73, 0x79, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x61, 0x72,
0x68, 0x69, 0x6e, 0x67, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x65, 0x6e, 0x61, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x61, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x79,
0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x10, 0x0b, 0x12, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x74, 0x65, 0x61, 0x63, 0x68, 0x69,
0x0b, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x6e, 0x67, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x10, 0x0a,
0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x6d, 0x65, 0x65, 0x74, 0x10, 0x0d, 0x2a, 0x1f, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x10, 0x0b, 0x12, 0x0b, 0x0a,
0x0c, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x79, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b, 0x66, 0x72,
0x02, 0x69, 0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x10, 0x02, 0x2a, 0x2b, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x6d, 0x65, 0x65, 0x74, 0x10, 0x0d, 0x2a, 0x1f, 0x0a, 0x0c, 0x42,
0x0a, 0x0c, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x12, 0x08, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x69,
0x0a, 0x04, 0x64, 0x72, 0x61, 0x77, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x10, 0x6e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x10, 0x02, 0x2a, 0x2b, 0x0a, 0x0c,
0x01, 0x12, 0x08, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x12, 0x08, 0x0a, 0x04,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x64, 0x72, 0x61, 0x77, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12,
0x08, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x10, 0x02, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -57,6 +57,7 @@ type DBUserExpand struct {
SociatyTicket int32 `protobuf:"varint,33,opt,name=sociatyTicket,proto3" json:"sociatyTicket" bson:"sociatyTicket"` //公会boss挑战券数量 SociatyTicket int32 `protobuf:"varint,33,opt,name=sociatyTicket,proto3" json:"sociatyTicket" bson:"sociatyTicket"` //公会boss挑战券数量
Mline map[int32]int32 `protobuf:"bytes,34,rep,name=mline,proto3" json:"mline" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"mline"` //主线关卡最大进度 key难度val是关卡ID Mline map[int32]int32 `protobuf:"bytes,34,rep,name=mline,proto3" json:"mline" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3" bson:"mline"` //主线关卡最大进度 key难度val是关卡ID
SuiteId []int32 `protobuf:"varint,35,rep,packed,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id SuiteId []int32 `protobuf:"varint,35,rep,packed,name=suiteId,proto3" json:"suiteId" bson:"suiteId"` // 套装Id
Globalbuff int32 `protobuf:"varint,36,opt,name=globalbuff,proto3" json:"globalbuff" bson:"globalbuff"` // 全局buff
} }
func (x *DBUserExpand) Reset() { func (x *DBUserExpand) Reset() {
@ -308,11 +309,18 @@ func (x *DBUserExpand) GetSuiteId() []int32 {
return nil return nil
} }
func (x *DBUserExpand) GetGlobalbuff() int32 {
if x != nil {
return x.Globalbuff
}
return 0
}
var File_userexpand_proto protoreflect.FileDescriptor var File_userexpand_proto protoreflect.FileDescriptor
var file_userexpand_proto_rawDesc = []byte{ var file_userexpand_proto_rawDesc = []byte{
0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x8c, 0x0a, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x74, 0x6f, 0x22, 0xac, 0x0a, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70,
0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x61, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x72, 0x65, 0x61,
@ -385,7 +393,9 @@ var file_userexpand_proto_rawDesc = []byte{
0x32, 0x18, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e, 0x32, 0x18, 0x2e, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x2e,
0x4d, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d, 0x6c, 0x69, 0x6e, 0x4d, 0x6c, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d, 0x6c, 0x69, 0x6e,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x23, 0x20, 0x03, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x23, 0x20, 0x03,
0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x1a, 0x3a, 0x0a, 0x0c, 0x45, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67,
0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x62, 0x75, 0x66, 0x66, 0x1a, 0x3a, 0x0a, 0x0c, 0x45,
0x78, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x78, 0x70, 0x69, 0x74, 0x65, 0x6d, 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, 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, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61,