From 1bdbc69064badefc6e5245c90e4c5ba32dafce52 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Thu, 2 Nov 2023 10:48:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=B7=E5=B2=9B=E6=8E=A2=E9=99=A9=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 1 + modules/battle/modelBattle.go | 78 ++++ modules/battle/module.go | 44 ++ modules/island/api_battle.go | 58 ++- modules/island/api_upgrade.go | 36 +- modules/island/configure.go | 19 + modules/island/model.go | 38 ++ modules/island/modelhero.go | 7 + pb/battle_msg.pb.go | 774 +++++++++++++++++++--------------- 9 files changed, 707 insertions(+), 348 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index 18debe6f0..d5e18ab6b 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -290,6 +290,7 @@ type ( CreateEveBattle(session IUserSession, req *pb.BattleEVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///创建pve战斗 CreatePveBattle(session IUserSession, req *pb.BattlePVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) + CreateHeroPveBattle(session IUserSession, req *pb.BattleHeroPVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///创建pvb战斗 CreatePvbBattle(session IUserSession, req *pb.BattlePVBReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) ///创建pvp战斗 diff --git a/modules/battle/modelBattle.go b/modules/battle/modelBattle.go index ca8d298ef..d248c5d19 100644 --- a/modules/battle/modelBattle.go +++ b/modules/battle/modelBattle.go @@ -715,6 +715,84 @@ func (this *modelBattleComp) createlpve(session comm.IUserSession, conn *db.DBCo return } +// 创建pve 战斗记录 +func (this *modelBattleComp) createheropve(session comm.IUserSession, conn *db.DBConn, btype pb.BattleType, req *pb.BattleHeroPVEReq, conf *cfg.GameBattleReadyData) (record *pb.DBBattleRecord, errdata *pb.ErrorData) { + var ( + captain int32 + masters []*pb.BattleRole + ) + record = &pb.DBBattleRecord{ + Id: primitive.NewObjectID().Hex(), + Title: req.Title, + Btype: btype, + Ptype: req.Ptype, + State: pb.BBattleState_in, + RedCompId: session.GetUserId(), + Redflist: make([]*pb.DBBattleFormt, 1), + BlueCompId: "", + Buleflist: make([]*pb.DBBattleFormt, len(req.Mformat)), + Tasks: conf.BattleEvents, + } + record.Redflist[0] = &pb.DBBattleFormt{ + Leadpos: req.Redformat.Leadpos, + Team: make([]*pb.BattleRole, len(req.Redformat.Format)), + } + + //自己的英雄阵营 + for i, v := range req.Redformat.Format { + if v != nil { + tid := 100 + i + if record.Redflist[0].Team[i], errdata = this.createBattleRole(v, 0, tid, i); errdata != nil { + return + } + } else { + record.Redflist[0].Team[i] = nil + } + } + + if conf.DefaultHero != 0 { + if captain, masters, errdata = this.createMasterRoles(1100, 0, conf.DefaultHero); errdata != nil { + return + } + record.Redflist[0].Systeam = masters + if record.Redflist[0].Leadpos == -1 && captain != -1 { + record.Redflist[0].Leadpos = captain + } + } + if conf.RedAssistTeam != 0 { + if captain, masters, errdata = this.createMasterRoles(1200, 0, conf.RedAssistTeam); errdata != nil { + return + } + record.Redflist[0].Backupteam = masters + } + //队长级 弃用 + // if ok := this.checkBattlereadyCapskill(req.Format.Leadpos, heros); !ok { + // errdata = &pb.ErrorData{ + // Code: pb.ErrorCode_BattleCapskillCheckFailed, + // Title: pb.ErrorCode_BattleCapskillCheckFailed.ToString(), + // } + // return + // } + + for i, v := range req.Mformat { + if captain, masters, errdata = this.createMasterRoles(2100, i, v); errdata != nil { + return + } + record.Buleflist[i] = &pb.DBBattleFormt{ + Leadpos: captain, + Team: masters, + } + } + + if conf.BlueAssistTeam != 0 { + if captain, masters, errdata = this.createMasterRoles(2200, 0, conf.BlueAssistTeam); errdata != nil { + return + } + record.Buleflist[0].Backupteam = masters + } + + return +} func (this *modelBattleComp) createBattleRole(hero *pb.DBHero, vlv int32, tid, pos int) (role *pb.BattleRole, errdata *pb.ErrorData) { role = &pb.BattleRole{ Tid: int32(tid), diff --git a/modules/battle/module.go b/modules/battle/module.go index bf37c84c8..bb945f6fa 100644 --- a/modules/battle/module.go +++ b/modules/battle/module.go @@ -201,6 +201,50 @@ func (this *Battle) CreatePveBattle(session comm.IUserSession, req *pb.BattlePVE return } +// 创建连续战斗 +func (this *Battle) CreateHeroPveBattle(session comm.IUserSession, req *pb.BattleHeroPVEReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) { + var ( + conf *cfg.GameBattleReadyData + conn *db.DBConn + err error + ) + if !this.IsCross() { + conn, err = db.Local() + } else { + conn, err = db.ServerDBConn(session.GetServiecTag()) + } + if err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Title: pb.ErrorCode_DBError.ToString(), + Message: err.Error(), + } + this.Errorf("session:%v err:", session, err) + return + } + if req.Redformat == nil || req.Redformat.Format == nil || len(req.Redformat.Format) != 5 { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + } + return + } + + if conf, err = this.configure.GetBattleReady(req.Rulesid); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + if record, errdata = this.modelBattle.createheropve(session, conn, pb.BattleType_lpev, req, conf); errdata != nil { + return + } + + return +} + // 创建pve战斗 func (this *Battle) CreatePvbBattle(session comm.IUserSession, req *pb.BattlePVBReq) (errdata *pb.ErrorData, record *pb.DBBattleRecord) { var ( diff --git a/modules/island/api_battle.go b/modules/island/api_battle.go index 9f0aeb818..804a02332 100644 --- a/modules/island/api_battle.go +++ b/modules/island/api_battle.go @@ -26,10 +26,14 @@ func (this *apiComp) BattleCheck(session comm.IUserSession, req *pb.IsLandBattle // /获取系统公告 func (this *apiComp) Battle(session comm.IUserSession, req *pb.IsLandBattleReq) (errdata *pb.ErrorData) { var ( - conf *cfg.GamePuggsyEventData - bconf *cfg.GamePuggsyFightData - record *pb.DBBattleRecord - err error + info *pb.DBIsland + conf *cfg.GamePuggsyEventData + bconf *cfg.GamePuggsyFightData + heroids []string + heros []*pb.DBHero + tempHeros []*pb.DBHero + record *pb.DBBattleRecord + err error ) if errdata = this.BattleCheck(session, req); errdata != nil { return @@ -50,11 +54,53 @@ func (this *apiComp) Battle(session comm.IUserSession, req *pb.IsLandBattleReq) } return } - if errdata, record = this.module.battle.CreatePveBattle(session, &pb.BattlePVEReq{ + if info, err = this.module.model.getmodel(session.GetUserId()); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + heroids = make([]string, 0) + for _, v := range req.Battle.Format { + if v != "" { + heroids = append(heroids, v) + } + } + + if tempHeros, err = this.module.modelhero.getHeros(session.GetUserId(), heroids); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_DBError, + Message: err.Error(), + } + return + } + if err = this.module.model.compute(info, heros); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Message: err.Error(), + } + return + } + + heros = make([]*pb.DBHero, 5) + for i, v := range req.Battle.Format { + for _, v1 := range tempHeros { + if v == v1.Id { + heros[i] = v1 + } + } + } + + if errdata, record = this.module.battle.CreateHeroPveBattle(session, &pb.BattleHeroPVEReq{ Rulesid: bconf.BattleReadyID, Ptype: pb.PlayType_rtask, - Format: req.Battle, Mformat: bconf.Boss, + Redformat: &pb.PVPFormation{ + Uid: session.GetUserId(), + Leadpos: req.Battle.Leadpos, + Format: heros, + }, }); err != nil { return } diff --git a/modules/island/api_upgrade.go b/modules/island/api_upgrade.go index e2a9a73bc..7c522a2ed 100644 --- a/modules/island/api_upgrade.go +++ b/modules/island/api_upgrade.go @@ -1,7 +1,6 @@ package island import ( - "fmt" "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" @@ -16,10 +15,10 @@ func (this *apiComp) UpgradeCheck(session comm.IUserSession, req *pb.IsLandUpgra // /获取自己的排行榜信息 func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.IsLandUpgradeReq) (errdata *pb.ErrorData) { var ( - info *pb.DBIsland - conf *cfg.GamePuggsySkillData - ok bool - err error + info *pb.DBIsland + conf *cfg.GamePuggsySkillData + front *cfg.GamePuggsySkillData + err error ) if errdata = this.UpgradeCheck(session, req); errdata != nil { return @@ -40,18 +39,39 @@ func (this *apiComp) Upgrade(session comm.IUserSession, req *pb.IsLandUpgradeReq } return } - if _, ok = info.Nodes[conf.Id]; ok { + if conf.CostItem != nil && len(conf.CostItem) > 0 { //可有升级 + for _, _front := range conf.Front { + if _front > 0 { + if front, err = this.module.configure.getGamePuggsySkillData(_front); err != nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: err.Error(), + } + return + } + if v, ok := info.Nodes[front.NodeId]; !ok || v < front.Lv { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ReqParameterError, + Title: pb.ErrorCode_ReqParameterError.ToString(), + Message: "node Front no complete", + } + return + } + } + } + } else { errdata = &pb.ErrorData{ Code: pb.ErrorCode_ReqParameterError, Title: pb.ErrorCode_ReqParameterError.ToString(), - Message: fmt.Sprintf("%d Unlocked!", conf.Id), + Message: "The level has reached the upper limit", } return } if errdata = this.module.ConsumeRes(session, conf.CostItem, true); errdata != nil { return } - info.Nodes[conf.Id] = 1 + info.Nodes[conf.NodeId] = conf.Lv + 1 this.module.model.Change(session.GetUserId(), map[string]interface{}{ "nodes": info.Nodes, }) diff --git a/modules/island/configure.go b/modules/island/configure.go index 3696f2d08..c825f1b41 100644 --- a/modules/island/configure.go +++ b/modules/island/configure.go @@ -92,6 +92,25 @@ func (this *ConfigureComp) getGamePuggsySkillData(id int32) (configure *cfg.Game return } +//技能节点 +func (this *ConfigureComp) getGamePuggsySkilllvData(nid, lv int32) (conf *cfg.GamePuggsySkillData, err error) { + var ( + v interface{} + ) + if v, err = this.GetConfigure(game_puggsyskill); err != nil { + this.module.Errorf("err:%v", err) + return + } else { + for _, v := range v.(*cfg.GamePuggsySkill).GetDataList() { + if v.NodeId == nid && v.Lv == lv { + conf = v + return + } + } + } + return +} + // 获取伤害对应的评分组 func (this *ConfigureComp) getGamePuggsyScoreData(harm int32) (results *cfg.GamePuggsyScoreData, err error) { var ( diff --git a/modules/island/model.go b/modules/island/model.go index 70d23988e..fef7742b0 100644 --- a/modules/island/model.go +++ b/modules/island/model.go @@ -6,6 +6,8 @@ import ( "go_dreamfactory/lego/sys/mgo" "go_dreamfactory/modules" "go_dreamfactory/pb" + cfg "go_dreamfactory/sys/configure/structs" + "math" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" @@ -48,3 +50,39 @@ func (this *modelComp) getmodel(uid string) (result *pb.DBIsland, err error) { err = nil return } + +//计算属性 +func (this *modelComp) compute(info *pb.DBIsland, heros []*pb.DBHero) (err error) { + var ( + node *cfg.GamePuggsySkillData + property map[string]int32 = make(map[string]int32) + ) + + for k, v := range info.Nodes { + if node, err = this.module.configure.getGamePuggsySkilllvData(k, v); err != nil { + this.module.Errorln(err) + return + } + for _, v := range node.Upgrade { + property[v.A] += v.N + } + } + for _, hero := range heros { + for k, v := range property { + hero.Property[k] += v + } + for k, v := range hero.Property { + switch k { + case comm.AtkPro: + hero.Property[comm.Atk] += int32(math.Floor((float64(v) / 1000) * float64(hero.Property[comm.Atk]))) + case comm.DefPro: + hero.Property[comm.Def] += int32(math.Floor((float64(v) / 1000) * float64(hero.Property[comm.Def]))) + case comm.HpPro: + hero.Property[comm.Hp] += int32(math.Floor((float64(v) / 1000) * float64(hero.Property[comm.Hp]))) + case comm.SpeedPro: + hero.Property[comm.Speed] += int32(math.Floor((float64(v) / 1000) * float64(hero.Property[comm.Speed]))) + } + } + } + return +} diff --git a/modules/island/modelhero.go b/modules/island/modelhero.go index 2ab2e91fe..f09ecb4cd 100644 --- a/modules/island/modelhero.go +++ b/modules/island/modelhero.go @@ -33,6 +33,13 @@ func (this *modelHeroComp) getHeroList(uid string) (heros []*pb.DBHero, err erro return } +// 获取玩家的英雄 +func (this *modelHeroComp) getHeros(uid string, ids []string) (heros []*pb.DBHero, err error) { + heros = make([]*pb.DBHero, 0) + err = this.GetListObjs(uid, ids, &heros) + return +} + func (this *modelHeroComp) addheros(heros *pb.DBHero) (err error) { return } diff --git a/pb/battle_msg.pb.go b/pb/battle_msg.pb.go index 012eb5b5e..9694a5044 100644 --- a/pb/battle_msg.pb.go +++ b/pb/battle_msg.pb.go @@ -324,6 +324,86 @@ func (x *BattlePVEReq) GetMformat() []int32 { return nil } +// pve 战斗创建请求 (此请求 为服务端间使用 客户端可忽略) +type BattleHeroPVEReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ptype PlayType `protobuf:"varint,1,opt,name=ptype,proto3,enum=PlayType" json:"ptype"` //玩法类型 + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title"` //战斗标题 + Rulesid int32 `protobuf:"varint,3,opt,name=rulesid,proto3" json:"rulesid"` //规则id + Redformat *PVPFormation `protobuf:"bytes,4,opt,name=redformat,proto3" json:"redformat"` //布阵信息 + Mformat []int32 `protobuf:"varint,5,rep,packed,name=mformat,proto3" json:"mformat"` //敌方增容信息 +} + +func (x *BattleHeroPVEReq) Reset() { + *x = BattleHeroPVEReq{} + if protoimpl.UnsafeEnabled { + mi := &file_battle_battle_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BattleHeroPVEReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BattleHeroPVEReq) ProtoMessage() {} + +func (x *BattleHeroPVEReq) ProtoReflect() protoreflect.Message { + mi := &file_battle_battle_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 BattleHeroPVEReq.ProtoReflect.Descriptor instead. +func (*BattleHeroPVEReq) Descriptor() ([]byte, []int) { + return file_battle_battle_msg_proto_rawDescGZIP(), []int{4} +} + +func (x *BattleHeroPVEReq) GetPtype() PlayType { + if x != nil { + return x.Ptype + } + return PlayType_null +} + +func (x *BattleHeroPVEReq) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *BattleHeroPVEReq) GetRulesid() int32 { + if x != nil { + return x.Rulesid + } + return 0 +} + +func (x *BattleHeroPVEReq) GetRedformat() *PVPFormation { + if x != nil { + return x.Redformat + } + return nil +} + +func (x *BattleHeroPVEReq) GetMformat() []int32 { + if x != nil { + return x.Mformat + } + return nil +} + //战斗布阵请求 type PVPFormation struct { state protoimpl.MessageState @@ -338,7 +418,7 @@ type PVPFormation struct { func (x *PVPFormation) Reset() { *x = PVPFormation{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[4] + mi := &file_battle_battle_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -351,7 +431,7 @@ func (x *PVPFormation) String() string { func (*PVPFormation) ProtoMessage() {} func (x *PVPFormation) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[4] + mi := &file_battle_battle_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -364,7 +444,7 @@ func (x *PVPFormation) ProtoReflect() protoreflect.Message { // Deprecated: Use PVPFormation.ProtoReflect.Descriptor instead. func (*PVPFormation) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{4} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{5} } func (x *PVPFormation) GetUid() string { @@ -404,7 +484,7 @@ type BattlePVPReq struct { func (x *BattlePVPReq) Reset() { *x = BattlePVPReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[5] + mi := &file_battle_battle_msg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -417,7 +497,7 @@ func (x *BattlePVPReq) String() string { func (*BattlePVPReq) ProtoMessage() {} func (x *BattlePVPReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[5] + mi := &file_battle_battle_msg_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -430,7 +510,7 @@ func (x *BattlePVPReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattlePVPReq.ProtoReflect.Descriptor instead. func (*BattlePVPReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{5} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{6} } func (x *BattlePVPReq) GetPtype() PlayType { @@ -486,7 +566,7 @@ type BattleRTPVPReq struct { func (x *BattleRTPVPReq) Reset() { *x = BattleRTPVPReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[6] + mi := &file_battle_battle_msg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -499,7 +579,7 @@ func (x *BattleRTPVPReq) String() string { func (*BattleRTPVPReq) ProtoMessage() {} func (x *BattleRTPVPReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[6] + mi := &file_battle_battle_msg_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -512,7 +592,7 @@ func (x *BattleRTPVPReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleRTPVPReq.ProtoReflect.Descriptor instead. func (*BattleRTPVPReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{6} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{7} } func (x *BattleRTPVPReq) GetPtype() PlayType { @@ -582,7 +662,7 @@ type BattleLPVEReq struct { func (x *BattleLPVEReq) Reset() { *x = BattleLPVEReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[7] + mi := &file_battle_battle_msg_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -595,7 +675,7 @@ func (x *BattleLPVEReq) String() string { func (*BattleLPVEReq) ProtoMessage() {} func (x *BattleLPVEReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[7] + mi := &file_battle_battle_msg_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -608,7 +688,7 @@ func (x *BattleLPVEReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleLPVEReq.ProtoReflect.Descriptor instead. func (*BattleLPVEReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{7} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{8} } func (x *BattleLPVEReq) GetPtype() PlayType { @@ -676,7 +756,7 @@ type BattlePVBReq struct { func (x *BattlePVBReq) Reset() { *x = BattlePVBReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[8] + mi := &file_battle_battle_msg_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -689,7 +769,7 @@ func (x *BattlePVBReq) String() string { func (*BattlePVBReq) ProtoMessage() {} func (x *BattlePVBReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[8] + mi := &file_battle_battle_msg_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -702,7 +782,7 @@ func (x *BattlePVBReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattlePVBReq.ProtoReflect.Descriptor instead. func (*BattlePVBReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{8} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{9} } func (x *BattlePVBReq) GetPtype() PlayType { @@ -761,7 +841,7 @@ type BattleInfo struct { func (x *BattleInfo) Reset() { *x = BattleInfo{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[9] + mi := &file_battle_battle_msg_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -774,7 +854,7 @@ func (x *BattleInfo) String() string { func (*BattleInfo) ProtoMessage() {} func (x *BattleInfo) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[9] + mi := &file_battle_battle_msg_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -787,7 +867,7 @@ func (x *BattleInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleInfo.ProtoReflect.Descriptor instead. func (*BattleInfo) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{9} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{10} } func (x *BattleInfo) GetId() string { @@ -873,7 +953,7 @@ type BattleCmd struct { func (x *BattleCmd) Reset() { *x = BattleCmd{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[10] + mi := &file_battle_battle_msg_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -886,7 +966,7 @@ func (x *BattleCmd) String() string { func (*BattleCmd) ProtoMessage() {} func (x *BattleCmd) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[10] + mi := &file_battle_battle_msg_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -899,7 +979,7 @@ func (x *BattleCmd) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleCmd.ProtoReflect.Descriptor instead. func (*BattleCmd) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{10} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{11} } func (x *BattleCmd) GetCmdtype() string { @@ -945,7 +1025,7 @@ type BattleReport struct { func (x *BattleReport) Reset() { *x = BattleReport{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[11] + mi := &file_battle_battle_msg_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -958,7 +1038,7 @@ func (x *BattleReport) String() string { func (*BattleReport) ProtoMessage() {} func (x *BattleReport) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[11] + mi := &file_battle_battle_msg_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -971,7 +1051,7 @@ func (x *BattleReport) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleReport.ProtoReflect.Descriptor instead. func (*BattleReport) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{11} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{12} } func (x *BattleReport) GetInfo() *BattleInfo { @@ -1065,7 +1145,7 @@ type BattleRpcMessage struct { func (x *BattleRpcMessage) Reset() { *x = BattleRpcMessage{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[12] + mi := &file_battle_battle_msg_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1078,7 +1158,7 @@ func (x *BattleRpcMessage) String() string { func (*BattleRpcMessage) ProtoMessage() {} func (x *BattleRpcMessage) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[12] + mi := &file_battle_battle_msg_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1091,7 +1171,7 @@ func (x *BattleRpcMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleRpcMessage.ProtoReflect.Descriptor instead. func (*BattleRpcMessage) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{12} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{13} } func (x *BattleRpcMessage) GetRid() uint64 { @@ -1127,7 +1207,7 @@ type BattleCheckResults struct { func (x *BattleCheckResults) Reset() { *x = BattleCheckResults{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[13] + mi := &file_battle_battle_msg_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1140,7 +1220,7 @@ func (x *BattleCheckResults) String() string { func (*BattleCheckResults) ProtoMessage() {} func (x *BattleCheckResults) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[13] + mi := &file_battle_battle_msg_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1153,7 +1233,7 @@ func (x *BattleCheckResults) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleCheckResults.ProtoReflect.Descriptor instead. func (*BattleCheckResults) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{13} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{14} } func (x *BattleCheckResults) GetIscheck() bool { @@ -1175,7 +1255,7 @@ type BattleGetInfoReq struct { func (x *BattleGetInfoReq) Reset() { *x = BattleGetInfoReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[14] + mi := &file_battle_battle_msg_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1188,7 +1268,7 @@ func (x *BattleGetInfoReq) String() string { func (*BattleGetInfoReq) ProtoMessage() {} func (x *BattleGetInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[14] + mi := &file_battle_battle_msg_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1201,7 +1281,7 @@ func (x *BattleGetInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleGetInfoReq.ProtoReflect.Descriptor instead. func (*BattleGetInfoReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{14} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{15} } func (x *BattleGetInfoReq) GetBattleid() string { @@ -1224,7 +1304,7 @@ type BattleGetInfoResp struct { func (x *BattleGetInfoResp) Reset() { *x = BattleGetInfoResp{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[15] + mi := &file_battle_battle_msg_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1237,7 +1317,7 @@ func (x *BattleGetInfoResp) String() string { func (*BattleGetInfoResp) ProtoMessage() {} func (x *BattleGetInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[15] + mi := &file_battle_battle_msg_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1250,7 +1330,7 @@ func (x *BattleGetInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleGetInfoResp.ProtoReflect.Descriptor instead. func (*BattleGetInfoResp) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{15} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{16} } func (x *BattleGetInfoResp) GetBattleid() string { @@ -1279,7 +1359,7 @@ type BattleCreateServerReq struct { func (x *BattleCreateServerReq) Reset() { *x = BattleCreateServerReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[16] + mi := &file_battle_battle_msg_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1292,7 +1372,7 @@ func (x *BattleCreateServerReq) String() string { func (*BattleCreateServerReq) ProtoMessage() {} func (x *BattleCreateServerReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[16] + mi := &file_battle_battle_msg_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1305,7 +1385,7 @@ func (x *BattleCreateServerReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleCreateServerReq.ProtoReflect.Descriptor instead. func (*BattleCreateServerReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{16} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{17} } func (x *BattleCreateServerReq) GetInfo() *BattleInfo { @@ -1327,7 +1407,7 @@ type BattleCreateServerResp struct { func (x *BattleCreateServerResp) Reset() { *x = BattleCreateServerResp{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[17] + mi := &file_battle_battle_msg_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1340,7 +1420,7 @@ func (x *BattleCreateServerResp) String() string { func (*BattleCreateServerResp) ProtoMessage() {} func (x *BattleCreateServerResp) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[17] + mi := &file_battle_battle_msg_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1353,7 +1433,7 @@ func (x *BattleCreateServerResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleCreateServerResp.ProtoReflect.Descriptor instead. func (*BattleCreateServerResp) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{17} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{18} } func (x *BattleCreateServerResp) GetIssucc() bool { @@ -1377,7 +1457,7 @@ type BattleInCmdReq struct { func (x *BattleInCmdReq) Reset() { *x = BattleInCmdReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[18] + mi := &file_battle_battle_msg_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1390,7 +1470,7 @@ func (x *BattleInCmdReq) String() string { func (*BattleInCmdReq) ProtoMessage() {} func (x *BattleInCmdReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[18] + mi := &file_battle_battle_msg_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1403,7 +1483,7 @@ func (x *BattleInCmdReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleInCmdReq.ProtoReflect.Descriptor instead. func (*BattleInCmdReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{18} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{19} } func (x *BattleInCmdReq) GetBattleid() string { @@ -1441,7 +1521,7 @@ type BattleInCmdResp struct { func (x *BattleInCmdResp) Reset() { *x = BattleInCmdResp{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[19] + mi := &file_battle_battle_msg_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1454,7 +1534,7 @@ func (x *BattleInCmdResp) String() string { func (*BattleInCmdResp) ProtoMessage() {} func (x *BattleInCmdResp) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[19] + mi := &file_battle_battle_msg_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1467,7 +1547,7 @@ func (x *BattleInCmdResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleInCmdResp.ProtoReflect.Descriptor instead. func (*BattleInCmdResp) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{19} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{20} } func (x *BattleInCmdResp) GetBattleid() string { @@ -1504,7 +1584,7 @@ type BattleOutCmdPush struct { func (x *BattleOutCmdPush) Reset() { *x = BattleOutCmdPush{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[20] + mi := &file_battle_battle_msg_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1517,7 +1597,7 @@ func (x *BattleOutCmdPush) String() string { func (*BattleOutCmdPush) ProtoMessage() {} func (x *BattleOutCmdPush) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[20] + mi := &file_battle_battle_msg_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1530,7 +1610,7 @@ func (x *BattleOutCmdPush) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleOutCmdPush.ProtoReflect.Descriptor instead. func (*BattleOutCmdPush) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{20} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{21} } func (x *BattleOutCmdPush) GetBattleid() string { @@ -1560,7 +1640,7 @@ type BattleFinishPush struct { func (x *BattleFinishPush) Reset() { *x = BattleFinishPush{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[21] + mi := &file_battle_battle_msg_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1573,7 +1653,7 @@ func (x *BattleFinishPush) String() string { func (*BattleFinishPush) ProtoMessage() {} func (x *BattleFinishPush) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[21] + mi := &file_battle_battle_msg_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1586,7 +1666,7 @@ func (x *BattleFinishPush) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleFinishPush.ProtoReflect.Descriptor instead. func (*BattleFinishPush) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{21} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{22} } func (x *BattleFinishPush) GetBattleid() string { @@ -1616,7 +1696,7 @@ type BattleConcedeReq struct { func (x *BattleConcedeReq) Reset() { *x = BattleConcedeReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[22] + mi := &file_battle_battle_msg_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1629,7 +1709,7 @@ func (x *BattleConcedeReq) String() string { func (*BattleConcedeReq) ProtoMessage() {} func (x *BattleConcedeReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[22] + mi := &file_battle_battle_msg_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1642,7 +1722,7 @@ func (x *BattleConcedeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleConcedeReq.ProtoReflect.Descriptor instead. func (*BattleConcedeReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{22} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{23} } func (x *BattleConcedeReq) GetBattleid() string { @@ -1671,7 +1751,7 @@ type BattleConcedeResp struct { func (x *BattleConcedeResp) Reset() { *x = BattleConcedeResp{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[23] + mi := &file_battle_battle_msg_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1684,7 +1764,7 @@ func (x *BattleConcedeResp) String() string { func (*BattleConcedeResp) ProtoMessage() {} func (x *BattleConcedeResp) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[23] + mi := &file_battle_battle_msg_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1697,7 +1777,7 @@ func (x *BattleConcedeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleConcedeResp.ProtoReflect.Descriptor instead. func (*BattleConcedeResp) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{23} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{24} } func (x *BattleConcedeResp) GetIssucc() bool { @@ -1721,7 +1801,7 @@ type BattleStateInfo struct { func (x *BattleStateInfo) Reset() { *x = BattleStateInfo{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[24] + mi := &file_battle_battle_msg_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1734,7 +1814,7 @@ func (x *BattleStateInfo) String() string { func (*BattleStateInfo) ProtoMessage() {} func (x *BattleStateInfo) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[24] + mi := &file_battle_battle_msg_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1747,7 +1827,7 @@ func (x *BattleStateInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BattleStateInfo.ProtoReflect.Descriptor instead. func (*BattleStateInfo) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{24} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{25} } func (x *BattleStateInfo) GetInfo() *BattleInfo { @@ -1788,7 +1868,7 @@ type StroneBattleReq struct { func (x *StroneBattleReq) Reset() { *x = StroneBattleReq{} if protoimpl.UnsafeEnabled { - mi := &file_battle_battle_msg_proto_msgTypes[25] + mi := &file_battle_battle_msg_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1801,7 +1881,7 @@ func (x *StroneBattleReq) String() string { func (*StroneBattleReq) ProtoMessage() {} func (x *StroneBattleReq) ProtoReflect() protoreflect.Message { - mi := &file_battle_battle_msg_proto_msgTypes[25] + mi := &file_battle_battle_msg_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1814,7 +1894,7 @@ func (x *StroneBattleReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StroneBattleReq.ProtoReflect.Descriptor instead. func (*StroneBattleReq) Descriptor() ([]byte, []int) { - return file_battle_battle_msg_proto_rawDescGZIP(), []int{25} + return file_battle_battle_msg_proto_rawDescGZIP(), []int{26} } func (x *StroneBattleReq) GetDiBuff() []*DySkillData { @@ -1910,191 +1990,202 @@ var file_battle_battle_msg_proto_rawDesc = []byte{ 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x5b, 0x0a, - 0x0c, 0x50, 0x56, 0x50, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 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, 0x1f, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, - 0x72, 0x6f, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x0c, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x56, 0x50, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x09, - 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x50, 0x56, 0x50, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x62, 0x75, 0x6c, - 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, - 0x50, 0x56, 0x50, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x62, 0x75, - 0x6c, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x83, 0x02, 0x0a, 0x0e, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x52, 0x54, 0x50, 0x56, 0x50, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x65, - 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, - 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x62, 0x75, - 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0b, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xf1, - 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4c, 0x50, 0x56, 0x45, 0x52, 0x65, 0x71, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xaa, 0x01, + 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x48, 0x65, 0x72, 0x6f, 0x50, 0x56, 0x45, 0x52, + 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x50, 0x56, 0x50, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x5b, 0x0a, 0x0c, 0x50, 0x56, + 0x50, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 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, 0x1f, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x48, 0x65, 0x72, 0x6f, 0x52, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x50, 0x56, 0x50, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x65, 0x64, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x50, + 0x56, 0x50, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x64, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x50, 0x56, 0x50, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x65, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x83, 0x02, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x52, 0x54, 0x50, 0x56, 0x50, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, + 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, + 0x64, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, + 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x62, 0x75, 0x6c, 0x65, 0x66, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, + 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x62, 0x75, 0x6c, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xf1, 0x01, 0x0a, 0x0d, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4c, 0x50, 0x56, 0x45, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, + 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, + 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, + 0x63, 0x65, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, + 0x0a, 0x0e, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x6c, + 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x22, + 0xa3, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x56, 0x42, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x6c, 0x65, 0x61, 0x64, - 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x6f, 0x6e, 0x73, 0x74, - 0x65, 0x72, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x6d, 0x6f, 0x6e, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x08, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x56, 0x42, - 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x64, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xbe, 0x02, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x07, 0x6d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xbe, 0x02, 0x0a, 0x0a, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, - 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x72, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x64, - 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x08, 0x72, 0x65, 0x64, - 0x66, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, - 0x70, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x51, 0x0a, 0x09, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc8, 0x02, 0x0a, - 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 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, 0x43, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, - 0x6e, 0x53, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, - 0x53, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x69, 0x6e, 0x63, 0x6d, 0x64, 0x18, 0x04, 0x20, + 0x65, 0x73, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x05, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x64, + 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x08, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x70, + 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x46, 0x6f, 0x72, 0x6d, 0x74, 0x52, 0x09, 0x62, 0x75, 0x6c, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x51, 0x0a, 0x09, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x0c, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 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, 0x43, + 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, + 0x6f, 0x73, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x53, 0x69, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x20, 0x0a, 0x05, 0x69, 0x6e, 0x63, 0x6d, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x05, 0x69, 0x6e, + 0x63, 0x6d, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, - 0x05, 0x69, 0x6e, 0x63, 0x6d, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, - 0x6d, 0x64, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x14, - 0x0a, 0x05, 0x64, 0x65, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, - 0x65, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, - 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, - 0x52, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x52, 0x70, 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x2e, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, - 0x2e, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, - 0x55, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, + 0x06, 0x6f, 0x75, 0x74, 0x63, 0x6d, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x64, + 0x65, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x61, 0x74, + 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x68, 0x61, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x76, 0x65, 0x22, 0x66, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x70, + 0x63, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x12, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x2e, 0x0a, 0x10, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x22, 0x55, 0x0a, 0x11, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x24, 0x0a, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x22, 0x38, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 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, 0x22, 0x30, 0x0a, + 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, + 0x5c, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x64, + 0x65, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x02, 0x69, 0x6e, 0x22, 0x61, 0x0a, + 0x0f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x02, + 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, + 0x65, 0x43, 0x6d, 0x64, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, + 0x63, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, + 0x22, 0x4c, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x43, 0x6d, 0x64, + 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, - 0x12, 0x24, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x38, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 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, - 0x22, 0x30, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, - 0x63, 0x63, 0x22, 0x5c, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, - 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x73, 0x69, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x02, 0x69, 0x6e, - 0x22, 0x61, 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6d, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, - 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x63, 0x63, 0x22, 0x4c, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x75, 0x74, - 0x43, 0x6d, 0x64, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, - 0x65, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, - 0x64, 0x22, 0x48, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x10, 0x42, - 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x22, - 0x2b, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x82, 0x01, 0x0a, - 0x0f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 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, 0x24, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x43, 0x6d, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x07, - 0x6f, 0x75, 0x74, 0x43, 0x6d, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x43, 0x6d, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, - 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6d, 0x64, - 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x06, 0x64, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x06, 0x64, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x21, - 0x0a, 0x05, 0x42, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, - 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x42, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x50, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x09, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x50, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x1c, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x48, + 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x75, + 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x77, 0x69, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x22, 0x42, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x22, 0x2b, 0x0a, 0x11, + 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x82, 0x01, 0x0a, 0x0f, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 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, 0x24, + 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x43, 0x6d, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x52, 0x07, 0x6f, 0x75, 0x74, + 0x43, 0x6d, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6d, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x43, 0x6d, 0x64, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6d, 0x64, 0x73, 0x22, 0xf2, + 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x24, 0x0a, 0x06, 0x64, 0x69, 0x42, 0x75, 0x66, 0x66, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x06, 0x64, 0x69, 0x42, 0x75, 0x66, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x12, 0x1f, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x21, 0x0a, 0x05, 0x42, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, + 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x42, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x05, 0x50, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, + 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x50, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2109,85 +2200,88 @@ func file_battle_battle_msg_proto_rawDescGZIP() []byte { return file_battle_battle_msg_proto_rawDescData } -var file_battle_battle_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_battle_battle_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_battle_battle_msg_proto_goTypes = []interface{}{ (*LineUp)(nil), // 0: LineUp (*BattleFormation)(nil), // 1: BattleFormation (*BattleEVEReq)(nil), // 2: BattleEVEReq (*BattlePVEReq)(nil), // 3: BattlePVEReq - (*PVPFormation)(nil), // 4: PVPFormation - (*BattlePVPReq)(nil), // 5: BattlePVPReq - (*BattleRTPVPReq)(nil), // 6: BattleRTPVPReq - (*BattleLPVEReq)(nil), // 7: BattleLPVEReq - (*BattlePVBReq)(nil), // 8: BattlePVBReq - (*BattleInfo)(nil), // 9: BattleInfo - (*BattleCmd)(nil), // 10: BattleCmd - (*BattleReport)(nil), // 11: BattleReport - (*BattleRpcMessage)(nil), // 12: BattleRpcMessage - (*BattleCheckResults)(nil), // 13: BattleCheckResults - (*BattleGetInfoReq)(nil), // 14: BattleGetInfoReq - (*BattleGetInfoResp)(nil), // 15: BattleGetInfoResp - (*BattleCreateServerReq)(nil), // 16: BattleCreateServerReq - (*BattleCreateServerResp)(nil), // 17: BattleCreateServerResp - (*BattleInCmdReq)(nil), // 18: BattleInCmdReq - (*BattleInCmdResp)(nil), // 19: BattleInCmdResp - (*BattleOutCmdPush)(nil), // 20: BattleOutCmdPush - (*BattleFinishPush)(nil), // 21: BattleFinishPush - (*BattleConcedeReq)(nil), // 22: BattleConcedeReq - (*BattleConcedeResp)(nil), // 23: BattleConcedeResp - (*BattleStateInfo)(nil), // 24: BattleStateInfo - (*StroneBattleReq)(nil), // 25: StroneBattleReq - (PlayType)(0), // 26: PlayType - (*DBHero)(nil), // 27: DBHero - (*BattleRole)(nil), // 28: BattleRole - (BattleType)(0), // 29: BattleType - (*DBBattleFormt)(nil), // 30: DBBattleFormt - (*anypb.Any)(nil), // 31: google.protobuf.Any - (*DySkillData)(nil), // 32: DySkillData + (*BattleHeroPVEReq)(nil), // 4: BattleHeroPVEReq + (*PVPFormation)(nil), // 5: PVPFormation + (*BattlePVPReq)(nil), // 6: BattlePVPReq + (*BattleRTPVPReq)(nil), // 7: BattleRTPVPReq + (*BattleLPVEReq)(nil), // 8: BattleLPVEReq + (*BattlePVBReq)(nil), // 9: BattlePVBReq + (*BattleInfo)(nil), // 10: BattleInfo + (*BattleCmd)(nil), // 11: BattleCmd + (*BattleReport)(nil), // 12: BattleReport + (*BattleRpcMessage)(nil), // 13: BattleRpcMessage + (*BattleCheckResults)(nil), // 14: BattleCheckResults + (*BattleGetInfoReq)(nil), // 15: BattleGetInfoReq + (*BattleGetInfoResp)(nil), // 16: BattleGetInfoResp + (*BattleCreateServerReq)(nil), // 17: BattleCreateServerReq + (*BattleCreateServerResp)(nil), // 18: BattleCreateServerResp + (*BattleInCmdReq)(nil), // 19: BattleInCmdReq + (*BattleInCmdResp)(nil), // 20: BattleInCmdResp + (*BattleOutCmdPush)(nil), // 21: BattleOutCmdPush + (*BattleFinishPush)(nil), // 22: BattleFinishPush + (*BattleConcedeReq)(nil), // 23: BattleConcedeReq + (*BattleConcedeResp)(nil), // 24: BattleConcedeResp + (*BattleStateInfo)(nil), // 25: BattleStateInfo + (*StroneBattleReq)(nil), // 26: StroneBattleReq + (PlayType)(0), // 27: PlayType + (*DBHero)(nil), // 28: DBHero + (*BattleRole)(nil), // 29: BattleRole + (BattleType)(0), // 30: BattleType + (*DBBattleFormt)(nil), // 31: DBBattleFormt + (*anypb.Any)(nil), // 32: google.protobuf.Any + (*DySkillData)(nil), // 33: DySkillData } var file_battle_battle_msg_proto_depIdxs = []int32{ - 26, // 0: BattleEVEReq.ptype:type_name -> PlayType + 27, // 0: BattleEVEReq.ptype:type_name -> PlayType 1, // 1: BattleEVEReq.format:type_name -> BattleFormation - 26, // 2: BattlePVEReq.ptype:type_name -> PlayType + 27, // 2: BattlePVEReq.ptype:type_name -> PlayType 1, // 3: BattlePVEReq.format:type_name -> BattleFormation - 27, // 4: PVPFormation.format:type_name -> DBHero - 26, // 5: BattlePVPReq.ptype:type_name -> PlayType - 4, // 6: BattlePVPReq.redformat:type_name -> PVPFormation - 4, // 7: BattlePVPReq.buleformat:type_name -> PVPFormation - 26, // 8: BattleRTPVPReq.ptype:type_name -> PlayType - 1, // 9: BattleRTPVPReq.redformat:type_name -> BattleFormation - 1, // 10: BattleRTPVPReq.bulefformat:type_name -> BattleFormation - 26, // 11: BattleLPVEReq.ptype:type_name -> PlayType - 1, // 12: BattleLPVEReq.format:type_name -> BattleFormation - 28, // 13: BattleLPVEReq.monsters:type_name -> BattleRole - 26, // 14: BattlePVBReq.ptype:type_name -> PlayType - 1, // 15: BattlePVBReq.format:type_name -> BattleFormation - 29, // 16: BattleInfo.btype:type_name -> BattleType - 26, // 17: BattleInfo.ptype:type_name -> PlayType - 30, // 18: BattleInfo.redflist:type_name -> DBBattleFormt - 30, // 19: BattleInfo.buleflist:type_name -> DBBattleFormt - 9, // 20: BattleReport.info:type_name -> BattleInfo - 10, // 21: BattleReport.incmd:type_name -> BattleCmd - 10, // 22: BattleReport.outcmd:type_name -> BattleCmd - 28, // 23: BattleReport.alive:type_name -> BattleRole - 31, // 24: BattleRpcMessage.data:type_name -> google.protobuf.Any - 24, // 25: BattleGetInfoResp.info:type_name -> BattleStateInfo - 9, // 26: BattleCreateServerReq.info:type_name -> BattleInfo - 10, // 27: BattleInCmdReq.in:type_name -> BattleCmd - 10, // 28: BattleInCmdResp.in:type_name -> BattleCmd - 10, // 29: BattleOutCmdPush.cmd:type_name -> BattleCmd - 9, // 30: BattleStateInfo.info:type_name -> BattleInfo - 10, // 31: BattleStateInfo.outCmds:type_name -> BattleCmd - 10, // 32: BattleStateInfo.inputCmds:type_name -> BattleCmd - 32, // 33: StroneBattleReq.diBuff:type_name -> DySkillData - 28, // 34: StroneBattleReq.role:type_name -> BattleRole - 29, // 35: StroneBattleReq.Btype:type_name -> BattleType - 26, // 36: StroneBattleReq.Ptype:type_name -> PlayType - 37, // [37:37] is the sub-list for method output_type - 37, // [37:37] is the sub-list for method input_type - 37, // [37:37] is the sub-list for extension type_name - 37, // [37:37] is the sub-list for extension extendee - 0, // [0:37] is the sub-list for field type_name + 27, // 4: BattleHeroPVEReq.ptype:type_name -> PlayType + 5, // 5: BattleHeroPVEReq.redformat:type_name -> PVPFormation + 28, // 6: PVPFormation.format:type_name -> DBHero + 27, // 7: BattlePVPReq.ptype:type_name -> PlayType + 5, // 8: BattlePVPReq.redformat:type_name -> PVPFormation + 5, // 9: BattlePVPReq.buleformat:type_name -> PVPFormation + 27, // 10: BattleRTPVPReq.ptype:type_name -> PlayType + 1, // 11: BattleRTPVPReq.redformat:type_name -> BattleFormation + 1, // 12: BattleRTPVPReq.bulefformat:type_name -> BattleFormation + 27, // 13: BattleLPVEReq.ptype:type_name -> PlayType + 1, // 14: BattleLPVEReq.format:type_name -> BattleFormation + 29, // 15: BattleLPVEReq.monsters:type_name -> BattleRole + 27, // 16: BattlePVBReq.ptype:type_name -> PlayType + 1, // 17: BattlePVBReq.format:type_name -> BattleFormation + 30, // 18: BattleInfo.btype:type_name -> BattleType + 27, // 19: BattleInfo.ptype:type_name -> PlayType + 31, // 20: BattleInfo.redflist:type_name -> DBBattleFormt + 31, // 21: BattleInfo.buleflist:type_name -> DBBattleFormt + 10, // 22: BattleReport.info:type_name -> BattleInfo + 11, // 23: BattleReport.incmd:type_name -> BattleCmd + 11, // 24: BattleReport.outcmd:type_name -> BattleCmd + 29, // 25: BattleReport.alive:type_name -> BattleRole + 32, // 26: BattleRpcMessage.data:type_name -> google.protobuf.Any + 25, // 27: BattleGetInfoResp.info:type_name -> BattleStateInfo + 10, // 28: BattleCreateServerReq.info:type_name -> BattleInfo + 11, // 29: BattleInCmdReq.in:type_name -> BattleCmd + 11, // 30: BattleInCmdResp.in:type_name -> BattleCmd + 11, // 31: BattleOutCmdPush.cmd:type_name -> BattleCmd + 10, // 32: BattleStateInfo.info:type_name -> BattleInfo + 11, // 33: BattleStateInfo.outCmds:type_name -> BattleCmd + 11, // 34: BattleStateInfo.inputCmds:type_name -> BattleCmd + 33, // 35: StroneBattleReq.diBuff:type_name -> DySkillData + 29, // 36: StroneBattleReq.role:type_name -> BattleRole + 30, // 37: StroneBattleReq.Btype:type_name -> BattleType + 27, // 38: StroneBattleReq.Ptype:type_name -> PlayType + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_battle_battle_msg_proto_init() } @@ -2247,7 +2341,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PVPFormation); i { + switch v := v.(*BattleHeroPVEReq); i { case 0: return &v.state case 1: @@ -2259,7 +2353,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattlePVPReq); i { + switch v := v.(*PVPFormation); i { case 0: return &v.state case 1: @@ -2271,7 +2365,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleRTPVPReq); i { + switch v := v.(*BattlePVPReq); i { case 0: return &v.state case 1: @@ -2283,7 +2377,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleLPVEReq); i { + switch v := v.(*BattleRTPVPReq); i { case 0: return &v.state case 1: @@ -2295,7 +2389,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattlePVBReq); i { + switch v := v.(*BattleLPVEReq); i { case 0: return &v.state case 1: @@ -2307,7 +2401,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleInfo); i { + switch v := v.(*BattlePVBReq); i { case 0: return &v.state case 1: @@ -2319,7 +2413,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleCmd); i { + switch v := v.(*BattleInfo); i { case 0: return &v.state case 1: @@ -2331,7 +2425,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleReport); i { + switch v := v.(*BattleCmd); i { case 0: return &v.state case 1: @@ -2343,7 +2437,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleRpcMessage); i { + switch v := v.(*BattleReport); i { case 0: return &v.state case 1: @@ -2355,7 +2449,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleCheckResults); i { + switch v := v.(*BattleRpcMessage); i { case 0: return &v.state case 1: @@ -2367,7 +2461,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleGetInfoReq); i { + switch v := v.(*BattleCheckResults); i { case 0: return &v.state case 1: @@ -2379,7 +2473,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleGetInfoResp); i { + switch v := v.(*BattleGetInfoReq); i { case 0: return &v.state case 1: @@ -2391,7 +2485,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleCreateServerReq); i { + switch v := v.(*BattleGetInfoResp); i { case 0: return &v.state case 1: @@ -2403,7 +2497,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleCreateServerResp); i { + switch v := v.(*BattleCreateServerReq); i { case 0: return &v.state case 1: @@ -2415,7 +2509,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleInCmdReq); i { + switch v := v.(*BattleCreateServerResp); i { case 0: return &v.state case 1: @@ -2427,7 +2521,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleInCmdResp); i { + switch v := v.(*BattleInCmdReq); i { case 0: return &v.state case 1: @@ -2439,7 +2533,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleOutCmdPush); i { + switch v := v.(*BattleInCmdResp); i { case 0: return &v.state case 1: @@ -2451,7 +2545,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleFinishPush); i { + switch v := v.(*BattleOutCmdPush); i { case 0: return &v.state case 1: @@ -2463,7 +2557,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleConcedeReq); i { + switch v := v.(*BattleFinishPush); i { case 0: return &v.state case 1: @@ -2475,7 +2569,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleConcedeResp); i { + switch v := v.(*BattleConcedeReq); i { case 0: return &v.state case 1: @@ -2487,7 +2581,7 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BattleStateInfo); i { + switch v := v.(*BattleConcedeResp); i { case 0: return &v.state case 1: @@ -2499,6 +2593,18 @@ func file_battle_battle_msg_proto_init() { } } file_battle_battle_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BattleStateInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_battle_battle_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StroneBattleReq); i { case 0: return &v.state @@ -2517,7 +2623,7 @@ func file_battle_battle_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_battle_battle_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 26, + NumMessages: 27, NumExtensions: 0, NumServices: 0, },