From 4cfcf51643a0ad82353229b0117dba95dfd9e101 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 10 Apr 2023 18:39:42 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=AD=A6=E9=A6=86?= =?UTF-8?q?=E8=B8=A2=E4=BA=BA=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/practice/api_expulsion.go | 14 +- pb/practice_msg.pb.go | 906 +++++++++++++++++------------- 2 files changed, 536 insertions(+), 384 deletions(-) diff --git a/modules/practice/api_expulsion.go b/modules/practice/api_expulsion.go index be7abcf26..e2c3297eb 100644 --- a/modules/practice/api_expulsion.go +++ b/modules/practice/api_expulsion.go @@ -184,12 +184,6 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls if code = this.module.ModuleHero.KungFuHero(_session, pillar.Hero, false, ""); code != pb.ErrorCode_Success { return } - if ok { //在线直接推送消息 - if err = _session.Push(); err != nil { - this.module.Errorln(err) - } - this.module.PutUserSession(_session) - } res := make([]*pb.UserAssets, 0) for _, v := range ants1 { @@ -227,6 +221,14 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls this.module.modelPandata.Change(pillar.Uid, map[string]interface{}{ "knapsack": froom.Knapsack, }) + if ok { //在线直接推送消息 + _session.SendMsg(string(this.module.GetType()), "beexpulsion", &pb.PracticeBeExpulsionPush{Pillar: pillar, Knapsack: froom.Knapsack}) + + if err = _session.Push(); err != nil { + this.module.Errorln(err) + } + this.module.PutUserSession(_session) + } session.SendMsg(string(this.module.GetType()), "expulsion", &pb.PracticeExpulsionResp{Pillar: pillar, Knapsack: froom.Knapsack}) return } diff --git a/pb/practice_msg.pb.go b/pb/practice_msg.pb.go index 973b635d9..cef614102 100644 --- a/pb/practice_msg.pb.go +++ b/pb/practice_msg.pb.go @@ -107,6 +107,54 @@ func (x *PracticeInfoResp) GetInfo() *DBPracticeRoom { return nil } +///推送自己的房价数据变化 +type PracticeRommChangePush struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Info *DBPracticeRoom `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` +} + +func (x *PracticeRommChangePush) Reset() { + *x = PracticeRommChangePush{} + if protoimpl.UnsafeEnabled { + mi := &file_practice_practice_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PracticeRommChangePush) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PracticeRommChangePush) ProtoMessage() {} + +func (x *PracticeRommChangePush) ProtoReflect() protoreflect.Message { + mi := &file_practice_practice_msg_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PracticeRommChangePush.ProtoReflect.Descriptor instead. +func (*PracticeRommChangePush) Descriptor() ([]byte, []int) { + return file_practice_practice_msg_proto_rawDescGZIP(), []int{2} +} + +func (x *PracticeRommChangePush) GetInfo() *DBPracticeRoom { + if x != nil { + return x.Info + } + return nil +} + ///请求好友武馆房间信息 type PracticeFriendRommReq struct { state protoimpl.MessageState @@ -119,7 +167,7 @@ type PracticeFriendRommReq struct { func (x *PracticeFriendRommReq) Reset() { *x = PracticeFriendRommReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[2] + mi := &file_practice_practice_msg_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -132,7 +180,7 @@ func (x *PracticeFriendRommReq) String() string { func (*PracticeFriendRommReq) ProtoMessage() {} func (x *PracticeFriendRommReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[2] + mi := &file_practice_practice_msg_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -145,7 +193,7 @@ func (x *PracticeFriendRommReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeFriendRommReq.ProtoReflect.Descriptor instead. func (*PracticeFriendRommReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{2} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{3} } func (x *PracticeFriendRommReq) GetFuid() []string { @@ -167,7 +215,7 @@ type PracticeFriendRommResp struct { func (x *PracticeFriendRommResp) Reset() { *x = PracticeFriendRommResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[3] + mi := &file_practice_practice_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -180,7 +228,7 @@ func (x *PracticeFriendRommResp) String() string { func (*PracticeFriendRommResp) ProtoMessage() {} func (x *PracticeFriendRommResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[3] + mi := &file_practice_practice_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -193,7 +241,7 @@ func (x *PracticeFriendRommResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeFriendRommResp.ProtoReflect.Descriptor instead. func (*PracticeFriendRommResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{3} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{4} } func (x *PracticeFriendRommResp) GetInfos() map[string]*DBPracticeRoom { @@ -215,7 +263,7 @@ type PracticeUnLockReq struct { func (x *PracticeUnLockReq) Reset() { *x = PracticeUnLockReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[4] + mi := &file_practice_practice_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -228,7 +276,7 @@ func (x *PracticeUnLockReq) String() string { func (*PracticeUnLockReq) ProtoMessage() {} func (x *PracticeUnLockReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[4] + mi := &file_practice_practice_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -241,7 +289,7 @@ func (x *PracticeUnLockReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeUnLockReq.ProtoReflect.Descriptor instead. func (*PracticeUnLockReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{4} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{5} } func (x *PracticeUnLockReq) GetIndex() int32 { @@ -262,7 +310,7 @@ type PracticeUnLockResp struct { func (x *PracticeUnLockResp) Reset() { *x = PracticeUnLockResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[5] + mi := &file_practice_practice_msg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -275,7 +323,7 @@ func (x *PracticeUnLockResp) String() string { func (*PracticeUnLockResp) ProtoMessage() {} func (x *PracticeUnLockResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[5] + mi := &file_practice_practice_msg_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -288,7 +336,7 @@ func (x *PracticeUnLockResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeUnLockResp.ProtoReflect.Descriptor instead. func (*PracticeUnLockResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{5} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{6} } func (x *PracticeUnLockResp) GetInfo() *DBPracticeRoom { @@ -310,7 +358,7 @@ type PracticeUpgradeReq struct { func (x *PracticeUpgradeReq) Reset() { *x = PracticeUpgradeReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[6] + mi := &file_practice_practice_msg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -323,7 +371,7 @@ func (x *PracticeUpgradeReq) String() string { func (*PracticeUpgradeReq) ProtoMessage() {} func (x *PracticeUpgradeReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[6] + mi := &file_practice_practice_msg_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -336,7 +384,7 @@ func (x *PracticeUpgradeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeUpgradeReq.ProtoReflect.Descriptor instead. func (*PracticeUpgradeReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{6} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{7} } func (x *PracticeUpgradeReq) GetIndex() int32 { @@ -358,7 +406,7 @@ type PracticeUpgradeResp struct { func (x *PracticeUpgradeResp) Reset() { *x = PracticeUpgradeResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[7] + mi := &file_practice_practice_msg_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -371,7 +419,7 @@ func (x *PracticeUpgradeResp) String() string { func (*PracticeUpgradeResp) ProtoMessage() {} func (x *PracticeUpgradeResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[7] + mi := &file_practice_practice_msg_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -384,7 +432,7 @@ func (x *PracticeUpgradeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeUpgradeResp.ProtoReflect.Descriptor instead. func (*PracticeUpgradeResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{7} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{8} } func (x *PracticeUpgradeResp) GetIndex() int32 { @@ -416,7 +464,7 @@ type PracticePracticeReq struct { func (x *PracticePracticeReq) Reset() { *x = PracticePracticeReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[8] + mi := &file_practice_practice_msg_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -429,7 +477,7 @@ func (x *PracticePracticeReq) String() string { func (*PracticePracticeReq) ProtoMessage() {} func (x *PracticePracticeReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[8] + mi := &file_practice_practice_msg_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -442,7 +490,7 @@ func (x *PracticePracticeReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticePracticeReq.ProtoReflect.Descriptor instead. func (*PracticePracticeReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{8} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{9} } func (x *PracticePracticeReq) GetIndex() int32 { @@ -484,7 +532,7 @@ type PracticePracticeResp struct { func (x *PracticePracticeResp) Reset() { *x = PracticePracticeResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[9] + mi := &file_practice_practice_msg_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -497,7 +545,7 @@ func (x *PracticePracticeResp) String() string { func (*PracticePracticeResp) ProtoMessage() {} func (x *PracticePracticeResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[9] + mi := &file_practice_practice_msg_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -510,7 +558,7 @@ func (x *PracticePracticeResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticePracticeResp.ProtoReflect.Descriptor instead. func (*PracticePracticeResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{9} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{10} } func (x *PracticePracticeResp) GetPillar() *DBPracticePillar { @@ -535,7 +583,7 @@ type PracticeLootReq struct { func (x *PracticeLootReq) Reset() { *x = PracticeLootReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[10] + mi := &file_practice_practice_msg_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -548,7 +596,7 @@ func (x *PracticeLootReq) String() string { func (*PracticeLootReq) ProtoMessage() {} func (x *PracticeLootReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[10] + mi := &file_practice_practice_msg_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -561,7 +609,7 @@ func (x *PracticeLootReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeLootReq.ProtoReflect.Descriptor instead. func (*PracticeLootReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{10} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{11} } func (x *PracticeLootReq) GetFriend() string { @@ -604,7 +652,7 @@ type PracticeLootResp struct { func (x *PracticeLootResp) Reset() { *x = PracticeLootResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[11] + mi := &file_practice_practice_msg_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -617,7 +665,7 @@ func (x *PracticeLootResp) String() string { func (*PracticeLootResp) ProtoMessage() {} func (x *PracticeLootResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[11] + mi := &file_practice_practice_msg_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -630,7 +678,7 @@ func (x *PracticeLootResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeLootResp.ProtoReflect.Descriptor instead. func (*PracticeLootResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{11} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{12} } func (x *PracticeLootResp) GetFriend() string { @@ -657,7 +705,7 @@ type PracticeExpulsionReq struct { func (x *PracticeExpulsionReq) Reset() { *x = PracticeExpulsionReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[12] + mi := &file_practice_practice_msg_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -670,7 +718,7 @@ func (x *PracticeExpulsionReq) String() string { func (*PracticeExpulsionReq) ProtoMessage() {} func (x *PracticeExpulsionReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[12] + mi := &file_practice_practice_msg_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -683,7 +731,7 @@ func (x *PracticeExpulsionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeExpulsionReq.ProtoReflect.Descriptor instead. func (*PracticeExpulsionReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{12} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{13} } type PracticeExpulsionResp struct { @@ -698,7 +746,7 @@ type PracticeExpulsionResp struct { func (x *PracticeExpulsionResp) Reset() { *x = PracticeExpulsionResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[13] + mi := &file_practice_practice_msg_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -711,7 +759,7 @@ func (x *PracticeExpulsionResp) String() string { func (*PracticeExpulsionResp) ProtoMessage() {} func (x *PracticeExpulsionResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[13] + mi := &file_practice_practice_msg_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -724,7 +772,7 @@ func (x *PracticeExpulsionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeExpulsionResp.ProtoReflect.Descriptor instead. func (*PracticeExpulsionResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{13} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{14} } func (x *PracticeExpulsionResp) GetPillar() *DBPracticePillar { @@ -741,6 +789,62 @@ func (x *PracticeExpulsionResp) GetKnapsack() map[string]int32 { return nil } +///自己的英雄被驱逐推送 +type PracticeBeExpulsionPush struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pillar *DBPracticePillar `protobuf:"bytes,1,opt,name=pillar,proto3" json:"pillar"` + Knapsack map[string]int32 `protobuf:"bytes,2,rep,name=knapsack,proto3" json:"knapsack" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //资源 +} + +func (x *PracticeBeExpulsionPush) Reset() { + *x = PracticeBeExpulsionPush{} + if protoimpl.UnsafeEnabled { + mi := &file_practice_practice_msg_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PracticeBeExpulsionPush) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PracticeBeExpulsionPush) ProtoMessage() {} + +func (x *PracticeBeExpulsionPush) ProtoReflect() protoreflect.Message { + mi := &file_practice_practice_msg_proto_msgTypes[15] + 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 PracticeBeExpulsionPush.ProtoReflect.Descriptor instead. +func (*PracticeBeExpulsionPush) Descriptor() ([]byte, []int) { + return file_practice_practice_msg_proto_rawDescGZIP(), []int{15} +} + +func (x *PracticeBeExpulsionPush) GetPillar() *DBPracticePillar { + if x != nil { + return x.Pillar + } + return nil +} + +func (x *PracticeBeExpulsionPush) GetKnapsack() map[string]int32 { + if x != nil { + return x.Knapsack + } + return nil +} + ///领取收益 type PracticeReceiveReq struct { state protoimpl.MessageState @@ -754,7 +858,7 @@ type PracticeReceiveReq struct { func (x *PracticeReceiveReq) Reset() { *x = PracticeReceiveReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[14] + mi := &file_practice_practice_msg_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -767,7 +871,7 @@ func (x *PracticeReceiveReq) String() string { func (*PracticeReceiveReq) ProtoMessage() {} func (x *PracticeReceiveReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[14] + mi := &file_practice_practice_msg_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -780,7 +884,7 @@ func (x *PracticeReceiveReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeReceiveReq.ProtoReflect.Descriptor instead. func (*PracticeReceiveReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{14} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{16} } func (x *PracticeReceiveReq) GetIndex() int32 { @@ -809,7 +913,7 @@ type PracticeReceiveResp struct { func (x *PracticeReceiveResp) Reset() { *x = PracticeReceiveResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[15] + mi := &file_practice_practice_msg_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -822,7 +926,7 @@ func (x *PracticeReceiveResp) String() string { func (*PracticeReceiveResp) ProtoMessage() {} func (x *PracticeReceiveResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[15] + mi := &file_practice_practice_msg_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -835,7 +939,7 @@ func (x *PracticeReceiveResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeReceiveResp.ProtoReflect.Descriptor instead. func (*PracticeReceiveResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{15} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{17} } func (x *PracticeReceiveResp) GetPillar() *DBPracticePillar { @@ -865,7 +969,7 @@ type PracticeEnrolledReq struct { func (x *PracticeEnrolledReq) Reset() { *x = PracticeEnrolledReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[16] + mi := &file_practice_practice_msg_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -878,7 +982,7 @@ func (x *PracticeEnrolledReq) String() string { func (*PracticeEnrolledReq) ProtoMessage() {} func (x *PracticeEnrolledReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[16] + mi := &file_practice_practice_msg_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -891,7 +995,7 @@ func (x *PracticeEnrolledReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeEnrolledReq.ProtoReflect.Descriptor instead. func (*PracticeEnrolledReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{16} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{18} } func (x *PracticeEnrolledReq) GetGroup() int32 { @@ -921,7 +1025,7 @@ type PracticeEnrolledResp struct { func (x *PracticeEnrolledResp) Reset() { *x = PracticeEnrolledResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[17] + mi := &file_practice_practice_msg_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -934,7 +1038,7 @@ func (x *PracticeEnrolledResp) String() string { func (*PracticeEnrolledResp) ProtoMessage() {} func (x *PracticeEnrolledResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[17] + mi := &file_practice_practice_msg_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -947,7 +1051,7 @@ func (x *PracticeEnrolledResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeEnrolledResp.ProtoReflect.Descriptor instead. func (*PracticeEnrolledResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{17} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{19} } func (x *PracticeEnrolledResp) GetGroup() int32 { @@ -976,7 +1080,7 @@ type PracticeJXItemPush struct { func (x *PracticeJXItemPush) Reset() { *x = PracticeJXItemPush{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[18] + mi := &file_practice_practice_msg_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -989,7 +1093,7 @@ func (x *PracticeJXItemPush) String() string { func (*PracticeJXItemPush) ProtoMessage() {} func (x *PracticeJXItemPush) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[18] + mi := &file_practice_practice_msg_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1002,7 +1106,7 @@ func (x *PracticeJXItemPush) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeJXItemPush.ProtoReflect.Descriptor instead. func (*PracticeJXItemPush) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{18} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{20} } func (x *PracticeJXItemPush) GetId() []string { @@ -1022,7 +1126,7 @@ type PracticeGymInfoReq struct { func (x *PracticeGymInfoReq) Reset() { *x = PracticeGymInfoReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[19] + mi := &file_practice_practice_msg_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1035,7 +1139,7 @@ func (x *PracticeGymInfoReq) String() string { func (*PracticeGymInfoReq) ProtoMessage() {} func (x *PracticeGymInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[19] + mi := &file_practice_practice_msg_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1048,7 +1152,7 @@ func (x *PracticeGymInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGymInfoReq.ProtoReflect.Descriptor instead. func (*PracticeGymInfoReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{19} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{21} } ///健身获得buff请求 @@ -1064,7 +1168,7 @@ type PracticeGymInfoResp struct { func (x *PracticeGymInfoResp) Reset() { *x = PracticeGymInfoResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[20] + mi := &file_practice_practice_msg_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1077,7 +1181,7 @@ func (x *PracticeGymInfoResp) String() string { func (*PracticeGymInfoResp) ProtoMessage() {} func (x *PracticeGymInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[20] + mi := &file_practice_practice_msg_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1090,7 +1194,7 @@ func (x *PracticeGymInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGymInfoResp.ProtoReflect.Descriptor instead. func (*PracticeGymInfoResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{20} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{22} } func (x *PracticeGymInfoResp) GetLastaction() int32 { @@ -1116,7 +1220,7 @@ type PracticeGymRefreshReq struct { func (x *PracticeGymRefreshReq) Reset() { *x = PracticeGymRefreshReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[21] + mi := &file_practice_practice_msg_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1129,7 +1233,7 @@ func (x *PracticeGymRefreshReq) String() string { func (*PracticeGymRefreshReq) ProtoMessage() {} func (x *PracticeGymRefreshReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[21] + mi := &file_practice_practice_msg_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1142,7 +1246,7 @@ func (x *PracticeGymRefreshReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGymRefreshReq.ProtoReflect.Descriptor instead. func (*PracticeGymRefreshReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{21} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{23} } type PracticeGymRefreshResp struct { @@ -1157,7 +1261,7 @@ type PracticeGymRefreshResp struct { func (x *PracticeGymRefreshResp) Reset() { *x = PracticeGymRefreshResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[22] + mi := &file_practice_practice_msg_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1170,7 +1274,7 @@ func (x *PracticeGymRefreshResp) String() string { func (*PracticeGymRefreshResp) ProtoMessage() {} func (x *PracticeGymRefreshResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[22] + mi := &file_practice_practice_msg_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1183,7 +1287,7 @@ func (x *PracticeGymRefreshResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGymRefreshResp.ProtoReflect.Descriptor instead. func (*PracticeGymRefreshResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{22} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{24} } func (x *PracticeGymRefreshResp) GetLastaction() int32 { @@ -1212,7 +1316,7 @@ type PracticeGetGymBuffReq struct { func (x *PracticeGetGymBuffReq) Reset() { *x = PracticeGetGymBuffReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[23] + mi := &file_practice_practice_msg_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1225,7 +1329,7 @@ func (x *PracticeGetGymBuffReq) String() string { func (*PracticeGetGymBuffReq) ProtoMessage() {} func (x *PracticeGetGymBuffReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[23] + mi := &file_practice_practice_msg_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1238,7 +1342,7 @@ func (x *PracticeGetGymBuffReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGetGymBuffReq.ProtoReflect.Descriptor instead. func (*PracticeGetGymBuffReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{23} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{25} } func (x *PracticeGetGymBuffReq) GetPosture() int32 { @@ -1260,7 +1364,7 @@ type PracticeGetGymBuffResp struct { func (x *PracticeGetGymBuffResp) Reset() { *x = PracticeGetGymBuffResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[24] + mi := &file_practice_practice_msg_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1273,7 +1377,7 @@ func (x *PracticeGetGymBuffResp) String() string { func (*PracticeGetGymBuffResp) ProtoMessage() {} func (x *PracticeGetGymBuffResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[24] + mi := &file_practice_practice_msg_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1286,7 +1390,7 @@ func (x *PracticeGetGymBuffResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGetGymBuffResp.ProtoReflect.Descriptor instead. func (*PracticeGetGymBuffResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{24} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{26} } func (x *PracticeGetGymBuffResp) GetBuffid() int32 { @@ -1308,7 +1412,7 @@ type PracticeGymConfirmReq struct { func (x *PracticeGymConfirmReq) Reset() { *x = PracticeGymConfirmReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[25] + mi := &file_practice_practice_msg_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1321,7 +1425,7 @@ func (x *PracticeGymConfirmReq) String() string { func (*PracticeGymConfirmReq) ProtoMessage() {} func (x *PracticeGymConfirmReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[25] + mi := &file_practice_practice_msg_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1334,7 +1438,7 @@ func (x *PracticeGymConfirmReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGymConfirmReq.ProtoReflect.Descriptor instead. func (*PracticeGymConfirmReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{25} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{27} } func (x *PracticeGymConfirmReq) GetBuffid() int32 { @@ -1356,7 +1460,7 @@ type PracticeGymConfirmResp struct { func (x *PracticeGymConfirmResp) Reset() { *x = PracticeGymConfirmResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[26] + mi := &file_practice_practice_msg_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1369,7 +1473,7 @@ func (x *PracticeGymConfirmResp) String() string { func (*PracticeGymConfirmResp) ProtoMessage() {} func (x *PracticeGymConfirmResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[26] + mi := &file_practice_practice_msg_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1382,7 +1486,7 @@ func (x *PracticeGymConfirmResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeGymConfirmResp.ProtoReflect.Descriptor instead. func (*PracticeGymConfirmResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{26} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{28} } func (x *PracticeGymConfirmResp) GetBuffid() int32 { @@ -1404,7 +1508,7 @@ type PracticeQiecuoReq struct { func (x *PracticeQiecuoReq) Reset() { *x = PracticeQiecuoReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[27] + mi := &file_practice_practice_msg_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1417,7 +1521,7 @@ func (x *PracticeQiecuoReq) String() string { func (*PracticeQiecuoReq) ProtoMessage() {} func (x *PracticeQiecuoReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[27] + mi := &file_practice_practice_msg_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1430,7 +1534,7 @@ func (x *PracticeQiecuoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeQiecuoReq.ProtoReflect.Descriptor instead. func (*PracticeQiecuoReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{27} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{29} } func (x *PracticeQiecuoReq) GetFid() string { @@ -1451,7 +1555,7 @@ type PracticeQiecuoResp struct { func (x *PracticeQiecuoResp) Reset() { *x = PracticeQiecuoResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[28] + mi := &file_practice_practice_msg_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1464,7 +1568,7 @@ func (x *PracticeQiecuoResp) String() string { func (*PracticeQiecuoResp) ProtoMessage() {} func (x *PracticeQiecuoResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[28] + mi := &file_practice_practice_msg_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1477,7 +1581,7 @@ func (x *PracticeQiecuoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeQiecuoResp.ProtoReflect.Descriptor instead. func (*PracticeQiecuoResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{28} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{30} } func (x *PracticeQiecuoResp) GetFid() string { @@ -1499,7 +1603,7 @@ type PracticeAcceptReq struct { func (x *PracticeAcceptReq) Reset() { *x = PracticeAcceptReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[29] + mi := &file_practice_practice_msg_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1512,7 +1616,7 @@ func (x *PracticeAcceptReq) String() string { func (*PracticeAcceptReq) ProtoMessage() {} func (x *PracticeAcceptReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[29] + mi := &file_practice_practice_msg_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1525,7 +1629,7 @@ func (x *PracticeAcceptReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeAcceptReq.ProtoReflect.Descriptor instead. func (*PracticeAcceptReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{29} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{31} } func (x *PracticeAcceptReq) GetUid() string { @@ -1546,7 +1650,7 @@ type PracticeAcceptResp struct { func (x *PracticeAcceptResp) Reset() { *x = PracticeAcceptResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[30] + mi := &file_practice_practice_msg_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1559,7 +1663,7 @@ func (x *PracticeAcceptResp) String() string { func (*PracticeAcceptResp) ProtoMessage() {} func (x *PracticeAcceptResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[30] + mi := &file_practice_practice_msg_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1572,7 +1676,7 @@ func (x *PracticeAcceptResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeAcceptResp.ProtoReflect.Descriptor instead. func (*PracticeAcceptResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{30} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{32} } func (x *PracticeAcceptResp) GetIsSucc() bool { @@ -1594,7 +1698,7 @@ type PracticeRefuseReq struct { func (x *PracticeRefuseReq) Reset() { *x = PracticeRefuseReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[31] + mi := &file_practice_practice_msg_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1607,7 +1711,7 @@ func (x *PracticeRefuseReq) String() string { func (*PracticeRefuseReq) ProtoMessage() {} func (x *PracticeRefuseReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[31] + mi := &file_practice_practice_msg_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1620,7 +1724,7 @@ func (x *PracticeRefuseReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeRefuseReq.ProtoReflect.Descriptor instead. func (*PracticeRefuseReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{31} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{33} } func (x *PracticeRefuseReq) GetUid() string { @@ -1641,7 +1745,7 @@ type PracticeRefuseResp struct { func (x *PracticeRefuseResp) Reset() { *x = PracticeRefuseResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[32] + mi := &file_practice_practice_msg_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1654,7 +1758,7 @@ func (x *PracticeRefuseResp) String() string { func (*PracticeRefuseResp) ProtoMessage() {} func (x *PracticeRefuseResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[32] + mi := &file_practice_practice_msg_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1667,7 +1771,7 @@ func (x *PracticeRefuseResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeRefuseResp.ProtoReflect.Descriptor instead. func (*PracticeRefuseResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{32} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{34} } func (x *PracticeRefuseResp) GetIsSucc() bool { @@ -1691,7 +1795,7 @@ type PracticeQiecuonotifyPush struct { func (x *PracticeQiecuonotifyPush) Reset() { *x = PracticeQiecuonotifyPush{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[33] + mi := &file_practice_practice_msg_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1704,7 +1808,7 @@ func (x *PracticeQiecuonotifyPush) String() string { func (*PracticeQiecuonotifyPush) ProtoMessage() {} func (x *PracticeQiecuonotifyPush) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[33] + mi := &file_practice_practice_msg_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1717,7 +1821,7 @@ func (x *PracticeQiecuonotifyPush) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeQiecuonotifyPush.ProtoReflect.Descriptor instead. func (*PracticeQiecuonotifyPush) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{33} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{35} } func (x *PracticeQiecuonotifyPush) GetUid() string { @@ -1753,7 +1857,7 @@ type PracticeNPCBattkleReq struct { func (x *PracticeNPCBattkleReq) Reset() { *x = PracticeNPCBattkleReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[34] + mi := &file_practice_practice_msg_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1766,7 +1870,7 @@ func (x *PracticeNPCBattkleReq) String() string { func (*PracticeNPCBattkleReq) ProtoMessage() {} func (x *PracticeNPCBattkleReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[34] + mi := &file_practice_practice_msg_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1779,7 +1883,7 @@ func (x *PracticeNPCBattkleReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeNPCBattkleReq.ProtoReflect.Descriptor instead. func (*PracticeNPCBattkleReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{34} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{36} } func (x *PracticeNPCBattkleReq) GetFormation() *BattleFormation { @@ -1802,7 +1906,7 @@ type PracticeNPCBattkleResp struct { func (x *PracticeNPCBattkleResp) Reset() { *x = PracticeNPCBattkleResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[35] + mi := &file_practice_practice_msg_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1815,7 +1919,7 @@ func (x *PracticeNPCBattkleResp) String() string { func (*PracticeNPCBattkleResp) ProtoMessage() {} func (x *PracticeNPCBattkleResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[35] + mi := &file_practice_practice_msg_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1828,7 +1932,7 @@ func (x *PracticeNPCBattkleResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeNPCBattkleResp.ProtoReflect.Descriptor instead. func (*PracticeNPCBattkleResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{35} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{37} } func (x *PracticeNPCBattkleResp) GetCode() ErrorCode { @@ -1857,7 +1961,7 @@ type PracticeNPCBattkleFinishReq struct { func (x *PracticeNPCBattkleFinishReq) Reset() { *x = PracticeNPCBattkleFinishReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[36] + mi := &file_practice_practice_msg_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1870,7 +1974,7 @@ func (x *PracticeNPCBattkleFinishReq) String() string { func (*PracticeNPCBattkleFinishReq) ProtoMessage() {} func (x *PracticeNPCBattkleFinishReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[36] + mi := &file_practice_practice_msg_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1883,7 +1987,7 @@ func (x *PracticeNPCBattkleFinishReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeNPCBattkleFinishReq.ProtoReflect.Descriptor instead. func (*PracticeNPCBattkleFinishReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{36} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{38} } func (x *PracticeNPCBattkleFinishReq) GetReport() *BattleReport { @@ -1905,7 +2009,7 @@ type PracticeNPCBattkleFinishResp struct { func (x *PracticeNPCBattkleFinishResp) Reset() { *x = PracticeNPCBattkleFinishResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[37] + mi := &file_practice_practice_msg_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1918,7 +2022,7 @@ func (x *PracticeNPCBattkleFinishResp) String() string { func (*PracticeNPCBattkleFinishResp) ProtoMessage() {} func (x *PracticeNPCBattkleFinishResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[37] + mi := &file_practice_practice_msg_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1931,7 +2035,7 @@ func (x *PracticeNPCBattkleFinishResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeNPCBattkleFinishResp.ProtoReflect.Descriptor instead. func (*PracticeNPCBattkleFinishResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{37} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{39} } func (x *PracticeNPCBattkleFinishResp) GetIssucc() bool { @@ -1951,7 +2055,7 @@ type PracticeNPCDialogReq struct { func (x *PracticeNPCDialogReq) Reset() { *x = PracticeNPCDialogReq{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[38] + mi := &file_practice_practice_msg_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1964,7 +2068,7 @@ func (x *PracticeNPCDialogReq) String() string { func (*PracticeNPCDialogReq) ProtoMessage() {} func (x *PracticeNPCDialogReq) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[38] + mi := &file_practice_practice_msg_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1977,7 +2081,7 @@ func (x *PracticeNPCDialogReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeNPCDialogReq.ProtoReflect.Descriptor instead. func (*PracticeNPCDialogReq) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{38} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{40} } //NPC对话 请求 @@ -1992,7 +2096,7 @@ type PracticeNPCDialogResp struct { func (x *PracticeNPCDialogResp) Reset() { *x = PracticeNPCDialogResp{} if protoimpl.UnsafeEnabled { - mi := &file_practice_practice_msg_proto_msgTypes[39] + mi := &file_practice_practice_msg_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2005,7 +2109,7 @@ func (x *PracticeNPCDialogResp) String() string { func (*PracticeNPCDialogResp) ProtoMessage() {} func (x *PracticeNPCDialogResp) ProtoReflect() protoreflect.Message { - mi := &file_practice_practice_msg_proto_msgTypes[39] + mi := &file_practice_practice_msg_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2018,7 +2122,7 @@ func (x *PracticeNPCDialogResp) ProtoReflect() protoreflect.Message { // Deprecated: Use PracticeNPCDialogResp.ProtoReflect.Descriptor instead. func (*PracticeNPCDialogResp) Descriptor() ([]byte, []int) { - return file_practice_practice_msg_proto_rawDescGZIP(), []int{39} + return file_practice_practice_msg_proto_rawDescGZIP(), []int{41} } func (x *PracticeNPCDialogResp) GetIssucc() bool { @@ -2042,168 +2146,184 @@ var file_practice_practice_msg_proto_rawDesc = []byte{ 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, - 0x2b, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x01, 0x0a, - 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, - 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, - 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x2e, - 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, - 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, - 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x11, - 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x39, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, - 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3b, - 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x6c, - 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x6d, 0x0a, 0x13, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, - 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x50, 0x72, + 0x3d, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6d, 0x6d, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x2b, + 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x16, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, + 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, + 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, + 0x1a, 0x49, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x11, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x39, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, + 0x6f, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3b, 0x0a, + 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x6d, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74, + 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, + 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, + 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x6b, 0x0a, 0x0f, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74, + 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, + 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x55, 0x0a, 0x10, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, + 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, + 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, - 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x6b, 0x0a, - 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, - 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x55, 0x0a, 0x10, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, - 0x72, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, - 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x40, - 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, - 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, - 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, - 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, - 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, - 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, - 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, - 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x3f, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, - 0x72, 0x6f, 0x22, 0x40, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x68, 0x65, 0x72, 0x6f, 0x22, 0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x4a, 0x58, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x22, 0x55, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, - 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, - 0x22, 0x58, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, - 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, - 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, - 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, - 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, - 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, - 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, - 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, - 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, - 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, - 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, - 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, - 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, - 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, - 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, - 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, - 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, - 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 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, - 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, - 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x40, 0x0a, + 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, + 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc5, 0x01, 0x0a, + 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, + 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, + 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, + 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x2e, + 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, + 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, + 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, + 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x3e, 0x0a, 0x08, 0x6b, + 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, + 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, + 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, 0x14, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x24, 0x0a, 0x12, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x73, + 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, + 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, + 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x17, + 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, + 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, + 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, + 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x73, + 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, + 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, + 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, + 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, + 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, + 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, + 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, + 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, + 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, + 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, + 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, + 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, + 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, + 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, + 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 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, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, + 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 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, 0x42, + 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2218,78 +2338,84 @@ func file_practice_practice_msg_proto_rawDescGZIP() []byte { return file_practice_practice_msg_proto_rawDescData } -var file_practice_practice_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 43) +var file_practice_practice_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 46) var file_practice_practice_msg_proto_goTypes = []interface{}{ (*PracticeInfoReq)(nil), // 0: PracticeInfoReq (*PracticeInfoResp)(nil), // 1: PracticeInfoResp - (*PracticeFriendRommReq)(nil), // 2: PracticeFriendRommReq - (*PracticeFriendRommResp)(nil), // 3: PracticeFriendRommResp - (*PracticeUnLockReq)(nil), // 4: PracticeUnLockReq - (*PracticeUnLockResp)(nil), // 5: PracticeUnLockResp - (*PracticeUpgradeReq)(nil), // 6: PracticeUpgradeReq - (*PracticeUpgradeResp)(nil), // 7: PracticeUpgradeResp - (*PracticePracticeReq)(nil), // 8: PracticePracticeReq - (*PracticePracticeResp)(nil), // 9: PracticePracticeResp - (*PracticeLootReq)(nil), // 10: PracticeLootReq - (*PracticeLootResp)(nil), // 11: PracticeLootResp - (*PracticeExpulsionReq)(nil), // 12: PracticeExpulsionReq - (*PracticeExpulsionResp)(nil), // 13: PracticeExpulsionResp - (*PracticeReceiveReq)(nil), // 14: PracticeReceiveReq - (*PracticeReceiveResp)(nil), // 15: PracticeReceiveResp - (*PracticeEnrolledReq)(nil), // 16: PracticeEnrolledReq - (*PracticeEnrolledResp)(nil), // 17: PracticeEnrolledResp - (*PracticeJXItemPush)(nil), // 18: PracticeJXItemPush - (*PracticeGymInfoReq)(nil), // 19: PracticeGymInfoReq - (*PracticeGymInfoResp)(nil), // 20: PracticeGymInfoResp - (*PracticeGymRefreshReq)(nil), // 21: PracticeGymRefreshReq - (*PracticeGymRefreshResp)(nil), // 22: PracticeGymRefreshResp - (*PracticeGetGymBuffReq)(nil), // 23: PracticeGetGymBuffReq - (*PracticeGetGymBuffResp)(nil), // 24: PracticeGetGymBuffResp - (*PracticeGymConfirmReq)(nil), // 25: PracticeGymConfirmReq - (*PracticeGymConfirmResp)(nil), // 26: PracticeGymConfirmResp - (*PracticeQiecuoReq)(nil), // 27: PracticeQiecuoReq - (*PracticeQiecuoResp)(nil), // 28: PracticeQiecuoResp - (*PracticeAcceptReq)(nil), // 29: PracticeAcceptReq - (*PracticeAcceptResp)(nil), // 30: PracticeAcceptResp - (*PracticeRefuseReq)(nil), // 31: PracticeRefuseReq - (*PracticeRefuseResp)(nil), // 32: PracticeRefuseResp - (*PracticeQiecuonotifyPush)(nil), // 33: PracticeQiecuonotifyPush - (*PracticeNPCBattkleReq)(nil), // 34: PracticeNPCBattkleReq - (*PracticeNPCBattkleResp)(nil), // 35: PracticeNPCBattkleResp - (*PracticeNPCBattkleFinishReq)(nil), // 36: PracticeNPCBattkleFinishReq - (*PracticeNPCBattkleFinishResp)(nil), // 37: PracticeNPCBattkleFinishResp - (*PracticeNPCDialogReq)(nil), // 38: PracticeNPCDialogReq - (*PracticeNPCDialogResp)(nil), // 39: PracticeNPCDialogResp - nil, // 40: PracticeFriendRommResp.InfosEntry - nil, // 41: PracticeExpulsionResp.KnapsackEntry - nil, // 42: PracticeReceiveResp.KnapsackEntry - (*DBPracticeRoom)(nil), // 43: DBPracticeRoom - (*DBPracticePillar)(nil), // 44: DBPracticePillar - (*BattleFormation)(nil), // 45: BattleFormation - (ErrorCode)(0), // 46: ErrorCode - (*BattleInfo)(nil), // 47: BattleInfo - (*BattleReport)(nil), // 48: BattleReport + (*PracticeRommChangePush)(nil), // 2: PracticeRommChangePush + (*PracticeFriendRommReq)(nil), // 3: PracticeFriendRommReq + (*PracticeFriendRommResp)(nil), // 4: PracticeFriendRommResp + (*PracticeUnLockReq)(nil), // 5: PracticeUnLockReq + (*PracticeUnLockResp)(nil), // 6: PracticeUnLockResp + (*PracticeUpgradeReq)(nil), // 7: PracticeUpgradeReq + (*PracticeUpgradeResp)(nil), // 8: PracticeUpgradeResp + (*PracticePracticeReq)(nil), // 9: PracticePracticeReq + (*PracticePracticeResp)(nil), // 10: PracticePracticeResp + (*PracticeLootReq)(nil), // 11: PracticeLootReq + (*PracticeLootResp)(nil), // 12: PracticeLootResp + (*PracticeExpulsionReq)(nil), // 13: PracticeExpulsionReq + (*PracticeExpulsionResp)(nil), // 14: PracticeExpulsionResp + (*PracticeBeExpulsionPush)(nil), // 15: PracticeBeExpulsionPush + (*PracticeReceiveReq)(nil), // 16: PracticeReceiveReq + (*PracticeReceiveResp)(nil), // 17: PracticeReceiveResp + (*PracticeEnrolledReq)(nil), // 18: PracticeEnrolledReq + (*PracticeEnrolledResp)(nil), // 19: PracticeEnrolledResp + (*PracticeJXItemPush)(nil), // 20: PracticeJXItemPush + (*PracticeGymInfoReq)(nil), // 21: PracticeGymInfoReq + (*PracticeGymInfoResp)(nil), // 22: PracticeGymInfoResp + (*PracticeGymRefreshReq)(nil), // 23: PracticeGymRefreshReq + (*PracticeGymRefreshResp)(nil), // 24: PracticeGymRefreshResp + (*PracticeGetGymBuffReq)(nil), // 25: PracticeGetGymBuffReq + (*PracticeGetGymBuffResp)(nil), // 26: PracticeGetGymBuffResp + (*PracticeGymConfirmReq)(nil), // 27: PracticeGymConfirmReq + (*PracticeGymConfirmResp)(nil), // 28: PracticeGymConfirmResp + (*PracticeQiecuoReq)(nil), // 29: PracticeQiecuoReq + (*PracticeQiecuoResp)(nil), // 30: PracticeQiecuoResp + (*PracticeAcceptReq)(nil), // 31: PracticeAcceptReq + (*PracticeAcceptResp)(nil), // 32: PracticeAcceptResp + (*PracticeRefuseReq)(nil), // 33: PracticeRefuseReq + (*PracticeRefuseResp)(nil), // 34: PracticeRefuseResp + (*PracticeQiecuonotifyPush)(nil), // 35: PracticeQiecuonotifyPush + (*PracticeNPCBattkleReq)(nil), // 36: PracticeNPCBattkleReq + (*PracticeNPCBattkleResp)(nil), // 37: PracticeNPCBattkleResp + (*PracticeNPCBattkleFinishReq)(nil), // 38: PracticeNPCBattkleFinishReq + (*PracticeNPCBattkleFinishResp)(nil), // 39: PracticeNPCBattkleFinishResp + (*PracticeNPCDialogReq)(nil), // 40: PracticeNPCDialogReq + (*PracticeNPCDialogResp)(nil), // 41: PracticeNPCDialogResp + nil, // 42: PracticeFriendRommResp.InfosEntry + nil, // 43: PracticeExpulsionResp.KnapsackEntry + nil, // 44: PracticeBeExpulsionPush.KnapsackEntry + nil, // 45: PracticeReceiveResp.KnapsackEntry + (*DBPracticeRoom)(nil), // 46: DBPracticeRoom + (*DBPracticePillar)(nil), // 47: DBPracticePillar + (*BattleFormation)(nil), // 48: BattleFormation + (ErrorCode)(0), // 49: ErrorCode + (*BattleInfo)(nil), // 50: BattleInfo + (*BattleReport)(nil), // 51: BattleReport } var file_practice_practice_msg_proto_depIdxs = []int32{ - 43, // 0: PracticeInfoResp.info:type_name -> DBPracticeRoom - 40, // 1: PracticeFriendRommResp.infos:type_name -> PracticeFriendRommResp.InfosEntry - 43, // 2: PracticeUnLockResp.info:type_name -> DBPracticeRoom - 44, // 3: PracticePracticeResp.pillar:type_name -> DBPracticePillar - 44, // 4: PracticeLootResp.pillar:type_name -> DBPracticePillar - 44, // 5: PracticeExpulsionResp.pillar:type_name -> DBPracticePillar - 41, // 6: PracticeExpulsionResp.knapsack:type_name -> PracticeExpulsionResp.KnapsackEntry - 44, // 7: PracticeReceiveResp.pillar:type_name -> DBPracticePillar - 42, // 8: PracticeReceiveResp.knapsack:type_name -> PracticeReceiveResp.KnapsackEntry - 45, // 9: PracticeNPCBattkleReq.formation:type_name -> BattleFormation - 46, // 10: PracticeNPCBattkleResp.code:type_name -> ErrorCode - 47, // 11: PracticeNPCBattkleResp.info:type_name -> BattleInfo - 48, // 12: PracticeNPCBattkleFinishReq.report:type_name -> BattleReport - 43, // 13: PracticeFriendRommResp.InfosEntry.value:type_name -> DBPracticeRoom - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 46, // 0: PracticeInfoResp.info:type_name -> DBPracticeRoom + 46, // 1: PracticeRommChangePush.info:type_name -> DBPracticeRoom + 42, // 2: PracticeFriendRommResp.infos:type_name -> PracticeFriendRommResp.InfosEntry + 46, // 3: PracticeUnLockResp.info:type_name -> DBPracticeRoom + 47, // 4: PracticePracticeResp.pillar:type_name -> DBPracticePillar + 47, // 5: PracticeLootResp.pillar:type_name -> DBPracticePillar + 47, // 6: PracticeExpulsionResp.pillar:type_name -> DBPracticePillar + 43, // 7: PracticeExpulsionResp.knapsack:type_name -> PracticeExpulsionResp.KnapsackEntry + 47, // 8: PracticeBeExpulsionPush.pillar:type_name -> DBPracticePillar + 44, // 9: PracticeBeExpulsionPush.knapsack:type_name -> PracticeBeExpulsionPush.KnapsackEntry + 47, // 10: PracticeReceiveResp.pillar:type_name -> DBPracticePillar + 45, // 11: PracticeReceiveResp.knapsack:type_name -> PracticeReceiveResp.KnapsackEntry + 48, // 12: PracticeNPCBattkleReq.formation:type_name -> BattleFormation + 49, // 13: PracticeNPCBattkleResp.code:type_name -> ErrorCode + 50, // 14: PracticeNPCBattkleResp.info:type_name -> BattleInfo + 51, // 15: PracticeNPCBattkleFinishReq.report:type_name -> BattleReport + 46, // 16: PracticeFriendRommResp.InfosEntry.value:type_name -> DBPracticeRoom + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_practice_practice_msg_proto_init() } @@ -2326,7 +2452,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeFriendRommReq); i { + switch v := v.(*PracticeRommChangePush); i { case 0: return &v.state case 1: @@ -2338,7 +2464,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeFriendRommResp); i { + switch v := v.(*PracticeFriendRommReq); i { case 0: return &v.state case 1: @@ -2350,7 +2476,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeUnLockReq); i { + switch v := v.(*PracticeFriendRommResp); i { case 0: return &v.state case 1: @@ -2362,7 +2488,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeUnLockResp); i { + switch v := v.(*PracticeUnLockReq); i { case 0: return &v.state case 1: @@ -2374,7 +2500,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeUpgradeReq); i { + switch v := v.(*PracticeUnLockResp); i { case 0: return &v.state case 1: @@ -2386,7 +2512,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeUpgradeResp); i { + switch v := v.(*PracticeUpgradeReq); i { case 0: return &v.state case 1: @@ -2398,7 +2524,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticePracticeReq); i { + switch v := v.(*PracticeUpgradeResp); i { case 0: return &v.state case 1: @@ -2410,7 +2536,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticePracticeResp); i { + switch v := v.(*PracticePracticeReq); i { case 0: return &v.state case 1: @@ -2422,7 +2548,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeLootReq); i { + switch v := v.(*PracticePracticeResp); i { case 0: return &v.state case 1: @@ -2434,7 +2560,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeLootResp); i { + switch v := v.(*PracticeLootReq); i { case 0: return &v.state case 1: @@ -2446,7 +2572,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeExpulsionReq); i { + switch v := v.(*PracticeLootResp); i { case 0: return &v.state case 1: @@ -2458,7 +2584,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeExpulsionResp); i { + switch v := v.(*PracticeExpulsionReq); i { case 0: return &v.state case 1: @@ -2470,7 +2596,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeReceiveReq); i { + switch v := v.(*PracticeExpulsionResp); i { case 0: return &v.state case 1: @@ -2482,7 +2608,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeReceiveResp); i { + switch v := v.(*PracticeBeExpulsionPush); i { case 0: return &v.state case 1: @@ -2494,7 +2620,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeEnrolledReq); i { + switch v := v.(*PracticeReceiveReq); i { case 0: return &v.state case 1: @@ -2506,7 +2632,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeEnrolledResp); i { + switch v := v.(*PracticeReceiveResp); i { case 0: return &v.state case 1: @@ -2518,7 +2644,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeJXItemPush); i { + switch v := v.(*PracticeEnrolledReq); i { case 0: return &v.state case 1: @@ -2530,7 +2656,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGymInfoReq); i { + switch v := v.(*PracticeEnrolledResp); i { case 0: return &v.state case 1: @@ -2542,7 +2668,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGymInfoResp); i { + switch v := v.(*PracticeJXItemPush); i { case 0: return &v.state case 1: @@ -2554,7 +2680,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGymRefreshReq); i { + switch v := v.(*PracticeGymInfoReq); i { case 0: return &v.state case 1: @@ -2566,7 +2692,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGymRefreshResp); i { + switch v := v.(*PracticeGymInfoResp); i { case 0: return &v.state case 1: @@ -2578,7 +2704,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGetGymBuffReq); i { + switch v := v.(*PracticeGymRefreshReq); i { case 0: return &v.state case 1: @@ -2590,7 +2716,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGetGymBuffResp); i { + switch v := v.(*PracticeGymRefreshResp); i { case 0: return &v.state case 1: @@ -2602,7 +2728,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGymConfirmReq); i { + switch v := v.(*PracticeGetGymBuffReq); i { case 0: return &v.state case 1: @@ -2614,7 +2740,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeGymConfirmResp); i { + switch v := v.(*PracticeGetGymBuffResp); i { case 0: return &v.state case 1: @@ -2626,7 +2752,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeQiecuoReq); i { + switch v := v.(*PracticeGymConfirmReq); i { case 0: return &v.state case 1: @@ -2638,7 +2764,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeQiecuoResp); i { + switch v := v.(*PracticeGymConfirmResp); i { case 0: return &v.state case 1: @@ -2650,7 +2776,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeAcceptReq); i { + switch v := v.(*PracticeQiecuoReq); i { case 0: return &v.state case 1: @@ -2662,7 +2788,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeAcceptResp); i { + switch v := v.(*PracticeQiecuoResp); i { case 0: return &v.state case 1: @@ -2674,7 +2800,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeRefuseReq); i { + switch v := v.(*PracticeAcceptReq); i { case 0: return &v.state case 1: @@ -2686,7 +2812,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeRefuseResp); i { + switch v := v.(*PracticeAcceptResp); i { case 0: return &v.state case 1: @@ -2698,7 +2824,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeQiecuonotifyPush); i { + switch v := v.(*PracticeRefuseReq); i { case 0: return &v.state case 1: @@ -2710,7 +2836,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeNPCBattkleReq); i { + switch v := v.(*PracticeRefuseResp); i { case 0: return &v.state case 1: @@ -2722,7 +2848,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeNPCBattkleResp); i { + switch v := v.(*PracticeQiecuonotifyPush); i { case 0: return &v.state case 1: @@ -2734,7 +2860,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeNPCBattkleFinishReq); i { + switch v := v.(*PracticeNPCBattkleReq); i { case 0: return &v.state case 1: @@ -2746,7 +2872,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeNPCBattkleFinishResp); i { + switch v := v.(*PracticeNPCBattkleResp); i { case 0: return &v.state case 1: @@ -2758,7 +2884,7 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PracticeNPCDialogReq); i { + switch v := v.(*PracticeNPCBattkleFinishReq); i { case 0: return &v.state case 1: @@ -2770,6 +2896,30 @@ func file_practice_practice_msg_proto_init() { } } file_practice_practice_msg_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PracticeNPCBattkleFinishResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_practice_practice_msg_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PracticeNPCDialogReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_practice_practice_msg_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PracticeNPCDialogResp); i { case 0: return &v.state @@ -2788,7 +2938,7 @@ func file_practice_practice_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_practice_practice_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 43, + NumMessages: 46, NumExtensions: 0, NumServices: 0, }, From da1250a68a59e9227180ee04d2c9b2ac9295ac0b Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Mon, 10 Apr 2023 18:54:01 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BA=A4=E6=98=93=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/smithy/api_trade.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/smithy/api_trade.go b/modules/smithy/api_trade.go index 4710c7ae8..9b2160a5e 100644 --- a/modules/smithy/api_trade.go +++ b/modules/smithy/api_trade.go @@ -38,14 +38,14 @@ func (this *apiComp) Sell(session comm.IUserSession, req *pb.SmithySellReq) (cod return } - // conf := this.module.configure.GetSmithyCustomerConf(req.CustomerId) - // if conf == nil { - // code = pb.ErrorCode_ConfigNoFound - // return - // } + conf := this.module.configure.GetSmithyCustomerConf(req.CustomerId) + if conf == nil { + code = pb.ErrorCode_ConfigNoFound + return + } - // // 发奖励 - // this.module.DispenseRes(session, conf.Reword, true) + // 发奖励 + this.module.DispenseRes(session, conf.Reword, true) rsp := &pb.SmithySellResp{ CustomerId: req.CustomerId, From c75ae22354a19b61dbd7dfe5ba07a9d92c36e85d Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Mon, 10 Apr 2023 19:44:38 +0800 Subject: [PATCH 03/11] update config --- bin/json/game_smithycustomer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/json/game_smithycustomer.json b/bin/json/game_smithycustomer.json index 9c5af0b4d..3ba8a3e5b 100644 --- a/bin/json/game_smithycustomer.json +++ b/bin/json/game_smithycustomer.json @@ -11,7 +11,7 @@ { "a": "attr", "t": "gold", - "n": 10 + "n": 0 } ], "weight": 4500 From 7050e6c9faf79a2d1ebec387f967f3963ca2d506 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 10 Apr 2023 19:47:54 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_skillafteratk.json | 96 +++++++++---------- bin/json/game_skillatk.json | 39 ++------ bin/json/game_skillpassive.json | 8 +- bin/json/game_smithycustomer.json | 2 +- bin/json/game_worldtask.json | 64 ++++++------- .../structs/Game.MonsterFormatData.go | 2 + 6 files changed, 91 insertions(+), 120 deletions(-) diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json index 5ad9d4cad..6f3646775 100644 --- a/bin/json/game_skillafteratk.json +++ b/bin/json/game_skillafteratk.json @@ -8126,6 +8126,54 @@ "RevisiCondition": "", "RevisiParams": [] }, + { + "Id": 215005315, + "EmitPR": 1000, + "From": 1, + "Where": [], + "Order": "", + "Limit": 1, + "ExecuteCnt": 1, + "Type": 2, + "Argu": [ + 415005212, + 1, + 1 + ], + "FollowSK": [], + "SucFollowSK": [], + "FailFollowSK": [], + "MustHit": false, + "DpsRevisiType": 0, + "DpsCondition": "", + "RevisiCondition": "", + "RevisiParams": [] + }, + { + "Id": 215005316, + "EmitPR": 1000, + "From": 9, + "Where": [], + "Order": "", + "Limit": 1, + "ExecuteCnt": 1, + "Type": 28, + "Argu": [ + 390001112, + 1000, + 1, + 2, + 1200 + ], + "FollowSK": [], + "SucFollowSK": [], + "FailFollowSK": [], + "MustHit": false, + "DpsRevisiType": 0, + "DpsCondition": "", + "RevisiCondition": "", + "RevisiParams": [] + }, { "Id": 215005322, "EmitPR": 1000, @@ -8195,54 +8243,6 @@ "RevisiCondition": "", "RevisiParams": [] }, - { - "Id": 915005213, - "EmitPR": 1000, - "From": 1, - "Where": [], - "Order": "", - "Limit": 1, - "ExecuteCnt": 1, - "Type": 2, - "Argu": [ - 415005212, - 1, - 1 - ], - "FollowSK": [], - "SucFollowSK": [], - "FailFollowSK": [], - "MustHit": false, - "DpsRevisiType": 0, - "DpsCondition": "", - "RevisiCondition": "", - "RevisiParams": [] - }, - { - "Id": 915005214, - "EmitPR": 1000, - "From": 9, - "Where": [], - "Order": "", - "Limit": 1, - "ExecuteCnt": 1, - "Type": 28, - "Argu": [ - 390001112, - 1000, - 1, - 2, - 1200 - ], - "FollowSK": [], - "SucFollowSK": [], - "FailFollowSK": [], - "MustHit": false, - "DpsRevisiType": 0, - "DpsCondition": "", - "RevisiCondition": "", - "RevisiParams": [] - }, { "Id": 215004011, "EmitPR": 1000, diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json index b782935bf..7c7279cd4 100644 --- a/bin/json/game_skillatk.json +++ b/bin/json/game_skillatk.json @@ -2610,9 +2610,7 @@ "Target": 2, "ChildSkill": { "Id": [ - 225001341, - 225001312, - 225001313 + 66 ] }, "Desc": { @@ -5331,6 +5329,7 @@ "Target": 0, "ChildSkill": { "Id": [ + 215005315, 215005311, 215005312, 215005313, @@ -5362,6 +5361,7 @@ "Target": 0, "ChildSkill": { "Id": [ + 215005315, 215005311, 215005322, 215005313, @@ -5393,6 +5393,7 @@ "Target": 0, "ChildSkill": { "Id": [ + 215005315, 215005311, 215005332, 215005313, @@ -5424,6 +5425,7 @@ "Target": 0, "ChildSkill": { "Id": [ + 215005315, 215005311, 215005342, 215005313, @@ -5455,6 +5457,7 @@ "Target": 0, "ChildSkill": { "Id": [ + 215005315, 215005311, 215005342, 215005313, @@ -5468,36 +5471,6 @@ "buffid": [], "map": "" }, - { - "id": 115005411, - "level": 1, - "MaxLV": 1, - "UnavailablePlayTypes": [], - "Name": { - "key": "skillname_115005411", - "text": "净化烟火" - }, - "ico": "jn_icon_023", - "CorrectPos": 0, - "IsMelee": 0, - "act": "Skill_2", - "Type": 1, - "CD": 5, - "Target": 0, - "ChildSkill": { - "Id": [ - 215005211, - 915005213, - 915005214 - ] - }, - "Desc": { - "key": "skill_1150054111", - "text": "治疗时净化目标1个减益。治疗量溢出时附加2回合【护盾】,护盾量为溢出治疗量的120%。" - }, - "buffid": [], - "map": "" - }, { "id": 115004011, "level": 1, diff --git a/bin/json/game_skillpassive.json b/bin/json/game_skillpassive.json index 677861a6d..65a575e6f 100644 --- a/bin/json/game_skillpassive.json +++ b/bin/json/game_skillpassive.json @@ -483,9 +483,9 @@ }, { "Id": 415005212, - "When": 7, - "FromCheck": "Target=3,HpproGreater=1000", - "TargetCheck": "", + "When": 17, + "FromCheck": "Target=3", + "TargetCheck": "HpproGreater=1000", "MainSkillCheck": "", "AfterSkillCheck": "", "BuffCheck": "", @@ -494,7 +494,7 @@ "Type": "CallSkillPas", "MaxEmitTimes": 1, "Callback": [ - 915005214 + 215005316 ] }, { diff --git a/bin/json/game_smithycustomer.json b/bin/json/game_smithycustomer.json index 9c5af0b4d..3ba8a3e5b 100644 --- a/bin/json/game_smithycustomer.json +++ b/bin/json/game_smithycustomer.json @@ -11,7 +11,7 @@ { "a": "attr", "t": "gold", - "n": 10 + "n": 0 } ], "weight": 4500 diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index b9d9d847e..f2c6682c5 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -33,9 +33,7 @@ "n": 100 } ], - "module": [ - "practice" - ] + "module": [] }, { "key": 20020, @@ -71,9 +69,7 @@ "n": 101 } ], - "module": [ - "practice" - ] + "module": [] }, { "key": 20030, @@ -697,7 +693,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks1", "text": "1" }, "task_name": { @@ -705,7 +701,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks1", "text": "1" }, "npc": 10010, @@ -733,7 +729,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks2", "text": "1" }, "task_name": { @@ -741,7 +737,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks2", "text": "1" }, "npc": 10010, @@ -769,7 +765,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks3", "text": "1" }, "task_name": { @@ -777,7 +773,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks3", "text": "1" }, "npc": 10010, @@ -805,7 +801,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks4", "text": "1" }, "task_name": { @@ -813,7 +809,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks4", "text": "1" }, "npc": 10010, @@ -841,7 +837,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks5", "text": "1" }, "task_name": { @@ -849,7 +845,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks5", "text": "1" }, "npc": 10010, @@ -877,7 +873,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks6", "text": "1" }, "task_name": { @@ -885,7 +881,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks6", "text": "1" }, "npc": 10010, @@ -913,7 +909,7 @@ "des": 1, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Daily_tasks7", "text": "1" }, "task_name": { @@ -921,7 +917,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Daily_tasks7", "text": "1" }, "npc": 10010, @@ -949,7 +945,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks1", "text": "1" }, "task_name": { @@ -957,7 +953,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks1", "text": "1" }, "npc": 10040, @@ -985,7 +981,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks2", "text": "1" }, "task_name": { @@ -993,7 +989,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks2", "text": "1" }, "npc": 10040, @@ -1021,7 +1017,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks3", "text": "1" }, "task_name": { @@ -1029,7 +1025,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks3", "text": "1" }, "npc": 10040, @@ -1057,7 +1053,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks4", "text": "1" }, "task_name": { @@ -1065,7 +1061,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks4", "text": "1" }, "npc": 10040, @@ -1093,7 +1089,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks5", "text": "1" }, "task_name": { @@ -1101,7 +1097,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks5", "text": "1" }, "npc": 10040, @@ -1129,7 +1125,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks6", "text": "1" }, "task_name": { @@ -1137,7 +1133,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks6", "text": "1" }, "npc": 10040, @@ -1165,7 +1161,7 @@ "des": 4, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Weekly_Tasks7", "text": "1" }, "task_name": { @@ -1173,7 +1169,7 @@ "text": "1" }, "task_display": { - "key": "story_80", + "key": "Weekly_Tasks7", "text": "1" }, "npc": 10040, diff --git a/sys/configure/structs/Game.MonsterFormatData.go b/sys/configure/structs/Game.MonsterFormatData.go index de1981a7f..73d3e6790 100644 --- a/sys/configure/structs/Game.MonsterFormatData.go +++ b/sys/configure/structs/Game.MonsterFormatData.go @@ -15,6 +15,7 @@ type GameMonsterFormatData struct { Pos int32 CaptainId int32 IsBoss int32 + BossHpCnt int32 Monster int32 Lv int32 Hppro float32 @@ -34,6 +35,7 @@ func (_v *GameMonsterFormatData)Deserialize(_buf map[string]interface{}) (err er { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["pos"].(float64); !_ok_ { err = errors.New("pos error"); return }; _v.Pos = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["captainId"].(float64); !_ok_ { err = errors.New("captainId error"); return }; _v.CaptainId = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["IsBoss"].(float64); !_ok_ { err = errors.New("IsBoss error"); return }; _v.IsBoss = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["bossHpCnt"].(float64); !_ok_ { err = errors.New("bossHpCnt error"); return }; _v.BossHpCnt = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["monster"].(float64); !_ok_ { err = errors.New("monster error"); return }; _v.Monster = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lv"].(float64); !_ok_ { err = errors.New("lv error"); return }; _v.Lv = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hppro"].(float64); !_ok_ { err = errors.New("hppro error"); return }; _v.Hppro = float32(_tempNum_) } From 14b784d32475a02cdefbaf530119428a71852ad8 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 10 Apr 2023 19:55:39 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_skillafteratk.json | 27 +----- bin/json/game_skillatk.json | 5 -- bin/json/game_smithyproficiency.json | 126 +++++++++++++-------------- 3 files changed, 66 insertions(+), 92 deletions(-) diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json index 6f3646775..c1e1b4c07 100644 --- a/bin/json/game_skillafteratk.json +++ b/bin/json/game_skillafteratk.json @@ -8068,7 +8068,9 @@ 350 ], "FollowSK": [], - "SucFollowSK": [], + "SucFollowSK": [ + 215005316 + ], "FailFollowSK": [], "MustHit": false, "DpsRevisiType": 0, @@ -8126,29 +8128,6 @@ "RevisiCondition": "", "RevisiParams": [] }, - { - "Id": 215005315, - "EmitPR": 1000, - "From": 1, - "Where": [], - "Order": "", - "Limit": 1, - "ExecuteCnt": 1, - "Type": 2, - "Argu": [ - 415005212, - 1, - 1 - ], - "FollowSK": [], - "SucFollowSK": [], - "FailFollowSK": [], - "MustHit": false, - "DpsRevisiType": 0, - "DpsCondition": "", - "RevisiCondition": "", - "RevisiParams": [] - }, { "Id": 215005316, "EmitPR": 1000, diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json index 7c7279cd4..38816b473 100644 --- a/bin/json/game_skillatk.json +++ b/bin/json/game_skillatk.json @@ -5329,7 +5329,6 @@ "Target": 0, "ChildSkill": { "Id": [ - 215005315, 215005311, 215005312, 215005313, @@ -5361,7 +5360,6 @@ "Target": 0, "ChildSkill": { "Id": [ - 215005315, 215005311, 215005322, 215005313, @@ -5393,7 +5391,6 @@ "Target": 0, "ChildSkill": { "Id": [ - 215005315, 215005311, 215005332, 215005313, @@ -5425,7 +5422,6 @@ "Target": 0, "ChildSkill": { "Id": [ - 215005315, 215005311, 215005342, 215005313, @@ -5457,7 +5453,6 @@ "Target": 0, "ChildSkill": { "Id": [ - 215005315, 215005311, 215005342, 215005313, diff --git a/bin/json/game_smithyproficiency.json b/bin/json/game_smithyproficiency.json index 244fab393..dcfe763d4 100644 --- a/bin/json/game_smithyproficiency.json +++ b/bin/json/game_smithyproficiency.json @@ -65,7 +65,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 5, @@ -150,7 +150,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 10, @@ -235,7 +235,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 15, @@ -320,7 +320,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 20, @@ -490,7 +490,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 30, @@ -575,7 +575,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 35, @@ -660,7 +660,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 40, @@ -745,7 +745,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 45, @@ -915,7 +915,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 55, @@ -1000,7 +1000,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 60, @@ -1085,7 +1085,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 65, @@ -1170,7 +1170,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 70, @@ -1340,7 +1340,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 80, @@ -1425,7 +1425,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 85, @@ -1510,7 +1510,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 90, @@ -1595,7 +1595,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 95, @@ -1765,7 +1765,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 105, @@ -1850,7 +1850,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 110, @@ -1935,7 +1935,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 115, @@ -2020,7 +2020,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 120, @@ -2105,7 +2105,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 125, @@ -2190,7 +2190,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 130, @@ -2275,7 +2275,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 135, @@ -2360,7 +2360,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 140, @@ -2445,7 +2445,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 145, @@ -2615,7 +2615,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 155, @@ -2700,7 +2700,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 160, @@ -2785,7 +2785,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 165, @@ -2870,7 +2870,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 170, @@ -3040,7 +3040,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 180, @@ -3125,7 +3125,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 185, @@ -3210,7 +3210,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 190, @@ -3295,7 +3295,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 195, @@ -3465,7 +3465,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 205, @@ -3550,7 +3550,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 210, @@ -3635,7 +3635,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 215, @@ -3720,7 +3720,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 220, @@ -3890,7 +3890,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 230, @@ -3975,7 +3975,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 235, @@ -4060,7 +4060,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 240, @@ -4145,7 +4145,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 245, @@ -4230,7 +4230,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 250, @@ -4315,7 +4315,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 255, @@ -4400,7 +4400,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 260, @@ -4485,7 +4485,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 265, @@ -4570,7 +4570,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 270, @@ -4740,7 +4740,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 280, @@ -4825,7 +4825,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 285, @@ -4910,7 +4910,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 290, @@ -4995,7 +4995,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 295, @@ -5165,7 +5165,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 305, @@ -5250,7 +5250,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 310, @@ -5335,7 +5335,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 315, @@ -5420,7 +5420,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 320, @@ -5590,7 +5590,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 330, @@ -5675,7 +5675,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 335, @@ -5760,7 +5760,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 340, @@ -5845,7 +5845,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 345, @@ -6015,7 +6015,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 355, @@ -6100,7 +6100,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 360, @@ -6185,7 +6185,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 365, @@ -6270,7 +6270,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 370, @@ -6355,7 +6355,7 @@ }, "type": 2, "value1": 120001, - "value2": 0 + "value2": -1 }, { "id": 375, From 24c248323f908d3b1e3b40ef0ccfafafdfc96bbc Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Tue, 4 Apr 2023 14:41:07 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=97=A5=E5=91=A8=E5=B8=B8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/gateway/agent.go | 7 +++--- modules/worldtask/api_mine.go | 40 +++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/modules/gateway/agent.go b/modules/gateway/agent.go index 74b540bbf..9db3b14ad 100644 --- a/modules/gateway/agent.go +++ b/modules/gateway/agent.go @@ -321,16 +321,15 @@ func (this *Agent) messageDistribution(msg *pb.UserMessage) (err error) { } stime := time.Now() // this.gateway.Debugf("----------3 agent:%s uId:%s MainType:%s SubType:%s ", this.sessionId, this.uId, msg.MainType, msg.SubType) - // ctx, _ := context.WithTimeout(context.Background(), time.Second*5) - ctx := context.Background() + ctx, _ := context.WithTimeout(context.Background(), time.Second*5) + // ctx := context.Background() if len(serviceTag) == 0 { // this.gateway.Debugf("----------4 agent:%s uId:%s MainType:%s SubType:%s ", this.sessionId, this.uId, msg.MainType, msg.SubType) if err = this.gateway.Service().RpcCall(ctx, servicePath, string(comm.Rpc_GatewayRoute), req, reply); err != nil { this.gateway.Error("[UserResponse]", log.Field{Key: "uid", Value: this.uId}, log.Field{Key: "serviceTag", Value: serviceTag}, - log.Field{Key: "servicePath", Value: servicePath}, - log.Field{Key: "servicePath", Value: servicePath}, + log.Field{Key: "servicePath", Value: servicePath}, log.Field{Key: "req", Value: fmt.Sprintf("%s:%s %v", req.MainType, req.SubType, req.Message.String())}, log.Field{Key: "err", Value: err.Error()}, ) diff --git a/modules/worldtask/api_mine.go b/modules/worldtask/api_mine.go index 487060f3d..1565de738 100644 --- a/modules/worldtask/api_mine.go +++ b/modules/worldtask/api_mine.go @@ -45,33 +45,37 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.WorldtaskMineReq) ( // 日常 if now-myWorldtask.DaliyRefreshTime >= 3600*24 { dailyIds := this.module.randomTask(user.Lv, dailyDes, myWorldtask) - for _, v := range dailyIds { - gwtd, err := this.module.configure.getWorldtaskById(v) - if err != nil || gwtd == nil { - continue - } - myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ - TaskId: v, - TaskType: gwtd.Des, + if len(dailyIds) > 0 { + for _, v := range dailyIds { + gwtd, err := this.module.configure.getWorldtaskById(v) + if err != nil || gwtd == nil { + continue + } + myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ + TaskId: v, + TaskType: gwtd.Des, + } } + update["daliyRefreshTime"] = configure.Now().Unix() } - update["daliyRefreshTime"] = configure.Now().Unix() } //周常 if now-myWorldtask.WeekRefreshTime >= 3600*24*7 { weekIds := this.module.randomTask(user.Lv, weekDes, myWorldtask) - for _, v := range weekIds { - gwtd, err := this.module.configure.getWorldtaskById(v) - if err != nil || gwtd == nil { - continue - } - myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ - TaskId: v, - TaskType: gwtd.Des, + if len(weekIds) > 0 { + for _, v := range weekIds { + gwtd, err := this.module.configure.getWorldtaskById(v) + if err != nil || gwtd == nil { + continue + } + myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ + TaskId: v, + TaskType: gwtd.Des, + } } + update["weekRefreshTime"] = configure.Now().Unix() } - update["weekRefreshTime"] = configure.Now().Unix() } update["currentTask"] = myWorldtask.CurrentTask From bf56296aa6fc23eacfbf9840e059eb679df1d558 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Mon, 10 Apr 2023 18:04:28 +0800 Subject: [PATCH 07/11] update --- modules/worldtask/api_finish.go | 9 ++++++ modules/worldtask/api_mine.go | 47 +-------------------------- modules/worldtask/model_worldtask.go | 48 +++++++++++++++++++++++++--- 3 files changed, 53 insertions(+), 51 deletions(-) diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index 99a3ccac4..b86f56eca 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -168,10 +168,19 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe } } } + if err := session.SendMsg(string(this.module.GetType()), WorldtaskSubtypeFinish, rsp); err != nil { code = pb.ErrorCode_SystemError return } + + // this.module.modelWorldtask.updateRandomTask(session.GetUserId(),userTask) + // for k,v:=range userTask.CurrentTask{ + // nextTask[k] = &pb.Worldtask{ + // TaskId: v.TaskId, + // } + // } + if curTaskConf.IdAfter != 0 { // 任务完成推送 if err := session.SendMsg(string(this.module.GetType()), WorldtaskNexttaskPush, &pb.WorldtaskNexttaskPush{ diff --git a/modules/worldtask/api_mine.go b/modules/worldtask/api_mine.go index 1565de738..5e43b2b54 100644 --- a/modules/worldtask/api_mine.go +++ b/modules/worldtask/api_mine.go @@ -4,7 +4,6 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/sys/log" "go_dreamfactory/pb" - "go_dreamfactory/sys/configure" "google.golang.org/protobuf/proto" ) @@ -39,51 +38,7 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.WorldtaskMineReq) ( myWorldtask.CurrentTask = make(map[int32]*pb.Worldtask) } - now := configure.Now().Unix() - update := make(map[string]interface{}) - - // 日常 - if now-myWorldtask.DaliyRefreshTime >= 3600*24 { - dailyIds := this.module.randomTask(user.Lv, dailyDes, myWorldtask) - if len(dailyIds) > 0 { - for _, v := range dailyIds { - gwtd, err := this.module.configure.getWorldtaskById(v) - if err != nil || gwtd == nil { - continue - } - myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ - TaskId: v, - TaskType: gwtd.Des, - } - } - update["daliyRefreshTime"] = configure.Now().Unix() - } - } - - //周常 - if now-myWorldtask.WeekRefreshTime >= 3600*24*7 { - weekIds := this.module.randomTask(user.Lv, weekDes, myWorldtask) - if len(weekIds) > 0 { - for _, v := range weekIds { - gwtd, err := this.module.configure.getWorldtaskById(v) - if err != nil || gwtd == nil { - continue - } - myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ - TaskId: v, - TaskType: gwtd.Des, - } - } - update["weekRefreshTime"] = configure.Now().Unix() - } - } - - update["currentTask"] = myWorldtask.CurrentTask - - if err := this.module.modelWorldtask.Change(uid, update); err != nil { - code = pb.ErrorCode_DBError - return - } + this.module.modelWorldtask.updateRandomTask(uid, myWorldtask) rsp := &pb.WorldtaskMineResp{ Task: myWorldtask, diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index c0a715a54..ac99e1c38 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -7,6 +7,7 @@ import ( "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" + "go_dreamfactory/sys/configure" cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/utils" @@ -161,6 +162,10 @@ func (this *ModelWorldtask) updateCheckCond(uid string, userTask *pb.DBWorldtask return nil } + if nextTaskConf.Des == 1 || nextTaskConf.Des == 4 { + return nil + } + if userTask.CurrentTask == nil { userTask.CurrentTask = make(map[int32]*pb.Worldtask) } @@ -295,11 +300,11 @@ func (this *ModelWorldtask) taskFinish(session comm.IUserSession, groupId, taskI } } -func (this *Worldtask) filterTask(userLv, des int32, wt *pb.DBWorldtask) (taskIds []int32) { +func (this *ModelWorldtask) filterTask(userLv, des int32, wt *pb.DBWorldtask) (taskIds []int32) { if des != 1 && des != 4 { return } - gwt, err := this.configure.getWorldtaskCfg() + gwt, err := this.moduleWorldtask.configure.getWorldtaskCfg() if err != nil { return } @@ -319,12 +324,12 @@ func (this *Worldtask) filterTask(userLv, des int32, wt *pb.DBWorldtask) (taskId } // 随机日常、周常任务 -func (this *Worldtask) randomTask(userLv, des int32, wt *pb.DBWorldtask) (taskIds []int32) { +func (this *ModelWorldtask) randomTask(userLv, des int32, wt *pb.DBWorldtask) (taskIds []int32) { var num int32 if des == 1 { - num = this.configure.GetGlobalConf().DailyNum + num = this.moduleWorldtask.configure.GetGlobalConf().DailyNum } else if des == 4 { - num = this.configure.GetGlobalConf().WeekNum + num = this.moduleWorldtask.configure.GetGlobalConf().WeekNum } tIds := this.filterTask(userLv, des, wt) @@ -339,3 +344,36 @@ func (this *Worldtask) randomTask(userLv, des int32, wt *pb.DBWorldtask) (taskId return } + +func (this *ModelWorldtask) updateRandomTask(uid string, myWorldtask *pb.DBWorldtask) { + user := this.moduleWorldtask.ModuleUser.GetUser(uid) + if user == nil { + return + } + + now := configure.Now().Unix() + update := make(map[string]interface{}) + //周常 + if now-myWorldtask.WeekRefreshTime >= 3600*24*7 { + weekIds := this.randomTask(user.Lv, weekDes, myWorldtask) + if len(weekIds) > 0 { + for _, v := range weekIds { + gwtd, err := this.moduleWorldtask.configure.getWorldtaskById(v) + if err != nil || gwtd == nil { + continue + } + myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ + TaskId: v, + TaskType: gwtd.Des, + } + } + update["weekRefreshTime"] = configure.Now().Unix() + } + } + + update["currentTask"] = myWorldtask.CurrentTask + + if err := this.Change(uid, update); err != nil { + return + } +} From c4f0e8fc26e576cc3b52bd4591da25f882f27f3c Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Mon, 10 Apr 2023 20:46:37 +0800 Subject: [PATCH 08/11] update --- modules/worldtask/api_finish.go | 2 ++ modules/worldtask/model_worldtask.go | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index b86f56eca..fbff25c14 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -154,6 +154,8 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe } finishRsp := func() { + this.module.modelWorldtask.updateRandomTask(session.GetUserId(), userTask) + nextTaskIds := this.module.modelWorldtask.findNextTasks(curTaskConf.Key) this.module.Debug("nextTaskIds", log.Field{Key: "nextTaskIds", Value: nextTaskIds}) diff --git a/modules/worldtask/model_worldtask.go b/modules/worldtask/model_worldtask.go index ac99e1c38..3a3041dfd 100644 --- a/modules/worldtask/model_worldtask.go +++ b/modules/worldtask/model_worldtask.go @@ -231,6 +231,8 @@ func (this *ModelWorldtask) updateCheckCond(uid string, userTask *pb.DBWorldtask // 任务完成推送 func (this *ModelWorldtask) taskFinishPush(session comm.IUserSession, groupId int32, userTask *pb.DBWorldtask, curTaskConf *cfg.GameWorldTaskData) { + this.updateRandomTask(session.GetUserId(), userTask) + nextTaskIds := this.findNextTasks(curTaskConf.Key) this.moduleWorldtask.Debug("nextTaskIds", log.Field{Key: "nextTaskIds", Value: nextTaskIds}) @@ -353,6 +355,23 @@ func (this *ModelWorldtask) updateRandomTask(uid string, myWorldtask *pb.DBWorld now := configure.Now().Unix() update := make(map[string]interface{}) + // 日常 + if now-myWorldtask.DaliyRefreshTime >= 3600*24 { + dailyIds := this.randomTask(user.Lv, dailyDes, myWorldtask) + if len(dailyIds) > 0 { + for _, v := range dailyIds { + gwtd, err := this.moduleWorldtask.configure.getWorldtaskById(v) + if err != nil || gwtd == nil { + continue + } + myWorldtask.CurrentTask[gwtd.Group] = &pb.Worldtask{ + TaskId: v, + TaskType: gwtd.Des, + } + } + update["daliyRefreshTime"] = configure.Now().Unix() + } + } //周常 if now-myWorldtask.WeekRefreshTime >= 3600*24*7 { weekIds := this.randomTask(user.Lv, weekDes, myWorldtask) From dd41812f61a1b5e7887f019a9d2a49f2bbf3338c Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 11 Apr 2023 10:19:48 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E4=B8=8A=E4=BC=A0pvp=E4=B8=BB=E5=8A=A8?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pvp/api_activecancel.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/pvp/api_activecancel.go b/modules/pvp/api_activecancel.go index 6eb5060fa..92f9e7d0b 100644 --- a/modules/pvp/api_activecancel.go +++ b/modules/pvp/api_activecancel.go @@ -9,18 +9,18 @@ import ( ) //参数校验 -func (this *apiComp) CancelCheck(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode) { +func (this *apiComp) ActiveCancelCheck(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode) { return } ///设置战斗阵型 -func (this *apiComp) Cancel(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode, data proto.Message) { +func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCancelReq) (code pb.ErrorCode, data proto.Message) { var ( battle *BattleItem ok bool winside int32 ) - if code = this.CancelCheck(session, req); code != pb.ErrorCode_Success { + if code = this.ActiveCancelCheck(session, req); code != pb.ErrorCode_Success { return } this.module.lock.RLock() @@ -47,6 +47,6 @@ func (this *apiComp) Cancel(session comm.IUserSession, req *pb.PvpActiveCancelRe return } - session.SendMsg(string(this.module.GetType()), "cancel", &pb.PvpActiveCancelResp{Issucc: true}) + session.SendMsg(string(this.module.GetType()), "activecancel", &pb.PvpActiveCancelResp{Issucc: true}) return } From 5a44eaffdb8dadf7ed5728899381ca383e1c9833 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 11 Apr 2023 10:50:19 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E6=88=98=E6=96=97=E4=B8=AD=E4=B8=BB?= =?UTF-8?q?=E5=8A=A8=E9=80=80=E5=87=BA=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pvp/api_activecancel.go | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/modules/pvp/api_activecancel.go b/modules/pvp/api_activecancel.go index 92f9e7d0b..d356cf18f 100644 --- a/modules/pvp/api_activecancel.go +++ b/modules/pvp/api_activecancel.go @@ -18,6 +18,7 @@ func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCa var ( battle *BattleItem ok bool + faiside int32 winside int32 ) if code = this.ActiveCancelCheck(session, req); code != pb.ErrorCode_Success { @@ -28,19 +29,28 @@ func (this *apiComp) ActiveCancel(session comm.IUserSession, req *pb.PvpActiveCa this.module.lock.RUnlock() if ok { if battle.Red.Uid == session.GetUserId() { + faiside = 1 winside = 2 } else { + faiside = 2 winside = 1 } - this.module.PvpFinishPush(&pb.BattleFinishPush{ - Battleid: req.Battleid, - WinSide: winside, - }) - if err := this.module.SendMsgToSession(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{ - ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()), - Battleid: battle.Id, - }, battle.RedSession, battle.BlueSession); err != nil { - this.module.Errorln(err) + if battle.State == pb.PvpState_battle { + this.module.battle.ConcedeBattle(&pb.BattleConcedeReq{ + Battleid: req.Battleid, + Side: faiside, + }) + } else { + this.module.PvpFinishPush(&pb.BattleFinishPush{ + Battleid: req.Battleid, + WinSide: winside, + }) + if err := this.module.SendMsgToSession(string(comm.ModulePvp), "cancel", &pb.PvpCancelPush{ + ServicePath: fmt.Sprintf("%s/%s", this.service.GetType(), this.service.GetId()), + Battleid: battle.Id, + }, battle.RedSession, battle.BlueSession); err != nil { + this.module.Errorln(err) + } } } else { code = pb.ErrorCode_BattleInCmdFailed From feb0564e27a54d1764d342ad6cdb51582d149121 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 11 Apr 2023 10:56:25 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=AD=A6=E9=A6=86?= =?UTF-8?q?=E6=8F=90=E5=87=BA=E5=A5=BD=E5=8F=8B=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/practice/api_expulsion.go | 2 +- pb/practice_msg.pb.go | 228 ++++++++++++++++-------------- 2 files changed, 120 insertions(+), 110 deletions(-) diff --git a/modules/practice/api_expulsion.go b/modules/practice/api_expulsion.go index e2c3297eb..bde5f7b6a 100644 --- a/modules/practice/api_expulsion.go +++ b/modules/practice/api_expulsion.go @@ -222,7 +222,7 @@ func (this *apiComp) Expulsion(session comm.IUserSession, req *pb.PracticeExpuls "knapsack": froom.Knapsack, }) if ok { //在线直接推送消息 - _session.SendMsg(string(this.module.GetType()), "beexpulsion", &pb.PracticeBeExpulsionPush{Pillar: pillar, Knapsack: froom.Knapsack}) + _session.SendMsg(string(this.module.GetType()), "beexpulsion", &pb.PracticeBeExpulsionPush{Fuid: session.GetUserId(), Pillar: pillar, Knapsack: froom.Knapsack}) if err = _session.Push(); err != nil { this.module.Errorln(err) diff --git a/pb/practice_msg.pb.go b/pb/practice_msg.pb.go index cef614102..08a80b472 100644 --- a/pb/practice_msg.pb.go +++ b/pb/practice_msg.pb.go @@ -795,8 +795,9 @@ type PracticeBeExpulsionPush struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pillar *DBPracticePillar `protobuf:"bytes,1,opt,name=pillar,proto3" json:"pillar"` - Knapsack map[string]int32 `protobuf:"bytes,2,rep,name=knapsack,proto3" json:"knapsack" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //资源 + Fuid string `protobuf:"bytes,1,opt,name=fuid,proto3" json:"fuid"` + Pillar *DBPracticePillar `protobuf:"bytes,2,opt,name=pillar,proto3" json:"pillar"` + Knapsack map[string]int32 `protobuf:"bytes,3,rep,name=knapsack,proto3" json:"knapsack" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` //资源 } func (x *PracticeBeExpulsionPush) Reset() { @@ -831,6 +832,13 @@ func (*PracticeBeExpulsionPush) Descriptor() ([]byte, []int) { return file_practice_practice_msg_proto_rawDescGZIP(), []int{15} } +func (x *PracticeBeExpulsionPush) GetFuid() string { + if x != nil { + return x.Fuid + } + return "" +} + func (x *PracticeBeExpulsionPush) GetPillar() *DBPracticePillar { if x != nil { return x.Pillar @@ -2212,118 +2220,120 @@ var file_practice_practice_msg_proto_rawDesc = []byte{ 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc5, 0x01, 0x0a, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, - 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, - 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, - 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x2e, - 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, - 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, - 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, - 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x3e, 0x0a, 0x08, 0x6b, - 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x06, + 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, + 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, + 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, + 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, + 0x75, 0x73, 0x68, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, - 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, 0x14, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x24, 0x0a, 0x12, 0x50, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x75, 0x73, - 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, - 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x17, - 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, - 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, - 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, - 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6f, 0x73, - 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, - 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, - 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, - 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, - 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, - 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, - 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, - 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, - 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, - 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, - 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, - 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, - 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, - 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, - 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 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, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, - 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 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, 0x42, - 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xbd, 0x01, 0x0a, + 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, + 0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, + 0x3b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, + 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, + 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, + 0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, + 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, + 0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, + 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, + 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x50, + 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, + 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, + 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x66, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, + 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x25, 0x0a, 0x11, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, + 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, + 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, + 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, + 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x75, + 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, + 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, + 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x44, 0x0a, 0x1b, + 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, + 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x06, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, + 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, + 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 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, 0x16, 0x0a, 0x14, 0x50, 0x72, + 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, + 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, + 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var (