This commit is contained in:
hahwu 2025-09-17 11:02:14 +08:00
parent d80567c7b7
commit 119b26b3d9
2 changed files with 208 additions and 186 deletions

View File

@ -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")
}

View File

@ -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() }