From 3e12eec3cdbf047abacd713001124c2bf2a0fa75 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Mon, 1 Jul 2024 14:43:09 +0800 Subject: [PATCH] update --- data/DB_GameItem.dat | Bin 8958 -> 8619 bytes data/DB_GameItem.json | 93 --- data/DB_PetSkill.dat | Bin 885 -> 890 bytes data/DB_PetSkill.json | 50 +- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2161 -> 2161 bytes protocol/pets/pets.pb.go | 484 +++-------- protocol/pets/pets.proto | 22 - protocol/rank/rank.pb.go | 370 ++++++++- protocol/rank/rank.proto | 26 + protocol/server/pbdata.pb.go | 1404 +++++++++++++++++-------------- protocol/server/pbdata.proto | 30 +- protocol/task/task.pb.go | 119 +-- protocol/task/task.proto | 5 +- protocol/tienlen/tienlen.pb.go | 113 +-- protocol/tienlen/tienlen.proto | 8 - protocol/webapi/common.pb.go | 564 ++++++++++++- protocol/webapi/common.proto | 42 + protocol/welfare/welfare.pb.go | 1412 +++++++++++++++++++++++++++++--- protocol/welfare/welfare.proto | 107 ++- xlsx/DB_GameItem.xlsx | Bin 23736 -> 23164 bytes xlsx/DB_PetSkill.xlsx | Bin 11170 -> 11082 bytes 22 files changed, 3367 insertions(+), 1482 deletions(-) diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index 4a0081f400cd1de9159db854c72976a30fc392f6..08348aff54374fb35c99f2e1e6eca2e693d96c37 100644 GIT binary patch delta 21 dcmez8y4ra{-)42j$y}Rxcr;ly&lN}%0svwh2a^B* delta 206 zcmZ4O{LghlAMZ3qj-R1IJkPosUNrBW$fwU3J<(2!=XvMOXY0Bkf*Uh-a`6Um+-+kP zVtcu7=F=UGlleGRW#pdruYWpc#mk0SFBbN^Sl{?$$J(c@6QA`idOEdjvn;nROL`i| z>RvV>o)=qZKV7@{`SSHoJKCg}7#Nh885kHegp62#6oVC*j9|=SG$=AdHtWgm-A}s~ rzUbTjbl-G{-uHWYfL1=)JLk!cUC;U^0d0Mi%bCkX)nrwwNE diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index 5cd9737..619475e 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -32,38 +32,6 @@ "Location": "10001", "Describe": "作用:用于升级,解锁宠物斗鸡;可在角色功能页面使用。\n" }, - { - "Id": 11001, - "Name": "技能碎片", - "ShowLocation": [ - 1, - 1 - ], - "Classify": [ - 1, - 1, - 0 - ], - "Type": 1, - "Effect0": [ - 1, - 0, - 1, - 0 - ], - "Effect": [ - 1, - 0, - 1, - 0 - ], - "SaleType": 1, - "SaleGold": 5000, - "Composition": 1, - "CompositionMax": 9999, - "Location": "10001", - "Describe": "作用:用于升级,解锁宠物斗鸡特殊技能;可在角色功能页面使用。\n" - }, { "Id": 20001, "Name": "酷帕碎片", @@ -789,38 +757,6 @@ "Location": "0", "Describe": "可在集字活动中兑换物品" }, - { - "Id": 50013, - "Name": "龙币", - "ShowLocation": [ - 1, - 1 - ], - "Classify": [ - 1, - 1, - 0 - ], - "Type": 13, - "Effect0": [ - 0, - 0, - 1, - 0 - ], - "Effect": [ - 0, - 0, - 1, - 0 - ], - "SaleType": 1, - "SaleGold": 5000, - "Composition": 1, - "CompositionMax": 9999, - "Location": "0", - "Describe": "可在通行证中兑换商品" - }, { "Id": 60001, "Name": "tienlen记牌器(1小时)", @@ -1235,35 +1171,6 @@ "Describe": "房间内互动表情", "Num": 1000 }, - { - "Id": 100011, - "Name": "赛季积分", - "ShowLocation": [ - 0, - 0 - ], - "Classify": [ - 0, - 0, - 0 - ], - "Type": 18, - "Effect0": [ - 0, - 0, - 0, - 0 - ], - "Effect": [ - 0, - 0, - 0, - 0 - ], - "CompositionMax": 1, - "Location": "0", - "Describe": "通行证中任务获得积分,可作为排行使用" - }, { "Id": 100135, "Name": "圣耀裁决", diff --git a/data/DB_PetSkill.dat b/data/DB_PetSkill.dat index 9f3788d2cc02117e4f46c65972916a2de2a8c696..622f190fb9ebbcfe904fd70c0d1e11f3239762e5 100644 GIT binary patch literal 890 zcmb8sy$XU*7=Yo_w4*dMG&D9hd9*)+mM)+%x|e8)#D)}tsD_prB9I)zu%(MRns-q{ zUmW5iI5+SN?`w>RR9Ovck9of?HOjfS%Hsoz7R(PVlkLyXW0=iicE6>&AUj0qI$>Ut zZm*NpG(F9-z+=&pxo773*(U5st${`^zE-IkBO-$*ZuwstitFe>!Jp1uHWcM3CZelm!yNKBl zKU}BH8NbZqjm?5JTY7Bi#Cv}r4`uQi7faM4X>ijbZVPi2a5La$MBFy!s^Dh9&5F1k z%q8H;;L0Ly7jw0*J0S|V%8zUOdoyYnOaWE_R)t^#gL42AfQb-nVz3Ud2Cyas*D*K` PFa?+j!3_*9eBjg@Z)M%7 diff --git a/data/DB_PetSkill.json b/data/DB_PetSkill.json index bd8ce86..06f6923 100644 --- a/data/DB_PetSkill.json +++ b/data/DB_PetSkill.json @@ -3,131 +3,121 @@ { "Id": 1, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 1, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{5}概率完全免疫", - "SKillValue": 5, + "SKillValue": "5", "ItemConsum": { - "11001": 20 + "100013": 20 } }, { "Id": 2, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 2, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{6}概率完全免疫", - "SKillValue": 6, + "SKillValue": "6", "ItemConsum": { - "11001": 20 + "100013": 20 } }, { "Id": 3, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 3, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{7}概率完全免疫", - "SKillValue": 7, + "SKillValue": "7", "ItemConsum": { - "11001": 20 + "100013": 20 } }, { "Id": 4, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 4, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{8}概率完全免疫", - "SKillValue": 8, + "SKillValue": "8", "ItemConsum": { - "11001": 20 + "100013": 50 } }, { "Id": 5, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 5, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{9}概率完全免疫", - "SKillValue": 9, + "SKillValue": "9", "ItemConsum": { - "11001": 20 + "100013": 50 } }, { "Id": 6, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 6, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{10}概率完全免疫", - "SKillValue": 10, + "SKillValue": "10", "ItemConsum": { - "11001": 20 + "100013": 50 } }, { "Id": 7, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 7, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{11}概率完全免疫", - "SKillValue": 11, + "SKillValue": "11", "ItemConsum": { - "11001": 20 + "100013": 50 } }, { "Id": 8, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 8, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{12}概率完全免疫", - "SKillValue": 12, + "SKillValue": "12", "ItemConsum": { - "11001": 20 + "100013": 50 } }, { "Id": 9, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 9, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{13}概率完全免疫", - "SKillValue": 13, + "SKillValue": "13", "ItemConsum": { - "11001": 20 + "100013": 50 } }, { "Id": 10, "SkillId": 10001, - "SkillType": 1, "PetId": 1000001, "SkillLevel": 10, "SkillName": "金鸡守卫", "SkillDes": "在被炸弹明确攻击时{14}概率完全免疫", - "SKillValue": 14, + "SKillValue": "14", "ItemConsum": { - "11001": 0 + "100013": 0 } } ] diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index e2e5ac4d763f1fce921a1306a5dbd96c70b82502..7a4fcb83c409cf31ba650710674b5bfd8ee6c79b 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!+{O&1uR!UmQ2H8_z7C?5I5-yevI!h$vE|a^U;?YZ1(m-IrEfs# zn`r98IUweP#ew#r>%(O)%siO;AnxDOOU=D?8fLR1{7|Z~4i@*jV VIp_}9;p`lXfFAwA%*8-k2modpJT(9S literal 384 zcmd-w<6snElw#w!+Qtl~uR-bSQ2H{Iz5=3^I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwevmg+Tg38}q~tW2m4ARB%Br+r~2yxNY09lV-e64*3D~KCNcp{0druc9Fm*t&z?HjnOSi1QTEwT LO%0t@P)#BLF<&Y6 delta 144 zcmew;@KInwxgZC}!d^Ck3vJ9+Y#d8~EUt+i#uJSNH=gle6lCML*v2ftWCc+(VIlu! zRVF#c$y?Y3Cx pets.RoleInfo - 15, // 1: pets.PetInfo.SkillInfo:type_name -> pets.PetSkillInfo - 5, // 2: pets.SCPetInfo.Infos:type_name -> pets.PetInfo - 2, // 3: pets.SCRoleRisingStar.RoleInfo:type_name -> pets.RoleInfo - 1, // 4: pets.SCRoleRisingStar.RetCode:type_name -> pets.OpResultCode - 5, // 5: pets.SCPetRisingStar.PetInfo:type_name -> pets.PetInfo - 1, // 6: pets.SCPetRisingStar.RetCode:type_name -> pets.OpResultCode - 1, // 7: pets.SCRolePetUseOp.RetCode:type_name -> pets.OpResultCode - 1, // 8: pets.SCRolePetUnlock.RetCode:type_name -> pets.OpResultCode - 2, // 9: pets.SCRolePetUnlock.RoleInfo:type_name -> pets.RoleInfo - 5, // 10: pets.SCRolePetUnlock.PetInfo:type_name -> pets.PetInfo - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 5, // 1: pets.SCPetInfo.Infos:type_name -> pets.PetInfo + 2, // 2: pets.SCRoleRisingStar.RoleInfo:type_name -> pets.RoleInfo + 1, // 3: pets.SCRoleRisingStar.RetCode:type_name -> pets.OpResultCode + 5, // 4: pets.SCPetRisingStar.PetInfo:type_name -> pets.PetInfo + 1, // 5: pets.SCPetRisingStar.RetCode:type_name -> pets.OpResultCode + 1, // 6: pets.SCRolePetUseOp.RetCode:type_name -> pets.OpResultCode + 1, // 7: pets.SCRolePetUnlock.RetCode:type_name -> pets.OpResultCode + 2, // 8: pets.SCRolePetUnlock.RoleInfo:type_name -> pets.RoleInfo + 5, // 9: pets.SCRolePetUnlock.PetInfo:type_name -> pets.PetInfo + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_pets_proto_init() } @@ -1673,42 +1455,6 @@ func file_pets_proto_init() { return nil } } - file_pets_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PetSkillInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pets_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSPetSkillLevelUp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pets_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCPetSkillLevelUp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1716,7 +1462,7 @@ func file_pets_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pets_proto_rawDesc, NumEnums: 2, - NumMessages: 16, + NumMessages: 13, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/pets/pets.proto b/protocol/pets/pets.proto index 14ad91a..e48e39c 100644 --- a/protocol/pets/pets.proto +++ b/protocol/pets/pets.proto @@ -16,8 +16,6 @@ enum PetsPacketID { PACKET_SC_ROLEPETUSEOP = 2558; PACKET_CS_ROLEPETUNLOCK = 2559;//解锁模型 PACKET_SC_ROLEPETUNLOCK = 2560; - PACKET_CS_PETSKILLLEVELUP = 2561;//技能升级 - PACKET_SC_PETSKILLLEVELUP = 2562;//技能升级返回 } //操作结果 @@ -73,7 +71,6 @@ message PetInfo { int32 NextAward = 15;//下一级加成 bool IsUsing = 16;//是否在使用中 bool IsUnlock = 17;//是否已经解锁 - repeated PetSkillInfo SkillInfo = 18;//宠物技能信息 } //PACKET_CS_PET_INFO message CSPetInfo { @@ -120,23 +117,4 @@ message SCRolePetUnlock{ OpResultCode RetCode = 3; RoleInfo RoleInfo = 4; PetInfo PetInfo = 5; -} - -//宠物技能 -message PetSkillInfo{ - int32 SkillId = 1; - int32 SkillLevel = 2; -} -//请求升级 -//PACKET_CS_PETSKILLLEVELUP -message CSPetSkillLevelUp{ - int32 PetId =1; - int32 SkillId = 2; -} -//请求升级返回 -//PACKET_SC_PETSKILLLEVELUP -message SCPetSkillLevelUp{ - int32 PetId = 1; - int32 SkillId = 2; - int32 SkillLevel = 3; } \ No newline at end of file diff --git a/protocol/rank/rank.pb.go b/protocol/rank/rank.pb.go index 00a0c60..74f50d1 100644 --- a/protocol/rank/rank.pb.go +++ b/protocol/rank/rank.pb.go @@ -42,6 +42,9 @@ const ( //等级榜 Rank_PACKET_RANK_CSLevel Rank = 10010 Rank_PACKET_RANK_SCLevel Rank = 10011 + //赛季通行证排行榜 + Rank_PACKET_RANK_CSPermit Rank = 10012 + Rank_PACKET_RANK_SCPermit Rank = 10013 ) // Enum value maps for Rank. @@ -60,6 +63,8 @@ var ( 10009: "PACKET_RANK_SCWinCoin", 10010: "PACKET_RANK_CSLevel", 10011: "PACKET_RANK_SCLevel", + 10012: "PACKET_RANK_CSPermit", + 10013: "PACKET_RANK_SCPermit", } Rank_value = map[string]int32{ "PACKET_RANK_ZERO": 0, @@ -75,6 +80,8 @@ var ( "PACKET_RANK_SCWinCoin": 10009, "PACKET_RANK_CSLevel": 10010, "PACKET_RANK_SCLevel": 10011, + "PACKET_RANK_CSPermit": 10012, + "PACKET_RANK_SCPermit": 10013, } ) @@ -1567,6 +1574,221 @@ func (x *SCPlayerLevelRank) GetLimit() int32 { return 0 } +//PACKET_RANK_CSPermit +type CSPermit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Skip int32 `protobuf:"varint,1,opt,name=Skip,proto3" json:"Skip,omitempty"` // 偏移量 + Limit int32 `protobuf:"varint,2,opt,name=Limit,proto3" json:"Limit,omitempty"` // 请求数量 +} + +func (x *CSPermit) Reset() { + *x = CSPermit{} + if protoimpl.UnsafeEnabled { + mi := &file_rank_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSPermit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSPermit) ProtoMessage() {} + +func (x *CSPermit) ProtoReflect() protoreflect.Message { + mi := &file_rank_proto_msgTypes[19] + 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 CSPermit.ProtoReflect.Descriptor instead. +func (*CSPermit) Descriptor() ([]byte, []int) { + return file_rank_proto_rawDescGZIP(), []int{19} +} + +func (x *CSPermit) GetSkip() int32 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *CSPermit) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type PermitRank struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` // 玩家id + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 昵称 + Rank int32 `protobuf:"varint,3,opt,name=Rank,proto3" json:"Rank,omitempty"` //段位排名 + Score int64 `protobuf:"varint,4,opt,name=Score,proto3" json:"Score,omitempty"` // 积分 + ModId int32 `protobuf:"varint,5,opt,name=ModId,proto3" json:"ModId,omitempty"` // 头像模型 +} + +func (x *PermitRank) Reset() { + *x = PermitRank{} + if protoimpl.UnsafeEnabled { + mi := &file_rank_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitRank) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitRank) ProtoMessage() {} + +func (x *PermitRank) ProtoReflect() protoreflect.Message { + mi := &file_rank_proto_msgTypes[20] + 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 PermitRank.ProtoReflect.Descriptor instead. +func (*PermitRank) Descriptor() ([]byte, []int) { + return file_rank_proto_rawDescGZIP(), []int{20} +} + +func (x *PermitRank) GetSnid() int32 { + if x != nil { + return x.Snid + } + return 0 +} + +func (x *PermitRank) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PermitRank) GetRank() int32 { + if x != nil { + return x.Rank + } + return 0 +} + +func (x *PermitRank) GetScore() int64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *PermitRank) GetModId() int32 { + if x != nil { + return x.ModId + } + return 0 +} + +// PACKET_RANK_SCPermit +type SCPermit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ranks []*PermitRank `protobuf:"bytes,1,rep,name=Ranks,proto3" json:"Ranks,omitempty"` // 排行榜 + Me *PermitRank `protobuf:"bytes,2,opt,name=Me,proto3" json:"Me,omitempty"` // 玩家自己的排行信息 + Skip int32 `protobuf:"varint,3,opt,name=Skip,proto3" json:"Skip,omitempty"` // 偏移量 + IsEndNum bool `protobuf:"varint,4,opt,name=IsEndNum,proto3" json:"IsEndNum,omitempty"` + RankMaxNum int32 `protobuf:"varint,5,opt,name=RankMaxNum,proto3" json:"RankMaxNum,omitempty"` // 排行榜最大上限 +} + +func (x *SCPermit) Reset() { + *x = SCPermit{} + if protoimpl.UnsafeEnabled { + mi := &file_rank_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCPermit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCPermit) ProtoMessage() {} + +func (x *SCPermit) ProtoReflect() protoreflect.Message { + mi := &file_rank_proto_msgTypes[21] + 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 SCPermit.ProtoReflect.Descriptor instead. +func (*SCPermit) Descriptor() ([]byte, []int) { + return file_rank_proto_rawDescGZIP(), []int{21} +} + +func (x *SCPermit) GetRanks() []*PermitRank { + if x != nil { + return x.Ranks + } + return nil +} + +func (x *SCPermit) GetMe() *PermitRank { + if x != nil { + return x.Me + } + return nil +} + +func (x *SCPermit) GetSkip() int32 { + if x != nil { + return x.Skip + } + return 0 +} + +func (x *SCPermit) GetIsEndNum() bool { + if x != nil { + return x.IsEndNum + } + return false +} + +func (x *SCPermit) GetRankMaxNum() int32 { + if x != nil { + return x.RankMaxNum + } + return 0 +} + var File_rank_proto protoreflect.FileDescriptor var file_rank_proto_rawDesc = []byte{ @@ -1711,40 +1933,65 @@ var file_rank_proto_rawDesc = []byte{ 0x66, 0x6f, 0x52, 0x02, 0x4d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x2a, 0xde, 0x02, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, - 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, - 0x53, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x90, 0x4e, 0x12, 0x1c, 0x0a, - 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x52, - 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x91, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x43, 0x6f, 0x69, - 0x6e, 0x10, 0x92, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, - 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x93, 0x4e, 0x12, 0x19, 0x0a, - 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x94, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x10, 0x95, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x10, 0x96, 0x4e, 0x12, 0x17, 0x0a, 0x12, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, - 0x6f, 0x67, 0x10, 0x97, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x98, - 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, - 0x5f, 0x53, 0x43, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x99, 0x4e, 0x12, 0x18, 0x0a, - 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9a, 0x4e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9b, - 0x4e, 0x2a, 0x8d, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, - 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x5f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x10, 0x02, - 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, - 0x6f, 0x6e, 0x74, 0x68, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x70, 0x57, 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x12, 0x0a, - 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x78, 0x10, - 0x05, 0x42, 0x24, 0x5a, 0x22, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x2f, 0x72, 0x61, 0x6e, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0x34, 0x0a, 0x08, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x53, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6b, 0x69, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x74, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, + 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x49, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x6f, 0x64, 0x49, 0x64, 0x22, 0xa4, 0x01, 0x0a, + 0x08, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x05, 0x52, 0x61, 0x6e, + 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x72, 0x61, 0x6e, 0x6b, 0x2e, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x52, 0x61, 0x6e, 0x6b, + 0x73, 0x12, 0x20, 0x0a, 0x02, 0x4d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x72, 0x61, 0x6e, 0x6b, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x02, 0x4d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x45, 0x6e, 0x64, + 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x45, 0x6e, 0x64, + 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x4e, 0x75, + 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, + 0x4e, 0x75, 0x6d, 0x2a, 0x94, 0x03, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x10, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x5a, 0x45, 0x52, 0x4f, + 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, + 0x4b, 0x5f, 0x43, 0x53, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x90, 0x4e, + 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, + 0x53, 0x43, 0x52, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x91, 0x4e, 0x12, 0x17, + 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, + 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x92, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x93, 0x4e, + 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, + 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x94, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x10, 0x95, 0x4e, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x10, 0x96, 0x4e, 0x12, + 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x10, 0x97, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, + 0x6e, 0x10, 0x98, 0x4e, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, + 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x99, 0x4e, + 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, + 0x43, 0x53, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x9a, 0x4e, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, 0x43, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x10, 0x9b, 0x4e, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, + 0x41, 0x4e, 0x4b, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x9c, 0x4e, 0x12, + 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x5f, 0x53, + 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x9d, 0x4e, 0x2a, 0x8d, 0x01, 0x0a, 0x0a, 0x52, + 0x61, 0x6e, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x5f, 0x57, 0x65, 0x65, 0x6b, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x10, 0x03, 0x12, + 0x15, 0x0a, 0x11, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x70, + 0x57, 0x65, 0x65, 0x6b, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4d, 0x61, 0x78, 0x10, 0x05, 0x42, 0x24, 0x5a, 0x22, 0x6d, 0x6f, + 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, + 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x72, 0x61, 0x6e, 0x6b, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1760,7 +2007,7 @@ func file_rank_proto_rawDescGZIP() []byte { } var file_rank_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_rank_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_rank_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_rank_proto_goTypes = []interface{}{ (Rank)(0), // 0: rank.Rank (RankInvite)(0), // 1: rank.RankInvite @@ -1783,6 +2030,9 @@ var file_rank_proto_goTypes = []interface{}{ (*CSPlayerLevelRank)(nil), // 18: rank.CSPlayerLevelRank (*PlayerLevelRankInfo)(nil), // 19: rank.PlayerLevelRankInfo (*SCPlayerLevelRank)(nil), // 20: rank.SCPlayerLevelRank + (*CSPermit)(nil), // 21: rank.CSPermit + (*PermitRank)(nil), // 22: rank.PermitRank + (*SCPermit)(nil), // 23: rank.SCPermit } var file_rank_proto_depIdxs = []int32{ 3, // 0: rank.SCRankMatch.Ranks:type_name -> rank.SeasonRank @@ -1796,11 +2046,13 @@ var file_rank_proto_depIdxs = []int32{ 16, // 8: rank.SCWinCoin.Me:type_name -> rank.WinCoinInfo 19, // 9: rank.SCPlayerLevelRank.Ranks:type_name -> rank.PlayerLevelRankInfo 19, // 10: rank.SCPlayerLevelRank.Me:type_name -> rank.PlayerLevelRankInfo - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 22, // 11: rank.SCPermit.Ranks:type_name -> rank.PermitRank + 22, // 12: rank.SCPermit.Me:type_name -> rank.PermitRank + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_rank_proto_init() } @@ -2037,6 +2289,42 @@ func file_rank_proto_init() { return nil } } + file_rank_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSPermit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rank_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitRank); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rank_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCPermit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2044,7 +2332,7 @@ func file_rank_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_rank_proto_rawDesc, NumEnums: 2, - NumMessages: 19, + NumMessages: 22, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/rank/rank.proto b/protocol/rank/rank.proto index f879d5d..2793184 100644 --- a/protocol/rank/rank.proto +++ b/protocol/rank/rank.proto @@ -22,6 +22,9 @@ enum Rank{ //等级榜 PACKET_RANK_CSLevel = 10010; PACKET_RANK_SCLevel = 10011; + //赛季通行证排行榜 + PACKET_RANK_CSPermit = 10012; + PACKET_RANK_SCPermit = 10013; } // 排位榜 @@ -181,4 +184,27 @@ message SCPlayerLevelRank{ PlayerLevelRankInfo Me = 2; // 玩家自己的排行信息 int32 Skip = 3; // 页数 int32 Limit = 4; // 每页数量 +} + +//PACKET_RANK_CSPermit +message CSPermit{ + int32 Skip = 1; // 偏移量 + int32 Limit = 2; // 请求数量 +} + +message PermitRank { + int32 Snid = 1; // 玩家id + string Name = 2; // 昵称 + int32 Rank = 3;//段位排名 + int64 Score = 4; // 积分 + int32 ModId = 5; // 头像模型 +} + +// PACKET_RANK_SCPermit +message SCPermit{ + repeated PermitRank Ranks = 1; // 排行榜 + PermitRank Me = 2; // 玩家自己的排行信息 + int32 Skip = 3; // 偏移量 + bool IsEndNum = 4; + int32 RankMaxNum = 5; // 排行榜最大上限 } \ No newline at end of file diff --git a/protocol/server/pbdata.pb.go b/protocol/server/pbdata.pb.go index ef2be5c..5e59ca3 100644 --- a/protocol/server/pbdata.pb.go +++ b/protocol/server/pbdata.pb.go @@ -7543,6 +7543,124 @@ func (x *DB_NewPlayerArray) GetArr() []*DB_NewPlayer { return nil } +type DB_PassShow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` + ShowType int32 `protobuf:"varint,2,opt,name=ShowType,proto3" json:"ShowType,omitempty"` + ShowVolume int32 `protobuf:"varint,3,opt,name=ShowVolume,proto3" json:"ShowVolume,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=Location,proto3" json:"Location,omitempty"` +} + +func (x *DB_PassShow) Reset() { + *x = DB_PassShow{} + if protoimpl.UnsafeEnabled { + mi := &file_pbdata_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DB_PassShow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DB_PassShow) ProtoMessage() {} + +func (x *DB_PassShow) ProtoReflect() protoreflect.Message { + mi := &file_pbdata_proto_msgTypes[96] + 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 DB_PassShow.ProtoReflect.Descriptor instead. +func (*DB_PassShow) Descriptor() ([]byte, []int) { + return file_pbdata_proto_rawDescGZIP(), []int{96} +} + +func (x *DB_PassShow) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *DB_PassShow) GetShowType() int32 { + if x != nil { + return x.ShowType + } + return 0 +} + +func (x *DB_PassShow) GetShowVolume() int32 { + if x != nil { + return x.ShowVolume + } + return 0 +} + +func (x *DB_PassShow) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type DB_PassShowArray struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arr []*DB_PassShow `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` +} + +func (x *DB_PassShowArray) Reset() { + *x = DB_PassShowArray{} + if protoimpl.UnsafeEnabled { + mi := &file_pbdata_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DB_PassShowArray) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DB_PassShowArray) ProtoMessage() {} + +func (x *DB_PassShowArray) ProtoReflect() protoreflect.Message { + mi := &file_pbdata_proto_msgTypes[97] + 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 DB_PassShowArray.ProtoReflect.Descriptor instead. +func (*DB_PassShowArray) Descriptor() ([]byte, []int) { + return file_pbdata_proto_rawDescGZIP(), []int{97} +} + +func (x *DB_PassShowArray) GetArr() []*DB_PassShow { + if x != nil { + return x.Arr + } + return nil +} + type DB_PetSkill struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7550,19 +7668,18 @@ type DB_PetSkill struct { Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SkillId int32 `protobuf:"varint,2,opt,name=SkillId,proto3" json:"SkillId,omitempty"` - SkillType int32 `protobuf:"varint,3,opt,name=SkillType,proto3" json:"SkillType,omitempty"` - PetId int32 `protobuf:"varint,4,opt,name=PetId,proto3" json:"PetId,omitempty"` - SkillLevel int32 `protobuf:"varint,5,opt,name=SkillLevel,proto3" json:"SkillLevel,omitempty"` - SkillName string `protobuf:"bytes,6,opt,name=SkillName,proto3" json:"SkillName,omitempty"` - SkillDes string `protobuf:"bytes,7,opt,name=SkillDes,proto3" json:"SkillDes,omitempty"` - SKillValue int32 `protobuf:"varint,8,opt,name=SKillValue,proto3" json:"SKillValue,omitempty"` - ItemConsum map[int64]int64 `protobuf:"bytes,9,rep,name=ItemConsum,proto3" json:"ItemConsum,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + PetId int32 `protobuf:"varint,3,opt,name=PetId,proto3" json:"PetId,omitempty"` + SkillLevel int32 `protobuf:"varint,4,opt,name=SkillLevel,proto3" json:"SkillLevel,omitempty"` + SkillName string `protobuf:"bytes,5,opt,name=SkillName,proto3" json:"SkillName,omitempty"` + SkillDes string `protobuf:"bytes,6,opt,name=SkillDes,proto3" json:"SkillDes,omitempty"` + SKillValue string `protobuf:"bytes,7,opt,name=SKillValue,proto3" json:"SKillValue,omitempty"` + ItemConsum map[int64]int64 `protobuf:"bytes,8,rep,name=ItemConsum,proto3" json:"ItemConsum,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *DB_PetSkill) Reset() { *x = DB_PetSkill{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[96] + mi := &file_pbdata_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7575,7 +7692,7 @@ func (x *DB_PetSkill) String() string { func (*DB_PetSkill) ProtoMessage() {} func (x *DB_PetSkill) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[96] + mi := &file_pbdata_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7588,7 +7705,7 @@ func (x *DB_PetSkill) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PetSkill.ProtoReflect.Descriptor instead. func (*DB_PetSkill) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{96} + return file_pbdata_proto_rawDescGZIP(), []int{98} } func (x *DB_PetSkill) GetId() int32 { @@ -7605,13 +7722,6 @@ func (x *DB_PetSkill) GetSkillId() int32 { return 0 } -func (x *DB_PetSkill) GetSkillType() int32 { - if x != nil { - return x.SkillType - } - return 0 -} - func (x *DB_PetSkill) GetPetId() int32 { if x != nil { return x.PetId @@ -7640,11 +7750,11 @@ func (x *DB_PetSkill) GetSkillDes() string { return "" } -func (x *DB_PetSkill) GetSKillValue() int32 { +func (x *DB_PetSkill) GetSKillValue() string { if x != nil { return x.SKillValue } - return 0 + return "" } func (x *DB_PetSkill) GetItemConsum() map[int64]int64 { @@ -7665,7 +7775,7 @@ type DB_PetSkillArray struct { func (x *DB_PetSkillArray) Reset() { *x = DB_PetSkillArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[97] + mi := &file_pbdata_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7678,7 +7788,7 @@ func (x *DB_PetSkillArray) String() string { func (*DB_PetSkillArray) ProtoMessage() {} func (x *DB_PetSkillArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[97] + mi := &file_pbdata_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7691,7 +7801,7 @@ func (x *DB_PetSkillArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PetSkillArray.ProtoReflect.Descriptor instead. func (*DB_PetSkillArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{97} + return file_pbdata_proto_rawDescGZIP(), []int{99} } func (x *DB_PetSkillArray) GetArr() []*DB_PetSkill { @@ -7723,7 +7833,7 @@ type DB_PhoneLottery struct { func (x *DB_PhoneLottery) Reset() { *x = DB_PhoneLottery{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[98] + mi := &file_pbdata_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7736,7 +7846,7 @@ func (x *DB_PhoneLottery) String() string { func (*DB_PhoneLottery) ProtoMessage() {} func (x *DB_PhoneLottery) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[98] + mi := &file_pbdata_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7749,7 +7859,7 @@ func (x *DB_PhoneLottery) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PhoneLottery.ProtoReflect.Descriptor instead. func (*DB_PhoneLottery) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{98} + return file_pbdata_proto_rawDescGZIP(), []int{100} } func (x *DB_PhoneLottery) GetId() int32 { @@ -7847,7 +7957,7 @@ type DB_PhoneLotteryArray struct { func (x *DB_PhoneLotteryArray) Reset() { *x = DB_PhoneLotteryArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[99] + mi := &file_pbdata_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7860,7 +7970,7 @@ func (x *DB_PhoneLotteryArray) String() string { func (*DB_PhoneLotteryArray) ProtoMessage() {} func (x *DB_PhoneLotteryArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[99] + mi := &file_pbdata_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7873,7 +7983,7 @@ func (x *DB_PhoneLotteryArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PhoneLotteryArray.ProtoReflect.Descriptor instead. func (*DB_PhoneLotteryArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{99} + return file_pbdata_proto_rawDescGZIP(), []int{101} } func (x *DB_PhoneLotteryArray) GetArr() []*DB_PhoneLottery { @@ -7903,7 +8013,7 @@ type DB_PigBank_Diamond struct { func (x *DB_PigBank_Diamond) Reset() { *x = DB_PigBank_Diamond{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[100] + mi := &file_pbdata_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7916,7 +8026,7 @@ func (x *DB_PigBank_Diamond) String() string { func (*DB_PigBank_Diamond) ProtoMessage() {} func (x *DB_PigBank_Diamond) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[100] + mi := &file_pbdata_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7929,7 +8039,7 @@ func (x *DB_PigBank_Diamond) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PigBank_Diamond.ProtoReflect.Descriptor instead. func (*DB_PigBank_Diamond) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{100} + return file_pbdata_proto_rawDescGZIP(), []int{102} } func (x *DB_PigBank_Diamond) GetId() int32 { @@ -8013,7 +8123,7 @@ type DB_PigBank_DiamondArray struct { func (x *DB_PigBank_DiamondArray) Reset() { *x = DB_PigBank_DiamondArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[101] + mi := &file_pbdata_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8026,7 +8136,7 @@ func (x *DB_PigBank_DiamondArray) String() string { func (*DB_PigBank_DiamondArray) ProtoMessage() {} func (x *DB_PigBank_DiamondArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[101] + mi := &file_pbdata_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8039,7 +8149,7 @@ func (x *DB_PigBank_DiamondArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PigBank_DiamondArray.ProtoReflect.Descriptor instead. func (*DB_PigBank_DiamondArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{101} + return file_pbdata_proto_rawDescGZIP(), []int{103} } func (x *DB_PigBank_DiamondArray) GetArr() []*DB_PigBank_Diamond { @@ -8062,7 +8172,7 @@ type DB_Pigbank_Prop struct { func (x *DB_Pigbank_Prop) Reset() { *x = DB_Pigbank_Prop{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[102] + mi := &file_pbdata_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8075,7 +8185,7 @@ func (x *DB_Pigbank_Prop) String() string { func (*DB_Pigbank_Prop) ProtoMessage() {} func (x *DB_Pigbank_Prop) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[102] + mi := &file_pbdata_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8088,7 +8198,7 @@ func (x *DB_Pigbank_Prop) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Pigbank_Prop.ProtoReflect.Descriptor instead. func (*DB_Pigbank_Prop) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{102} + return file_pbdata_proto_rawDescGZIP(), []int{104} } func (x *DB_Pigbank_Prop) GetId() int32 { @@ -8123,7 +8233,7 @@ type DB_Pigbank_PropArray struct { func (x *DB_Pigbank_PropArray) Reset() { *x = DB_Pigbank_PropArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[103] + mi := &file_pbdata_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8136,7 +8246,7 @@ func (x *DB_Pigbank_PropArray) String() string { func (*DB_Pigbank_PropArray) ProtoMessage() {} func (x *DB_Pigbank_PropArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[103] + mi := &file_pbdata_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8149,7 +8259,7 @@ func (x *DB_Pigbank_PropArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Pigbank_PropArray.ProtoReflect.Descriptor instead. func (*DB_Pigbank_PropArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{103} + return file_pbdata_proto_rawDescGZIP(), []int{105} } func (x *DB_Pigbank_PropArray) GetArr() []*DB_Pigbank_Prop { @@ -8171,7 +8281,7 @@ type DB_PlayerExp struct { func (x *DB_PlayerExp) Reset() { *x = DB_PlayerExp{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[104] + mi := &file_pbdata_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8184,7 +8294,7 @@ func (x *DB_PlayerExp) String() string { func (*DB_PlayerExp) ProtoMessage() {} func (x *DB_PlayerExp) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[104] + mi := &file_pbdata_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8197,7 +8307,7 @@ func (x *DB_PlayerExp) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerExp.ProtoReflect.Descriptor instead. func (*DB_PlayerExp) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{104} + return file_pbdata_proto_rawDescGZIP(), []int{106} } func (x *DB_PlayerExp) GetId() int32 { @@ -8225,7 +8335,7 @@ type DB_PlayerExpArray struct { func (x *DB_PlayerExpArray) Reset() { *x = DB_PlayerExpArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[105] + mi := &file_pbdata_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8238,7 +8348,7 @@ func (x *DB_PlayerExpArray) String() string { func (*DB_PlayerExpArray) ProtoMessage() {} func (x *DB_PlayerExpArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[105] + mi := &file_pbdata_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8251,7 +8361,7 @@ func (x *DB_PlayerExpArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerExpArray.ProtoReflect.Descriptor instead. func (*DB_PlayerExpArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{105} + return file_pbdata_proto_rawDescGZIP(), []int{107} } func (x *DB_PlayerExpArray) GetArr() []*DB_PlayerExp { @@ -8276,7 +8386,7 @@ type DB_PlayerInfo struct { func (x *DB_PlayerInfo) Reset() { *x = DB_PlayerInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[106] + mi := &file_pbdata_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8289,7 +8399,7 @@ func (x *DB_PlayerInfo) String() string { func (*DB_PlayerInfo) ProtoMessage() {} func (x *DB_PlayerInfo) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[106] + mi := &file_pbdata_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8302,7 +8412,7 @@ func (x *DB_PlayerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerInfo.ProtoReflect.Descriptor instead. func (*DB_PlayerInfo) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{106} + return file_pbdata_proto_rawDescGZIP(), []int{108} } func (x *DB_PlayerInfo) GetCity() string { @@ -8351,7 +8461,7 @@ type DB_PlayerInfoArray struct { func (x *DB_PlayerInfoArray) Reset() { *x = DB_PlayerInfoArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[107] + mi := &file_pbdata_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8364,7 +8474,7 @@ func (x *DB_PlayerInfoArray) String() string { func (*DB_PlayerInfoArray) ProtoMessage() {} func (x *DB_PlayerInfoArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[107] + mi := &file_pbdata_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8377,7 +8487,7 @@ func (x *DB_PlayerInfoArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerInfoArray.ProtoReflect.Descriptor instead. func (*DB_PlayerInfoArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{107} + return file_pbdata_proto_rawDescGZIP(), []int{109} } func (x *DB_PlayerInfoArray) GetArr() []*DB_PlayerInfo { @@ -8415,7 +8525,7 @@ type DB_PlayerType struct { func (x *DB_PlayerType) Reset() { *x = DB_PlayerType{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[108] + mi := &file_pbdata_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8428,7 +8538,7 @@ func (x *DB_PlayerType) String() string { func (*DB_PlayerType) ProtoMessage() {} func (x *DB_PlayerType) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[108] + mi := &file_pbdata_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8441,7 +8551,7 @@ func (x *DB_PlayerType) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerType.ProtoReflect.Descriptor instead. func (*DB_PlayerType) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{108} + return file_pbdata_proto_rawDescGZIP(), []int{110} } func (x *DB_PlayerType) GetId() int32 { @@ -8581,7 +8691,7 @@ type DB_PlayerTypeArray struct { func (x *DB_PlayerTypeArray) Reset() { *x = DB_PlayerTypeArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[109] + mi := &file_pbdata_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8594,7 +8704,7 @@ func (x *DB_PlayerTypeArray) String() string { func (*DB_PlayerTypeArray) ProtoMessage() {} func (x *DB_PlayerTypeArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[109] + mi := &file_pbdata_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8607,7 +8717,7 @@ func (x *DB_PlayerTypeArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PlayerTypeArray.ProtoReflect.Descriptor instead. func (*DB_PlayerTypeArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{109} + return file_pbdata_proto_rawDescGZIP(), []int{111} } func (x *DB_PlayerTypeArray) GetArr() []*DB_PlayerType { @@ -8631,7 +8741,7 @@ type DB_PotOdd struct { func (x *DB_PotOdd) Reset() { *x = DB_PotOdd{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[110] + mi := &file_pbdata_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8644,7 +8754,7 @@ func (x *DB_PotOdd) String() string { func (*DB_PotOdd) ProtoMessage() {} func (x *DB_PotOdd) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[110] + mi := &file_pbdata_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8657,7 +8767,7 @@ func (x *DB_PotOdd) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PotOdd.ProtoReflect.Descriptor instead. func (*DB_PotOdd) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{110} + return file_pbdata_proto_rawDescGZIP(), []int{112} } func (x *DB_PotOdd) GetId() int32 { @@ -8699,7 +8809,7 @@ type DB_PotOddArray struct { func (x *DB_PotOddArray) Reset() { *x = DB_PotOddArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[111] + mi := &file_pbdata_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8712,7 +8822,7 @@ func (x *DB_PotOddArray) String() string { func (*DB_PotOddArray) ProtoMessage() {} func (x *DB_PotOddArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[111] + mi := &file_pbdata_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8725,7 +8835,7 @@ func (x *DB_PotOddArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PotOddArray.ProtoReflect.Descriptor instead. func (*DB_PotOddArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{111} + return file_pbdata_proto_rawDescGZIP(), []int{113} } func (x *DB_PotOddArray) GetArr() []*DB_PotOdd { @@ -8749,7 +8859,7 @@ type DB_PropExchange struct { func (x *DB_PropExchange) Reset() { *x = DB_PropExchange{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[112] + mi := &file_pbdata_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8762,7 +8872,7 @@ func (x *DB_PropExchange) String() string { func (*DB_PropExchange) ProtoMessage() {} func (x *DB_PropExchange) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[112] + mi := &file_pbdata_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8775,7 +8885,7 @@ func (x *DB_PropExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PropExchange.ProtoReflect.Descriptor instead. func (*DB_PropExchange) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{112} + return file_pbdata_proto_rawDescGZIP(), []int{114} } func (x *DB_PropExchange) GetId() int32 { @@ -8817,7 +8927,7 @@ type DB_PropExchangeArray struct { func (x *DB_PropExchangeArray) Reset() { *x = DB_PropExchangeArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[113] + mi := &file_pbdata_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8830,7 +8940,7 @@ func (x *DB_PropExchangeArray) String() string { func (*DB_PropExchangeArray) ProtoMessage() {} func (x *DB_PropExchangeArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[113] + mi := &file_pbdata_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8843,7 +8953,7 @@ func (x *DB_PropExchangeArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_PropExchangeArray.ProtoReflect.Descriptor instead. func (*DB_PropExchangeArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{113} + return file_pbdata_proto_rawDescGZIP(), []int{115} } func (x *DB_PropExchangeArray) GetArr() []*DB_PropExchange { @@ -8866,7 +8976,7 @@ type DB_RankCycle struct { func (x *DB_RankCycle) Reset() { *x = DB_RankCycle{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[114] + mi := &file_pbdata_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8879,7 +8989,7 @@ func (x *DB_RankCycle) String() string { func (*DB_RankCycle) ProtoMessage() {} func (x *DB_RankCycle) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[114] + mi := &file_pbdata_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8892,7 +9002,7 @@ func (x *DB_RankCycle) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankCycle.ProtoReflect.Descriptor instead. func (*DB_RankCycle) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{114} + return file_pbdata_proto_rawDescGZIP(), []int{116} } func (x *DB_RankCycle) GetId() int32 { @@ -8927,7 +9037,7 @@ type DB_RankCycleArray struct { func (x *DB_RankCycleArray) Reset() { *x = DB_RankCycleArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[115] + mi := &file_pbdata_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8940,7 +9050,7 @@ func (x *DB_RankCycleArray) String() string { func (*DB_RankCycleArray) ProtoMessage() {} func (x *DB_RankCycleArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[115] + mi := &file_pbdata_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8953,7 +9063,7 @@ func (x *DB_RankCycleArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankCycleArray.ProtoReflect.Descriptor instead. func (*DB_RankCycleArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{115} + return file_pbdata_proto_rawDescGZIP(), []int{117} } func (x *DB_RankCycleArray) GetArr() []*DB_RankCycle { @@ -8978,7 +9088,7 @@ type DB_RankLevel struct { func (x *DB_RankLevel) Reset() { *x = DB_RankLevel{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[116] + mi := &file_pbdata_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8991,7 +9101,7 @@ func (x *DB_RankLevel) String() string { func (*DB_RankLevel) ProtoMessage() {} func (x *DB_RankLevel) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[116] + mi := &file_pbdata_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9004,7 +9114,7 @@ func (x *DB_RankLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankLevel.ProtoReflect.Descriptor instead. func (*DB_RankLevel) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{116} + return file_pbdata_proto_rawDescGZIP(), []int{118} } func (x *DB_RankLevel) GetId() int32 { @@ -9053,7 +9163,7 @@ type DB_RankLevelArray struct { func (x *DB_RankLevelArray) Reset() { *x = DB_RankLevelArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[117] + mi := &file_pbdata_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9066,7 +9176,7 @@ func (x *DB_RankLevelArray) String() string { func (*DB_RankLevelArray) ProtoMessage() {} func (x *DB_RankLevelArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[117] + mi := &file_pbdata_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9079,7 +9189,7 @@ func (x *DB_RankLevelArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankLevelArray.ProtoReflect.Descriptor instead. func (*DB_RankLevelArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{117} + return file_pbdata_proto_rawDescGZIP(), []int{119} } func (x *DB_RankLevelArray) GetArr() []*DB_RankLevel { @@ -9108,7 +9218,7 @@ type DB_RankReward struct { func (x *DB_RankReward) Reset() { *x = DB_RankReward{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[118] + mi := &file_pbdata_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9121,7 +9231,7 @@ func (x *DB_RankReward) String() string { func (*DB_RankReward) ProtoMessage() {} func (x *DB_RankReward) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[118] + mi := &file_pbdata_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9134,7 +9244,7 @@ func (x *DB_RankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankReward.ProtoReflect.Descriptor instead. func (*DB_RankReward) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{118} + return file_pbdata_proto_rawDescGZIP(), []int{120} } func (x *DB_RankReward) GetId() int32 { @@ -9211,7 +9321,7 @@ type DB_RankRewardArray struct { func (x *DB_RankRewardArray) Reset() { *x = DB_RankRewardArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[119] + mi := &file_pbdata_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9224,7 +9334,7 @@ func (x *DB_RankRewardArray) String() string { func (*DB_RankRewardArray) ProtoMessage() {} func (x *DB_RankRewardArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[119] + mi := &file_pbdata_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9237,7 +9347,7 @@ func (x *DB_RankRewardArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_RankRewardArray.ProtoReflect.Descriptor instead. func (*DB_RankRewardArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{119} + return file_pbdata_proto_rawDescGZIP(), []int{121} } func (x *DB_RankRewardArray) GetArr() []*DB_RankReward { @@ -9259,7 +9369,7 @@ type DB_Sensitive_Words struct { func (x *DB_Sensitive_Words) Reset() { *x = DB_Sensitive_Words{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[120] + mi := &file_pbdata_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9272,7 +9382,7 @@ func (x *DB_Sensitive_Words) String() string { func (*DB_Sensitive_Words) ProtoMessage() {} func (x *DB_Sensitive_Words) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[120] + mi := &file_pbdata_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9285,7 +9395,7 @@ func (x *DB_Sensitive_Words) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Sensitive_Words.ProtoReflect.Descriptor instead. func (*DB_Sensitive_Words) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{120} + return file_pbdata_proto_rawDescGZIP(), []int{122} } func (x *DB_Sensitive_Words) GetId() int32 { @@ -9313,7 +9423,7 @@ type DB_Sensitive_WordsArray struct { func (x *DB_Sensitive_WordsArray) Reset() { *x = DB_Sensitive_WordsArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[121] + mi := &file_pbdata_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9326,7 +9436,7 @@ func (x *DB_Sensitive_WordsArray) String() string { func (*DB_Sensitive_WordsArray) ProtoMessage() {} func (x *DB_Sensitive_WordsArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[121] + mi := &file_pbdata_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9339,7 +9449,7 @@ func (x *DB_Sensitive_WordsArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Sensitive_WordsArray.ProtoReflect.Descriptor instead. func (*DB_Sensitive_WordsArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{121} + return file_pbdata_proto_rawDescGZIP(), []int{123} } func (x *DB_Sensitive_WordsArray) GetArr() []*DB_Sensitive_Words { @@ -9375,7 +9485,7 @@ type DB_SlotRateWeight struct { func (x *DB_SlotRateWeight) Reset() { *x = DB_SlotRateWeight{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[122] + mi := &file_pbdata_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9388,7 +9498,7 @@ func (x *DB_SlotRateWeight) String() string { func (*DB_SlotRateWeight) ProtoMessage() {} func (x *DB_SlotRateWeight) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[122] + mi := &file_pbdata_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9401,7 +9511,7 @@ func (x *DB_SlotRateWeight) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SlotRateWeight.ProtoReflect.Descriptor instead. func (*DB_SlotRateWeight) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{122} + return file_pbdata_proto_rawDescGZIP(), []int{124} } func (x *DB_SlotRateWeight) GetId() int32 { @@ -9527,7 +9637,7 @@ type DB_SlotRateWeightArray struct { func (x *DB_SlotRateWeightArray) Reset() { *x = DB_SlotRateWeightArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[123] + mi := &file_pbdata_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9540,7 +9650,7 @@ func (x *DB_SlotRateWeightArray) String() string { func (*DB_SlotRateWeightArray) ProtoMessage() {} func (x *DB_SlotRateWeightArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[123] + mi := &file_pbdata_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9553,7 +9663,7 @@ func (x *DB_SlotRateWeightArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SlotRateWeightArray.ProtoReflect.Descriptor instead. func (*DB_SlotRateWeightArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{123} + return file_pbdata_proto_rawDescGZIP(), []int{125} } func (x *DB_SlotRateWeightArray) GetArr() []*DB_SlotRateWeight { @@ -9578,7 +9688,7 @@ type DB_SystemChance struct { func (x *DB_SystemChance) Reset() { *x = DB_SystemChance{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[124] + mi := &file_pbdata_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9591,7 +9701,7 @@ func (x *DB_SystemChance) String() string { func (*DB_SystemChance) ProtoMessage() {} func (x *DB_SystemChance) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[124] + mi := &file_pbdata_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9604,7 +9714,7 @@ func (x *DB_SystemChance) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SystemChance.ProtoReflect.Descriptor instead. func (*DB_SystemChance) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{124} + return file_pbdata_proto_rawDescGZIP(), []int{126} } func (x *DB_SystemChance) GetId() int32 { @@ -9653,7 +9763,7 @@ type DB_SystemChanceArray struct { func (x *DB_SystemChanceArray) Reset() { *x = DB_SystemChanceArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[125] + mi := &file_pbdata_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9666,7 +9776,7 @@ func (x *DB_SystemChanceArray) String() string { func (*DB_SystemChanceArray) ProtoMessage() {} func (x *DB_SystemChanceArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[125] + mi := &file_pbdata_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9679,7 +9789,7 @@ func (x *DB_SystemChanceArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_SystemChanceArray.ProtoReflect.Descriptor instead. func (*DB_SystemChanceArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{125} + return file_pbdata_proto_rawDescGZIP(), []int{127} } func (x *DB_SystemChanceArray) GetArr() []*DB_SystemChance { @@ -9708,7 +9818,7 @@ type DB_Task struct { func (x *DB_Task) Reset() { *x = DB_Task{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[126] + mi := &file_pbdata_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9721,7 +9831,7 @@ func (x *DB_Task) String() string { func (*DB_Task) ProtoMessage() {} func (x *DB_Task) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[126] + mi := &file_pbdata_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9734,7 +9844,7 @@ func (x *DB_Task) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Task.ProtoReflect.Descriptor instead. func (*DB_Task) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{126} + return file_pbdata_proto_rawDescGZIP(), []int{128} } func (x *DB_Task) GetId() int32 { @@ -9811,7 +9921,7 @@ type DB_TaskArray struct { func (x *DB_TaskArray) Reset() { *x = DB_TaskArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[127] + mi := &file_pbdata_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9824,7 +9934,7 @@ func (x *DB_TaskArray) String() string { func (*DB_TaskArray) ProtoMessage() {} func (x *DB_TaskArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[127] + mi := &file_pbdata_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9837,7 +9947,7 @@ func (x *DB_TaskArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_TaskArray.ProtoReflect.Descriptor instead. func (*DB_TaskArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{127} + return file_pbdata_proto_rawDescGZIP(), []int{129} } func (x *DB_TaskArray) GetArr() []*DB_Task { @@ -9864,7 +9974,7 @@ type DB_ThirdPlatformGameMapping struct { func (x *DB_ThirdPlatformGameMapping) Reset() { *x = DB_ThirdPlatformGameMapping{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[128] + mi := &file_pbdata_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9877,7 +9987,7 @@ func (x *DB_ThirdPlatformGameMapping) String() string { func (*DB_ThirdPlatformGameMapping) ProtoMessage() {} func (x *DB_ThirdPlatformGameMapping) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[128] + mi := &file_pbdata_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9890,7 +10000,7 @@ func (x *DB_ThirdPlatformGameMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_ThirdPlatformGameMapping.ProtoReflect.Descriptor instead. func (*DB_ThirdPlatformGameMapping) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{128} + return file_pbdata_proto_rawDescGZIP(), []int{130} } func (x *DB_ThirdPlatformGameMapping) GetId() int32 { @@ -9953,7 +10063,7 @@ type DB_ThirdPlatformGameMappingArray struct { func (x *DB_ThirdPlatformGameMappingArray) Reset() { *x = DB_ThirdPlatformGameMappingArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[129] + mi := &file_pbdata_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9966,7 +10076,7 @@ func (x *DB_ThirdPlatformGameMappingArray) String() string { func (*DB_ThirdPlatformGameMappingArray) ProtoMessage() {} func (x *DB_ThirdPlatformGameMappingArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[129] + mi := &file_pbdata_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9979,7 +10089,7 @@ func (x *DB_ThirdPlatformGameMappingArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_ThirdPlatformGameMappingArray.ProtoReflect.Descriptor instead. func (*DB_ThirdPlatformGameMappingArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{129} + return file_pbdata_proto_rawDescGZIP(), []int{131} } func (x *DB_ThirdPlatformGameMappingArray) GetArr() []*DB_ThirdPlatformGameMapping { @@ -10002,7 +10112,7 @@ type DB_Tips struct { func (x *DB_Tips) Reset() { *x = DB_Tips{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[130] + mi := &file_pbdata_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10015,7 +10125,7 @@ func (x *DB_Tips) String() string { func (*DB_Tips) ProtoMessage() {} func (x *DB_Tips) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[130] + mi := &file_pbdata_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10028,7 +10138,7 @@ func (x *DB_Tips) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_Tips.ProtoReflect.Descriptor instead. func (*DB_Tips) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{130} + return file_pbdata_proto_rawDescGZIP(), []int{132} } func (x *DB_Tips) GetId() int32 { @@ -10063,7 +10173,7 @@ type DB_TipsArray struct { func (x *DB_TipsArray) Reset() { *x = DB_TipsArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[131] + mi := &file_pbdata_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10076,7 +10186,7 @@ func (x *DB_TipsArray) String() string { func (*DB_TipsArray) ProtoMessage() {} func (x *DB_TipsArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[131] + mi := &file_pbdata_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10089,7 +10199,7 @@ func (x *DB_TipsArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_TipsArray.ProtoReflect.Descriptor instead. func (*DB_TipsArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{131} + return file_pbdata_proto_rawDescGZIP(), []int{133} } func (x *DB_TipsArray) GetArr() []*DB_Tips { @@ -10128,7 +10238,7 @@ type DB_VIP struct { func (x *DB_VIP) Reset() { *x = DB_VIP{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[132] + mi := &file_pbdata_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10141,7 +10251,7 @@ func (x *DB_VIP) String() string { func (*DB_VIP) ProtoMessage() {} func (x *DB_VIP) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[132] + mi := &file_pbdata_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10154,7 +10264,7 @@ func (x *DB_VIP) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_VIP.ProtoReflect.Descriptor instead. func (*DB_VIP) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{132} + return file_pbdata_proto_rawDescGZIP(), []int{134} } func (x *DB_VIP) GetId() int32 { @@ -10301,7 +10411,7 @@ type DB_VIPArray struct { func (x *DB_VIPArray) Reset() { *x = DB_VIPArray{} if protoimpl.UnsafeEnabled { - mi := &file_pbdata_proto_msgTypes[133] + mi := &file_pbdata_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10314,7 +10424,7 @@ func (x *DB_VIPArray) String() string { func (*DB_VIPArray) ProtoMessage() {} func (x *DB_VIPArray) ProtoReflect() protoreflect.Message { - mi := &file_pbdata_proto_msgTypes[133] + mi := &file_pbdata_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10327,7 +10437,7 @@ func (x *DB_VIPArray) ProtoReflect() protoreflect.Message { // Deprecated: Use DB_VIPArray.ProtoReflect.Descriptor instead. func (*DB_VIPArray) Descriptor() ([]byte, []int) { - return file_pbdata_proto_rawDescGZIP(), []int{133} + return file_pbdata_proto_rawDescGZIP(), []int{135} } func (x *DB_VIPArray) GetArr() []*DB_VIP { @@ -11319,388 +11429,397 @@ var file_pbdata_proto_rawDesc = []byte{ 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xe9, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x50, - 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x12, - 0x1e, 0x0a, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x43, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, - 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, - 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, - 0x6c, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, - 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa2, - 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, - 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, - 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4f, 0x64, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4f, 0x64, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, - 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, - 0x74, 0x65, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, - 0x74, 0x65, 0x34, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, - 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, - 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, - 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xce, 0x02, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x69, - 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, - 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, - 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, - 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x69, 0x61, - 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, - 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, - 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x50, 0x69, - 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, - 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, - 0x22, 0x5b, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, - 0x72, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, - 0x14, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, - 0x22, 0x30, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, - 0x78, 0x70, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, - 0x78, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, - 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, - 0x6d, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x43, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x53, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x3d, - 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa5, 0x05, - 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, - 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, 0x79, 0x4c, - 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, - 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, - 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, - 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, - 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, - 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, - 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4c, - 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x4c, 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, - 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x62, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, - 0x41, 0x72, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x62, 0x41, 0x72, 0x72, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, - 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x03, 0x41, 0x72, 0x72, 0x22, 0x5d, 0x0a, 0x09, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, + 0x65, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x75, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x50, 0x61, + 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x39, + 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, + 0x53, 0x68, 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xcb, 0x02, 0x0a, 0x0b, 0x44, 0x42, + 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, + 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x6b, + 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x44, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, + 0x44, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x2e, 0x49, 0x74, 0x65, + 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x74, + 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, + 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x65, + 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, + 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x03, 0x41, + 0x72, 0x72, 0x22, 0xa2, 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, + 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, + 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4f, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4f, 0x64, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x4f, + 0x64, 0x64, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x12, + 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x4f, + 0x64, 0x64, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x12, + 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, + 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x34, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x68, + 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, + 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, + 0x74, 0x74, 0x65, 0x72, 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xce, 0x02, 0x0a, 0x12, 0x44, + 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x56, - 0x69, 0x70, 0x4f, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, - 0x4f, 0x64, 0x64, 0x22, 0x35, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x97, 0x02, 0x0a, 0x0f, 0x44, - 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, - 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x73, 0x74, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x47, - 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x47, 0x61, - 0x69, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x47, - 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, - 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x46, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x45, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x22, - 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7a, 0x0a, 0x0c, - 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, - 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, - 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x31, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x31, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x4e, - 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, - 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, - 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x52, 0x61, - 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, - 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x4d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, - 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, - 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, - 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xbb, - 0x03, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, - 0x65, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, - 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, - 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, - 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x35, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, - 0x6c, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, - 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, - 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, - 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, - 0x6c, 0x34, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, - 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x18, - 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, - 0x4d, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4d, - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x18, 0x10, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x22, 0x45, 0x0a, 0x16, - 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, - 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x03, - 0x41, 0x72, 0x72, 0x22, 0x7d, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, - 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, - 0x74, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, - 0x68, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, - 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, - 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, - 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, + 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, + 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x17, 0x44, + 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, + 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x52, + 0x03, 0x41, 0x72, 0x72, 0x22, 0x5b, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, + 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, + 0x50, 0x72, 0x6f, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x52, + 0x03, 0x41, 0x72, 0x72, 0x22, 0x30, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x45, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x45, 0x78, 0x70, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, + 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x03, + 0x41, 0x72, 0x72, 0x22, 0x6d, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x43, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, + 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, + 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x41, 0x72, + 0x72, 0x22, 0xa5, 0x05, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, + 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, + 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, + 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, + 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, + 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, + 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, + 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x4c, 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x4c, 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, + 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x43, + 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, + 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x62, 0x52, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x62, 0x41, 0x72, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x41, 0x72, 0x72, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, + 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x5d, 0x0a, 0x09, 0x44, 0x42, 0x5f, 0x50, + 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x4f, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x06, 0x56, 0x69, 0x70, 0x4f, 0x64, 0x64, 0x22, 0x35, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x50, 0x6f, + 0x74, 0x4f, 0x64, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x03, 0x41, 0x72, 0x72, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x97, + 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, + 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, + 0x43, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, + 0x35, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, - 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x41, - 0x72, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, - 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x22, 0x59, 0x0a, 0x20, 0x44, 0x42, - 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, - 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x35, - 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x37, 0x0a, 0x09, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, + 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x46, 0x0a, 0x0c, 0x44, + 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x45, 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, + 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, + 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, - 0x5f, 0x54, 0x69, 0x70, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, - 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xea, 0x05, - 0x0a, 0x06, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, - 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, - 0x70, 0x49, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x37, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, - 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, - 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, - 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, - 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x42, - 0x5f, 0x56, 0x49, 0x50, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x72, 0x72, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, - 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x52, 0x03, 0x41, 0x72, 0x72, 0x42, 0x26, 0x5a, 0x24, 0x6d, - 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x11, + 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x44, 0x42, + 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, + 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, + 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x31, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x31, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x32, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x32, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, + 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x22, 0x3d, 0x0a, 0x12, 0x44, + 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x4d, 0x0a, 0x12, 0x44, 0x42, + 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x27, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, + 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, + 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x65, + 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x03, 0x41, + 0x72, 0x72, 0x22, 0xbb, 0x03, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, + 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, + 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, + 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, + 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, + 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, + 0x6c, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, + 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, + 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, + 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, + 0x6c, 0x31, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, + 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, + 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, + 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, + 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, + 0x6c, 0x35, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, + 0x6c, 0x35, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x4d, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, + 0x61, 0x72, 0x79, 0x4d, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, + 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, + 0x22, 0x45, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, + 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7d, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, + 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e, + 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, + 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, + 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02, 0x0a, 0x07, 0x44, 0x42, + 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, + 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, + 0x30, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x2e, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44, 0x42, 0x5f, 0x54, 0x68, + 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x68, + 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x69, 0x72, + 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, + 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, + 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, + 0x0a, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x53, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x22, 0x59, + 0x0a, 0x20, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, + 0x61, 0x79, 0x12, 0x35, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, + 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x07, 0x44, 0x42, 0x5f, + 0x54, 0x69, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x44, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x22, 0x31, + 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, + 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x52, 0x03, 0x41, 0x72, + 0x72, 0x22, 0xea, 0x05, 0x0a, 0x06, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1e, 0x0a, 0x0a, + 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x14, 0x0a, 0x05, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, + 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x2f, 0x0a, 0x05, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, + 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, + 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x20, 0x0a, + 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x52, 0x03, 0x41, 0x72, 0x72, 0x42, + 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -11715,7 +11834,7 @@ func file_pbdata_proto_rawDescGZIP() []byte { return file_pbdata_proto_rawDescData } -var file_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 144) +var file_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 146) var file_pbdata_proto_goTypes = []interface{}{ (*DB_ActSign)(nil), // 0: server.DB_ActSign (*DB_ActSignArray)(nil), // 1: server.DB_ActSignArray @@ -11813,54 +11932,56 @@ var file_pbdata_proto_goTypes = []interface{}{ (*DB_NameGirlArray)(nil), // 93: server.DB_NameGirlArray (*DB_NewPlayer)(nil), // 94: server.DB_NewPlayer (*DB_NewPlayerArray)(nil), // 95: server.DB_NewPlayerArray - (*DB_PetSkill)(nil), // 96: server.DB_PetSkill - (*DB_PetSkillArray)(nil), // 97: server.DB_PetSkillArray - (*DB_PhoneLottery)(nil), // 98: server.DB_PhoneLottery - (*DB_PhoneLotteryArray)(nil), // 99: server.DB_PhoneLotteryArray - (*DB_PigBank_Diamond)(nil), // 100: server.DB_PigBank_Diamond - (*DB_PigBank_DiamondArray)(nil), // 101: server.DB_PigBank_DiamondArray - (*DB_Pigbank_Prop)(nil), // 102: server.DB_Pigbank_Prop - (*DB_Pigbank_PropArray)(nil), // 103: server.DB_Pigbank_PropArray - (*DB_PlayerExp)(nil), // 104: server.DB_PlayerExp - (*DB_PlayerExpArray)(nil), // 105: server.DB_PlayerExpArray - (*DB_PlayerInfo)(nil), // 106: server.DB_PlayerInfo - (*DB_PlayerInfoArray)(nil), // 107: server.DB_PlayerInfoArray - (*DB_PlayerType)(nil), // 108: server.DB_PlayerType - (*DB_PlayerTypeArray)(nil), // 109: server.DB_PlayerTypeArray - (*DB_PotOdd)(nil), // 110: server.DB_PotOdd - (*DB_PotOddArray)(nil), // 111: server.DB_PotOddArray - (*DB_PropExchange)(nil), // 112: server.DB_PropExchange - (*DB_PropExchangeArray)(nil), // 113: server.DB_PropExchangeArray - (*DB_RankCycle)(nil), // 114: server.DB_RankCycle - (*DB_RankCycleArray)(nil), // 115: server.DB_RankCycleArray - (*DB_RankLevel)(nil), // 116: server.DB_RankLevel - (*DB_RankLevelArray)(nil), // 117: server.DB_RankLevelArray - (*DB_RankReward)(nil), // 118: server.DB_RankReward - (*DB_RankRewardArray)(nil), // 119: server.DB_RankRewardArray - (*DB_Sensitive_Words)(nil), // 120: server.DB_Sensitive_Words - (*DB_Sensitive_WordsArray)(nil), // 121: server.DB_Sensitive_WordsArray - (*DB_SlotRateWeight)(nil), // 122: server.DB_SlotRateWeight - (*DB_SlotRateWeightArray)(nil), // 123: server.DB_SlotRateWeightArray - (*DB_SystemChance)(nil), // 124: server.DB_SystemChance - (*DB_SystemChanceArray)(nil), // 125: server.DB_SystemChanceArray - (*DB_Task)(nil), // 126: server.DB_Task - (*DB_TaskArray)(nil), // 127: server.DB_TaskArray - (*DB_ThirdPlatformGameMapping)(nil), // 128: server.DB_ThirdPlatformGameMapping - (*DB_ThirdPlatformGameMappingArray)(nil), // 129: server.DB_ThirdPlatformGameMappingArray - (*DB_Tips)(nil), // 130: server.DB_Tips - (*DB_TipsArray)(nil), // 131: server.DB_TipsArray - (*DB_VIP)(nil), // 132: server.DB_VIP - (*DB_VIPArray)(nil), // 133: server.DB_VIPArray - nil, // 134: server.DB_CollectBox.ItemIDEntry - nil, // 135: server.DB_GiftBox.ItemIDEntry - nil, // 136: server.DB_GiftCard.RewardsEntry - nil, // 137: server.DB_GiftCard.DayRewardsEntry - nil, // 138: server.DB_PetSkill.ItemConsumEntry - nil, // 139: server.DB_PropExchange.CostEntry - nil, // 140: server.DB_PropExchange.GainEntry - nil, // 141: server.DB_Task.AwardEntry - nil, // 142: server.DB_VIP.Privilege7Entry - nil, // 143: server.DB_VIP.AwardEntry + (*DB_PassShow)(nil), // 96: server.DB_PassShow + (*DB_PassShowArray)(nil), // 97: server.DB_PassShowArray + (*DB_PetSkill)(nil), // 98: server.DB_PetSkill + (*DB_PetSkillArray)(nil), // 99: server.DB_PetSkillArray + (*DB_PhoneLottery)(nil), // 100: server.DB_PhoneLottery + (*DB_PhoneLotteryArray)(nil), // 101: server.DB_PhoneLotteryArray + (*DB_PigBank_Diamond)(nil), // 102: server.DB_PigBank_Diamond + (*DB_PigBank_DiamondArray)(nil), // 103: server.DB_PigBank_DiamondArray + (*DB_Pigbank_Prop)(nil), // 104: server.DB_Pigbank_Prop + (*DB_Pigbank_PropArray)(nil), // 105: server.DB_Pigbank_PropArray + (*DB_PlayerExp)(nil), // 106: server.DB_PlayerExp + (*DB_PlayerExpArray)(nil), // 107: server.DB_PlayerExpArray + (*DB_PlayerInfo)(nil), // 108: server.DB_PlayerInfo + (*DB_PlayerInfoArray)(nil), // 109: server.DB_PlayerInfoArray + (*DB_PlayerType)(nil), // 110: server.DB_PlayerType + (*DB_PlayerTypeArray)(nil), // 111: server.DB_PlayerTypeArray + (*DB_PotOdd)(nil), // 112: server.DB_PotOdd + (*DB_PotOddArray)(nil), // 113: server.DB_PotOddArray + (*DB_PropExchange)(nil), // 114: server.DB_PropExchange + (*DB_PropExchangeArray)(nil), // 115: server.DB_PropExchangeArray + (*DB_RankCycle)(nil), // 116: server.DB_RankCycle + (*DB_RankCycleArray)(nil), // 117: server.DB_RankCycleArray + (*DB_RankLevel)(nil), // 118: server.DB_RankLevel + (*DB_RankLevelArray)(nil), // 119: server.DB_RankLevelArray + (*DB_RankReward)(nil), // 120: server.DB_RankReward + (*DB_RankRewardArray)(nil), // 121: server.DB_RankRewardArray + (*DB_Sensitive_Words)(nil), // 122: server.DB_Sensitive_Words + (*DB_Sensitive_WordsArray)(nil), // 123: server.DB_Sensitive_WordsArray + (*DB_SlotRateWeight)(nil), // 124: server.DB_SlotRateWeight + (*DB_SlotRateWeightArray)(nil), // 125: server.DB_SlotRateWeightArray + (*DB_SystemChance)(nil), // 126: server.DB_SystemChance + (*DB_SystemChanceArray)(nil), // 127: server.DB_SystemChanceArray + (*DB_Task)(nil), // 128: server.DB_Task + (*DB_TaskArray)(nil), // 129: server.DB_TaskArray + (*DB_ThirdPlatformGameMapping)(nil), // 130: server.DB_ThirdPlatformGameMapping + (*DB_ThirdPlatformGameMappingArray)(nil), // 131: server.DB_ThirdPlatformGameMappingArray + (*DB_Tips)(nil), // 132: server.DB_Tips + (*DB_TipsArray)(nil), // 133: server.DB_TipsArray + (*DB_VIP)(nil), // 134: server.DB_VIP + (*DB_VIPArray)(nil), // 135: server.DB_VIPArray + nil, // 136: server.DB_CollectBox.ItemIDEntry + nil, // 137: server.DB_GiftBox.ItemIDEntry + nil, // 138: server.DB_GiftCard.RewardsEntry + nil, // 139: server.DB_GiftCard.DayRewardsEntry + nil, // 140: server.DB_PetSkill.ItemConsumEntry + nil, // 141: server.DB_PropExchange.CostEntry + nil, // 142: server.DB_PropExchange.GainEntry + nil, // 143: server.DB_Task.AwardEntry + nil, // 144: server.DB_VIP.Privilege7Entry + nil, // 145: server.DB_VIP.AwardEntry } var file_pbdata_proto_depIdxs = []int32{ 0, // 0: server.DB_ActSignArray.Arr:type_name -> server.DB_ActSign @@ -11875,7 +11996,7 @@ var file_pbdata_proto_depIdxs = []int32{ 18, // 9: server.DB_ChessMatchRulesArray.Arr:type_name -> server.DB_ChessMatchRules 20, // 10: server.DB_ChessRankArray.Arr:type_name -> server.DB_ChessRank 22, // 11: server.DB_ClientVerArray.Arr:type_name -> server.DB_ClientVer - 134, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry + 136, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry 24, // 13: server.DB_CollectBoxArray.Arr:type_name -> server.DB_CollectBox 26, // 14: server.DB_CollectBoxGainArray.Arr:type_name -> server.DB_CollectBoxGain 28, // 15: server.DB_CrashSearchArray.Arr:type_name -> server.DB_CrashSearch @@ -11900,10 +12021,10 @@ var file_pbdata_proto_depIdxs = []int32{ 66, // 34: server.DB_Game_IntroductionArray.Arr:type_name -> server.DB_Game_Introduction 68, // 35: server.DB_Game_PetArray.Arr:type_name -> server.DB_Game_Pet 70, // 36: server.DB_Game_RoleArray.Arr:type_name -> server.DB_Game_Role - 135, // 37: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry + 137, // 37: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry 72, // 38: server.DB_GiftBoxArray.Arr:type_name -> server.DB_GiftBox - 136, // 39: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry - 137, // 40: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry + 138, // 39: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry + 139, // 40: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry 74, // 41: server.DB_GiftCardArray.Arr:type_name -> server.DB_GiftCard 76, // 42: server.DB_IceAgeElementRateArray.Arr:type_name -> server.DB_IceAgeElementRate 78, // 43: server.DB_Legend_OddsArray.Arr:type_name -> server.DB_Legend_Odds @@ -11915,36 +12036,37 @@ var file_pbdata_proto_depIdxs = []int32{ 90, // 49: server.DB_NameBoyArray.Arr:type_name -> server.DB_NameBoy 92, // 50: server.DB_NameGirlArray.Arr:type_name -> server.DB_NameGirl 94, // 51: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer - 138, // 52: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry - 96, // 53: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill - 98, // 54: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery - 100, // 55: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond - 102, // 56: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop - 104, // 57: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp - 106, // 58: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo - 108, // 59: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType - 110, // 60: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd - 139, // 61: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry - 140, // 62: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry - 112, // 63: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange - 114, // 64: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle - 116, // 65: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel - 118, // 66: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward - 120, // 67: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words - 122, // 68: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight - 124, // 69: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance - 141, // 70: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry - 126, // 71: server.DB_TaskArray.Arr:type_name -> server.DB_Task - 128, // 72: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping - 130, // 73: server.DB_TipsArray.Arr:type_name -> server.DB_Tips - 142, // 74: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry - 143, // 75: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry - 132, // 76: server.DB_VIPArray.Arr:type_name -> server.DB_VIP - 77, // [77:77] is the sub-list for method output_type - 77, // [77:77] is the sub-list for method input_type - 77, // [77:77] is the sub-list for extension type_name - 77, // [77:77] is the sub-list for extension extendee - 0, // [0:77] is the sub-list for field type_name + 96, // 52: server.DB_PassShowArray.Arr:type_name -> server.DB_PassShow + 140, // 53: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry + 98, // 54: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill + 100, // 55: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery + 102, // 56: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond + 104, // 57: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop + 106, // 58: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp + 108, // 59: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo + 110, // 60: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType + 112, // 61: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd + 141, // 62: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry + 142, // 63: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry + 114, // 64: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange + 116, // 65: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle + 118, // 66: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel + 120, // 67: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward + 122, // 68: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words + 124, // 69: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight + 126, // 70: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance + 143, // 71: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry + 128, // 72: server.DB_TaskArray.Arr:type_name -> server.DB_Task + 130, // 73: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping + 132, // 74: server.DB_TipsArray.Arr:type_name -> server.DB_Tips + 144, // 75: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry + 145, // 76: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry + 134, // 77: server.DB_VIPArray.Arr:type_name -> server.DB_VIP + 78, // [78:78] is the sub-list for method output_type + 78, // [78:78] is the sub-list for method input_type + 78, // [78:78] is the sub-list for extension type_name + 78, // [78:78] is the sub-list for extension extendee + 0, // [0:78] is the sub-list for field type_name } func init() { file_pbdata_proto_init() } @@ -13106,7 +13228,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkill); i { + switch v := v.(*DB_PassShow); i { case 0: return &v.state case 1: @@ -13118,7 +13240,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkillArray); i { + switch v := v.(*DB_PassShowArray); i { case 0: return &v.state case 1: @@ -13130,7 +13252,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PhoneLottery); i { + switch v := v.(*DB_PetSkill); i { case 0: return &v.state case 1: @@ -13142,7 +13264,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PhoneLotteryArray); i { + switch v := v.(*DB_PetSkillArray); i { case 0: return &v.state case 1: @@ -13154,7 +13276,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PigBank_Diamond); i { + switch v := v.(*DB_PhoneLottery); i { case 0: return &v.state case 1: @@ -13166,7 +13288,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PigBank_DiamondArray); i { + switch v := v.(*DB_PhoneLotteryArray); i { case 0: return &v.state case 1: @@ -13178,7 +13300,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Pigbank_Prop); i { + switch v := v.(*DB_PigBank_Diamond); i { case 0: return &v.state case 1: @@ -13190,7 +13312,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Pigbank_PropArray); i { + switch v := v.(*DB_PigBank_DiamondArray); i { case 0: return &v.state case 1: @@ -13202,7 +13324,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerExp); i { + switch v := v.(*DB_Pigbank_Prop); i { case 0: return &v.state case 1: @@ -13214,7 +13336,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerExpArray); i { + switch v := v.(*DB_Pigbank_PropArray); i { case 0: return &v.state case 1: @@ -13226,7 +13348,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerInfo); i { + switch v := v.(*DB_PlayerExp); i { case 0: return &v.state case 1: @@ -13238,7 +13360,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerInfoArray); i { + switch v := v.(*DB_PlayerExpArray); i { case 0: return &v.state case 1: @@ -13250,7 +13372,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerType); i { + switch v := v.(*DB_PlayerInfo); i { case 0: return &v.state case 1: @@ -13262,7 +13384,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PlayerTypeArray); i { + switch v := v.(*DB_PlayerInfoArray); i { case 0: return &v.state case 1: @@ -13274,7 +13396,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PotOdd); i { + switch v := v.(*DB_PlayerType); i { case 0: return &v.state case 1: @@ -13286,7 +13408,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PotOddArray); i { + switch v := v.(*DB_PlayerTypeArray); i { case 0: return &v.state case 1: @@ -13298,7 +13420,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PropExchange); i { + switch v := v.(*DB_PotOdd); i { case 0: return &v.state case 1: @@ -13310,7 +13432,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PropExchangeArray); i { + switch v := v.(*DB_PotOddArray); i { case 0: return &v.state case 1: @@ -13322,7 +13444,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankCycle); i { + switch v := v.(*DB_PropExchange); i { case 0: return &v.state case 1: @@ -13334,7 +13456,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankCycleArray); i { + switch v := v.(*DB_PropExchangeArray); i { case 0: return &v.state case 1: @@ -13346,7 +13468,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankLevel); i { + switch v := v.(*DB_RankCycle); i { case 0: return &v.state case 1: @@ -13358,7 +13480,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankLevelArray); i { + switch v := v.(*DB_RankCycleArray); i { case 0: return &v.state case 1: @@ -13370,7 +13492,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankReward); i { + switch v := v.(*DB_RankLevel); i { case 0: return &v.state case 1: @@ -13382,7 +13504,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_RankRewardArray); i { + switch v := v.(*DB_RankLevelArray); i { case 0: return &v.state case 1: @@ -13394,7 +13516,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Sensitive_Words); i { + switch v := v.(*DB_RankReward); i { case 0: return &v.state case 1: @@ -13406,7 +13528,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Sensitive_WordsArray); i { + switch v := v.(*DB_RankRewardArray); i { case 0: return &v.state case 1: @@ -13418,7 +13540,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SlotRateWeight); i { + switch v := v.(*DB_Sensitive_Words); i { case 0: return &v.state case 1: @@ -13430,7 +13552,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SlotRateWeightArray); i { + switch v := v.(*DB_Sensitive_WordsArray); i { case 0: return &v.state case 1: @@ -13442,7 +13564,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SystemChance); i { + switch v := v.(*DB_SlotRateWeight); i { case 0: return &v.state case 1: @@ -13454,7 +13576,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_SystemChanceArray); i { + switch v := v.(*DB_SlotRateWeightArray); i { case 0: return &v.state case 1: @@ -13466,7 +13588,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Task); i { + switch v := v.(*DB_SystemChance); i { case 0: return &v.state case 1: @@ -13478,7 +13600,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_TaskArray); i { + switch v := v.(*DB_SystemChanceArray); i { case 0: return &v.state case 1: @@ -13490,7 +13612,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_ThirdPlatformGameMapping); i { + switch v := v.(*DB_Task); i { case 0: return &v.state case 1: @@ -13502,7 +13624,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_ThirdPlatformGameMappingArray); i { + switch v := v.(*DB_TaskArray); i { case 0: return &v.state case 1: @@ -13514,7 +13636,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_Tips); i { + switch v := v.(*DB_ThirdPlatformGameMapping); i { case 0: return &v.state case 1: @@ -13526,7 +13648,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_TipsArray); i { + switch v := v.(*DB_ThirdPlatformGameMappingArray); i { case 0: return &v.state case 1: @@ -13538,7 +13660,7 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_VIP); i { + switch v := v.(*DB_Tips); i { case 0: return &v.state case 1: @@ -13550,6 +13672,30 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_TipsArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pbdata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DB_VIP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pbdata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPArray); i { case 0: return &v.state @@ -13568,7 +13714,7 @@ func file_pbdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pbdata_proto_rawDesc, NumEnums: 0, - NumMessages: 144, + NumMessages: 146, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto index 4a59eef..9a7caab 100644 --- a/protocol/server/pbdata.proto +++ b/protocol/server/pbdata.proto @@ -1237,25 +1237,39 @@ message DB_NewPlayerArray { repeated DB_NewPlayer Arr = 1; } +message DB_PassShow { + + int32 Id = 1; + + int32 ShowType = 2; + + int32 ShowVolume = 3; + + int32 Location = 4; + +} + +message DB_PassShowArray { + repeated DB_PassShow Arr = 1; +} + message DB_PetSkill { int32 Id = 1; int32 SkillId = 2; - int32 SkillType = 3; + int32 PetId = 3; - int32 PetId = 4; + int32 SkillLevel = 4; - int32 SkillLevel = 5; + string SkillName = 5; - string SkillName = 6; + string SkillDes = 6; - string SkillDes = 7; + string SKillValue = 7; - int32 SKillValue = 8; - - map ItemConsum = 9; + map ItemConsum = 8; } diff --git a/protocol/task/task.pb.go b/protocol/task/task.pb.go index ccf4eb6..519d21e 100644 --- a/protocol/task/task.pb.go +++ b/protocol/task/task.pb.go @@ -332,8 +332,8 @@ type CSTaskReward struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 - Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 任务id + Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 + Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 任务id; 0 表示一键领取 } func (x *CSTaskReward) Reset() { @@ -388,9 +388,10 @@ type SCTaskReward struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpCode OpResultCode `protobuf:"varint,1,opt,name=OpCode,proto3,enum=task.OpResultCode" json:"OpCode,omitempty"` // 操作码 - Tp int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 - Id int32 `protobuf:"varint,3,opt,name=Id,proto3" json:"Id,omitempty"` // 任务id + OpCode OpResultCode `protobuf:"varint,1,opt,name=OpCode,proto3,enum=task.OpResultCode" json:"OpCode,omitempty"` // 操作码 + Tp int32 `protobuf:"varint,2,opt,name=Tp,proto3" json:"Tp,omitempty"` // 任务类型 + Id int32 `protobuf:"varint,3,opt,name=Id,proto3" json:"Id,omitempty"` // 任务id + Reward map[int64]int64 `protobuf:"bytes,5,rep,name=Reward,proto3" json:"Reward,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 奖励 } func (x *SCTaskReward) Reset() { @@ -446,6 +447,13 @@ func (x *SCTaskReward) GetId() int32 { return 0 } +func (x *SCTaskReward) GetReward() map[int64]int64 { + if x != nil { + return x.Reward + } + return nil +} + // 任务变更通知 // PACKET_SCTaskChange type SCTaskChange struct { @@ -640,45 +648,52 @@ var file_task_proto_rawDesc = []byte{ 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x0c, 0x43, 0x53, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x0c, 0x53, 0x43, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x4f, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x0c, 0x53, + 0x43, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x4f, + 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x61, + 0x73, 0x6b, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x53, + 0x43, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, + 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x0c, 0x53, 0x43, + 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, + 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, + 0x0a, 0x0e, 0x43, 0x53, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, + 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x41, 0x64, 0x64, 0x4e, 0x75, 0x6d, 0x22, 0x3c, 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x61, + 0x73, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, 0x12, 0x2a, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, - 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x0c, 0x53, 0x43, 0x54, 0x61, 0x73, 0x6b, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0x0a, 0x0e, 0x43, 0x53, - 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, 0x12, 0x0e, 0x0a, 0x02, - 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x41, 0x64, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x64, - 0x64, 0x4e, 0x75, 0x6d, 0x22, 0x3c, 0x0a, 0x0e, 0x53, 0x43, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, 0x12, 0x2a, 0x0a, 0x06, 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x2e, 0x4f, 0x70, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x4f, 0x70, 0x43, 0x6f, - 0x64, 0x65, 0x2a, 0x30, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0x01, 0x2a, 0xd2, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x54, 0x61, 0x73, 0x6b, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x11, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x10, 0xe0, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe1, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0xe2, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe3, 0x12, 0x12, - 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x61, 0x73, 0x6b, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xe4, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, 0x10, 0xe5, - 0x12, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, 0x10, 0xe6, 0x12, 0x42, 0x24, 0x5a, 0x22, 0x6d, 0x6f, 0x6e, - 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, 0x61, 0x73, 0x6b, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4f, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x2a, 0x30, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x2a, 0xd2, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x73, + 0x6b, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, + 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x54, 0x61, 0x73, 0x6b, + 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe0, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe1, 0x12, 0x12, + 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe2, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x10, 0xe3, 0x12, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x54, 0x61, 0x73, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xe4, 0x12, 0x12, 0x16, 0x0a, + 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, + 0x6e, 0x63, 0x10, 0xe5, 0x12, 0x12, 0x16, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x63, 0x10, 0xe6, 0x12, 0x42, 0x24, 0x5a, + 0x22, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, + 0x61, 0x73, 0x6b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -694,7 +709,7 @@ func file_task_proto_rawDescGZIP() []byte { } var file_task_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_task_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_task_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_task_proto_goTypes = []interface{}{ (OpResultCode)(0), // 0: task.OpResultCode (TaskPacketID)(0), // 1: task.TaskPacketID @@ -707,18 +722,20 @@ var file_task_proto_goTypes = []interface{}{ (*CSTaskDebugInc)(nil), // 8: task.CSTaskDebugInc (*SCTaskDebugInc)(nil), // 9: task.SCTaskDebugInc nil, // 10: task.TaskData.RewardEntry + nil, // 11: task.SCTaskReward.RewardEntry } var file_task_proto_depIdxs = []int32{ 10, // 0: task.TaskData.Reward:type_name -> task.TaskData.RewardEntry 2, // 1: task.SCTaskList.List:type_name -> task.TaskData 0, // 2: task.SCTaskReward.OpCode:type_name -> task.OpResultCode - 2, // 3: task.SCTaskChange.List:type_name -> task.TaskData - 0, // 4: task.SCTaskDebugInc.OpCode:type_name -> task.OpResultCode - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 11, // 3: task.SCTaskReward.Reward:type_name -> task.SCTaskReward.RewardEntry + 2, // 4: task.SCTaskChange.List:type_name -> task.TaskData + 0, // 5: task.SCTaskDebugInc.OpCode:type_name -> task.OpResultCode + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_task_proto_init() } @@ -830,7 +847,7 @@ func file_task_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_task_proto_rawDesc, NumEnums: 2, - NumMessages: 9, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/task/task.proto b/protocol/task/task.proto index 4246c53..2f7f359 100644 --- a/protocol/task/task.proto +++ b/protocol/task/task.proto @@ -44,14 +44,15 @@ message SCTaskList{ // 领取任务奖励 // PACKET_CSTaskReward message CSTaskReward{ - int32 Tp = 1; // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 - int32 Id = 2; // 任务id + int32 Tp = 1; // 任务类型 1:日常任务 2:周活跃任务 3:新手任务 4:邀请任务 5:成就系统 6:赛季通行证任务 + int32 Id = 2; // 任务id; 0 表示一键领取 } // PACKET_SCTaskReward message SCTaskReward{ OpResultCode OpCode = 1; // 操作码 int32 Tp = 2; // 任务类型 int32 Id = 3; // 任务id + map Reward = 5; // 奖励 } // 任务变更通知 diff --git a/protocol/tienlen/tienlen.pb.go b/protocol/tienlen/tienlen.pb.go index 375fd81..bab2c65 100644 --- a/protocol/tienlen/tienlen.pb.go +++ b/protocol/tienlen/tienlen.pb.go @@ -92,7 +92,6 @@ const ( TienLenPacketID_PACKET_SCTienLenCardTest TienLenPacketID = 5384 //测试数据 TienLenPacketID_PACKET_SCTienLenThinkLongCnt TienLenPacketID = 5385 // 长考次数 TienLenPacketID_PACKET_SCTienLenFirstGiveItemItem TienLenPacketID = 5386 // 第一次赠送记牌器道具 - TienLenPacketID_PACKET_SCTienLenPetSkillRes TienLenPacketID = 5387 //宠物技能 ) // Enum value maps for TienLenPacketID. @@ -116,7 +115,6 @@ var ( 5384: "PACKET_SCTienLenCardTest", 5385: "PACKET_SCTienLenThinkLongCnt", 5386: "PACKET_SCTienLenFirstGiveItemItem", - 5387: "PACKET_SCTienLenPetSkillRes", } TienLenPacketID_value = map[string]int32{ "PACKET_TienLenZERO": 0, @@ -137,7 +135,6 @@ var ( "PACKET_SCTienLenCardTest": 5384, "PACKET_SCTienLenThinkLongCnt": 5385, "PACKET_SCTienLenFirstGiveItemItem": 5386, - "PACKET_SCTienLenPetSkillRes": 5387, } ) @@ -2091,71 +2088,6 @@ func (x *SCTienLenPlayerFirstGiveItemItem) GetItemRecExpireTime() int64 { return 0 } -//通知宠物技能生效 炸弹不扣分 -//PACKET_SCTienLenPetSkillRes -type SCTienLenPetSkillRes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"` - Pos int32 `protobuf:"varint,2,opt,name=Pos,proto3" json:"Pos,omitempty"` - PetSkillRes bool `protobuf:"varint,3,opt,name=PetSkillRes,proto3" json:"PetSkillRes,omitempty"` //true生效 -} - -func (x *SCTienLenPetSkillRes) Reset() { - *x = SCTienLenPetSkillRes{} - if protoimpl.UnsafeEnabled { - mi := &file_tienlen_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SCTienLenPetSkillRes) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SCTienLenPetSkillRes) ProtoMessage() {} - -func (x *SCTienLenPetSkillRes) ProtoReflect() protoreflect.Message { - mi := &file_tienlen_proto_msgTypes[21] - 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 SCTienLenPetSkillRes.ProtoReflect.Descriptor instead. -func (*SCTienLenPetSkillRes) Descriptor() ([]byte, []int) { - return file_tienlen_proto_rawDescGZIP(), []int{21} -} - -func (x *SCTienLenPetSkillRes) GetSnid() int32 { - if x != nil { - return x.Snid - } - return 0 -} - -func (x *SCTienLenPetSkillRes) GetPos() int32 { - if x != nil { - return x.Pos - } - return 0 -} - -func (x *SCTienLenPetSkillRes) GetPetSkillRes() bool { - if x != nil { - return x.PetSkillRes - } - return false -} - var File_tienlen_proto protoreflect.FileDescriptor var file_tienlen_proto_rawDesc = []byte{ @@ -2454,17 +2386,11 @@ var file_tienlen_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x63, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, - 0x63, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x5e, 0x0a, 0x14, 0x53, - 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x65, 0x74, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x2a, 0x3e, 0x0a, 0x0c, 0x4f, + 0x63, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x3e, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x69, 0x6e, 0x74, 0x10, 0x02, 0x2a, 0x80, 0x05, 0x0a, 0x0f, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x48, 0x69, 0x6e, 0x74, 0x10, 0x02, 0x2a, 0xde, 0x04, 0x0a, 0x0f, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, @@ -2502,12 +2428,10 @@ var file_tienlen_proto_rawDesc = []byte{ 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x10, 0x89, 0x2a, 0x12, 0x26, 0x0a, 0x21, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x47, 0x69, 0x76, - 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x8a, 0x2a, 0x12, 0x20, 0x0a, 0x1b, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x54, 0x69, 0x65, 0x6e, 0x4c, 0x65, 0x6e, - 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x10, 0x8b, 0x2a, 0x42, 0x27, - 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, - 0x74, 0x69, 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x8a, 0x2a, 0x42, 0x27, 0x5a, 0x25, + 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x74, 0x69, + 0x65, 0x6e, 0x6c, 0x65, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2523,7 +2447,7 @@ func file_tienlen_proto_rawDescGZIP() []byte { } var file_tienlen_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_tienlen_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_tienlen_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_tienlen_proto_goTypes = []interface{}{ (OpResultCode)(0), // 0: tienlen.OpResultCode (TienLenPacketID)(0), // 1: tienlen.TienLenPacketID @@ -2548,19 +2472,18 @@ var file_tienlen_proto_goTypes = []interface{}{ (*SCTienLenFirstOpPos)(nil), // 20: tienlen.SCTienLenFirstOpPos (*SCTienLenPlayerThinkLongCnt)(nil), // 21: tienlen.SCTienLenPlayerThinkLongCnt (*SCTienLenPlayerFirstGiveItemItem)(nil), // 22: tienlen.SCTienLenPlayerFirstGiveItemItem - (*SCTienLenPetSkillRes)(nil), // 23: tienlen.SCTienLenPetSkillRes - nil, // 24: tienlen.TienLenPlayerData.ItemsEntry - nil, // 25: tienlen.SCTienLenCardTest.GradesEntry + nil, // 23: tienlen.TienLenPlayerData.ItemsEntry + nil, // 24: tienlen.SCTienLenCardTest.GradesEntry } var file_tienlen_proto_depIdxs = []int32{ - 24, // 0: tienlen.TienLenPlayerData.Items:type_name -> tienlen.TienLenPlayerData.ItemsEntry + 23, // 0: tienlen.TienLenPlayerData.Items:type_name -> tienlen.TienLenPlayerData.ItemsEntry 2, // 1: tienlen.SCTienLenRoomInfo.Players:type_name -> tienlen.TienLenPlayerData 3, // 2: tienlen.SCTienLenRoomInfo.LastDelCards:type_name -> tienlen.LastDelCard 0, // 3: tienlen.SCTienLenPlayerOp.OpRetCode:type_name -> tienlen.OpResultCode 2, // 4: tienlen.SCTienLenPlayerEnter.Data:type_name -> tienlen.TienLenPlayerData 10, // 5: tienlen.TienLenPlayerGameBilled.AddItems:type_name -> tienlen.AddItem 11, // 6: tienlen.SCTienLenGameBilled.Datas:type_name -> tienlen.TienLenPlayerGameBilled - 25, // 7: tienlen.SCTienLenCardTest.Grades:type_name -> tienlen.SCTienLenCardTest.GradesEntry + 24, // 7: tienlen.SCTienLenCardTest.Grades:type_name -> tienlen.SCTienLenCardTest.GradesEntry 8, // [8:8] is the sub-list for method output_type 8, // [8:8] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name @@ -2826,18 +2749,6 @@ func file_tienlen_proto_init() { return nil } } - file_tienlen_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCTienLenPetSkillRes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2845,7 +2756,7 @@ func file_tienlen_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tienlen_proto_rawDesc, NumEnums: 2, - NumMessages: 24, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/tienlen/tienlen.proto b/protocol/tienlen/tienlen.proto index 7eafda7..08ab2b7 100644 --- a/protocol/tienlen/tienlen.proto +++ b/protocol/tienlen/tienlen.proto @@ -29,7 +29,6 @@ enum TienLenPacketID { PACKET_SCTienLenCardTest = 5384;//测试数据 PACKET_SCTienLenThinkLongCnt = 5385; // 长考次数 PACKET_SCTienLenFirstGiveItemItem = 5386; // 第一次赠送记牌器道具 - PACKET_SCTienLenPetSkillRes = 5387; //宠物技能 } @@ -245,11 +244,4 @@ message SCTienLenPlayerThinkLongCnt { message SCTienLenPlayerFirstGiveItemItem { int32 ItemId = 1; // 赠送的道具ID int64 ItemRecExpireTime = 2;// 道具到期时间 -} -//通知宠物技能生效 炸弹不扣分 -//PACKET_SCTienLenPetSkillRes -message SCTienLenPetSkillRes{ - int32 Snid = 1; - int32 Pos = 2; - bool PetSkillRes = 3; //true生效 } \ No newline at end of file diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go index 1d31b42..f4e7dca 100644 --- a/protocol/webapi/common.pb.go +++ b/protocol/webapi/common.pb.go @@ -6203,6 +6203,389 @@ func (x *ActInviteConfig) GetAwards3() []*RankAward { return nil } +// 等级奖励 +type PermitLevelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rank int32 `protobuf:"varint,1,opt,name=Rank,proto3" json:"Rank,omitempty"` // 等级 + Score int64 `protobuf:"varint,2,opt,name=Score,proto3" json:"Score,omitempty"` // 积分 + Award1 []*ItemInfo `protobuf:"bytes,3,rep,name=Award1,proto3" json:"Award1,omitempty"` // 普通奖励 + Award2 []*ItemInfo `protobuf:"bytes,4,rep,name=Award2,proto3" json:"Award2,omitempty"` // 典藏奖励 +} + +func (x *PermitLevelConfig) Reset() { + *x = PermitLevelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitLevelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitLevelConfig) ProtoMessage() {} + +func (x *PermitLevelConfig) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[61] + 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 PermitLevelConfig.ProtoReflect.Descriptor instead. +func (*PermitLevelConfig) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{61} +} + +func (x *PermitLevelConfig) GetRank() int32 { + if x != nil { + return x.Rank + } + return 0 +} + +func (x *PermitLevelConfig) GetScore() int64 { + if x != nil { + return x.Score + } + return 0 +} + +func (x *PermitLevelConfig) GetAward1() []*ItemInfo { + if x != nil { + return x.Award1 + } + return nil +} + +func (x *PermitLevelConfig) GetAward2() []*ItemInfo { + if x != nil { + return x.Award2 + } + return nil +} + +// 兑换配置 +type PermitExchangeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 商品id + SortId int32 `protobuf:"varint,2,opt,name=SortId,proto3" json:"SortId,omitempty"` // 排序序号 + Gain []*ItemInfo `protobuf:"bytes,3,rep,name=Gain,proto3" json:"Gain,omitempty"` // 获得商品 + Cost []*ItemInfo `protobuf:"bytes,4,rep,name=Cost,proto3" json:"Cost,omitempty"` // 消耗 + IsPermit bool `protobuf:"varint,5,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否需要典藏通行证 + Level int64 `protobuf:"varint,6,opt,name=Level,proto3" json:"Level,omitempty"` // 达到等级 + Times int64 `protobuf:"varint,7,opt,name=Times,proto3" json:"Times,omitempty"` // 最大兑换次数 + IsShow bool `protobuf:"varint,8,opt,name=IsShow,proto3" json:"IsShow,omitempty"` // 开关,true 开启, false 关闭 +} + +func (x *PermitExchangeConfig) Reset() { + *x = PermitExchangeConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitExchangeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitExchangeConfig) ProtoMessage() {} + +func (x *PermitExchangeConfig) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[62] + 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 PermitExchangeConfig.ProtoReflect.Descriptor instead. +func (*PermitExchangeConfig) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{62} +} + +func (x *PermitExchangeConfig) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PermitExchangeConfig) GetSortId() int32 { + if x != nil { + return x.SortId + } + return 0 +} + +func (x *PermitExchangeConfig) GetGain() []*ItemInfo { + if x != nil { + return x.Gain + } + return nil +} + +func (x *PermitExchangeConfig) GetCost() []*ItemInfo { + if x != nil { + return x.Cost + } + return nil +} + +func (x *PermitExchangeConfig) GetIsPermit() bool { + if x != nil { + return x.IsPermit + } + return false +} + +func (x *PermitExchangeConfig) GetLevel() int64 { + if x != nil { + return x.Level + } + return 0 +} + +func (x *PermitExchangeConfig) GetTimes() int64 { + if x != nil { + return x.Times + } + return 0 +} + +func (x *PermitExchangeConfig) GetIsShow() bool { + if x != nil { + return x.IsShow + } + return false +} + +// 排行配置 +type PermitRankConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start int32 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始排名;第一名为0 + End int32 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束排名 + ItemId []*ItemInfo `protobuf:"bytes,3,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 奖励 +} + +func (x *PermitRankConfig) Reset() { + *x = PermitRankConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitRankConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitRankConfig) ProtoMessage() {} + +func (x *PermitRankConfig) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[63] + 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 PermitRankConfig.ProtoReflect.Descriptor instead. +func (*PermitRankConfig) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{63} +} + +func (x *PermitRankConfig) GetStart() int32 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *PermitRankConfig) GetEnd() int32 { + if x != nil { + return x.End + } + return 0 +} + +func (x *PermitRankConfig) GetItemId() []*ItemInfo { + if x != nil { + return x.ItemId + } + return nil +} + +type PermitChannelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Channel string `protobuf:"bytes,1,opt,name=Channel,proto3" json:"Channel,omitempty"` // 渠道 + LevelConfig []*PermitLevelConfig `protobuf:"bytes,2,rep,name=LevelConfig,proto3" json:"LevelConfig,omitempty"` // 等级奖励 + ExchangeConfig []*PermitExchangeConfig `protobuf:"bytes,3,rep,name=ExchangeConfig,proto3" json:"ExchangeConfig,omitempty"` // 兑换配置 + RankConfig []*PermitRankConfig `protobuf:"bytes,4,rep,name=RankConfig,proto3" json:"RankConfig,omitempty"` // 排行配置 +} + +func (x *PermitChannelConfig) Reset() { + *x = PermitChannelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitChannelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitChannelConfig) ProtoMessage() {} + +func (x *PermitChannelConfig) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[64] + 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 PermitChannelConfig.ProtoReflect.Descriptor instead. +func (*PermitChannelConfig) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{64} +} + +func (x *PermitChannelConfig) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +func (x *PermitChannelConfig) GetLevelConfig() []*PermitLevelConfig { + if x != nil { + return x.LevelConfig + } + return nil +} + +func (x *PermitChannelConfig) GetExchangeConfig() []*PermitExchangeConfig { + if x != nil { + return x.ExchangeConfig + } + return nil +} + +func (x *PermitChannelConfig) GetRankConfig() []*PermitRankConfig { + if x != nil { + return x.RankConfig + } + return nil +} + +// etcd /game/act_permit +type ActPermitConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=Platform,proto3" json:"Platform,omitempty"` // 平台 + StartTs int64 `protobuf:"varint,2,opt,name=StartTs,proto3" json:"StartTs,omitempty"` // 开始日期 + Days int32 `protobuf:"varint,3,opt,name=Days,proto3" json:"Days,omitempty"` // 持续天数 + Configs []*PermitChannelConfig `protobuf:"bytes,4,rep,name=Configs,proto3" json:"Configs,omitempty"` // 渠道配置 +} + +func (x *ActPermitConfig) Reset() { + *x = ActPermitConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_common_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ActPermitConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActPermitConfig) ProtoMessage() {} + +func (x *ActPermitConfig) ProtoReflect() protoreflect.Message { + mi := &file_common_proto_msgTypes[65] + 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 ActPermitConfig.ProtoReflect.Descriptor instead. +func (*ActPermitConfig) Descriptor() ([]byte, []int) { + return file_common_proto_rawDescGZIP(), []int{65} +} + +func (x *ActPermitConfig) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *ActPermitConfig) GetStartTs() int64 { + if x != nil { + return x.StartTs + } + return 0 +} + +func (x *ActPermitConfig) GetDays() int32 { + if x != nil { + return x.Days + } + return 0 +} + +func (x *ActPermitConfig) GetConfigs() []*PermitChannelConfig { + if x != nil { + return x.Configs + } + return nil +} + var File_common_proto protoreflect.FileDescriptor var file_common_proto_rawDesc = []byte{ @@ -7208,10 +7591,65 @@ var file_common_proto_rawDesc = []byte{ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, - 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, + 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, + 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x47, + 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, + 0x6e, 0x12, 0x24, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x64, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x45, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xec, 0x01, + 0x0a, 0x13, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, + 0x3b, 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x92, 0x01, 0x0a, + 0x0f, 0x41, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x61, 0x79, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -7226,7 +7664,7 @@ func file_common_proto_rawDescGZIP() []byte { return file_common_proto_rawDescData } -var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 67) +var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 72) var file_common_proto_goTypes = []interface{}{ (*MysqlDbSetting)(nil), // 0: webapi.MysqlDbSetting (*MongoDbSetting)(nil), // 1: webapi.MongoDbSetting @@ -7289,33 +7727,38 @@ var file_common_proto_goTypes = []interface{}{ (*ChannelSwitchConfig)(nil), // 58: webapi.ChannelSwitchConfig (*RankAward)(nil), // 59: webapi.RankAward (*ActInviteConfig)(nil), // 60: webapi.ActInviteConfig - nil, // 61: webapi.Platform.BindTelRewardEntry - nil, // 62: webapi.PlayerData.RankScoreEntry - nil, // 63: webapi.ItemShop.AwardEntry - nil, // 64: webapi.VIPcfg.AwardEntry - nil, // 65: webapi.VIPcfg.Privilege7Entry - nil, // 66: webapi.ActInviteConfig.PayScoreEntry - (*server.DB_GameFree)(nil), // 67: server.DB_GameFree + (*PermitLevelConfig)(nil), // 61: webapi.PermitLevelConfig + (*PermitExchangeConfig)(nil), // 62: webapi.PermitExchangeConfig + (*PermitRankConfig)(nil), // 63: webapi.PermitRankConfig + (*PermitChannelConfig)(nil), // 64: webapi.PermitChannelConfig + (*ActPermitConfig)(nil), // 65: webapi.ActPermitConfig + nil, // 66: webapi.Platform.BindTelRewardEntry + nil, // 67: webapi.PlayerData.RankScoreEntry + nil, // 68: webapi.ItemShop.AwardEntry + nil, // 69: webapi.VIPcfg.AwardEntry + nil, // 70: webapi.VIPcfg.Privilege7Entry + nil, // 71: webapi.ActInviteConfig.PayScoreEntry + (*server.DB_GameFree)(nil), // 72: server.DB_GameFree } var file_common_proto_depIdxs = []int32{ 2, // 0: webapi.Platform.Leaderboard:type_name -> webapi.RankSwitch 3, // 1: webapi.Platform.ClubConfig:type_name -> webapi.ClubConfig 4, // 2: webapi.Platform.ThirdGameMerchant:type_name -> webapi.ThirdGame - 61, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry + 66, // 3: webapi.Platform.BindTelReward:type_name -> webapi.Platform.BindTelRewardEntry 6, // 4: webapi.GameConfigGlobal.GameStatus:type_name -> webapi.GameStatus - 67, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree + 72, // 5: webapi.GameFree.DbGameFree:type_name -> server.DB_GameFree 8, // 6: webapi.PlatformGameConfig.DbGameFrees:type_name -> webapi.GameFree 0, // 7: webapi.PlatformDbConfig.Mysql:type_name -> webapi.MysqlDbSetting 1, // 8: webapi.PlatformDbConfig.MongoDb:type_name -> webapi.MongoDbSetting 1, // 9: webapi.PlatformDbConfig.MongoDbLog:type_name -> webapi.MongoDbSetting - 67, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree - 62, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry + 72, // 10: webapi.GameConfigGroup.DbGameFree:type_name -> server.DB_GameFree + 67, // 11: webapi.PlayerData.RankScore:type_name -> webapi.PlayerData.RankScoreEntry 29, // 12: webapi.PlayerData.Items:type_name -> webapi.ItemInfo 20, // 13: webapi.OnlineReport.GameCount:type_name -> webapi.OnlineGameCnt 22, // 14: webapi.CommonNoticeList.List:type_name -> webapi.CommonNotice 25, // 15: webapi.ExchangeShop.ExType:type_name -> webapi.ExchangeType 24, // 16: webapi.ExchangeShopList.List:type_name -> webapi.ExchangeShop - 63, // 17: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry + 68, // 17: webapi.ItemShop.Award:type_name -> webapi.ItemShop.AwardEntry 27, // 18: webapi.ItemShopList.List:type_name -> webapi.ItemShop 29, // 19: webapi.MatchInfoAward.ItemId:type_name -> webapi.ItemInfo 30, // 20: webapi.GameMatchDate.Award:type_name -> webapi.MatchInfoAward @@ -7336,20 +7779,29 @@ var file_common_proto_depIdxs = []int32{ 35, // 35: webapi.WelfareSpree.Item:type_name -> webapi.WelfareDate 45, // 36: webapi.WelfareFirstPayDataList.List:type_name -> webapi.WelfareSpree 45, // 37: webapi.WelfareContinuousPayDataList.List:type_name -> webapi.WelfareSpree - 64, // 38: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry - 65, // 39: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry + 69, // 38: webapi.VIPcfg.Award:type_name -> webapi.VIPcfg.AwardEntry + 70, // 39: webapi.VIPcfg.Privilege7:type_name -> webapi.VIPcfg.Privilege7Entry 48, // 40: webapi.VIPcfgDataList.List:type_name -> webapi.VIPcfg 35, // 41: webapi.ChessRankConfig.Item:type_name -> webapi.WelfareDate 52, // 42: webapi.ChessRankcfgData.Datas:type_name -> webapi.ChessRankConfig - 66, // 43: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry + 71, // 43: webapi.ActInviteConfig.PayScore:type_name -> webapi.ActInviteConfig.PayScoreEntry 59, // 44: webapi.ActInviteConfig.Awards1:type_name -> webapi.RankAward 59, // 45: webapi.ActInviteConfig.Awards2:type_name -> webapi.RankAward 59, // 46: webapi.ActInviteConfig.Awards3:type_name -> webapi.RankAward - 47, // [47:47] is the sub-list for method output_type - 47, // [47:47] is the sub-list for method input_type - 47, // [47:47] is the sub-list for extension type_name - 47, // [47:47] is the sub-list for extension extendee - 0, // [0:47] is the sub-list for field type_name + 29, // 47: webapi.PermitLevelConfig.Award1:type_name -> webapi.ItemInfo + 29, // 48: webapi.PermitLevelConfig.Award2:type_name -> webapi.ItemInfo + 29, // 49: webapi.PermitExchangeConfig.Gain:type_name -> webapi.ItemInfo + 29, // 50: webapi.PermitExchangeConfig.Cost:type_name -> webapi.ItemInfo + 29, // 51: webapi.PermitRankConfig.ItemId:type_name -> webapi.ItemInfo + 61, // 52: webapi.PermitChannelConfig.LevelConfig:type_name -> webapi.PermitLevelConfig + 62, // 53: webapi.PermitChannelConfig.ExchangeConfig:type_name -> webapi.PermitExchangeConfig + 63, // 54: webapi.PermitChannelConfig.RankConfig:type_name -> webapi.PermitRankConfig + 64, // 55: webapi.ActPermitConfig.Configs:type_name -> webapi.PermitChannelConfig + 56, // [56:56] is the sub-list for method output_type + 56, // [56:56] is the sub-list for method input_type + 56, // [56:56] is the sub-list for extension type_name + 56, // [56:56] is the sub-list for extension extendee + 0, // [0:56] is the sub-list for field type_name } func init() { file_common_proto_init() } @@ -8090,6 +8542,66 @@ func file_common_proto_init() { return nil } } + file_common_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitLevelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitExchangeConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitRankConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitChannelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_common_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ActPermitConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -8097,7 +8609,7 @@ func file_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_common_proto_rawDesc, NumEnums: 0, - NumMessages: 67, + NumMessages: 72, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto index 75557ca..177ad9e 100644 --- a/protocol/webapi/common.proto +++ b/protocol/webapi/common.proto @@ -685,4 +685,46 @@ message ActInviteConfig { repeated RankAward Awards1 = 6; // 周榜奖励列表 repeated RankAward Awards2 = 7; // 周榜奖励列表 repeated RankAward Awards3 = 8; // 周榜奖励列表 +} + +// 等级奖励 +message PermitLevelConfig{ + int32 Rank = 1; // 等级 + int64 Score = 2; // 积分 + repeated ItemInfo Award1 = 3; // 普通奖励 + repeated ItemInfo Award2 = 4; // 典藏奖励 +} + +// 兑换配置 +message PermitExchangeConfig{ + int32 Id = 1; // 商品id + int32 SortId = 2; // 排序序号 + repeated ItemInfo Gain = 3; // 获得商品 + repeated ItemInfo Cost = 4; // 消耗 + bool IsPermit = 5; // 是否需要典藏通行证 + int64 Level = 6; // 达到等级 + int64 Times = 7; // 最大兑换次数 + bool IsShow = 8; // 开关,true 开启, false 关闭 +} + +// 排行配置 +message PermitRankConfig{ + int32 Start = 1; // 开始排名;第一名为0 + int32 End = 2; // 结束排名 + repeated ItemInfo ItemId = 3; // 奖励 +} + +message PermitChannelConfig{ + string Channel = 1; // 渠道 + repeated PermitLevelConfig LevelConfig = 2; // 等级奖励 + repeated PermitExchangeConfig ExchangeConfig = 3; // 兑换配置 + repeated PermitRankConfig RankConfig = 4; // 排行配置 +} + +// etcd /game/act_permit +message ActPermitConfig{ + string Platform = 1; // 平台 + int64 StartTs = 2; // 开始日期 + int32 Days = 3; // 持续天数 + repeated PermitChannelConfig Configs = 4; // 渠道配置 } \ No newline at end of file diff --git a/protocol/welfare/welfare.pb.go b/protocol/welfare/welfare.pb.go index 651f6f1..e9f7075 100644 --- a/protocol/welfare/welfare.pb.go +++ b/protocol/welfare/welfare.pb.go @@ -139,6 +139,14 @@ const ( SPacketID_PACKET_CSDiamondBankGetInfo SPacketID = 2914 //钻石存钱罐信息获取 SPacketID_PACKET_SCDiamondBankGetInfo SPacketID = 2915 //钻石存钱罐信息返回 SPacketID_PACKET_SCDiamondBankTakeDiamond SPacketID = 2916 //钻石存钱罐领取返回 + SPacketID_PACKET_CSPermitInfo SPacketID = 2917 // 通行证奖励 + SPacketID_PACKET_SCPermitInfo SPacketID = 2918 // 通行证奖励 + SPacketID_PACKET_CSPermitExchangeList SPacketID = 2919 // 通行证兑换列表 + SPacketID_PACKET_SCPermitExchangeList SPacketID = 2920 // 通行证兑换列表 + SPacketID_PACKET_CSPermitAward SPacketID = 2921 // 领取通行证奖励 + SPacketID_PACKET_SCPermitAward SPacketID = 2922 // 领取通行证奖励 + SPacketID_PACKET_CSPermitExchange SPacketID = 2923 // 通行证兑换 + SPacketID_PACKET_SCPermitExchange SPacketID = 2924 // 通行证兑换 ) // Enum value maps for SPacketID. @@ -180,6 +188,14 @@ var ( 2914: "PACKET_CSDiamondBankGetInfo", 2915: "PACKET_SCDiamondBankGetInfo", 2916: "PACKET_SCDiamondBankTakeDiamond", + 2917: "PACKET_CSPermitInfo", + 2918: "PACKET_SCPermitInfo", + 2919: "PACKET_CSPermitExchangeList", + 2920: "PACKET_SCPermitExchangeList", + 2921: "PACKET_CSPermitAward", + 2922: "PACKET_SCPermitAward", + 2923: "PACKET_CSPermitExchange", + 2924: "PACKET_SCPermitExchange", } SPacketID_value = map[string]int32{ "PACKET_SHOP_ZERO": 0, @@ -218,6 +234,14 @@ var ( "PACKET_CSDiamondBankGetInfo": 2914, "PACKET_SCDiamondBankGetInfo": 2915, "PACKET_SCDiamondBankTakeDiamond": 2916, + "PACKET_CSPermitInfo": 2917, + "PACKET_SCPermitInfo": 2918, + "PACKET_CSPermitExchangeList": 2919, + "PACKET_SCPermitExchangeList": 2920, + "PACKET_CSPermitAward": 2921, + "PACKET_SCPermitAward": 2922, + "PACKET_CSPermitExchange": 2923, + "PACKET_SCPermitExchange": 2924, } ) @@ -3062,6 +3086,890 @@ func (x *SCDiamondBankTakeDiamond) GetShopId() int32 { return 0 } +// 赛季通行证信息 +//PACKET_CSPermitInfo +type CSPermitInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSPermitInfo) Reset() { + *x = CSPermitInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSPermitInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSPermitInfo) ProtoMessage() {} + +func (x *CSPermitInfo) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[44] + 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 CSPermitInfo.ProtoReflect.Descriptor instead. +func (*CSPermitInfo) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{44} +} + +type PropInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemId int32 `protobuf:"varint,1,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //物品ID + ItemNum int64 `protobuf:"varint,2,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //物品数量 +} + +func (x *PropInfo) Reset() { + *x = PropInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PropInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PropInfo) ProtoMessage() {} + +func (x *PropInfo) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[45] + 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 PropInfo.ProtoReflect.Descriptor instead. +func (*PropInfo) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{45} +} + +func (x *PropInfo) GetItemId() int32 { + if x != nil { + return x.ItemId + } + return 0 +} + +func (x *PropInfo) GetItemNum() int64 { + if x != nil { + return x.ItemNum + } + return 0 +} + +type PropItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Award []*PropInfo `protobuf:"bytes,1,rep,name=Award,proto3" json:"Award,omitempty"` // 奖励 + Status int64 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` // 奖励状态 0默认 1可领取 2已领取 + Id int32 `protobuf:"varint,3,opt,name=Id,proto3" json:"Id,omitempty"` // 奖励id; 领奖时使用 +} + +func (x *PropItem) Reset() { + *x = PropItem{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PropItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PropItem) ProtoMessage() {} + +func (x *PropItem) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[46] + 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 PropItem.ProtoReflect.Descriptor instead. +func (*PropItem) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{46} +} + +func (x *PropItem) GetAward() []*PropInfo { + if x != nil { + return x.Award + } + return nil +} + +func (x *PropItem) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *PropItem) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type PermitAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exp int64 `protobuf:"varint,1,opt,name=Exp,proto3" json:"Exp,omitempty"` // 赛季经验 + Level int64 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` // 等级 + Award1 *PropItem `protobuf:"bytes,3,opt,name=Award1,proto3" json:"Award1,omitempty"` // 普通奖励 + Award2 *PropItem `protobuf:"bytes,4,opt,name=Award2,proto3" json:"Award2,omitempty"` // 典藏奖励 +} + +func (x *PermitAward) Reset() { + *x = PermitAward{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitAward) ProtoMessage() {} + +func (x *PermitAward) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[47] + 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 PermitAward.ProtoReflect.Descriptor instead. +func (*PermitAward) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{47} +} + +func (x *PermitAward) GetExp() int64 { + if x != nil { + return x.Exp + } + return 0 +} + +func (x *PermitAward) GetLevel() int64 { + if x != nil { + return x.Level + } + return 0 +} + +func (x *PermitAward) GetAward1() *PropItem { + if x != nil { + return x.Award1 + } + return nil +} + +func (x *PermitAward) GetAward2() *PropItem { + if x != nil { + return x.Award2 + } + return nil +} + +type PermitShow struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShowType int32 `protobuf:"varint,1,opt,name=ShowType,proto3" json:"ShowType,omitempty"` // 类型 + ShowVolume int32 `protobuf:"varint,2,opt,name=ShowVolume,proto3" json:"ShowVolume,omitempty"` // id + Location int32 `protobuf:"varint,3,opt,name=Location,proto3" json:"Location,omitempty"` // 跳转界面 +} + +func (x *PermitShow) Reset() { + *x = PermitShow{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitShow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitShow) ProtoMessage() {} + +func (x *PermitShow) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[48] + 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 PermitShow.ProtoReflect.Descriptor instead. +func (*PermitShow) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{48} +} + +func (x *PermitShow) GetShowType() int32 { + if x != nil { + return x.ShowType + } + return 0 +} + +func (x *PermitShow) GetShowVolume() int32 { + if x != nil { + return x.ShowVolume + } + return 0 +} + +func (x *PermitShow) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type PermitRankAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start int32 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始排名;第一名为0 + End int32 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束排名 + ItemId []*PropInfo `protobuf:"bytes,3,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 奖励 +} + +func (x *PermitRankAward) Reset() { + *x = PermitRankAward{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PermitRankAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PermitRankAward) ProtoMessage() {} + +func (x *PermitRankAward) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[49] + 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 PermitRankAward.ProtoReflect.Descriptor instead. +func (*PermitRankAward) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{49} +} + +func (x *PermitRankAward) GetStart() int32 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *PermitRankAward) GetEnd() int32 { + if x != nil { + return x.End + } + return 0 +} + +func (x *PermitRankAward) GetItemId() []*PropInfo { + if x != nil { + return x.ItemId + } + return nil +} + +//PACKET_SCPermitInfo +type SCPermitInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Exp int64 `protobuf:"varint,1,opt,name=Exp,proto3" json:"Exp,omitempty"` // 玩家赛季经验 + Level int64 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` // 玩家等级 + Award []*PermitAward `protobuf:"bytes,3,rep,name=Award,proto3" json:"Award,omitempty"` // 奖励列表 + Timestamp []int64 `protobuf:"varint,4,rep,packed,name=Timestamp,proto3" json:"Timestamp,omitempty"` // 赛季开始和结束时间戳 [开始时间戳,结束时间戳] + ShowList []*PermitShow `protobuf:"bytes,5,rep,name=ShowList,proto3" json:"ShowList,omitempty"` // 展示列表 + IsPermit bool `protobuf:"varint,6,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否已购买典藏通行证 + RankAward []*PermitRankAward `protobuf:"bytes,7,rep,name=RankAward,proto3" json:"RankAward,omitempty"` // 排行榜奖励 +} + +func (x *SCPermitInfo) Reset() { + *x = SCPermitInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCPermitInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCPermitInfo) ProtoMessage() {} + +func (x *SCPermitInfo) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[50] + 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 SCPermitInfo.ProtoReflect.Descriptor instead. +func (*SCPermitInfo) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{50} +} + +func (x *SCPermitInfo) GetExp() int64 { + if x != nil { + return x.Exp + } + return 0 +} + +func (x *SCPermitInfo) GetLevel() int64 { + if x != nil { + return x.Level + } + return 0 +} + +func (x *SCPermitInfo) GetAward() []*PermitAward { + if x != nil { + return x.Award + } + return nil +} + +func (x *SCPermitInfo) GetTimestamp() []int64 { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *SCPermitInfo) GetShowList() []*PermitShow { + if x != nil { + return x.ShowList + } + return nil +} + +func (x *SCPermitInfo) GetIsPermit() bool { + if x != nil { + return x.IsPermit + } + return false +} + +func (x *SCPermitInfo) GetRankAward() []*PermitRankAward { + if x != nil { + return x.RankAward + } + return nil +} + +// 领取赛季通行证奖励 +//PACKET_CSPermitAward +type CSPermitAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 0奖励 1普通奖励 2典藏奖励 + Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 奖励id; 0:一键领取 +} + +func (x *CSPermitAward) Reset() { + *x = CSPermitAward{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSPermitAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSPermitAward) ProtoMessage() {} + +func (x *CSPermitAward) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[51] + 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 CSPermitAward.ProtoReflect.Descriptor instead. +func (*CSPermitAward) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{51} +} + +func (x *CSPermitAward) GetTp() int32 { + if x != nil { + return x.Tp + } + return 0 +} + +func (x *CSPermitAward) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +//PACKET_SCPermitAward +type SCPermitAward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 错误码 + Award1 []*PropInfo `protobuf:"bytes,2,rep,name=Award1,proto3" json:"Award1,omitempty"` // 普通奖励 + Award2 []*PropInfo `protobuf:"bytes,3,rep,name=Award2,proto3" json:"Award2,omitempty"` // 典藏奖励 + Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` // 奖励id; 0:一键领取 + Tp int32 `protobuf:"varint,5,opt,name=Tp,proto3" json:"Tp,omitempty"` // 0奖励 1普通奖励 2典藏奖励 +} + +func (x *SCPermitAward) Reset() { + *x = SCPermitAward{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCPermitAward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCPermitAward) ProtoMessage() {} + +func (x *SCPermitAward) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[52] + 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 SCPermitAward.ProtoReflect.Descriptor instead. +func (*SCPermitAward) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{52} +} + +func (x *SCPermitAward) GetOpRetCode() OpResultCode { + if x != nil { + return x.OpRetCode + } + return OpResultCode_OPRC_Sucess +} + +func (x *SCPermitAward) GetAward1() []*PropInfo { + if x != nil { + return x.Award1 + } + return nil +} + +func (x *SCPermitAward) GetAward2() []*PropInfo { + if x != nil { + return x.Award2 + } + return nil +} + +func (x *SCPermitAward) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *SCPermitAward) GetTp() int32 { + if x != nil { + return x.Tp + } + return 0 +} + +// 赛季通行证兑换商城 +//PACKET_CSPermitExchangeList +type CSPermitExchangeList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSPermitExchangeList) Reset() { + *x = CSPermitExchangeList{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSPermitExchangeList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSPermitExchangeList) ProtoMessage() {} + +func (x *CSPermitExchangeList) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[53] + 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 CSPermitExchangeList.ProtoReflect.Descriptor instead. +func (*CSPermitExchangeList) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{53} +} + +type ShopInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 商品id + Gain []*PropInfo `protobuf:"bytes,2,rep,name=Gain,proto3" json:"Gain,omitempty"` // 获得商品 + Cost []*PropInfo `protobuf:"bytes,3,rep,name=Cost,proto3" json:"Cost,omitempty"` // 消耗商品 + ExchangeTimes int32 `protobuf:"varint,4,opt,name=ExchangeTimes,proto3" json:"ExchangeTimes,omitempty"` // 最大兑换次数 + RemainTimes int32 `protobuf:"varint,5,opt,name=RemainTimes,proto3" json:"RemainTimes,omitempty"` // 剩余兑换次数 + Status int64 `protobuf:"varint,6,opt,name=Status,proto3" json:"Status,omitempty"` // 兑换状态 0默认 1可领取 2已领取 + Level int64 `protobuf:"varint,7,opt,name=Level,proto3" json:"Level,omitempty"` // 兑换所需等级 + NeedPermit bool `protobuf:"varint,8,opt,name=NeedPermit,proto3" json:"NeedPermit,omitempty"` // 需要典藏通行证 + SortId int32 `protobuf:"varint,9,opt,name=SortId,proto3" json:"SortId,omitempty"` // 序号 +} + +func (x *ShopInfo) Reset() { + *x = ShopInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShopInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShopInfo) ProtoMessage() {} + +func (x *ShopInfo) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[54] + 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 ShopInfo.ProtoReflect.Descriptor instead. +func (*ShopInfo) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{54} +} + +func (x *ShopInfo) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ShopInfo) GetGain() []*PropInfo { + if x != nil { + return x.Gain + } + return nil +} + +func (x *ShopInfo) GetCost() []*PropInfo { + if x != nil { + return x.Cost + } + return nil +} + +func (x *ShopInfo) GetExchangeTimes() int32 { + if x != nil { + return x.ExchangeTimes + } + return 0 +} + +func (x *ShopInfo) GetRemainTimes() int32 { + if x != nil { + return x.RemainTimes + } + return 0 +} + +func (x *ShopInfo) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ShopInfo) GetLevel() int64 { + if x != nil { + return x.Level + } + return 0 +} + +func (x *ShopInfo) GetNeedPermit() bool { + if x != nil { + return x.NeedPermit + } + return false +} + +func (x *ShopInfo) GetSortId() int32 { + if x != nil { + return x.SortId + } + return 0 +} + +//PACKET_SCPermitExchangeList +type SCPermitExchangeList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + List []*ShopInfo `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // 兑换列表 +} + +func (x *SCPermitExchangeList) Reset() { + *x = SCPermitExchangeList{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCPermitExchangeList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCPermitExchangeList) ProtoMessage() {} + +func (x *SCPermitExchangeList) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[55] + 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 SCPermitExchangeList.ProtoReflect.Descriptor instead. +func (*SCPermitExchangeList) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{55} +} + +func (x *SCPermitExchangeList) GetList() []*ShopInfo { + if x != nil { + return x.List + } + return nil +} + +// 赛季通行证商城兑换 +//PACKET_CSPermitExchange +type CSPermitExchange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 商品id +} + +func (x *CSPermitExchange) Reset() { + *x = CSPermitExchange{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSPermitExchange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSPermitExchange) ProtoMessage() {} + +func (x *CSPermitExchange) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[56] + 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 CSPermitExchange.ProtoReflect.Descriptor instead. +func (*CSPermitExchange) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{56} +} + +func (x *CSPermitExchange) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +//PACKET_SCPermitExchange +type SCPermitExchange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 错误码 +} + +func (x *SCPermitExchange) Reset() { + *x = SCPermitExchange{} + if protoimpl.UnsafeEnabled { + mi := &file_welfare_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCPermitExchange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCPermitExchange) ProtoMessage() {} + +func (x *SCPermitExchange) ProtoReflect() protoreflect.Message { + mi := &file_welfare_proto_msgTypes[57] + 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 SCPermitExchange.ProtoReflect.Descriptor instead. +func (*SCPermitExchange) Descriptor() ([]byte, []int) { + return file_welfare_proto_rawDescGZIP(), []int{57} +} + +func (x *SCPermitExchange) GetOpRetCode() OpResultCode { + if x != nil { + return x.OpRetCode + } + return OpResultCode_OPRC_Sucess +} + var File_welfare_proto protoreflect.FileDescriptor var file_welfare_proto_rawDesc = []byte{ @@ -3385,98 +4293,206 @@ var file_welfare_proto_rawDesc = []byte{ 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x70, - 0x49, 0x64, 0x2a, 0x86, 0x02, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, - 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, - 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x04, 0x12, 0x14, - 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x42, 0x69, - 0x6e, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, - 0x64, 0x53, 0x65, 0x6c, 0x66, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x4d, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, - 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x08, 0x12, 0x14, 0x0a, - 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x65, 0x73, - 0x73, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, - 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4f, 0x76, 0x65, 0x72, - 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x0b, 0x2a, 0xff, 0x08, 0x0a, 0x09, - 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, - 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, - 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, 0x4e, 0x44, 0x10, - 0x94, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, - 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, - 0x4e, 0x44, 0x10, 0x95, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, 0x4e, 0x50, - 0x4c, 0x41, 0x54, 0x45, 0x10, 0x96, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, - 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x97, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x41, - 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x98, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, - 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x99, 0x14, 0x12, 0x1f, 0x0a, - 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, - 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9a, 0x14, 0x12, 0x1f, - 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, - 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9b, 0x14, 0x12, - 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, - 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9c, 0x14, - 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, - 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9d, - 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, - 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, 0x9e, - 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, - 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, 0x9f, + 0x49, 0x64, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x22, 0x3c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, + 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, + 0x22, 0x5b, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x27, 0x0a, 0x05, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, + 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x8b, 0x01, + 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, + 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, + 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0x64, 0x0a, 0x0a, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, + 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, + 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x64, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x85, 0x02, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x2a, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x08, 0x53, 0x68, + 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, + 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, + 0x77, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, + 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, + 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x6c, + 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, + 0x2f, 0x0a, 0x0d, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x22, 0xba, 0x01, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, + 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, + 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x31, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, + 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x31, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, + 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x54, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x16, 0x0a, + 0x14, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x96, 0x02, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x04, 0x43, 0x6f, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, + 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, + 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x6d, + 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4e, 0x65, 0x65, 0x64, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3d, + 0x0a, 0x14, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x53, + 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, + 0x10, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x64, 0x22, 0x47, 0x0a, 0x10, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x2a, 0x86, 0x02, 0x0a, 0x0c, 0x4f, + 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x14, + 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4d, 0x6f, + 0x72, 0x65, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, + 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, + 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x42, 0x69, 0x6e, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, + 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x10, 0x06, 0x12, + 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, + 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x65, 0x73, 0x73, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x75, + 0x6c, 0x6c, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, + 0x62, 0x61, 0x6e, 0x6b, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x10, 0x0b, 0x2a, 0xe9, 0x0a, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, + 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, + 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, + 0x49, 0x45, 0x46, 0x46, 0x55, 0x4e, 0x44, 0x10, 0x94, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, + 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, 0x4e, 0x44, 0x10, 0x95, 0x14, 0x12, 0x20, 0x0a, + 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, + 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x96, 0x14, 0x12, + 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, + 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x97, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, - 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, - 0x10, 0xa0, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, - 0x46, 0x4f, 0x10, 0xa1, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, - 0x10, 0xa2, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, 0xa3, - 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, - 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, - 0x4f, 0x10, 0xa4, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, - 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa5, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, - 0x50, 0x41, 0x59, 0x10, 0xa6, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, - 0x41, 0x59, 0x10, 0xa7, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, 0x70, - 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa8, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, - 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x18, 0x0a, - 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, - 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd4, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd5, - 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd6, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x10, 0xd7, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd8, 0x16, 0x12, - 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd9, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xde, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x10, 0xdf, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, - 0x6e, 0x10, 0xe0, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, - 0x10, 0xe1, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, - 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x10, 0xe2, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe3, 0x16, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x54, - 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x10, 0xe4, 0x16, 0x42, 0x27, 0x5a, - 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, + 0x10, 0x98, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, + 0x47, 0x4e, 0x10, 0x99, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, + 0x4e, 0x46, 0x4f, 0x10, 0x9a, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9b, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, + 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9c, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, + 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9d, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, + 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, 0x9e, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, + 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, 0x9f, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, + 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa0, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, + 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa1, 0x14, 0x12, 0x1c, 0x0a, + 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, + 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, 0xa2, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, + 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, 0xa3, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x49, 0x4e, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa4, 0x14, 0x12, 0x21, 0x0a, 0x1c, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa5, 0x14, 0x12, + 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, + 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa6, 0x14, 0x12, 0x1d, + 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, + 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa7, 0x14, 0x12, 0x22, 0x0a, + 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, + 0x61, 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa8, + 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, + 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd4, 0x16, 0x12, + 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, + 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x10, 0xd6, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd7, 0x16, 0x12, 0x18, 0x0a, + 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x10, 0xd8, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd9, + 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, + 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xde, 0x16, 0x12, + 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, + 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x16, 0x12, 0x1d, 0x0a, + 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, + 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe0, 0x16, 0x12, 0x1d, 0x0a, 0x18, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, + 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe1, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, + 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe2, 0x16, 0x12, 0x20, 0x0a, + 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe3, 0x16, 0x12, + 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, + 0x6e, 0x64, 0x10, 0xe4, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe5, 0x16, 0x12, + 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe6, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe7, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe8, 0x16, 0x12, 0x19, 0x0a, + 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x10, 0xea, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xeb, + 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xec, 0x16, 0x42, + 0x27, 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x2f, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3492,7 +4508,7 @@ func file_welfare_proto_rawDescGZIP() []byte { } var file_welfare_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_welfare_proto_msgTypes = make([]protoimpl.MessageInfo, 45) +var file_welfare_proto_msgTypes = make([]protoimpl.MessageInfo, 59) var file_welfare_proto_goTypes = []interface{}{ (OpResultCode)(0), // 0: welfare.OpResultCode (SPacketID)(0), // 1: welfare.SPacketID @@ -3540,7 +4556,21 @@ var file_welfare_proto_goTypes = []interface{}{ (*CSDiamondBankGetInfo)(nil), // 43: welfare.CSDiamondBankGetInfo (*SCDiamondBankGetInfo)(nil), // 44: welfare.SCDiamondBankGetInfo (*SCDiamondBankTakeDiamond)(nil), // 45: welfare.SCDiamondBankTakeDiamond - nil, // 46: welfare.SCInviteInfo.PayScoreEntry + (*CSPermitInfo)(nil), // 46: welfare.CSPermitInfo + (*PropInfo)(nil), // 47: welfare.PropInfo + (*PropItem)(nil), // 48: welfare.PropItem + (*PermitAward)(nil), // 49: welfare.PermitAward + (*PermitShow)(nil), // 50: welfare.PermitShow + (*PermitRankAward)(nil), // 51: welfare.PermitRankAward + (*SCPermitInfo)(nil), // 52: welfare.SCPermitInfo + (*CSPermitAward)(nil), // 53: welfare.CSPermitAward + (*SCPermitAward)(nil), // 54: welfare.SCPermitAward + (*CSPermitExchangeList)(nil), // 55: welfare.CSPermitExchangeList + (*ShopInfo)(nil), // 56: welfare.ShopInfo + (*SCPermitExchangeList)(nil), // 57: welfare.SCPermitExchangeList + (*CSPermitExchange)(nil), // 58: welfare.CSPermitExchange + (*SCPermitExchange)(nil), // 59: welfare.SCPermitExchange + nil, // 60: welfare.SCInviteInfo.PayScoreEntry } var file_welfare_proto_depIdxs = []int32{ 0, // 0: welfare.SCGetReliefFund.OpRetCode:type_name -> welfare.OpResultCode @@ -3567,7 +4597,7 @@ var file_welfare_proto_depIdxs = []int32{ 0, // 21: welfare.SCWelfareContinuousPayData.OpRetCode:type_name -> welfare.OpResultCode 23, // 22: welfare.SCWelfareContinuousPayData.List:type_name -> welfare.WelfareSpree 0, // 23: welfare.SCWelfareContinuousPay.OpRetCode:type_name -> welfare.OpResultCode - 46, // 24: welfare.SCInviteInfo.PayScore:type_name -> welfare.SCInviteInfo.PayScoreEntry + 60, // 24: welfare.SCInviteInfo.PayScore:type_name -> welfare.SCInviteInfo.PayScoreEntry 35, // 25: welfare.SCInviteInfo.Awards1:type_name -> welfare.RankAward 35, // 26: welfare.SCInviteInfo.Awards2:type_name -> welfare.RankAward 35, // 27: welfare.SCInviteInfo.Awards3:type_name -> welfare.RankAward @@ -3576,11 +4606,25 @@ var file_welfare_proto_depIdxs = []int32{ 0, // 30: welfare.SCPigbankTakeCoin.OpRetCode:type_name -> welfare.OpResultCode 0, // 31: welfare.SCDiamondBankGetInfo.OpRetCode:type_name -> welfare.OpResultCode 0, // 32: welfare.SCDiamondBankTakeDiamond.OpRetCode:type_name -> welfare.OpResultCode - 33, // [33:33] is the sub-list for method output_type - 33, // [33:33] is the sub-list for method input_type - 33, // [33:33] is the sub-list for extension type_name - 33, // [33:33] is the sub-list for extension extendee - 0, // [0:33] is the sub-list for field type_name + 47, // 33: welfare.PropItem.Award:type_name -> welfare.PropInfo + 48, // 34: welfare.PermitAward.Award1:type_name -> welfare.PropItem + 48, // 35: welfare.PermitAward.Award2:type_name -> welfare.PropItem + 47, // 36: welfare.PermitRankAward.ItemId:type_name -> welfare.PropInfo + 49, // 37: welfare.SCPermitInfo.Award:type_name -> welfare.PermitAward + 50, // 38: welfare.SCPermitInfo.ShowList:type_name -> welfare.PermitShow + 51, // 39: welfare.SCPermitInfo.RankAward:type_name -> welfare.PermitRankAward + 0, // 40: welfare.SCPermitAward.OpRetCode:type_name -> welfare.OpResultCode + 47, // 41: welfare.SCPermitAward.Award1:type_name -> welfare.PropInfo + 47, // 42: welfare.SCPermitAward.Award2:type_name -> welfare.PropInfo + 47, // 43: welfare.ShopInfo.Gain:type_name -> welfare.PropInfo + 47, // 44: welfare.ShopInfo.Cost:type_name -> welfare.PropInfo + 56, // 45: welfare.SCPermitExchangeList.List:type_name -> welfare.ShopInfo + 0, // 46: welfare.SCPermitExchange.OpRetCode:type_name -> welfare.OpResultCode + 47, // [47:47] is the sub-list for method output_type + 47, // [47:47] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name } func init() { file_welfare_proto_init() } @@ -4117,6 +5161,174 @@ func file_welfare_proto_init() { return nil } } + file_welfare_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSPermitInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PropInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PropItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitShow); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PermitRankAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCPermitInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSPermitAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCPermitAward); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSPermitExchangeList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShopInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCPermitExchangeList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSPermitExchange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_welfare_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCPermitExchange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -4124,7 +5336,7 @@ func file_welfare_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_welfare_proto_rawDesc, NumEnums: 2, - NumMessages: 45, + NumMessages: 59, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/welfare/welfare.proto b/protocol/welfare/welfare.proto index 6388dac..6c27135 100644 --- a/protocol/welfare/welfare.proto +++ b/protocol/welfare/welfare.proto @@ -60,8 +60,18 @@ enum SPacketID { PACKET_CSDiamondBankGetInfo = 2914; //钻石存钱罐信息获取 PACKET_SCDiamondBankGetInfo = 2915; //钻石存钱罐信息返回 PACKET_SCDiamondBankTakeDiamond = 2916; //钻石存钱罐领取返回 - - + + PACKET_CSPermitInfo = 2917;// 通行证奖励 + PACKET_SCPermitInfo = 2918;// 通行证奖励 + + PACKET_CSPermitExchangeList = 2919; // 通行证兑换列表 + PACKET_SCPermitExchangeList = 2920; // 通行证兑换列表 + + PACKET_CSPermitAward = 2921; // 领取通行证奖励 + PACKET_SCPermitAward = 2922; // 领取通行证奖励 + + PACKET_CSPermitExchange = 2923; // 通行证兑换 + PACKET_SCPermitExchange = 2924; // 通行证兑换 } //救济金领取 @@ -376,4 +386,97 @@ message SCDiamondBankTakeDiamond{ int64 Price = 6; //原价 int64 NowPrice = 7; //现价 int32 ShopId = 8; //商城ID +} + +// 赛季通行证信息 +//PACKET_CSPermitInfo +message CSPermitInfo{ +} + +message PropInfo{ + int32 ItemId = 1;//物品ID + int64 ItemNum = 2;//物品数量 +} + +message PropItem{ + repeated PropInfo Award = 1; // 奖励 + int64 Status = 2; // 奖励状态 0默认 1可领取 2已领取 + int32 Id = 3; // 奖励id; 领奖时使用 +} + +message PermitAward{ + int64 Exp = 1; // 赛季经验 + int64 Level = 2; // 等级 + PropItem Award1 = 3; // 普通奖励 + PropItem Award2 = 4; // 典藏奖励 +} + +message PermitShow{ + int32 ShowType = 1; // 类型 + int32 ShowVolume = 2; // id + int32 Location = 3; // 跳转界面 +} + +message PermitRankAward{ + int32 Start = 1; // 开始排名;第一名为0 + int32 End = 2; // 结束排名 + repeated PropInfo ItemId = 3; // 奖励 +} + +//PACKET_SCPermitInfo +message SCPermitInfo{ + int64 Exp = 1; // 玩家赛季经验 + int64 Level = 2; // 玩家等级 + repeated PermitAward Award = 3; // 奖励列表 + repeated int64 Timestamp = 4; // 赛季开始和结束时间戳 [开始时间戳,结束时间戳] + repeated PermitShow ShowList = 5; // 展示列表 + bool IsPermit = 6; // 是否已购买典藏通行证 + repeated PermitRankAward RankAward = 7; // 排行榜奖励 +} + +// 领取赛季通行证奖励 +//PACKET_CSPermitAward +message CSPermitAward{ + int32 Tp = 1; // 0奖励 1普通奖励 2典藏奖励 + int32 Id = 2; // 奖励id; 0:一键领取 +} +//PACKET_SCPermitAward +message SCPermitAward{ + OpResultCode OpRetCode = 1; // 错误码 + repeated PropInfo Award1 = 2; // 普通奖励 + repeated PropInfo Award2 = 3; // 典藏奖励 + int32 Id = 4; // 奖励id; 0:一键领取 + int32 Tp = 5; // 0奖励 1普通奖励 2典藏奖励 +} + +// 赛季通行证兑换商城 +//PACKET_CSPermitExchangeList +message CSPermitExchangeList{ +} + +message ShopInfo{ + int32 Id = 1; // 商品id + repeated PropInfo Gain = 2; // 获得商品 + repeated PropInfo Cost = 3; // 消耗商品 + int32 ExchangeTimes = 4; // 最大兑换次数 + int32 RemainTimes = 5; // 剩余兑换次数 + int64 Status = 6; // 兑换状态 0默认 1可领取 2已领取 + int64 Level = 7; // 兑换所需等级 + bool NeedPermit = 8; // 需要典藏通行证 + int32 SortId = 9; // 序号 +} + +//PACKET_SCPermitExchangeList +message SCPermitExchangeList{ + repeated ShopInfo List = 1; // 兑换列表 +} + +// 赛季通行证商城兑换 +//PACKET_CSPermitExchange +message CSPermitExchange{ + int32 Id = 1; // 商品id +} +//PACKET_SCPermitExchange +message SCPermitExchange{ + OpResultCode OpRetCode = 1; // 错误码 } \ No newline at end of file diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index b6efdb70f7a303288e47c9a07d415389b49c8c01..a95651b8c8f2a5e40c3fc88b2fea071fb7325454 100644 GIT binary patch delta 17776 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 delta 18442 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
    |~puwUr|^ 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