diff --git a/src/server/game/mod/friend/Friend.go b/src/server/game/mod/friend/Friend.go index 68e4f2bf..d9644258 100644 --- a/src/server/game/mod/friend/Friend.go +++ b/src/server/game/mod/friend/Friend.go @@ -24,9 +24,10 @@ type FriendMod struct { } type BubbleInfo struct { - Id int // 气泡ID - Time int64 // 气泡时间 - Type int + Id int // 气泡ID + Time int64 // 气泡时间 + Type int + ItemList []*item.Item // 奖励物品 } type FriendInfo struct { @@ -272,30 +273,34 @@ func (f *FriendMod) AddLog(Uid, Type int, Param string) int { }) switch Type { case LOG_TYPE_HANDBOOK_UPVOTE: - f.AddBubble(f.AutoId, Type) + f.AddBubble(f.AutoId, Type, nil) case LOG_TYPE_PLAYROOM_UPVOTE: - f.AddBubble(f.AutoId, Type) + f.AddBubble(f.AutoId, Type, nil) case LOG_TYPE_TREASURE_HELP: - f.AddBubble(f.AutoId, Type) + ItemNum := GoUtil.RandNum(2, 5) + ItemList := []*item.Item{item.NewItem(item.ITEM_STAR_ID, ItemNum)} + f.AddBubble(f.AutoId, Type, ItemList) } if len(f.Log) > 30 { f.Log = f.Log[len(f.Log)-30:] } return f.AutoId } -func (f *FriendMod) AddBubble(Id, Type int) { +func (f *FriendMod) AddBubble(Id, Type int, ItemList []*item.Item) { f.Bubble[Id] = &BubbleInfo{ - Id: Id, - Time: GoUtil.Now(), - Type: Type, + Id: Id, + Time: GoUtil.Now(), + Type: Type, + ItemList: ItemList, } } func (f *FriendMod) GetBubbble(Id int) *msg.FriendBubbleInfo { if v, ok := f.Bubble[Id]; ok { return &msg.FriendBubbleInfo{ - Id: int32(v.Id), - Type: int32(v.Type), + Id: int32(v.Id), + Type: int32(v.Type), + Items: item.ItemToMsg(v.ItemList), } } return nil @@ -352,8 +357,7 @@ func (f *FriendMod) GetReward(Id int) ([]*item.Item, error) { case LOG_TYPE_PLAYROOM_UPVOTE: reward = append(reward, item.NewItem(item.ITEM_ENERGY_ID, 5)) case LOG_TYPE_TREASURE_HELP: - ItemNum := GoUtil.RandNum(2, 5) - reward = append(reward, item.NewItem(item.ITEM_STAR_ID, ItemNum)) + reward = append(reward, info.ItemList...) default: return nil, fmt.Errorf("log type not support") } diff --git a/src/server/msg/Gameapi.pb.go b/src/server/msg/Gameapi.pb.go index b714dc98..8c1ec525 100644 --- a/src/server/msg/Gameapi.pb.go +++ b/src/server/msg/Gameapi.pb.go @@ -536,6 +536,7 @@ const ( ORDER_TYPE_Pet_type ORDER_TYPE = 11 // 宠物订单 ORDER_TYPE_Preview_type ORDER_TYPE = 12 // 预览订单 ORDER_TYPE_Fixed_type ORDER_TYPE = 13 // 修复订单 + ORDER_TYPE_Playroom_type ORDER_TYPE = 14 // playroom订单 ) // Enum value maps for ORDER_TYPE. @@ -555,6 +556,7 @@ var ( 11: "Pet_type", 12: "Preview_type", 13: "Fixed_type", + 14: "Playroom_type", } ORDER_TYPE_value = map[string]int32{ "ORDER_TYPE_DEFAULT": 0, @@ -571,6 +573,7 @@ var ( "Pet_type": 11, "Preview_type": 12, "Fixed_type": 13, + "Playroom_type": 14, } ) @@ -682,6 +685,7 @@ const ( TIME_LINE_TYPE_LOG_TYPE_PLAYROOM_CAT_LOSE TIME_LINE_TYPE = 27 // 小猫游戏,装箱小猫未成功 TIME_LINE_TYPE_LOG_TYPE_CARD_GIVE_ACCEPT TIME_LINE_TYPE = 28 // 接受卡牌请求 TIME_LINE_TYPE_LOG_TYPE_FRIEND_INVITE TIME_LINE_TYPE = 29 // 邀请注册 + TIME_LINE_TYPE_LOG_TYPE_TREASURE_HELP TIME_LINE_TYPE = 30 // 宠物宝藏帮助 ) // Enum value maps for TIME_LINE_TYPE. @@ -715,6 +719,7 @@ var ( 27: "LOG_TYPE_PLAYROOM_CAT_LOSE", 28: "LOG_TYPE_CARD_GIVE_ACCEPT", 29: "LOG_TYPE_FRIEND_INVITE", + 30: "LOG_TYPE_TREASURE_HELP", } TIME_LINE_TYPE_value = map[string]int32{ "DEFAULT": 0, @@ -745,6 +750,7 @@ var ( "LOG_TYPE_PLAYROOM_CAT_LOSE": 27, "LOG_TYPE_CARD_GIVE_ACCEPT": 28, "LOG_TYPE_FRIEND_INVITE": 29, + "LOG_TYPE_TREASURE_HELP": 30, } ) @@ -3199,7 +3205,7 @@ type ResPlayerChessInfo struct { ChessBag *ChessBag `protobuf:"bytes,3,opt,name=ChessBag,proto3" json:"ChessBag,omitempty"` RetireEmit []string `protobuf:"bytes,4,rep,name=RetireEmit,proto3" json:"RetireEmit,omitempty"` Honor []int32 `protobuf:"varint,5,rep,packed,name=Honor,proto3" json:"Honor,omitempty"` - PartBag *PartBag `protobuf:"bytes,6,opt,name=PartBag,proto3" json:"PartBag,omitempty"` + PartBag *PartBag `protobuf:"bytes,6,opt,name=PartBag,proto3" json:"PartBag,omitempty"` // 满级零件 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -13189,8 +13195,9 @@ func (x *NotifyFriendLog) GetBubble() *FriendBubbleInfo { type FriendBubbleInfo struct { state protoimpl.MessageState `protogen:"open.v1"` - Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 气泡id - Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` // 气泡类型 1:普通 2: + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 气泡id + Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` // 气泡类型 1:普通 2: + Items []*ItemInfo `protobuf:"bytes,3,rep,name=Items,proto3" json:"Items,omitempty"` // 奖励 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -13239,6 +13246,13 @@ func (x *FriendBubbleInfo) GetType() int32 { return 0 } +func (x *FriendBubbleInfo) GetItems() []*ItemInfo { + if x != nil { + return x.Items + } + return nil +} + type NotifyFriendCard struct { state protoimpl.MessageState `protogen:"open.v1"` Info *ResFriendCard `protobuf:"bytes,1,opt,name=Info,proto3" json:"Info,omitempty"` @@ -26825,10 +26839,11 @@ const file_proto_Gameapi_proto_rawDesc = "" + "\x06Upvote\x18\x06 \x01(\bR\x06Upvote\"q\n" + "\x0fNotifyFriendLog\x12*\n" + "\x04info\x18\x01 \x01(\v2\x16.tutorial.ResFriendLogR\x04info\x122\n" + - "\x06Bubble\x18\x02 \x01(\v2\x1a.tutorial.FriendBubbleInfoR\x06Bubble\"6\n" + + "\x06Bubble\x18\x02 \x01(\v2\x1a.tutorial.FriendBubbleInfoR\x06Bubble\"`\n" + "\x10FriendBubbleInfo\x12\x0e\n" + "\x02Id\x18\x01 \x01(\x05R\x02Id\x12\x12\n" + - "\x04Type\x18\x02 \x01(\x05R\x04Type\"?\n" + + "\x04Type\x18\x02 \x01(\x05R\x04Type\x12(\n" + + "\x05Items\x18\x03 \x03(\v2\x12.tutorial.ItemInfoR\x05Items\"?\n" + "\x10NotifyFriendCard\x12+\n" + "\x04Info\x18\x01 \x01(\v2\x17.tutorial.ResFriendCardR\x04Info\"\x91\x02\n" + "\rResFriendCard\x12\x10\n" + @@ -27843,7 +27858,7 @@ const file_proto_Gameapi_proto_rawDesc = "" + "\x14ACT_TYPE_GUESS_COLOR\x10\x02\x12\x11\n" + "\rACT_TYPE_RACE\x10\x03\x12\x1a\n" + "\x16ACT_TYPE_DISCOUNT_GIFT\x10\x04\x12\x15\n" + - "\x11ACT_TYPE_ADD_GIFT\x10\x05*\x82\x02\n" + + "\x11ACT_TYPE_ADD_GIFT\x10\x05*\x95\x02\n" + "\n" + "ORDER_TYPE\x12\x16\n" + "\x12ORDER_TYPE_DEFAULT\x10\x00\x12\x0f\n" + @@ -27865,13 +27880,14 @@ const file_proto_Gameapi_proto_rawDesc = "" + "\bPet_type\x10\v\x12\x10\n" + "\fPreview_type\x10\f\x12\x0e\n" + "\n" + - "Fixed_type\x10\r*A\n" + + "Fixed_type\x10\r\x12\x11\n" + + "\rPlayroom_type\x10\x0e*A\n" + "\n" + "LOGIN_TYPE\x12\x11\n" + "\rACCOUNT_LOGIN\x10\x00\x12\x0e\n" + "\n" + "CODE_LOGIN\x10\x01\x12\x10\n" + - "\fDEVICE_LOGIN\x10\x02*\x9d\x06\n" + + "\fDEVICE_LOGIN\x10\x02*\xb9\x06\n" + "\x0eTIME_LINE_TYPE\x12\v\n" + "\aDEFAULT\x10\x00\x12\x19\n" + "\x15LOG_TYPE_FRIEND_APPLY\x10\x01\x12\x1a\n" + @@ -27901,7 +27917,8 @@ const file_proto_Gameapi_proto_rawDesc = "" + "\x19LOG_TYPE_PLAYROOM_CAT_WIN\x10\x1a\x12\x1e\n" + "\x1aLOG_TYPE_PLAYROOM_CAT_LOSE\x10\x1b\x12\x1d\n" + "\x19LOG_TYPE_CARD_GIVE_ACCEPT\x10\x1c\x12\x1a\n" + - "\x16LOG_TYPE_FRIEND_INVITE\x10\x1d*\x9b\x01\n" + + "\x16LOG_TYPE_FRIEND_INVITE\x10\x1d\x12\x1a\n" + + "\x16LOG_TYPE_TREASURE_HELP\x10\x1e*\x9b\x01\n" + "\rCHESS_EX_TYPE\x12\x11\n" + "\rCHESS_EX_NONE\x10\x00\x12\x13\n" + "\x0fCHESS_EX_BUBBLE\x10\x01\x12\x10\n" + @@ -28592,169 +28609,170 @@ var file_proto_Gameapi_proto_depIdxs = []int32{ 225, // 123: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple 227, // 124: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog 229, // 125: tutorial.NotifyFriendLog.Bubble:type_name -> tutorial.FriendBubbleInfo - 231, // 126: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard - 494, // 127: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry - 2, // 128: tutorial.ResFriendByCode.Code:type_name -> tutorial.RES_CODE - 225, // 129: tutorial.ResFriendByCode.Player:type_name -> tutorial.ResPlayerSimple - 225, // 130: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple - 2, // 131: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE - 225, // 132: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple - 2, // 133: tutorial.ResAddNpc.Code:type_name -> tutorial.RES_CODE - 246, // 134: tutorial.ResFriendApply.ApplyList:type_name -> tutorial.ResFriendApplyInfo - 225, // 135: tutorial.ResFriendApplyInfo.Player:type_name -> tutorial.ResPlayerSimple - 231, // 136: tutorial.ResFriendCardMsg.MsgList:type_name -> tutorial.ResFriendCard - 246, // 137: tutorial.ResWishApplyList.ApplyList:type_name -> tutorial.ResFriendApplyInfo - 2, // 138: tutorial.ResWishApply.Code:type_name -> tutorial.RES_CODE - 227, // 139: tutorial.ResFriendTimeLine.Log:type_name -> tutorial.ResFriendLog - 229, // 140: tutorial.ResFriendBubble.Bubble:type_name -> tutorial.FriendBubbleInfo - 2, // 141: tutorial.ResFriendTLUpvote.Code:type_name -> tutorial.RES_CODE - 2, // 142: tutorial.ResFriendTReward.Code:type_name -> tutorial.RES_CODE - 225, // 143: tutorial.ResFriendApplyNotify.Player:type_name -> tutorial.ResPlayerSimple - 2, // 144: tutorial.ResApplyFriend.Code:type_name -> tutorial.RES_CODE - 2, // 145: tutorial.ResAgreeFriend.Code:type_name -> tutorial.RES_CODE - 225, // 146: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple - 2, // 147: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE - 2, // 148: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE - 495, // 149: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry - 496, // 150: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry - 164, // 151: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo - 273, // 152: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo - 2, // 153: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE - 2, // 154: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE - 2, // 155: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE - 497, // 156: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry - 498, // 157: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry - 499, // 158: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry - 282, // 159: tutorial.ResCharge.Wish:type_name -> tutorial.WishList - 2, // 160: tutorial.ResAddWish.Code:type_name -> tutorial.RES_CODE - 2, // 161: tutorial.ResGetWish.Code:type_name -> tutorial.RES_CODE - 2, // 162: tutorial.ResSendWishBeg.Code:type_name -> tutorial.RES_CODE - 2, // 163: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE - 2, // 164: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE - 500, // 165: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry - 2, // 166: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE - 2, // 167: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE - 501, // 168: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry - 164, // 169: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo - 2, // 170: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE - 2, // 171: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE - 2, // 172: tutorial.ResChargeReceive.Code:type_name -> tutorial.RES_CODE - 2, // 173: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE - 2, // 174: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE - 2, // 175: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE - 502, // 176: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry - 503, // 177: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry - 504, // 178: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry - 505, // 179: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry - 506, // 180: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry - 2, // 181: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE - 507, // 182: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry - 508, // 183: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry - 2, // 184: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE - 2, // 185: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE - 509, // 186: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry - 200, // 187: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo - 510, // 188: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry - 511, // 189: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry - 352, // 190: tutorial.ResGuessColor.MapList:type_name -> tutorial.GuessColorInfo - 512, // 191: tutorial.ResGuessColor.OMap:type_name -> tutorial.ResGuessColor.OMapEntry - 350, // 192: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent - 352, // 193: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.GuessColorInfo - 513, // 194: tutorial.ReqGuessColorTake.OMap:type_name -> tutorial.ReqGuessColorTake.OMapEntry - 514, // 195: tutorial.GuessColorInfo.Map:type_name -> tutorial.GuessColorInfo.MapEntry - 2, // 196: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE - 2, // 197: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE - 358, // 198: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent - 2, // 199: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE - 2, // 200: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE - 164, // 201: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo - 392, // 202: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent - 391, // 203: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom - 515, // 204: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry - 377, // 205: tutorial.ResPlayroom.collect:type_name -> tutorial.PlayroomCollectInfo - 516, // 206: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry - 164, // 207: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo - 387, // 208: tutorial.ResPlayroom.Chip:type_name -> tutorial.ChipInfo - 517, // 209: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry - 518, // 210: tutorial.ResPlayroom.Dress:type_name -> tutorial.ResPlayroom.DressEntry - 519, // 211: tutorial.ResPlayroom.DressSet:type_name -> tutorial.ResPlayroom.DressSetEntry - 376, // 212: tutorial.ResPlayroom.PetAir:type_name -> tutorial.PlayroomAirInfo - 174, // 213: tutorial.ResPlayroom.DailyTask:type_name -> tutorial.DailyTask - 389, // 214: tutorial.ResPlayroom.AdItem:type_name -> tutorial.AdItem - 391, // 215: tutorial.ResPlayroom.Target:type_name -> tutorial.FriendRoom - 174, // 216: tutorial.NotifyPlayroomTask.DailyTask:type_name -> tutorial.DailyTask - 2, // 217: tutorial.ResPlayroomTask.Code:type_name -> tutorial.RES_CODE - 2, // 218: tutorial.ResPlayroomTaskReward.Code:type_name -> tutorial.RES_CODE - 2, // 219: tutorial.ResPlayroomUnlock.Code:type_name -> tutorial.RES_CODE - 2, // 220: tutorial.ResPlayroomUpvote.Code:type_name -> tutorial.RES_CODE - 375, // 221: tutorial.PlayroomDress.List:type_name -> tutorial.PlayroomDressInfo - 520, // 222: tutorial.ReqPlayroomDressSet.DressSet:type_name -> tutorial.ReqPlayroomDressSet.DressSetEntry - 2, // 223: tutorial.ResPlayroomDressSet.Code:type_name -> tutorial.RES_CODE - 2, // 224: tutorial.ResPlayroomPetAirSet.Code:type_name -> tutorial.RES_CODE - 2, // 225: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE - 164, // 226: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo - 387, // 227: tutorial.NotifyPlayroomLose.Chip:type_name -> tutorial.ChipInfo - 521, // 228: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry - 522, // 229: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry - 389, // 230: tutorial.NotifyPlayroomMood.AdItem:type_name -> tutorial.AdItem - 523, // 231: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry - 524, // 232: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry - 525, // 233: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry - 526, // 234: tutorial.ResPlayroomInfo.Emoji:type_name -> tutorial.ResPlayroomInfo.EmojiEntry - 527, // 235: tutorial.ResPlayroomInfo.DressSet:type_name -> tutorial.ResPlayroomInfo.DressSetEntry - 2, // 236: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE - 2, // 237: tutorial.ResPlayroomGuide.Code:type_name -> tutorial.RES_CODE - 2, // 238: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE - 2, // 239: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE - 528, // 240: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry - 164, // 241: tutorial.ResPlayroomGameShowReward.Items:type_name -> tutorial.ItemInfo - 2, // 242: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE - 529, // 243: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry - 2, // 244: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE - 2, // 245: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE - 2, // 246: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE - 2, // 247: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE - 2, // 248: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE - 2, // 249: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE - 2, // 250: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE - 2, // 251: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE - 2, // 252: tutorial.ResPlayroomShop.Code:type_name -> tutorial.RES_CODE - 427, // 253: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo - 427, // 254: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo - 2, // 255: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE - 2, // 256: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE - 2, // 257: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE - 438, // 258: tutorial.ResCollectInfo.Items:type_name -> tutorial.CollectItem - 164, // 259: tutorial.CollectItem.Items:type_name -> tutorial.ItemInfo - 2, // 260: tutorial.ResCollect.Code:type_name -> tutorial.RES_CODE - 443, // 261: tutorial.ResCatnip.GameList:type_name -> tutorial.CatnipGame - 225, // 262: tutorial.CatnipGame.Partner:type_name -> tutorial.ResPlayerSimple - 2, // 263: tutorial.ResCatnipInvite.Code:type_name -> tutorial.RES_CODE - 2, // 264: tutorial.ResCatnipAgree.Code:type_name -> tutorial.RES_CODE - 2, // 265: tutorial.ResCatnipRefuse.Code:type_name -> tutorial.RES_CODE - 2, // 266: tutorial.ResCatnipMultiply.Code:type_name -> tutorial.RES_CODE - 2, // 267: tutorial.ResCatnipPlay.Code:type_name -> tutorial.RES_CODE - 2, // 268: tutorial.ResCatnipReward.Code:type_name -> tutorial.RES_CODE - 2, // 269: tutorial.ResCatnipGrandReward.Code:type_name -> tutorial.RES_CODE - 167, // 270: tutorial.ResGuideTask.TaskEntry.value:type_name -> tutorial.GuideTask - 173, // 271: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek - 174, // 272: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask - 210, // 273: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent - 225, // 274: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple - 273, // 275: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo - 289, // 276: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop - 290, // 277: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop - 301, // 278: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo - 226, // 279: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 226, // 280: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 374, // 281: tutorial.ResPlayroom.DressEntry.value:type_name -> tutorial.PlayroomDress - 164, // 282: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo - 164, // 283: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo - 284, // [284:284] is the sub-list for method output_type - 284, // [284:284] is the sub-list for method input_type - 284, // [284:284] is the sub-list for extension type_name - 284, // [284:284] is the sub-list for extension extendee - 0, // [0:284] is the sub-list for field type_name + 164, // 126: tutorial.FriendBubbleInfo.Items:type_name -> tutorial.ItemInfo + 231, // 127: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard + 494, // 128: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry + 2, // 129: tutorial.ResFriendByCode.Code:type_name -> tutorial.RES_CODE + 225, // 130: tutorial.ResFriendByCode.Player:type_name -> tutorial.ResPlayerSimple + 225, // 131: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple + 2, // 132: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE + 225, // 133: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple + 2, // 134: tutorial.ResAddNpc.Code:type_name -> tutorial.RES_CODE + 246, // 135: tutorial.ResFriendApply.ApplyList:type_name -> tutorial.ResFriendApplyInfo + 225, // 136: tutorial.ResFriendApplyInfo.Player:type_name -> tutorial.ResPlayerSimple + 231, // 137: tutorial.ResFriendCardMsg.MsgList:type_name -> tutorial.ResFriendCard + 246, // 138: tutorial.ResWishApplyList.ApplyList:type_name -> tutorial.ResFriendApplyInfo + 2, // 139: tutorial.ResWishApply.Code:type_name -> tutorial.RES_CODE + 227, // 140: tutorial.ResFriendTimeLine.Log:type_name -> tutorial.ResFriendLog + 229, // 141: tutorial.ResFriendBubble.Bubble:type_name -> tutorial.FriendBubbleInfo + 2, // 142: tutorial.ResFriendTLUpvote.Code:type_name -> tutorial.RES_CODE + 2, // 143: tutorial.ResFriendTReward.Code:type_name -> tutorial.RES_CODE + 225, // 144: tutorial.ResFriendApplyNotify.Player:type_name -> tutorial.ResPlayerSimple + 2, // 145: tutorial.ResApplyFriend.Code:type_name -> tutorial.RES_CODE + 2, // 146: tutorial.ResAgreeFriend.Code:type_name -> tutorial.RES_CODE + 225, // 147: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple + 2, // 148: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE + 2, // 149: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE + 495, // 150: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry + 496, // 151: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry + 164, // 152: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo + 273, // 153: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo + 2, // 154: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE + 2, // 155: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE + 2, // 156: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE + 497, // 157: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry + 498, // 158: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry + 499, // 159: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry + 282, // 160: tutorial.ResCharge.Wish:type_name -> tutorial.WishList + 2, // 161: tutorial.ResAddWish.Code:type_name -> tutorial.RES_CODE + 2, // 162: tutorial.ResGetWish.Code:type_name -> tutorial.RES_CODE + 2, // 163: tutorial.ResSendWishBeg.Code:type_name -> tutorial.RES_CODE + 2, // 164: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE + 2, // 165: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE + 500, // 166: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry + 2, // 167: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE + 2, // 168: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE + 501, // 169: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry + 164, // 170: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo + 2, // 171: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE + 2, // 172: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE + 2, // 173: tutorial.ResChargeReceive.Code:type_name -> tutorial.RES_CODE + 2, // 174: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE + 2, // 175: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE + 2, // 176: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE + 502, // 177: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry + 503, // 178: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry + 504, // 179: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry + 505, // 180: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry + 506, // 181: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry + 2, // 182: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE + 507, // 183: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry + 508, // 184: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry + 2, // 185: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE + 2, // 186: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE + 509, // 187: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry + 200, // 188: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo + 510, // 189: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry + 511, // 190: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry + 352, // 191: tutorial.ResGuessColor.MapList:type_name -> tutorial.GuessColorInfo + 512, // 192: tutorial.ResGuessColor.OMap:type_name -> tutorial.ResGuessColor.OMapEntry + 350, // 193: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent + 352, // 194: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.GuessColorInfo + 513, // 195: tutorial.ReqGuessColorTake.OMap:type_name -> tutorial.ReqGuessColorTake.OMapEntry + 514, // 196: tutorial.GuessColorInfo.Map:type_name -> tutorial.GuessColorInfo.MapEntry + 2, // 197: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE + 2, // 198: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE + 358, // 199: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent + 2, // 200: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE + 2, // 201: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE + 164, // 202: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo + 392, // 203: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent + 391, // 204: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom + 515, // 205: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry + 377, // 206: tutorial.ResPlayroom.collect:type_name -> tutorial.PlayroomCollectInfo + 516, // 207: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry + 164, // 208: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo + 387, // 209: tutorial.ResPlayroom.Chip:type_name -> tutorial.ChipInfo + 517, // 210: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry + 518, // 211: tutorial.ResPlayroom.Dress:type_name -> tutorial.ResPlayroom.DressEntry + 519, // 212: tutorial.ResPlayroom.DressSet:type_name -> tutorial.ResPlayroom.DressSetEntry + 376, // 213: tutorial.ResPlayroom.PetAir:type_name -> tutorial.PlayroomAirInfo + 174, // 214: tutorial.ResPlayroom.DailyTask:type_name -> tutorial.DailyTask + 389, // 215: tutorial.ResPlayroom.AdItem:type_name -> tutorial.AdItem + 391, // 216: tutorial.ResPlayroom.Target:type_name -> tutorial.FriendRoom + 174, // 217: tutorial.NotifyPlayroomTask.DailyTask:type_name -> tutorial.DailyTask + 2, // 218: tutorial.ResPlayroomTask.Code:type_name -> tutorial.RES_CODE + 2, // 219: tutorial.ResPlayroomTaskReward.Code:type_name -> tutorial.RES_CODE + 2, // 220: tutorial.ResPlayroomUnlock.Code:type_name -> tutorial.RES_CODE + 2, // 221: tutorial.ResPlayroomUpvote.Code:type_name -> tutorial.RES_CODE + 375, // 222: tutorial.PlayroomDress.List:type_name -> tutorial.PlayroomDressInfo + 520, // 223: tutorial.ReqPlayroomDressSet.DressSet:type_name -> tutorial.ReqPlayroomDressSet.DressSetEntry + 2, // 224: tutorial.ResPlayroomDressSet.Code:type_name -> tutorial.RES_CODE + 2, // 225: tutorial.ResPlayroomPetAirSet.Code:type_name -> tutorial.RES_CODE + 2, // 226: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE + 164, // 227: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo + 387, // 228: tutorial.NotifyPlayroomLose.Chip:type_name -> tutorial.ChipInfo + 521, // 229: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry + 522, // 230: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry + 389, // 231: tutorial.NotifyPlayroomMood.AdItem:type_name -> tutorial.AdItem + 523, // 232: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry + 524, // 233: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry + 525, // 234: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry + 526, // 235: tutorial.ResPlayroomInfo.Emoji:type_name -> tutorial.ResPlayroomInfo.EmojiEntry + 527, // 236: tutorial.ResPlayroomInfo.DressSet:type_name -> tutorial.ResPlayroomInfo.DressSetEntry + 2, // 237: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE + 2, // 238: tutorial.ResPlayroomGuide.Code:type_name -> tutorial.RES_CODE + 2, // 239: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE + 2, // 240: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE + 528, // 241: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry + 164, // 242: tutorial.ResPlayroomGameShowReward.Items:type_name -> tutorial.ItemInfo + 2, // 243: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE + 529, // 244: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry + 2, // 245: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE + 2, // 246: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE + 2, // 247: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE + 2, // 248: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE + 2, // 249: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE + 2, // 250: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE + 2, // 251: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE + 2, // 252: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE + 2, // 253: tutorial.ResPlayroomShop.Code:type_name -> tutorial.RES_CODE + 427, // 254: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo + 427, // 255: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo + 2, // 256: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE + 2, // 257: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE + 2, // 258: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE + 438, // 259: tutorial.ResCollectInfo.Items:type_name -> tutorial.CollectItem + 164, // 260: tutorial.CollectItem.Items:type_name -> tutorial.ItemInfo + 2, // 261: tutorial.ResCollect.Code:type_name -> tutorial.RES_CODE + 443, // 262: tutorial.ResCatnip.GameList:type_name -> tutorial.CatnipGame + 225, // 263: tutorial.CatnipGame.Partner:type_name -> tutorial.ResPlayerSimple + 2, // 264: tutorial.ResCatnipInvite.Code:type_name -> tutorial.RES_CODE + 2, // 265: tutorial.ResCatnipAgree.Code:type_name -> tutorial.RES_CODE + 2, // 266: tutorial.ResCatnipRefuse.Code:type_name -> tutorial.RES_CODE + 2, // 267: tutorial.ResCatnipMultiply.Code:type_name -> tutorial.RES_CODE + 2, // 268: tutorial.ResCatnipPlay.Code:type_name -> tutorial.RES_CODE + 2, // 269: tutorial.ResCatnipReward.Code:type_name -> tutorial.RES_CODE + 2, // 270: tutorial.ResCatnipGrandReward.Code:type_name -> tutorial.RES_CODE + 167, // 271: tutorial.ResGuideTask.TaskEntry.value:type_name -> tutorial.GuideTask + 173, // 272: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek + 174, // 273: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask + 210, // 274: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent + 225, // 275: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple + 273, // 276: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo + 289, // 277: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop + 290, // 278: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop + 301, // 279: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo + 226, // 280: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 226, // 281: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 374, // 282: tutorial.ResPlayroom.DressEntry.value:type_name -> tutorial.PlayroomDress + 164, // 283: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo + 164, // 284: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo + 285, // [285:285] is the sub-list for method output_type + 285, // [285:285] is the sub-list for method input_type + 285, // [285:285] is the sub-list for extension type_name + 285, // [285:285] is the sub-list for extension extendee + 0, // [0:285] is the sub-list for field type_name } func init() { file_proto_Gameapi_proto_init() }