diff --git a/gs/game/command_controller.go b/gs/game/command_controller.go index a2423ba4..bddf7d5e 100644 --- a/gs/game/command_controller.go +++ b/gs/game/command_controller.go @@ -1,10 +1,9 @@ package game import ( + "hk4e/gs/model" "strconv" "strings" - - "hk4e/gs/model" ) // HelpCommand 帮助命令 @@ -249,3 +248,12 @@ func (c *CommandManager) GiveCommand(cmd *CommandMessage) { c.SendMessage(player, "已给予玩家 UID:%v, 所有内容。", target.PlayerID) } } + +// GcgCommand Gcg测试命令 +func (c *CommandManager) GcgCommand(cm *CommandMessage) { + player := cm.Executor.(*model.Player) + + GAME_MANAGER.GCGStartChallenge(player) + + c.SendMessage(player, "收到命令") +} diff --git a/gs/game/command_gm.go b/gs/game/command_gm.go index 768fe3e7..657b2f08 100644 --- a/gs/game/command_gm.go +++ b/gs/game/command_gm.go @@ -13,11 +13,11 @@ func (c *CommandManager) GMTeleportPlayer(userId, sceneId uint32, posX, posY, po logger.Error("player is nil, uid: %v", userId) return } - GAME_MANAGER.TeleportPlayer(player, uint32(constant.EnterReasonConst.Gm), sceneId, &model.Vector{ + GAME_MANAGER.TeleportPlayer(player, constant.EnterReasonConst.Gm, sceneId, &model.Vector{ X: posX, Y: posY, Z: posZ, - }) + }, 0) } // GMAddUserItem 给予玩家物品 diff --git a/gs/game/command_manager.go b/gs/game/command_manager.go index 95f6aedf..3529ae7c 100644 --- a/gs/game/command_manager.go +++ b/gs/game/command_manager.go @@ -71,6 +71,7 @@ func (c *CommandManager) InitRouter() { c.RegisterRouter(CommandPermNormal, c.OpCommand, "op") c.RegisterRouter(CommandPermNormal, c.TeleportCommand, "teleport", "tp") c.RegisterRouter(CommandPermNormal, c.GiveCommand, "give", "item") + c.RegisterRouter(CommandPermNormal, c.GcgCommand, "gcg") } // GM命令 { diff --git a/gs/game/game_manager.go b/gs/game/game_manager.go index 29b21a95..968eb454 100644 --- a/gs/game/game_manager.go +++ b/gs/game/game_manager.go @@ -26,6 +26,7 @@ var USER_MANAGER *UserManager = nil var WORLD_MANAGER *WorldManager = nil var TICK_MANAGER *TickManager = nil var COMMAND_MANAGER *CommandManager = nil +var GCG_MANAGER *GCGManager = nil var MESSAGE_QUEUE *mq.MessageQueue var SELF *model.Player @@ -53,6 +54,7 @@ func NewGameManager(dao *dao.Dao, messageQueue *mq.MessageQueue, gsId uint32) (r WORLD_MANAGER = NewWorldManager(r.snowflake) TICK_MANAGER = NewTickManager() COMMAND_MANAGER = NewCommandManager() + GCG_MANAGER = NewGCGManager() r.run() return r } diff --git a/gs/game/gcg_manager.go b/gs/game/gcg_manager.go new file mode 100644 index 00000000..d7761483 --- /dev/null +++ b/gs/game/gcg_manager.go @@ -0,0 +1,105 @@ +package game + +import ( + "hk4e/gs/model" +) + +// ControllerType 操控者类型 +type ControllerType uint8 + +const ( + ControllerType_Player ControllerType = iota // 玩家 + ControllerType_AI // AI +) + +// GCGCardInfo 游戏对局内卡牌 +type GCGCardInfo struct { + cardId uint32 // 卡牌Id + guid uint32 // 唯一Id + faceType uint32 // 卡面类型 + tagList []uint32 // Tag + tokenMap map[uint32]uint32 // Token + skillIdList []uint32 // 技能Id列表 + skillLimitList []uint32 // 技能限制列表 + isShow bool // 是否展示 +} + +// GCGController 操控者 +type GCGController struct { + controllerId uint32 // 操控者Id + cardMap map[uint32]*GCGCardInfo // 卡牌列表 + controllerType ControllerType // 操控者的类型 + player *model.Player + ai uint32 // 暂时不写 +} + +// GCGGame 游戏对局 +type GCGGame struct { + guid uint32 // 唯一Id + gameId uint32 // 游戏Id + round uint32 // 游戏回合数 + serverSeqCounter uint32 // 请求序列生成计数器 + controllerIdCounter uint32 // 操控者Id生成器 + cardGuidCounter uint32 // 卡牌guid生成计数器 + controllerMap map[uint32]*GCGController // 操控者列表 uint32 -> controllerId +} + +// GCGManager 七圣召唤管理器 +type GCGManager struct { + gameMap map[uint32]*GCGGame // 游戏列表 uint32 -> guid + gameGuidCounter uint32 // 游戏guid生成计数器 +} + +func NewGCGManager() *GCGManager { + gcgManager := new(GCGManager) + gcgManager.gameMap = make(map[uint32]*GCGGame) + return gcgManager +} + +// CreateGame 创建GCG游戏对局 +func (g *GCGManager) CreateGame(gameId uint32) *GCGGame { + g.gameGuidCounter++ + game := &GCGGame{ + guid: g.gameGuidCounter, + gameId: gameId, + round: 1, + controllerMap: make(map[uint32]*GCGController, 0), + } + // 记录游戏 + g.gameMap[game.guid] = game + return game +} + +// JoinGame 玩家加入GCG游戏 +func (g *GCGManager) JoinGame(game *GCGGame, player *model.Player) { + game.controllerIdCounter++ + controller := &GCGController{ + controllerId: game.controllerIdCounter, + cardMap: make(map[uint32]*GCGCardInfo, 0), + controllerType: ControllerType_Player, + player: player, + } + // 生成卡牌信息 + + // 记录操控者 + game.controllerMap[game.controllerIdCounter] = controller +} + +//// CreateGameCardInfo 生成操控者卡牌信息 +//func (g *GCGManager) CreateGameCardInfo(controller *GCGController, gcgDeck *model.GCGDeck) *GCGCardInfo { +// +//} + +// GetGameControllerByUserId 通过玩家Id获取GCGController对象 +func (g *GCGManager) GetGameControllerByUserId(game *GCGGame, userId uint32) *GCGController { + for _, controller := range game.controllerMap { + // 为nil说明该操控者不是玩家 + if controller.player == nil { + return nil + } + if controller.player.PlayerID == userId { + return controller + } + } + return nil +} diff --git a/gs/game/route_manager.go b/gs/game/route_manager.go index f76f3312..194b1a83 100644 --- a/gs/game/route_manager.go +++ b/gs/game/route_manager.go @@ -123,6 +123,8 @@ func (r *RouteManager) InitRoute() { r.registerRouter(cmd.VehicleInteractReq, GAME_MANAGER.VehicleInteractReq) r.registerRouter(cmd.SceneEntityDrownReq, GAME_MANAGER.SceneEntityDrownReq) r.registerRouter(cmd.GetOnlinePlayerInfoReq, GAME_MANAGER.GetOnlinePlayerInfoReq) + r.registerRouter(cmd.GCGAskDuelReq, GAME_MANAGER.GCGAskDuelReq) + r.registerRouter(cmd.GCGInitFinishReq, GAME_MANAGER.GCGInitFinishReq) } func (r *RouteManager) RouteHandle(netMsg *mq.NetMsg) { diff --git a/gs/game/user_gcg.go b/gs/game/user_gcg.go new file mode 100644 index 00000000..8a8c8c25 --- /dev/null +++ b/gs/game/user_gcg.go @@ -0,0 +1,578 @@ +package game + +import ( + pb "google.golang.org/protobuf/proto" + "hk4e/common/constant" + "hk4e/gs/model" + "hk4e/protocol/cmd" + "hk4e/protocol/proto" +) + +func (g *GameManager) GCGLogin(player *model.Player) { + player.SceneId = 1076 + player.Pos.X = 8.974 + player.Pos.Y = 0 + player.Pos.Z = 9.373 + // GCG基础信息 + g.SendMsg(cmd.GCGBasicDataNotify, player.PlayerID, player.ClientSeq, g.PacketGCGBasicDataNotify(player)) + // GCG等级挑战解锁 + g.SendMsg(cmd.GCGLevelChallengeNotify, player.PlayerID, player.ClientSeq, g.PacketGCGLevelChallengeNotify(player)) + // GCG禁止的卡牌 + g.SendMsg(cmd.GCGDSBanCardNotify, player.PlayerID, player.ClientSeq, g.PacketGCGDSBanCardNotify(player)) + // GCG解锁或拥有的内容 + g.SendMsg(cmd.GCGDSDataNotify, player.PlayerID, player.ClientSeq, g.PacketGCGDSDataNotify(player)) + // GCG酒馆挑战数据 + g.SendMsg(cmd.GCGTCTavernChallengeDataNotify, player.PlayerID, player.ClientSeq, g.PacketGCGTCTavernChallengeDataNotify(player)) +} + +// GCGTavernInit GCG酒馆初始化 +func (g *GameManager) GCGTavernInit(player *model.Player) { + //// GCG酒馆信息通知 + //g.SendMsg(cmd.GCGTCTavernInfoNotify, player.PlayerID, player.ClientSeq, g.PacketGCGTCTavernInfoNotify(player)) + //// GCG酒馆NPC信息通知 + //g.SendMsg(cmd.GCGTavernNpcInfoNotify, player.PlayerID, player.ClientSeq, g.PacketGCGTavernNpcInfoNotify(player)) + // 可能是包没发全导致卡进度条? + g.SendMsg(cmd.DungeonWayPointNotify, player.PlayerID, player.ClientSeq, &proto.DungeonWayPointNotify{}) + g.SendMsg(cmd.DungeonDataNotify, player.PlayerID, player.ClientSeq, &proto.DungeonDataNotify{}) + g.SendMsg(cmd.Unk3300_DGBNCDEIIFC, player.PlayerID, player.ClientSeq, &proto.Unk3300_DGBNCDEIIFC{}) +} + +// GCGStartChallenge GCG开始挑战 +func (g *GameManager) GCGStartChallenge(player *model.Player) { + // GCG开始游戏通知 + //gcgStartChallengeByCheckRewardRsp := &proto.GCGStartChallengeByCheckRewardRsp{ + // ExceededItemTypeList: make([]uint32, 0, 0), + // LevelId: 0, + // ExceededItemList: make([]uint32, 0, 0), + // LevelType: proto.GCGLevelType_GCG_LEVEL_TYPE_GUIDE_GROUP, + // ConfigId: 7066505, + // Retcode: 0, + //} + //g.SendMsg(cmd.GCGStartChallengeByCheckRewardRsp, player.PlayerID, player.ClientSeq, gcgStartChallengeByCheckRewardRsp) + + // GCG游戏简要信息通知 + GAME_MANAGER.SendMsg(cmd.GCGGameBriefDataNotify, player.PlayerID, player.ClientSeq, g.PacketGCGGameBriefDataNotify(player, proto.GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_GUIDE_GROUP, 30102)) + + // 玩家进入GCG界面 + g.TeleportPlayer(player, constant.EnterReasonConst.DungeonEnter, 79999, new(model.Vector), 2162) +} + +// GCGAskDuelReq GCG决斗请求 +func (g *GameManager) GCGAskDuelReq(player *model.Player, payloadMsg pb.Message) { + // 获取玩家所在的游戏 + game, ok := GCG_MANAGER.gameMap[player.GCGCurGameGuid] + if !ok { + g.CommonRetError(cmd.GCGAskDuelRsp, player, &proto.GCGAskDuelRsp{}, proto.Retcode_RET_GCG_GAME_NOT_RUNNING) + return + } + // 计数器+1 + game.serverSeqCounter++ + // 获取玩家的操控者对象 + gameController := GCG_MANAGER.GetGameControllerByUserId(game, player.PlayerID) + if gameController == nil { + g.CommonRetError(cmd.GCGAskDuelRsp, player, &proto.GCGAskDuelRsp{}, proto.Retcode_RET_GCG_NOT_IN_GCG_DUNGEON) + return + } + // PacketGCGAskDuelRsp + //gcgAskDuelRsp := &proto.GCGAskDuelRsp{ + // Duel: &proto.GCGDuel{ + // ServerSeq: game.serverSeqCounter, + // ShowInfoList: make([]*proto.GCGControllerShowInfo, 0, len(game.controllerMap)), + // ForbidFinishChallengeList: nil, + // CardList: nil, + // Unk3300_BIANMOPDEHO: 0, + // CostRevise: nil, + // GameId: game.gameId, + // FieldList: nil, + // Unk3300_CDCMBOKBLAK: nil, + // BusinessType: 0, + // IntentionList: nil, + // ChallengeList: nil, + // HistoryCardList: nil, + // Round: game.round, + // ControllerId: gameController.controllerId, + // HistoryMsgPackList: nil, + // Unk3300_JHDDNKFPINA: 0, + // CardIdList: make([]uint32, 0, 0), + // Unk3300_JBBMBKGOONO: 0, + // Phase: nil, + // }, + //} + //// 玩家信息列表 + //for _, controller := range game.controllerMap { + // gcgControllerShowInfo := &proto.GCGControllerShowInfo{ + // ControllerId: controller.controllerId, + // ProfilePicture: &proto.ProfilePicture{}, + // } + // // 如果为玩家则更改为玩家信息 + // if controller.controllerType == ControllerType_Player { + // gcgControllerShowInfo.ProfilePicture.AvatarId = player.HeadImage + // gcgControllerShowInfo.ProfilePicture.AvatarId = player.AvatarMap[player.HeadImage].Costume + // } + // gcgAskDuelRsp.Duel.ShowInfoList = append(gcgAskDuelRsp.Duel.ShowInfoList) + //} + //GAME_MANAGER.SendMsg(cmd.GCGAskDuelRsp, player.PlayerID, player.ClientSeq, gcgAskDuelRsp) + // PacketGCGAskDuelRsp + gcgAskDuelRsp := new(proto.GCGAskDuelRsp) + gcgAskDuelRsp.Duel = &proto.GCGDuel{ + ServerSeq: 1, // 应该每次+1 + ShowInfoList: []*proto.GCGControllerShowInfo{ + // 玩家的 + { + // PsnId: ? + NickName: player.NickName, + // OnlineId: ? + ProfilePicture: &proto.ProfilePicture{ + AvatarId: player.TeamConfig.GetActiveAvatarId(), + CostumeId: player.AvatarMap[player.TeamConfig.GetActiveAvatarId()].Costume, + }, + ControllerId: 1, + }, + // 对手的 + { + ProfilePicture: &proto.ProfilePicture{}, + ControllerId: 2, + }, + }, + // ForbidFinishChallengeList: nil, + CardList: []*proto.GCGCard{ + { + TagList: []uint32{203, 303, 401}, + Guid: 1, // 应该每次+1 + IsShow: true, + TokenList: []*proto.GCGToken{ + { + Key: 1, + Value: 10, + }, + { + Key: 2, + Value: 10, + }, + { + Key: 4, + }, + { + Key: 5, + Value: 3, + }, + }, + // FaceType: 0, ? + SkillIdList: []uint32{13011, 13012, 13013}, + // SkillLimitsList: nil, + Id: 1301, + ControllerId: 1, + }, + { + TagList: []uint32{201, 301, 401}, + Guid: 2, // 应该每次+1 + IsShow: true, + TokenList: []*proto.GCGToken{ + { + Key: 1, + Value: 10, + }, + { + Key: 2, + Value: 10, + }, + { + Key: 4, + }, + { + Key: 5, + Value: 2, + }, + }, + // FaceType: 0, ? + SkillIdList: []uint32{11031, 11032, 11033}, + // SkillLimitsList: nil, + Id: 1103, + ControllerId: 1, + }, + { + TagList: []uint32{200, 300, 502, 503}, + Guid: 3, // 应该每次+1 + IsShow: true, + TokenList: []*proto.GCGToken{ + { + Key: 1, + Value: 4, + }, + { + Key: 2, + Value: 4, + }, + { + Key: 4, + }, + { + Key: 5, + Value: 2, + }, + }, + // FaceType: 0, ? + SkillIdList: []uint32{30011, 30012, 30013}, + // SkillLimitsList: nil, + Id: 3301, + ControllerId: 2, + }, + { + TagList: []uint32{200, 303, 502, 503}, + Guid: 4, // 应该每次+1 + IsShow: true, + TokenList: []*proto.GCGToken{ + { + Key: 1, + Value: 8, + }, + { + Key: 2, + Value: 8, + }, + { + Key: 4, + }, + { + Key: 5, + Value: 2, + }, + }, + // FaceType: 0, ? + SkillIdList: []uint32{33021, 33022, 33023, 33024}, + // SkillLimitsList: nil, + Id: 3302, + ControllerId: 2, + }, + { + Guid: 5, // 应该每次+1 + IsShow: true, + SkillIdList: []uint32{13010111}, + Id: 1301011, + ControllerId: 1, + }, + }, + Unk3300_BIANMOPDEHO: 1, + CostRevise: &proto.GCGCostReviseInfo{ + CanUseHandCardIdList: nil, + SelectOnStageCostList: nil, + PlayCardCostList: nil, + AttackCostList: nil, + IsCanAttack: false, + }, + // GameId: 0, + FieldList: []*proto.GCGPlayerField{ + { + // Unk3300_IKJMGAHCFPM: 0, + ModifyZoneMap: map[uint32]*proto.GCGZone{ + 1: {}, + 2: {}, + }, + // Unk3300_GGHKFFADEAL: 0, + Unk3300_AOPJIOHMPOF: nil, + Unk3300_FDFPHNDOJML: 0, + Unk3300_IPLMHKCNDLE: &proto.GCGZone{}, + Unk3300_EIHOMDLENMK: &proto.GCGZone{}, + // WaitingList: nil, + // Unk3300_PBECINKKHND: 0, + ControllerId: 1, + Unk3300_INDJNJJJNKL: &proto.GCGZone{ + CardList: []uint32{1, 2}, + }, + Unk3300_EFNAEFBECHD: &proto.GCGZone{}, + // IsPassed: false, + // IntentionList: nil, + // DiceSideList: nil, + // DeckCardNum: 0, + // Unk3300_GLNIFLOKBPM: 0, + }, + { + // Unk3300_IKJMGAHCFPM: 0, + ModifyZoneMap: map[uint32]*proto.GCGZone{ + 3: {}, + 4: {}, + }, + // Unk3300_GGHKFFADEAL: 0, + Unk3300_AOPJIOHMPOF: nil, + Unk3300_FDFPHNDOJML: 0, + Unk3300_IPLMHKCNDLE: &proto.GCGZone{}, + Unk3300_EIHOMDLENMK: &proto.GCGZone{}, + // WaitingList: nil, + // Unk3300_PBECINKKHND: 0, + ControllerId: 2, + Unk3300_INDJNJJJNKL: &proto.GCGZone{ + CardList: []uint32{3, 4}, + }, + Unk3300_EFNAEFBECHD: &proto.GCGZone{}, + // IsPassed: false, + // IntentionList: nil, + // DiceSideList: nil, + // DeckCardNum: 0, + // Unk3300_GLNIFLOKBPM: 0, + }, + }, + // 应该是玩家成员列表 + Unk3300_CDCMBOKBLAK: []*proto.Unk3300_ADHENCIFKNI{ + { + ControllerId: 1, + }, + { + ControllerId: 2, + }, + }, + // BusinessType: 0, + // IntentionList: nil, + ChallengeList: []*proto.GCGDuelChallenge{ + { + ChallengeId: 906, + TotalProgress: 1, + }, + { + ChallengeId: 907, + TotalProgress: 1, + }, + { + ChallengeId: 903, + TotalProgress: 1, + }, + { + ChallengeId: 904, + TotalProgress: 1, + }, + { + ChallengeId: 905, + TotalProgress: 1, + }, + { + ChallengeId: 908, + TotalProgress: 1, + }, + { + ChallengeId: 909, + TotalProgress: 1, + }, + }, + Round: 1, + ControllerId: 1, + HistoryMsgPackList: []*proto.GCGMessagePack{ + { + MsgList: []*proto.GCGMessage{ + { + Message: &proto.GCGMessage_PhaseChange{PhaseChange: &proto.GCGMsgPhaseChange{ + BeforePhase: proto.GCGPhaseType_GCG_PHASE_TYPE_START, + AllowControllerMap: []*proto.Uint32Pair{ + { + Key: 1, + Value: 1, + }, + { + Key: 2, + Value: 1, + }, + }, + }}, + }, + }, + }, + { + MsgList: []*proto.GCGMessage{ + { + Message: &proto.GCGMessage_UpdateController{UpdateController: &proto.GCGMsgUpdateController{ + AllowControllerMap: []*proto.Uint32Pair{ + { + Key: 1, + Value: 1, + }, + { + Key: 2, + }, + }, + }}, + }, + }, + }, + { + ActionType: proto.GCGActionType_GCG_ACTION_TYPE_SEND_MESSAGE, + MsgList: []*proto.GCGMessage{ + { + Message: &proto.GCGMessage_PhaseContinue{}, + }, + }, + }, + }, + // Unk3300_JHDDNKFPINA: 0, + CardIdList: []uint32{1103, 1301, 3001, 3302, 1301011}, + // Unk3300_JBBMBKGOONO: 0, + Phase: &proto.GCGPhase{ + PhaseType: proto.GCGPhaseType_GCG_PHASE_TYPE_START, + AllowControllerMap: map[uint32]uint32{ + 1: 1, + 2: 0, + }, + }, + } + gcgAskDuelRsp.Duel.HistoryCardList = gcgAskDuelRsp.Duel.CardList + + GAME_MANAGER.SendMsg(cmd.GCGAskDuelRsp, player.PlayerID, player.ClientSeq, gcgAskDuelRsp) +} + +// GCGInitFinishReq GCG决斗请求 +func (g *GameManager) GCGInitFinishReq(player *model.Player, payloadMsg pb.Message) { + GAME_MANAGER.SendMsg(cmd.GCGAskDuelRsp, player.PlayerID, player.ClientSeq, &proto.GCGInitFinishRsp{}) +} + +// PacketGCGGameBriefDataNotify GCG游戏简要数据通知 +func (g *GameManager) PacketGCGGameBriefDataNotify(player *model.Player, businessType proto.GCGGameBusinessType, gameId uint32) *proto.GCGGameBriefDataNotify { + gcgGameBriefDataNotify := &proto.GCGGameBriefDataNotify{ + GcgBriefData: &proto.GCGGameBriefData{ + BusinessType: businessType, + PlatformType: uint32(proto.PlatformType_PLATFORM_TYPE_PC), // TODO 根据玩家设备修改 + GameId: gameId, + PlayerBriefList: []*proto.GCGPlayerBriefData{ + { + Uid: player.PlayerID, + ControllerId: 1, + ProfilePicture: &proto.ProfilePicture{ + AvatarId: player.TeamConfig.GetActiveAvatarId(), + CostumeId: player.AvatarMap[player.TeamConfig.GetActiveAvatarId()].Costume, + }, + NickName: player.NickName, + CardIdList: []uint32{1301, 1103}, + }, + { + ControllerId: 2, + ProfilePicture: &proto.ProfilePicture{}, + CardIdList: []uint32{3001, 3302}, + }, + }, + }, + IsNewGame: true, + } + return gcgGameBriefDataNotify +} + +// PacketGCGTavernNpcInfoNotify GCG酒馆NPC信息通知 +func (g *GameManager) PacketGCGTavernNpcInfoNotify(player *model.Player) *proto.GCGTavernNpcInfoNotify { + gcgTavernNpcInfoNotify := &proto.GCGTavernNpcInfoNotify{ + Unk3300_FKAKHMMIEBC: make([]*proto.GCGTavernNpcInfo, 0, 0), + Unk3300_BAMLNENDLCM: make([]*proto.GCGTavernNpcInfo, 0, 0), + CharacterNpc: &proto.GCGTavernNpcInfo{ + Id: 0, + ScenePointId: 0, + LevelId: 0, + }, + } + return gcgTavernNpcInfoNotify +} + +// PacketGCGTCTavernInfoNotify GCG酒馆信息通知 +func (g *GameManager) PacketGCGTCTavernInfoNotify(player *model.Player) *proto.GCGTCTavernInfoNotify { + gcgTCTavernInfoNotify := &proto.GCGTCTavernInfoNotify{ + LevelId: 0, + Unk3300_IMFJBNFMCHM: false, + Unk3300_MBGMHBNBKBK: false, + PointId: 0, + ElementType: 8, + AvatarId: 10000007, + CharacterId: 0, + } + return gcgTCTavernInfoNotify +} + +// PacketGCGTCTavernChallengeDataNotify GCG酒馆挑战数据 +func (g *GameManager) PacketGCGTCTavernChallengeDataNotify(player *model.Player) *proto.GCGTCTavernChallengeDataNotify { + gcgTCTavernChallengeDataNotify := &proto.GCGTCTavernChallengeDataNotify{ + TavernChallengeList: make([]*proto.GCGTCTavernChallengeData, 0, 0), + } + for _, challenge := range player.GCGInfo.TavernChallengeMap { + gcgTCTavernChallengeData := &proto.GCGTCTavernChallengeData{ + UnlockLevelIdList: challenge.UnlockLevelIdList, + CharacterId: challenge.CharacterId, + } + gcgTCTavernChallengeDataNotify.TavernChallengeList = append(gcgTCTavernChallengeDataNotify.TavernChallengeList, gcgTCTavernChallengeData) + } + return gcgTCTavernChallengeDataNotify +} + +// PacketGCGBasicDataNotify GCG基础数据通知 +func (g *GameManager) PacketGCGBasicDataNotify(player *model.Player) *proto.GCGBasicDataNotify { + gcgBasicDataNotify := &proto.GCGBasicDataNotify{ + Level: player.GCGInfo.Level, + Exp: player.GCGInfo.Exp, + LevelRewardTakenList: make([]uint32, 0, 0), + } + return gcgBasicDataNotify +} + +// PacketGCGLevelChallengeNotify GCG等级挑战通知 +func (g *GameManager) PacketGCGLevelChallengeNotify(player *model.Player) *proto.GCGLevelChallengeNotify { + gcgLevelChallengeNotify := &proto.GCGLevelChallengeNotify{ + UnlockBossChallengeList: make([]*proto.GCGBossChallengeData, 0, 0), + UnlockWorldChallengeList: player.GCGInfo.UnlockWorldChallengeList, + LevelList: make([]*proto.GCGLevelData, 0, 0), + } + // Boss挑战信息 + for _, challenge := range player.GCGInfo.UnlockBossChallengeMap { + gcgBossChallengeData := &proto.GCGBossChallengeData{ + UnlockLevelIdList: challenge.UnlockLevelIdList, + Id: challenge.Id, + } + gcgLevelChallengeNotify.UnlockBossChallengeList = append(gcgLevelChallengeNotify.UnlockBossChallengeList, gcgBossChallengeData) + } + // 等级挑战信息 + for _, challenge := range player.GCGInfo.LevelChallengeMap { + gcgLevelData := &proto.GCGLevelData{ + FinishedChallengeIdList: challenge.FinishedChallengeIdList, + LevelId: challenge.LevelId, + } + gcgLevelChallengeNotify.LevelList = append(gcgLevelChallengeNotify.LevelList, gcgLevelData) + } + return gcgLevelChallengeNotify +} + +// PacketGCGDSBanCardNotify GCG禁止的卡牌通知 +func (g *GameManager) PacketGCGDSBanCardNotify(player *model.Player) *proto.GCGDSBanCardNotify { + gcgDSBanCardNotify := &proto.GCGDSBanCardNotify{ + CardList: player.GCGInfo.BanCardList, + } + return gcgDSBanCardNotify +} + +// PacketGCGDSDataNotify GCG数据通知 +func (g *GameManager) PacketGCGDSDataNotify(player *model.Player) *proto.GCGDSDataNotify { + gcgDSDataNotify := &proto.GCGDSDataNotify{ + CurDeckId: player.GCGInfo.CurDeckId, + DeckList: make([]*proto.GCGDSDeckData, 0, len(player.GCGInfo.DeckList)), + UnlockCardBackIdList: player.GCGInfo.UnlockCardBackIdList, + CardList: make([]*proto.GCGDSCardData, 0, len(player.GCGInfo.CardList)), + UnlockFieldIdList: player.GCGInfo.UnlockFieldIdList, + UnlockDeckIdList: player.GCGInfo.UnlockDeckIdList, + } + // 卡组列表 + for i, deck := range player.GCGInfo.DeckList { + gcgDSDeckData := &proto.GCGDSDeckData{ + CreateTime: uint32(deck.CreateTime), + FieldId: deck.FieldId, + CardBackId: deck.CardBackId, + CardList: deck.CardList, + CharacterCardList: deck.CharacterCardList, + Id: uint32(i), + Name: deck.Name, + IsValid: true, // TODO 校验卡组是否有效 + } + gcgDSDataNotify.DeckList = append(gcgDSDataNotify.DeckList, gcgDSDeckData) + } + // 卡牌列表 + for _, card := range player.GCGInfo.CardList { + gcgDSCardData := &proto.GCGDSCardData{ + Num: card.Num, + FaceType: card.FaceType, + CardId: card.CardId, + ProficiencyRewardTakenIdxList: card.ProficiencyRewardTakenIdxList, + UnlockFaceTypeList: card.UnlockFaceTypeList, + Proficiency: card.Proficiency, + } + gcgDSDataNotify.CardList = append(gcgDSDataNotify.CardList, gcgDSCardData) + } + return gcgDSDataNotify +} diff --git a/gs/game/user_login.go b/gs/game/user_login.go index 224dc3ed..858bc10e 100644 --- a/gs/game/user_login.go +++ b/gs/game/user_login.go @@ -131,6 +131,7 @@ func (g *GameManager) LoginNotify(userId uint32, player *model.Player, clientSeq g.SendMsg(cmd.PlayerStoreNotify, userId, clientSeq, g.PacketPlayerStoreNotify(player)) g.SendMsg(cmd.AvatarDataNotify, userId, clientSeq, g.PacketAvatarDataNotify(player)) g.SendMsg(cmd.OpenStateUpdateNotify, userId, clientSeq, g.PacketOpenStateUpdateNotify()) + g.GCGLogin(player) // 发送GCG登录相关的通知包 playerLoginRsp := &proto.PlayerLoginRsp{ IsUseAbilityHash: true, AbilityHashCode: -228935105, @@ -385,6 +386,7 @@ func (g *GameManager) CreatePlayer(userId uint32, nickName string, mainCharAvata player.GameObjectGuidMap = make(map[uint64]model.GameObject) player.DropInfo = model.NewDropInfo() player.ChatMsgMap = make(map[uint32][]*model.ChatMsg) + player.GCGInfo = model.NewGCGInfo() // 添加选定的主角 player.AddAvatar(mainCharAvatarId) diff --git a/gs/game/user_map.go b/gs/game/user_map.go index 48027657..3216bbc1 100644 --- a/gs/game/user_map.go +++ b/gs/game/user_map.go @@ -32,7 +32,7 @@ func (g *GameManager) SceneTransToPointReq(player *model.Player, payloadMsg pb.M Y: transPos.Y, Z: transPos.Z, } - g.TeleportPlayer(player, uint32(constant.EnterReasonConst.TransPoint), sceneId, pos) + g.TeleportPlayer(player, constant.EnterReasonConst.TransPoint, sceneId, pos, 0) sceneTransToPointRsp := &proto.SceneTransToPointRsp{ PointId: req.PointId, @@ -59,13 +59,13 @@ func (g *GameManager) MarkMapReq(player *model.Player, payloadMsg pb.Message) { Y: float64(posYInt), Z: float64(req.Mark.Pos.Z), } - g.TeleportPlayer(player, uint32(constant.EnterReasonConst.Gm), req.Mark.SceneId, pos) + g.TeleportPlayer(player, constant.EnterReasonConst.Gm, req.Mark.SceneId, pos, 0) } } } // TeleportPlayer 传送玩家至地图上的某个位置 -func (g *GameManager) TeleportPlayer(player *model.Player, enterReason uint32, sceneId uint32, pos *model.Vector) { +func (g *GameManager) TeleportPlayer(player *model.Player, enterReason uint16, sceneId uint32, pos *model.Vector, dungeonId uint32) { // 传送玩家 newSceneId := sceneId oldSceneId := player.SceneId @@ -97,14 +97,20 @@ func (g *GameManager) TeleportPlayer(player *model.Player, enterReason uint32, s player.SceneLoadState = model.SceneNone var enterType proto.EnterType - if jumpScene { - logger.Debug("player jump scene, scene: %v, pos: %v", player.SceneId, player.Pos) - enterType = proto.EnterType_ENTER_TYPE_JUMP - } else { - logger.Debug("player goto scene, scene: %v, pos: %v", player.SceneId, player.Pos) - enterType = proto.EnterType_ENTER_TYPE_GOTO + switch enterReason { + case constant.EnterReasonConst.DungeonEnter: + logger.Debug("player dungeon scene, scene: %v, pos: %v", player.SceneId, player.Pos) + enterType = proto.EnterType_ENTER_TYPE_DUNGEON + default: + if jumpScene { + logger.Debug("player jump scene, scene: %v, pos: %v", player.SceneId, player.Pos) + enterType = proto.EnterType_ENTER_TYPE_JUMP + } else { + logger.Debug("player goto scene, scene: %v, pos: %v", player.SceneId, player.Pos) + enterType = proto.EnterType_ENTER_TYPE_GOTO + } } - playerEnterSceneNotify := g.PacketPlayerEnterSceneNotifyTp(player, enterType, enterReason, oldSceneId, oldPos) + playerEnterSceneNotify := g.PacketPlayerEnterSceneNotifyTp(player, enterType, uint32(enterReason), oldSceneId, oldPos, dungeonId) g.SendMsg(cmd.PlayerEnterSceneNotify, player.PlayerID, player.ClientSeq, playerEnterSceneNotify) } diff --git a/gs/game/user_multiplayer.go b/gs/game/user_multiplayer.go index 461b985e..e4f69853 100644 --- a/gs/game/user_multiplayer.go +++ b/gs/game/user_multiplayer.go @@ -327,6 +327,7 @@ func (g *GameManager) HostEnterMpWorld(hostPlayer *model.Player, otherUid uint32 uint32(constant.EnterReasonConst.HostFromSingleToMp), hostPlayer.SceneId, hostPlayer.Pos, + 0, ) g.SendMsg(cmd.PlayerEnterSceneNotify, hostPlayer.PlayerID, hostPlayer.ClientSeq, hostPlayerEnterSceneNotify) diff --git a/gs/game/user_scene.go b/gs/game/user_scene.go index bb9269c7..01892cfb 100644 --- a/gs/game/user_scene.go +++ b/gs/game/user_scene.go @@ -212,6 +212,8 @@ func (g *GameManager) SceneInitFinishReq(player *model.Player, payloadMsg pb.Mes } g.SendMsg(cmd.SyncScenePlayTeamEntityNotify, player.PlayerID, player.ClientSeq, syncScenePlayTeamEntityNotify) + g.GCGTavernInit(player) // GCG酒馆信息通知 + SceneInitFinishRsp := &proto.SceneInitFinishRsp{ EnterSceneToken: player.EnterSceneToken, } @@ -346,8 +348,9 @@ func (g *GameManager) PacketPlayerEnterSceneNotifyTp( enterReason uint32, prevSceneId uint32, prevPos *model.Vector, + dungeonId uint32, ) *proto.PlayerEnterSceneNotify { - return g.PacketPlayerEnterSceneNotifyMp(player, player, enterType, enterReason, prevSceneId, prevPos) + return g.PacketPlayerEnterSceneNotifyMp(player, player, enterType, enterReason, prevSceneId, prevPos, dungeonId) } func (g *GameManager) PacketPlayerEnterSceneNotifyMp( @@ -357,6 +360,7 @@ func (g *GameManager) PacketPlayerEnterSceneNotifyMp( enterReason uint32, prevSceneId uint32, prevPos *model.Vector, + dungeonId uint32, ) *proto.PlayerEnterSceneNotify { world := WORLD_MANAGER.GetWorldByID(player.WorldId) scene := world.GetSceneById(player.SceneId) @@ -373,12 +377,15 @@ func (g *GameManager) PacketPlayerEnterSceneNotifyMp( WorldLevel: targetPlayer.PropertiesMap[constant.PlayerPropertyConst.PROP_PLAYER_WORLD_LEVEL], EnterReason: enterReason, WorldType: 1, + DungeonId: dungeonId, } playerEnterSceneNotify.SceneTransaction = strconv.Itoa(int(player.SceneId)) + "-" + strconv.Itoa(int(targetPlayer.PlayerID)) + "-" + strconv.Itoa(int(time.Now().Unix())) + "-" + "296359" - playerEnterSceneNotify.SceneTagIdList = []uint32{102, 111, 112, 116, 118, 126, 135, 140, 142, 149, 1091, 1094, 1095, 1099, 1101, 1103, 1105, 1110, 1120, 1122, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1138, 1140, 1143, 1146, 1165, 1168} + if player.SceneId == 3 { + playerEnterSceneNotify.SceneTagIdList = []uint32{102, 111, 112, 116, 118, 126, 135, 140, 142, 149, 1091, 1094, 1095, 1099, 1101, 1103, 1105, 1110, 1120, 1122, 1125, 1127, 1129, 1131, 1133, 1135, 1137, 1138, 1140, 1143, 1146, 1165, 1168} + } return playerEnterSceneNotify } @@ -468,6 +475,9 @@ func (g *GameManager) AddSceneEntityNotify(player *model.Player, visionType prot case uint32(proto.ProtEntityType_PROT_ENTITY_TYPE_MONSTER): sceneEntityInfoMonster := g.PacketSceneEntityInfoMonster(scene, entity.id) entityList = append(entityList, sceneEntityInfoMonster) + case uint32(proto.ProtEntityType_PROT_ENTITY_TYPE_NPC): + sceneEntityInfoNpc := g.PacketSceneEntityInfoNpc(scene, entity.id) + entityList = append(entityList, sceneEntityInfoNpc) case uint32(proto.ProtEntityType_PROT_ENTITY_TYPE_GADGET): sceneEntityInfoGadget := g.PacketSceneEntityInfoGadget(scene, entity.id) entityList = append(entityList, sceneEntityInfoGadget) @@ -580,7 +590,7 @@ func (g *GameManager) PacketSceneEntityInfoAvatar(scene *Scene, player *model.Pl Val: int64(entity.level), }}}, FightPropList: g.PacketFightPropMapToPbFightPropList(entity.fightProp), - LifeState: 1, + LifeState: uint32(entity.lifeState), AnimatorParaList: make([]*proto.AnimatorParameterValueInfoPair, 0), Entity: &proto.SceneEntityInfo_Avatar{ Avatar: g.PacketSceneAvatarInfo(scene, player, avatarId), @@ -637,7 +647,7 @@ func (g *GameManager) PacketSceneEntityInfoMonster(scene *Scene, entityId uint32 Val: int64(entity.level), }}}, FightPropList: g.PacketFightPropMapToPbFightPropList(entity.fightProp), - LifeState: 1, + LifeState: uint32(entity.lifeState), AnimatorParaList: make([]*proto.AnimatorParameterValueInfoPair, 0), Entity: &proto.SceneEntityInfo_Monster{ Monster: g.PacketSceneMonsterInfo(), @@ -656,6 +666,54 @@ func (g *GameManager) PacketSceneEntityInfoMonster(scene *Scene, entityId uint32 return sceneEntityInfo } +func (g *GameManager) PacketSceneEntityInfoNpc(scene *Scene, entityId uint32) *proto.SceneEntityInfo { + entity := scene.GetEntity(entityId) + if entity == nil { + return new(proto.SceneEntityInfo) + } + pos := &proto.Vector{ + X: float32(entity.pos.X), + Y: float32(entity.pos.Y), + Z: float32(entity.pos.Z), + } + sceneEntityInfo := &proto.SceneEntityInfo{ + EntityType: proto.ProtEntityType_PROT_ENTITY_TYPE_NPC, + EntityId: entity.id, + MotionInfo: &proto.MotionInfo{ + Pos: pos, + Rot: &proto.Vector{ + X: float32(entity.rot.X), + Y: float32(entity.rot.Y), + Z: float32(entity.rot.Z), + }, + Speed: &proto.Vector{}, + State: proto.MotionState(entity.moveState), + }, + PropList: []*proto.PropPair{{Type: uint32(constant.PlayerPropertyConst.PROP_LEVEL), PropValue: &proto.PropValue{ + Type: uint32(constant.PlayerPropertyConst.PROP_LEVEL), + Value: &proto.PropValue_Ival{Ival: int64(entity.level)}, + Val: int64(entity.level), + }}}, + FightPropList: g.PacketFightPropMapToPbFightPropList(entity.fightProp), + LifeState: uint32(entity.lifeState), + AnimatorParaList: make([]*proto.AnimatorParameterValueInfoPair, 0), + Entity: &proto.SceneEntityInfo_Npc{ + Npc: g.PacketSceneNpcInfo(entity.npcEntity), + }, + EntityClientData: new(proto.EntityClientData), + EntityAuthorityInfo: &proto.EntityAuthorityInfo{ + AbilityInfo: new(proto.AbilitySyncStateInfo), + RendererChangedInfo: new(proto.EntityRendererChangedInfo), + AiInfo: &proto.SceneEntityAiInfo{ + IsAiOpen: true, + BornPos: pos, + }, + BornPos: pos, + }, + } + return sceneEntityInfo +} + func (g *GameManager) PacketSceneEntityInfoGadget(scene *Scene, entityId uint32) *proto.SceneEntityInfo { entity := scene.GetEntity(entityId) if entity == nil { @@ -685,7 +743,7 @@ func (g *GameManager) PacketSceneEntityInfoGadget(scene *Scene, entityId uint32) Val: int64(1), }}}, FightPropList: g.PacketFightPropMapToPbFightPropList(entity.fightProp), - LifeState: 1, + LifeState: uint32(entity.lifeState), AnimatorParaList: make([]*proto.AnimatorParameterValueInfoPair, 0), EntityClientData: new(proto.EntityClientData), EntityAuthorityInfo: &proto.EntityAuthorityInfo{ @@ -767,6 +825,16 @@ func (g *GameManager) PacketSceneMonsterInfo() *proto.SceneMonsterInfo { return sceneMonsterInfo } +func (g *GameManager) PacketSceneNpcInfo(entity *NpcEntity) *proto.SceneNpcInfo { + sceneNpcInfo := &proto.SceneNpcInfo{ + NpcId: entity.NpcId, + RoomId: entity.RoomId, + ParentQuestId: entity.ParentQuestId, + BlockId: entity.BlockId, + } + return sceneNpcInfo +} + func (g *GameManager) PacketSceneGadgetInfoNormal(gadgetId uint32) *proto.SceneGadgetInfo { sceneGadgetInfo := &proto.SceneGadgetInfo{ GadgetId: gadgetId, diff --git a/gs/game/user_stamina.go b/gs/game/user_stamina.go index 41a2b665..b9ced1d9 100644 --- a/gs/game/user_stamina.go +++ b/gs/game/user_stamina.go @@ -482,7 +482,7 @@ func (g *GameManager) DrownBackHandler(player *model.Player) { // } // } // 传送玩家至安全位置 - g.TeleportPlayer(player, uint32(constant.EnterReasonConst.Revival), player.SceneId, pos) + g.TeleportPlayer(player, constant.EnterReasonConst.Revival, player.SceneId, pos, 0) } // 防止重置后又被修改 if player.StaminaInfo.DrownBackDelay != 0 { diff --git a/gs/game/user_vehicle.go b/gs/game/user_vehicle.go index eb0a5600..6cb50c12 100644 --- a/gs/game/user_vehicle.go +++ b/gs/game/user_vehicle.go @@ -55,8 +55,7 @@ func (g *GameManager) CreateVehicleReq(player *model.Player, payloadMsg pb.Messa g.CommonRetError(cmd.VehicleInteractRsp, player, &proto.VehicleInteractRsp{}) return } - GAME_MANAGER.AddSceneEntityNotifyBroadcast(player, scene, proto.VisionType_VISION_TYPE_BORN, []*proto.SceneEntityInfo{GAME_MANAGER.PacketSceneEntityInfoGadget(scene, entityId)}, false) - + GAME_MANAGER.AddSceneEntityNotify(player, proto.VisionType_VISION_TYPE_BORN, []uint32{entityId}, true, false) // 记录创建的载具信息 player.VehicleInfo.LastCreateEntityIdMap[req.VehicleId] = entityId player.VehicleInfo.LastCreateTime = time.Now().UnixMilli() diff --git a/gs/game/world_manager.go b/gs/game/world_manager.go index b57f540c..f7369e28 100644 --- a/gs/game/world_manager.go +++ b/gs/game/world_manager.go @@ -527,6 +527,13 @@ type AvatarEntity struct { type MonsterEntity struct { } +type NpcEntity struct { + NpcId uint32 + RoomId uint32 + ParentQuestId uint32 + BlockId uint32 +} + const ( GADGET_TYPE_NORMAL = iota GADGET_TYPE_GATHER @@ -579,6 +586,7 @@ type Entity struct { level uint8 avatarEntity *AvatarEntity monsterEntity *MonsterEntity + npcEntity *NpcEntity gadgetEntity *GadgetEntity } @@ -748,6 +756,7 @@ func (s *Scene) CreateEntityMonster(pos *model.Vector, level uint8, fightProp ma fightProp: fightProp, entityType: uint32(proto.ProtEntityType_PROT_ENTITY_TYPE_MONSTER), level: level, + monsterEntity: &MonsterEntity{}, } s.entityMap[entity.id] = entity s.world.aoiManager.AddEntityIdToGridByPos(entity.id, float32(entity.pos.X), float32(entity.pos.Y), float32(entity.pos.Z)) @@ -763,6 +772,36 @@ func (s *Scene) CreateEntityMonster(pos *model.Vector, level uint8, fightProp ma return entity.id } +func (s *Scene) CreateEntityNpc(pos, rot *model.Vector, npcId, roomId, parentQuestId, blockId uint32) uint32 { + entityId := s.world.GetNextWorldEntityId(constant.EntityIdTypeConst.NPC) + entity := &Entity{ + id: entityId, + scene: s, + lifeState: constant.LifeStateConst.LIFE_ALIVE, + pos: pos, + rot: rot, + moveState: uint16(proto.MotionState_MOTION_STATE_NONE), + lastMoveSceneTimeMs: 0, + lastMoveReliableSeq: 0, + fightProp: map[uint32]float32{ + uint32(constant.FightPropertyConst.FIGHT_PROP_CUR_HP): math.MaxFloat32, + uint32(constant.FightPropertyConst.FIGHT_PROP_MAX_HP): math.MaxFloat32, + uint32(constant.FightPropertyConst.FIGHT_PROP_BASE_HP): float32(1), + }, + entityType: uint32(proto.ProtEntityType_PROT_ENTITY_TYPE_NPC), + level: 0, + npcEntity: &NpcEntity{ + NpcId: npcId, + RoomId: roomId, + ParentQuestId: parentQuestId, + BlockId: blockId, + }, + } + s.entityMap[entity.id] = entity + s.world.aoiManager.AddEntityIdToGridByPos(entity.id, float32(entity.pos.X), float32(entity.pos.Y), float32(entity.pos.Z)) + return entity.id +} + func (s *Scene) CreateEntityGadgetNormal(pos *model.Vector, gadgetId uint32) uint32 { entityId := s.world.GetNextWorldEntityId(constant.EntityIdTypeConst.GADGET) entity := &Entity{ diff --git a/gs/model/gcg.go b/gs/model/gcg.go new file mode 100644 index 00000000..14083cad --- /dev/null +++ b/gs/model/gcg.go @@ -0,0 +1,97 @@ +package model + +// GCGCard 卡牌 +type GCGCard struct { + CardId uint32 `bson:"cardId"` // 卡牌Id + Num uint32 `bson:"num"` // 数量 + FaceType uint32 `bson:"faceType"` // 卡面类型 + UnlockFaceTypeList []uint32 `bson:"unlockFaceTypeList"` // 解锁的卡面类型 + Proficiency uint32 `bson:"proficiency"` // 熟练程度等级 + ProficiencyRewardTakenIdxList []uint32 `bson:"faceType"` // 熟练程度奖励列表 +} + +// GCGDeck 卡组 +type GCGDeck struct { + Name string `bson:"name"` // 卡组名 + CharacterCardList []uint32 `bson:"characterCardList"` // 角色牌列表 + CardList []uint32 `bson:"cardList"` // 卡牌列表 + FieldId uint32 `bson:"fieldId"` // 牌盒样式Id + CardBackId uint32 `bson:"cardBackId"` // 牌背样式Id + CreateTime int64 `bson:"createTime"` // 卡组创建时间 +} + +// GCGTavernChallenge 酒馆挑战信息 +type GCGTavernChallenge struct { + CharacterId uint32 `bson:"characterId"` // 角色Id + UnlockLevelIdList []uint32 `bson:"unlockLevelIdList"` // 解锁的等级Id +} + +// GCGBossChallenge Boss挑战信息 +type GCGBossChallenge struct { + Id uint32 `bson:"Id"` // BossId + UnlockLevelIdList []uint32 `bson:"unlockLevelIdList"` // 解锁的等级Id +} + +// GCGLevelChallenge 等级挑战信息 +type GCGLevelChallenge struct { + LevelId uint32 `bson:"levelId"` // 等级Id + FinishedChallengeIdList []uint32 `bson:"finishedChallengeIdList"` // 完成的挑战Id列表 +} + +// GCGInfo 七圣召唤信息 +type GCGInfo struct { + // 基础信息 + Level uint32 `bson:"level"` // 等级 + Exp uint32 `bson:"exp"` // 经验 + // 卡牌 + CardList map[uint32]*GCGCard `bson:"cardList"` // 拥有的卡牌 uint32 -> CardId(卡牌Id) + CurDeckId uint32 `bson:"CurDeckId"` // 现行的卡组Id + DeckList []*GCGDeck `bson:"deckList"` // 卡组列表 + UnlockDeckIdList []uint32 `bson:"unlockDeckIdList"` // 解锁的卡组 + UnlockCardBackIdList []uint32 `bson:"unlockCardBackIdList"` // 解锁的卡背 + UnlockFieldIdList []uint32 `bson:"unlockFieldIdList"` // 解锁的牌盒 + // 挑战 + TavernChallengeMap map[uint32]*GCGTavernChallenge `bson:"tavernChallengeMap"` // 酒馆挑战 uint32 -> CharacterId(角色Id) + LevelChallengeMap map[uint32]*GCGLevelChallenge `bson:"levelChallengeMap"` // 等级挑战 uint32 -> LevelId(等级Id) + UnlockBossChallengeMap map[uint32]*GCGBossChallenge `bson:"unlockBossChallengeMap"` // 解锁的Boss挑战 uint32 -> Id + UnlockWorldChallengeList []uint32 `bson:"unlockWorldChallengeList"` // 解锁的世界挑战 + // 其他 + BanCardList []uint32 `bson:"banCardList"` // 被禁止的卡牌列表 +} + +func NewGCGInfo() *GCGInfo { + gcgInfo := &GCGInfo{ + Level: 0, + Exp: 0, + CardList: make(map[uint32]*GCGCard, 0), + CurDeckId: 0, + DeckList: make([]*GCGDeck, 0, 0), + UnlockDeckIdList: make([]uint32, 0, 0), + UnlockCardBackIdList: make([]uint32, 0, 0), + UnlockFieldIdList: make([]uint32, 0, 0), + TavernChallengeMap: make(map[uint32]*GCGTavernChallenge, 0), + UnlockBossChallengeMap: make(map[uint32]*GCGBossChallenge, 0), + UnlockWorldChallengeList: make([]uint32, 0, 0), + BanCardList: make([]uint32, 0, 0), + } + gcgInfo.UnlockDeckIdList = append(gcgInfo.UnlockDeckIdList, 1, 2) + gcgInfo.UnlockCardBackIdList = append(gcgInfo.UnlockCardBackIdList, 0) + gcgInfo.UnlockFieldIdList = append(gcgInfo.UnlockFieldIdList, 0) + gcgInfo.TavernChallengeMap[8] = &GCGTavernChallenge{ + CharacterId: 8, + UnlockLevelIdList: make([]uint32, 0, 0), + } + gcgInfo.TavernChallengeMap[13] = &GCGTavernChallenge{ + CharacterId: 13, + UnlockLevelIdList: make([]uint32, 0, 0), + } + gcgInfo.TavernChallengeMap[17] = &GCGTavernChallenge{ + CharacterId: 17, + UnlockLevelIdList: make([]uint32, 0, 0), + } + gcgInfo.TavernChallengeMap[20] = &GCGTavernChallenge{ + CharacterId: 20, + UnlockLevelIdList: make([]uint32, 0, 0), + } + return gcgInfo +} diff --git a/gs/model/player.go b/gs/model/player.go index 907842ba..db902fdf 100644 --- a/gs/model/player.go +++ b/gs/model/player.go @@ -53,6 +53,7 @@ type Player struct { DropInfo *DropInfo `bson:"dropInfo"` // 掉落信息 MainCharAvatarId uint32 `bson:"mainCharAvatarId"` // 主角id ChatMsgMap map[uint32][]*ChatMsg `bson:"chatMsgMap"` // 聊天信息 + GCGInfo *GCGInfo `bson:"gcgInfo"` // 七圣召唤信息 IsGM uint8 `bson:"isGM"` // 管理员权限等级 // 在线数据 请随意 记得加忽略字段的tag EnterSceneToken uint32 `bson:"-" msgpack:"-"` // 玩家的世界进入令牌 @@ -73,6 +74,7 @@ type Player struct { AbilityInvokeHandler *InvokeHandler[proto.AbilityInvokeEntry] `bson:"-" msgpack:"-"` // ability转发器 GateAppId string `bson:"-" msgpack:"-"` // 网关服务器的appid FightAppId string `bson:"-" msgpack:"-"` // 战斗服务器的appid + GCGCurGameGuid uint32 `bson:"-" msgpack:"-"` // GCG玩家所在的游戏guid } func (p *Player) GetNextGameObjectGuid() uint64 { @@ -86,6 +88,7 @@ func (p *Player) InitAll() { p.StaminaInfo = new(StaminaInfo) p.VehicleInfo = new(VehicleInfo) p.VehicleInfo.LastCreateEntityIdMap = make(map[uint32]uint32) + p.GCGInfo = NewGCGInfo() p.InitAllAvatar() p.InitAllWeapon() p.InitAllItem() diff --git a/protocol/cmd/cmd_id.go b/protocol/cmd/cmd_id.go index 32ee78af..1c54c792 100644 --- a/protocol/cmd/cmd_id.go +++ b/protocol/cmd/cmd_id.go @@ -1,2056 +1,2126 @@ package cmd const ( - AbilityChangeNotify uint16 = 1131 - AbilityInvocationFailNotify uint16 = 1107 - AbilityInvocationFixedNotify uint16 = 1172 - AbilityInvocationsNotify uint16 = 1198 - AcceptCityReputationRequestReq uint16 = 2890 - AcceptCityReputationRequestRsp uint16 = 2873 - AchievementAllDataNotify uint16 = 2676 - AchievementUpdateNotify uint16 = 2668 - ActivityAcceptAllGiveGiftReq uint16 = 8113 - ActivityAcceptAllGiveGiftRsp uint16 = 8132 - ActivityAcceptGiveGiftReq uint16 = 8095 - ActivityAcceptGiveGiftRsp uint16 = 8502 - ActivityBannerClearReq uint16 = 2009 - ActivityBannerClearRsp uint16 = 2163 - ActivityBannerNotify uint16 = 2155 - ActivityCoinInfoNotify uint16 = 2008 - ActivityCondStateChangeNotify uint16 = 2140 - ActivityDisableTransferPointInteractionNotify uint16 = 8982 - ActivityGetCanGiveFriendGiftReq uint16 = 8559 - ActivityGetCanGiveFriendGiftRsp uint16 = 8848 - ActivityGetFriendGiftWishListReq uint16 = 8806 - ActivityGetFriendGiftWishListRsp uint16 = 8253 - ActivityGetRecvGiftListReq uint16 = 8725 - ActivityGetRecvGiftListRsp uint16 = 8120 - ActivityGiveFriendGiftReq uint16 = 8233 - ActivityGiveFriendGiftRsp uint16 = 8696 - ActivityHaveRecvGiftNotify uint16 = 8733 - ActivityInfoNotify uint16 = 2060 - ActivityPlayOpenAnimNotify uint16 = 2157 - ActivityPushTipsInfoNotify uint16 = 8513 - ActivityReadPushTipsReq uint16 = 8145 - ActivityReadPushTipsRsp uint16 = 8574 - ActivitySaleChangeNotify uint16 = 2071 - ActivityScheduleInfoNotify uint16 = 2073 - ActivitySelectAvatarCardReq uint16 = 2028 - ActivitySelectAvatarCardRsp uint16 = 2189 - ActivitySetGiftWishReq uint16 = 8017 - ActivitySetGiftWishRsp uint16 = 8554 - ActivityTakeAllScoreRewardReq uint16 = 8372 + AbilityChangeNotify uint16 = 1127 + AbilityInvocationFailNotify uint16 = 1200 + AbilityInvocationFixedNotify uint16 = 1179 + AbilityInvocationsNotify uint16 = 1130 + AcceptCityReputationRequestReq uint16 = 2847 + AcceptCityReputationRequestRsp uint16 = 2878 + AchievementAllDataNotify uint16 = 2692 + AchievementUpdateNotify uint16 = 2691 + ActivityAcceptAllGiveGiftReq uint16 = 8900 + ActivityAcceptAllGiveGiftRsp uint16 = 8771 + ActivityAcceptGiveGiftReq uint16 = 8827 + ActivityAcceptGiveGiftRsp uint16 = 8047 + ActivityBannerClearReq uint16 = 2147 + ActivityBannerClearRsp uint16 = 2198 + ActivityBannerNotify uint16 = 2160 + ActivityCoinInfoNotify uint16 = 2018 + ActivityCondStateChangeNotify uint16 = 2194 + ActivityDisableTransferPointInteractionNotify uint16 = 8029 + ActivityGetCanGiveFriendGiftReq uint16 = 8330 + ActivityGetCanGiveFriendGiftRsp uint16 = 8374 + ActivityGetFriendGiftWishListReq uint16 = 8642 + ActivityGetFriendGiftWishListRsp uint16 = 8355 + ActivityGetRecvGiftListReq uint16 = 8995 + ActivityGetRecvGiftListRsp uint16 = 8844 + ActivityGiveFriendGiftReq uint16 = 8178 + ActivityGiveFriendGiftRsp uint16 = 8373 + ActivityHaveRecvGiftNotify uint16 = 8118 + ActivityInfoNotify uint16 = 2119 + ActivityPlayOpenAnimNotify uint16 = 2059 + ActivityPushTipsInfoNotify uint16 = 8418 + ActivityReadPushTipsReq uint16 = 8007 + ActivityReadPushTipsRsp uint16 = 8499 + ActivitySaleChangeNotify uint16 = 2012 + ActivityScheduleInfoNotify uint16 = 2124 + ActivitySelectAvatarCardReq uint16 = 2052 + ActivitySelectAvatarCardRsp uint16 = 2154 + ActivitySetGiftWishReq uint16 = 8329 + ActivitySetGiftWishRsp uint16 = 8757 + ActivityTakeAllScoreRewardReq uint16 = 8162 ActivityTakeAllScoreRewardRsp uint16 = 8043 - ActivityTakeScoreRewardReq uint16 = 8971 - ActivityTakeScoreRewardRsp uint16 = 8583 - ActivityTakeWatcherRewardBatchReq uint16 = 2159 - ActivityTakeWatcherRewardBatchRsp uint16 = 2109 - ActivityTakeWatcherRewardReq uint16 = 2038 - ActivityTakeWatcherRewardRsp uint16 = 2034 - ActivityUpdateWatcherNotify uint16 = 2156 - AddAranaraCollectionNotify uint16 = 6368 - AddBackupAvatarTeamReq uint16 = 1687 - AddBackupAvatarTeamRsp uint16 = 1735 - AddBlacklistReq uint16 = 4088 - AddBlacklistRsp uint16 = 4026 - AddFriendNotify uint16 = 4022 - AddNoGachaAvatarCardNotify uint16 = 1655 - AddQuestContentProgressReq uint16 = 421 - AddQuestContentProgressRsp uint16 = 403 - AddRandTaskInfoNotify uint16 = 119 - AddSeenMonsterNotify uint16 = 223 - AdjustWorldLevelReq uint16 = 164 - AdjustWorldLevelRsp uint16 = 138 - AllCoopInfoNotify uint16 = 1976 - AllMarkPointNotify uint16 = 3283 - AllSeenMonsterNotify uint16 = 271 - AllShareCDDataNotify uint16 = 9072 - AllWidgetBackgroundActiveStateNotify uint16 = 6092 - AllWidgetDataNotify uint16 = 4271 - AnchorPointDataNotify uint16 = 4276 - AnchorPointOpReq uint16 = 4257 - AnchorPointOpRsp uint16 = 4252 - AnimatorForceSetAirMoveNotify uint16 = 374 - AntiAddictNotify uint16 = 180 - AranaraCollectionDataNotify uint16 = 6376 - AreaPlayInfoNotify uint16 = 3323 - ArenaChallengeFinishNotify uint16 = 2030 - AskAddFriendNotify uint16 = 4065 - AskAddFriendReq uint16 = 4007 - AskAddFriendRsp uint16 = 4021 - AssociateInferenceWordReq uint16 = 429 - AssociateInferenceWordRsp uint16 = 457 - AsterLargeInfoNotify uint16 = 2146 - AsterLittleInfoNotify uint16 = 2068 - AsterMidCampInfoNotify uint16 = 2133 - AsterMidInfoNotify uint16 = 2031 - AsterMiscInfoNotify uint16 = 2036 - AsterProgressInfoNotify uint16 = 2016 - AvatarAddNotify uint16 = 1769 - AvatarBuffAddNotify uint16 = 388 - AvatarBuffDelNotify uint16 = 326 - AvatarCardChangeReq uint16 = 688 - AvatarCardChangeRsp uint16 = 626 - AvatarChangeAnimHashReq uint16 = 1711 - AvatarChangeAnimHashRsp uint16 = 1647 - AvatarChangeCostumeNotify uint16 = 1644 - AvatarChangeCostumeReq uint16 = 1778 - AvatarChangeCostumeRsp uint16 = 1645 - AvatarChangeElementTypeReq uint16 = 1785 - AvatarChangeElementTypeRsp uint16 = 1651 - AvatarDataNotify uint16 = 1633 - AvatarDelNotify uint16 = 1773 - AvatarDieAnimationEndReq uint16 = 1610 - AvatarDieAnimationEndRsp uint16 = 1694 - AvatarEnterElementViewNotify uint16 = 334 - AvatarEquipAffixStartNotify uint16 = 1662 - AvatarEquipChangeNotify uint16 = 647 - AvatarExpeditionAllDataReq uint16 = 1722 - AvatarExpeditionAllDataRsp uint16 = 1648 - AvatarExpeditionCallBackReq uint16 = 1752 - AvatarExpeditionCallBackRsp uint16 = 1726 - AvatarExpeditionDataNotify uint16 = 1771 - AvatarExpeditionGetRewardReq uint16 = 1623 - AvatarExpeditionGetRewardRsp uint16 = 1784 - AvatarExpeditionStartReq uint16 = 1715 - AvatarExpeditionStartRsp uint16 = 1719 - AvatarFetterDataNotify uint16 = 1782 - AvatarFetterLevelRewardReq uint16 = 1653 - AvatarFetterLevelRewardRsp uint16 = 1606 - AvatarFightPropNotify uint16 = 1207 - AvatarFightPropUpdateNotify uint16 = 1221 - AvatarFlycloakChangeNotify uint16 = 1643 - AvatarFollowRouteNotify uint16 = 3458 - AvatarGainCostumeNotify uint16 = 1677 - AvatarGainFlycloakNotify uint16 = 1656 - AvatarLifeStateChangeNotify uint16 = 1290 - AvatarPromoteGetRewardReq uint16 = 1696 - AvatarPromoteGetRewardRsp uint16 = 1683 - AvatarPromoteReq uint16 = 1664 - AvatarPromoteRsp uint16 = 1639 - AvatarPropChangeReasonNotify uint16 = 1273 - AvatarPropNotify uint16 = 1231 - AvatarSatiationDataNotify uint16 = 1693 - AvatarSkillChangeNotify uint16 = 1097 - AvatarSkillDepotChangeNotify uint16 = 1035 - AvatarSkillInfoNotify uint16 = 1090 - AvatarSkillMaxChargeCountNotify uint16 = 1003 - AvatarSkillUpgradeReq uint16 = 1075 + ActivityTakeScoreRewardReq uint16 = 8127 + ActivityTakeScoreRewardRsp uint16 = 8527 + ActivityTakeWatcherRewardBatchReq uint16 = 2184 + ActivityTakeWatcherRewardBatchRsp uint16 = 2090 + ActivityTakeWatcherRewardReq uint16 = 2073 + ActivityTakeWatcherRewardRsp uint16 = 2109 + ActivityUpdateWatcherNotify uint16 = 2103 + AddAranaraCollectionNotify uint16 = 6391 + AddBackupAvatarTeamReq uint16 = 1616 + AddBackupAvatarTeamRsp uint16 = 1782 + AddBlacklistReq uint16 = 4094 + AddBlacklistRsp uint16 = 4072 + AddFriendNotify uint16 = 4037 + AddNoGachaAvatarCardNotify uint16 = 1610 + AddQuestContentProgressReq uint16 = 443 + AddQuestContentProgressRsp uint16 = 461 + AddRandTaskInfoNotify uint16 = 154 + AddSeenMonsterNotify uint16 = 213 + AdjustWorldLevelReq uint16 = 112 + AdjustWorldLevelRsp uint16 = 131 + AllCoopInfoNotify uint16 = 1992 + AllMarkPointNotify uint16 = 3322 + AllSeenMonsterNotify uint16 = 228 + AllShareCDDataNotify uint16 = 9079 + AllWidgetBackgroundActiveStateNotify uint16 = 5932 + AllWidgetDataNotify uint16 = 4286 + AnchorPointDataNotify uint16 = 4292 + AnchorPointOpReq uint16 = 4285 + AnchorPointOpRsp uint16 = 4277 + AnimatorForceSetAirMoveNotify uint16 = 334 + AntiAddictNotify uint16 = 174 + AranaraCollectionDataNotify uint16 = 6392 + AreaPlayInfoNotify uint16 = 3274 + ArenaChallengeFinishNotify uint16 = 2164 + AskAddFriendNotify uint16 = 4089 + AskAddFriendReq uint16 = 4100 + AskAddFriendRsp uint16 = 4043 + AssociateInferenceWordReq uint16 = 420 + AssociateInferenceWordRsp uint16 = 463 + AsterLargeInfoNotify uint16 = 2023 + AsterLittleInfoNotify uint16 = 2121 + AsterMidCampInfoNotify uint16 = 2195 + AsterMidInfoNotify uint16 = 2055 + AsterMiscInfoNotify uint16 = 2140 + AsterProgressInfoNotify uint16 = 2091 + AvatarAddNotify uint16 = 1757 + AvatarBuffAddNotify uint16 = 394 + AvatarBuffDelNotify uint16 = 372 + AvatarCardChangeReq uint16 = 694 + AvatarCardChangeRsp uint16 = 672 + AvatarChangeAnimHashReq uint16 = 1767 + AvatarChangeAnimHashRsp uint16 = 1620 + AvatarChangeCostumeNotify uint16 = 1665 + AvatarChangeCostumeReq uint16 = 1707 + AvatarChangeCostumeRsp uint16 = 1609 + AvatarChangeElementTypeReq uint16 = 1779 + AvatarChangeElementTypeRsp uint16 = 1717 + AvatarDataNotify uint16 = 1607 + AvatarDelNotify uint16 = 1769 + AvatarDieAnimationEndReq uint16 = 1695 + AvatarDieAnimationEndRsp uint16 = 1604 + AvatarEnterElementViewNotify uint16 = 380 + AvatarEquipAffixStartNotify uint16 = 1708 + AvatarEquipChangeNotify uint16 = 676 + AvatarExpeditionAllDataReq uint16 = 1685 + AvatarExpeditionAllDataRsp uint16 = 1621 + AvatarExpeditionCallBackReq uint16 = 1777 + AvatarExpeditionCallBackRsp uint16 = 1702 + AvatarExpeditionDataNotify uint16 = 1632 + AvatarExpeditionGetRewardReq uint16 = 1640 + AvatarExpeditionGetRewardRsp uint16 = 1715 + AvatarExpeditionStartReq uint16 = 1697 + AvatarExpeditionStartRsp uint16 = 1646 + AvatarFetterDataNotify uint16 = 1617 + AvatarFetterLevelRewardReq uint16 = 1642 + AvatarFetterLevelRewardRsp uint16 = 1753 + AvatarFightPropNotify uint16 = 1300 + AvatarFightPropUpdateNotify uint16 = 1243 + AvatarFlycloakChangeNotify uint16 = 1790 + AvatarFollowRouteNotify uint16 = 3256 + AvatarGainCostumeNotify uint16 = 1625 + AvatarGainFlycloakNotify uint16 = 1676 + AvatarLifeStateChangeNotify uint16 = 1247 + AvatarPromoteGetRewardReq uint16 = 1684 + AvatarPromoteGetRewardRsp uint16 = 1658 + AvatarPromoteReq uint16 = 1731 + AvatarPromoteRsp uint16 = 1710 + AvatarPropChangeReasonNotify uint16 = 1278 + AvatarPropNotify uint16 = 1227 + AvatarRenameInfoNotify uint16 = 1797 + AvatarSatiationDataNotify uint16 = 1766 + AvatarSkillChangeNotify uint16 = 1099 + AvatarSkillDepotChangeNotify uint16 = 1019 + AvatarSkillInfoNotify uint16 = 1047 + AvatarSkillMaxChargeCountNotify uint16 = 1061 + AvatarSkillUpgradeReq uint16 = 1039 AvatarSkillUpgradeRsp uint16 = 1048 - AvatarTeamAllDataNotify uint16 = 1749 - AvatarTeamUpdateNotify uint16 = 1706 - AvatarUnlockTalentNotify uint16 = 1012 - AvatarUpgradeReq uint16 = 1770 - AvatarUpgradeRsp uint16 = 1701 - AvatarWearFlycloakReq uint16 = 1737 - AvatarWearFlycloakRsp uint16 = 1698 - BackMyWorldReq uint16 = 286 - BackMyWorldRsp uint16 = 201 - BackPlayCustomDungeonOfficialReq uint16 = 6203 - BackPlayCustomDungeonOfficialRsp uint16 = 6204 - BackRebornGalleryReq uint16 = 5593 - BackRebornGalleryRsp uint16 = 5527 - BargainOfferPriceReq uint16 = 493 - BargainOfferPriceRsp uint16 = 427 - BargainStartNotify uint16 = 404 - BargainTerminateNotify uint16 = 494 - BartenderCancelLevelReq uint16 = 8771 - BartenderCancelLevelRsp uint16 = 8686 - BartenderCancelOrderReq uint16 = 8442 - BartenderCancelOrderRsp uint16 = 8837 - BartenderCompleteOrderReq uint16 = 8414 - BartenderCompleteOrderRsp uint16 = 8125 - BartenderFinishLevelReq uint16 = 8227 - BartenderFinishLevelRsp uint16 = 8093 - BartenderGetFormulaReq uint16 = 8462 - BartenderGetFormulaRsp uint16 = 8842 - BartenderLevelProgressNotify uint16 = 8756 - BartenderStartLevelReq uint16 = 8507 - BartenderStartLevelRsp uint16 = 8402 - BattlePassAllDataNotify uint16 = 2626 - BattlePassBuySuccNotify uint16 = 2614 - BattlePassCurScheduleUpdateNotify uint16 = 2607 - BattlePassMissionDelNotify uint16 = 2625 - BattlePassMissionUpdateNotify uint16 = 2618 - BeginCameraSceneLookNotify uint16 = 270 - BeginCameraSceneLookWithTemplateNotify uint16 = 3160 - BigTalentPointConvertReq uint16 = 1007 - BigTalentPointConvertRsp uint16 = 1021 - BlessingAcceptAllGivePicReq uint16 = 2045 - BlessingAcceptAllGivePicRsp uint16 = 2044 - BlessingAcceptGivePicReq uint16 = 2006 - BlessingAcceptGivePicRsp uint16 = 2055 - BlessingGetAllRecvPicRecordListReq uint16 = 2096 - BlessingGetAllRecvPicRecordListRsp uint16 = 2083 - BlessingGetFriendPicListReq uint16 = 2043 - BlessingGetFriendPicListRsp uint16 = 2056 - BlessingGiveFriendPicReq uint16 = 2062 - BlessingGiveFriendPicRsp uint16 = 2053 - BlessingRecvFriendPicNotify uint16 = 2178 - BlessingRedeemRewardReq uint16 = 2137 - BlessingRedeemRewardRsp uint16 = 2098 - BlessingScanReq uint16 = 2081 - BlessingScanRsp uint16 = 2093 - BlitzRushParkourRestartReq uint16 = 8653 - BlitzRushParkourRestartRsp uint16 = 8944 - BlossomBriefInfoNotify uint16 = 2712 - BlossomChestCreateNotify uint16 = 2721 - BlossomChestInfoNotify uint16 = 890 + AvatarTeamAllDataNotify uint16 = 1615 + AvatarTeamUpdateNotify uint16 = 1739 + AvatarUnlockTalentNotify uint16 = 1056 + AvatarUpgradeReq uint16 = 1653 + AvatarUpgradeRsp uint16 = 1792 + AvatarWearFlycloakReq uint16 = 1636 + AvatarWearFlycloakRsp uint16 = 1613 + BackMyWorldReq uint16 = 269 + BackMyWorldRsp uint16 = 218 + BackPlayCustomDungeonOfficialReq uint16 = 6224 + BackPlayCustomDungeonOfficialRsp uint16 = 6220 + BackRebornGalleryReq uint16 = 5507 + BackRebornGalleryRsp uint16 = 5517 + BargainOfferPriceReq uint16 = 407 + BargainOfferPriceRsp uint16 = 417 + BargainStartNotify uint16 = 444 + BargainTerminateNotify uint16 = 405 + BartenderCancelLevelReq uint16 = 8446 + BartenderCancelLevelRsp uint16 = 8698 + BartenderCancelOrderReq uint16 = 8249 + BartenderCancelOrderRsp uint16 = 8254 + BartenderCompleteOrderReq uint16 = 8880 + BartenderCompleteOrderRsp uint16 = 8870 + BartenderFinishLevelReq uint16 = 8122 + BartenderFinishLevelRsp uint16 = 8250 + BartenderGetFormulaReq uint16 = 8230 + BartenderGetFormulaRsp uint16 = 8975 + BartenderLevelProgressNotify uint16 = 8415 + BartenderStartLevelReq uint16 = 8590 + BartenderStartLevelRsp uint16 = 8142 + BatchBuyGoodsReq uint16 = 778 + BatchBuyGoodsRsp uint16 = 757 + BattlePassAllDataNotify uint16 = 2642 + BattlePassBuySuccNotify uint16 = 2602 + BattlePassCurScheduleUpdateNotify uint16 = 2635 + BattlePassMissionDelNotify uint16 = 2622 + BattlePassMissionUpdateNotify uint16 = 2641 + BeginCameraSceneLookNotify uint16 = 249 + BeginCameraSceneLookWithTemplateNotify uint16 = 3342 + BigTalentPointConvertReq uint16 = 1100 + BigTalentPointConvertRsp uint16 = 1043 + BlessingAcceptAllGivePicReq uint16 = 2009 + BlessingAcceptAllGivePicRsp uint16 = 2065 + BlessingAcceptGivePicReq uint16 = 2153 + BlessingAcceptGivePicRsp uint16 = 2010 + BlessingGetAllRecvPicRecordListReq uint16 = 2084 + BlessingGetAllRecvPicRecordListRsp uint16 = 2058 + BlessingGetFriendPicListReq uint16 = 2190 + BlessingGetFriendPicListRsp uint16 = 2076 + BlessingGiveFriendPicReq uint16 = 2108 + BlessingGiveFriendPicRsp uint16 = 2042 + BlessingRecvFriendPicNotify uint16 = 2107 + BlessingRedeemRewardReq uint16 = 2036 + BlessingRedeemRewardRsp uint16 = 2013 + BlessingScanReq uint16 = 2186 + BlessingScanRsp uint16 = 2166 + BlitzRushParkourRestartReq uint16 = 8986 + BlitzRushParkourRestartRsp uint16 = 8453 + BlossomBriefInfoNotify uint16 = 2756 + BlossomChestCreateNotify uint16 = 2743 + BlossomChestInfoNotify uint16 = 847 BonusActivityInfoReq uint16 = 2548 - BonusActivityInfoRsp uint16 = 2597 - BonusActivityUpdateNotify uint16 = 2575 - BossChestActivateNotify uint16 = 803 - BounceConjuringSettleNotify uint16 = 8084 - BuoyantCombatSettleNotify uint16 = 8305 - BuyBattlePassLevelReq uint16 = 2647 - BuyBattlePassLevelRsp uint16 = 2637 - BuyGoodsReq uint16 = 712 - BuyGoodsRsp uint16 = 735 - BuyResinReq uint16 = 602 - BuyResinRsp uint16 = 619 - CalcWeaponUpgradeReturnItemsReq uint16 = 633 - CalcWeaponUpgradeReturnItemsRsp uint16 = 684 - CanUseSkillNotify uint16 = 1005 - CancelCityReputationRequestReq uint16 = 2899 - CancelCityReputationRequestRsp uint16 = 2831 - CancelCoopTaskReq uint16 = 1997 - CancelCoopTaskRsp uint16 = 1987 - CancelFinishParentQuestNotify uint16 = 424 - CardProductRewardNotify uint16 = 4107 - CataLogFinishedGlobalWatcherAllDataNotify uint16 = 6370 - CataLogNewFinishedGlobalWatcherNotify uint16 = 6395 - ChallengeDataNotify uint16 = 953 - ChallengeRecordNotify uint16 = 993 - ChangeAvatarReq uint16 = 1640 - ChangeAvatarRsp uint16 = 1607 - ChangeCustomDungeonRoomReq uint16 = 6222 - ChangeCustomDungeonRoomRsp uint16 = 6244 - ChangeGameTimeReq uint16 = 173 - ChangeGameTimeRsp uint16 = 199 + BonusActivityInfoRsp uint16 = 2599 + BonusActivityUpdateNotify uint16 = 2539 + BossChestActivateNotify uint16 = 861 + BounceConjuringSettleNotify uint16 = 8653 + BrickBreakerPlayerReadyNotify uint16 = 5396 + BrickBreakerPlayerSetAvatarNotify uint16 = 5362 + BrickBreakerPlayerSetChangingNotify uint16 = 5370 + BrickBreakerPlayerSetSkillNotify uint16 = 5351 + BrickBreakerQuitReq uint16 = 24991 + BrickBreakerQuitRsp uint16 = 24959 + BrickBreakerSelectAvatarReq uint16 = 5368 + BrickBreakerSelectAvatarRsp uint16 = 5359 + BrickBreakerSelectSkillReq uint16 = 5329 + BrickBreakerSelectSkillRsp uint16 = 5386 + BrickBreakerSetChangingReq uint16 = 5358 + BrickBreakerSetChangingRsp uint16 = 5314 + BrickBreakerSetReadyReq uint16 = 5371 + BrickBreakerSetReadyRsp uint16 = 5332 + BrickBreakerSettleNotify uint16 = 23886 + BrickBreakerTwiceStartReq uint16 = 24700 + BrickBreakerTwiceStartRsp uint16 = 20232 + BuoyantCombatSettleNotify uint16 = 8751 + BuyBattlePassLevelReq uint16 = 2643 + BuyBattlePassLevelRsp uint16 = 2609 + BuyGoodsReq uint16 = 756 + BuyGoodsRsp uint16 = 719 + BuyResinReq uint16 = 693 + BuyResinRsp uint16 = 654 + CalcWeaponUpgradeReturnItemsReq uint16 = 666 + CalcWeaponUpgradeReturnItemsRsp uint16 = 652 + CancelCityReputationRequestReq uint16 = 2857 + CancelCityReputationRequestRsp uint16 = 2827 + CancelCoopTaskReq uint16 = 1993 + CancelCoopTaskRsp uint16 = 1959 + CancelFinishParentQuestNotify uint16 = 422 + CanUseSkillNotify uint16 = 1042 + CardProductRewardNotify uint16 = 4135 + CataLogFinishedGlobalWatcherAllDataNotify uint16 = 6365 + CataLogNewFinishedGlobalWatcherNotify uint16 = 6368 + ChallengeDataNotify uint16 = 973 + ChallengeRecordNotify uint16 = 907 + ChangeAvatarReq uint16 = 1682 + ChangeAvatarRsp uint16 = 1699 + ChangeCustomDungeonRoomReq uint16 = 6217 + ChangeCustomDungeonRoomRsp uint16 = 6212 + ChangeGameTimeReq uint16 = 178 + ChangeGameTimeRsp uint16 = 157 ChangeMailStarNotify uint16 = 1448 - ChangeMpTeamAvatarReq uint16 = 1708 - ChangeMpTeamAvatarRsp uint16 = 1753 - ChangeServerGlobalValueNotify uint16 = 27 - ChangeTeamNameReq uint16 = 1603 - ChangeTeamNameRsp uint16 = 1666 - ChangeWidgetBackgroundActiveStateReq uint16 = 5907 - ChangeWidgetBackgroundActiveStateRsp uint16 = 6060 - ChangeWorldToSingleModeNotify uint16 = 3006 - ChangeWorldToSingleModeReq uint16 = 3066 - ChangeWorldToSingleModeRsp uint16 = 3282 - ChannelerSlabCheckEnterLoopDungeonReq uint16 = 8745 - ChannelerSlabCheckEnterLoopDungeonRsp uint16 = 8452 - ChannelerSlabEnterLoopDungeonReq uint16 = 8869 - ChannelerSlabEnterLoopDungeonRsp uint16 = 8081 - ChannelerSlabLoopDungeonChallengeInfoNotify uint16 = 8224 - ChannelerSlabLoopDungeonSelectConditionReq uint16 = 8503 - ChannelerSlabLoopDungeonSelectConditionRsp uint16 = 8509 - ChannelerSlabLoopDungeonTakeFirstPassRewardReq uint16 = 8589 - ChannelerSlabLoopDungeonTakeFirstPassRewardRsp uint16 = 8539 - ChannelerSlabLoopDungeonTakeScoreRewardReq uint16 = 8684 - ChannelerSlabLoopDungeonTakeScoreRewardRsp uint16 = 8433 - ChannelerSlabOneOffDungeonInfoNotify uint16 = 8729 - ChannelerSlabOneOffDungeonInfoReq uint16 = 8409 - ChannelerSlabOneOffDungeonInfoRsp uint16 = 8268 - ChannelerSlabSaveAssistInfoReq uint16 = 8416 - ChannelerSlabSaveAssistInfoRsp uint16 = 8932 - ChannelerSlabStageActiveChallengeIndexNotify uint16 = 8734 - ChannelerSlabStageOneofDungeonNotify uint16 = 8203 - ChannelerSlabTakeoffBuffReq uint16 = 8516 - ChannelerSlabTakeoffBuffRsp uint16 = 8237 - ChannelerSlabWearBuffReq uint16 = 8107 - ChannelerSlabWearBuffRsp uint16 = 8600 - ChapterStateNotify uint16 = 405 - CharAmusementSettleNotify uint16 = 23133 + ChangeMpTeamAvatarReq uint16 = 1645 + ChangeMpTeamAvatarRsp uint16 = 1730 + ChangeServerGlobalValueNotify uint16 = 17 + ChangeTeamNameReq uint16 = 1706 + ChangeTeamNameRsp uint16 = 1696 + ChangeWidgetBackgroundActiveStateReq uint16 = 5959 + ChangeWidgetBackgroundActiveStateRsp uint16 = 5955 + ChangeWorldToSingleModeNotify uint16 = 3461 + ChangeWorldToSingleModeReq uint16 = 3296 + ChangeWorldToSingleModeRsp uint16 = 3258 + ChannelerSlabCheckEnterLoopDungeonReq uint16 = 8286 + ChannelerSlabCheckEnterLoopDungeonRsp uint16 = 8631 + ChannelerSlabEnterLoopDungeonReq uint16 = 8564 + ChannelerSlabEnterLoopDungeonRsp uint16 = 8526 + ChannelerSlabLoopDungeonChallengeInfoNotify uint16 = 8576 + ChannelerSlabLoopDungeonSelectConditionReq uint16 = 8659 + ChannelerSlabLoopDungeonSelectConditionRsp uint16 = 8858 + ChannelerSlabLoopDungeonTakeFirstPassRewardReq uint16 = 8498 + ChannelerSlabLoopDungeonTakeFirstPassRewardRsp uint16 = 8824 + ChannelerSlabLoopDungeonTakeScoreRewardReq uint16 = 8348 + ChannelerSlabLoopDungeonTakeScoreRewardRsp uint16 = 8369 + ChannelerSlabOneOffDungeonInfoNotify uint16 = 8015 + ChannelerSlabOneOffDungeonInfoReq uint16 = 8877 + ChannelerSlabOneOffDungeonInfoRsp uint16 = 8270 + ChannelerSlabSaveAssistInfoReq uint16 = 8039 + ChannelerSlabSaveAssistInfoRsp uint16 = 8071 + ChannelerSlabStageActiveChallengeIndexNotify uint16 = 8857 + ChannelerSlabStageOneoffDungeonNotify uint16 = 8692 + ChannelerSlabTakeoffBuffReq uint16 = 8299 + ChannelerSlabTakeoffBuffRsp uint16 = 8034 + ChannelerSlabWearBuffReq uint16 = 8664 + ChannelerSlabWearBuffRsp uint16 = 8285 + ChapterStateNotify uint16 = 442 + CharAmusementSettleNotify uint16 = 23128 ChatChannelDataNotify uint16 = 4998 - ChatChannelUpdateNotify uint16 = 5025 - ChatHistoryNotify uint16 = 3496 - CheckAddItemExceedLimitNotify uint16 = 692 - CheckGroupReplacedReq uint16 = 3113 - CheckGroupReplacedRsp uint16 = 3152 - CheckSegmentCRCNotify uint16 = 39 - CheckSegmentCRCReq uint16 = 53 - CheckUgcStateReq uint16 = 6342 - CheckUgcStateRsp uint16 = 6314 - CheckUgcUpdateReq uint16 = 6320 - CheckUgcUpdateRsp uint16 = 6345 - ChessEscapedMonstersNotify uint16 = 5314 - ChessLeftMonstersNotify uint16 = 5360 - ChessManualRefreshCardsReq uint16 = 5389 - ChessManualRefreshCardsRsp uint16 = 5359 - ChessPickCardNotify uint16 = 5380 - ChessPickCardReq uint16 = 5333 - ChessPickCardRsp uint16 = 5384 - ChessPlayerInfoNotify uint16 = 5332 - ChessSelectedCardsNotify uint16 = 5392 - ChooseCurAvatarTeamReq uint16 = 1796 - ChooseCurAvatarTeamRsp uint16 = 1661 - CityReputationDataNotify uint16 = 2805 - CityReputationLevelupNotify uint16 = 2807 - ClearRoguelikeCurseNotify uint16 = 8207 - ClientAIStateNotify uint16 = 1181 - ClientAbilitiesInitFinishCombineNotify uint16 = 1103 - ClientAbilityChangeNotify uint16 = 1175 - ClientAbilityInitBeginNotify uint16 = 1112 - ClientAbilityInitFinishNotify uint16 = 1135 - ClientBulletCreateNotify uint16 = 4 - ClientCollectorDataNotify uint16 = 4264 - ClientHashDebugNotify uint16 = 3086 - ClientLoadingCostumeVerificationNotify uint16 = 3487 - ClientLockGameTimeNotify uint16 = 114 - ClientNewMailNotify uint16 = 1499 - ClientPauseNotify uint16 = 260 - ClientReconnectNotify uint16 = 75 - ClientRemoveCombatEndModifierNotify uint16 = 1182 - ClientReportNotify uint16 = 81 - ClientScriptEventNotify uint16 = 213 - ClientTransmitReq uint16 = 291 - ClientTransmitRsp uint16 = 224 + ChatChannelInfoNotify uint16 = 4975 + ChatChannelShieldNotify uint16 = 5049 + ChatChannelUpdateNotify uint16 = 4989 + ChatHistoryNotify uint16 = 3309 + CheckAddItemExceedLimitNotify uint16 = 697 + CheckGroupReplacedReq uint16 = 3056 + CheckGroupReplacedRsp uint16 = 3411 + CheckSegmentCRCNotify uint16 = 16 + CheckSegmentCRCReq uint16 = 73 + CheckUgcStateReq uint16 = 6345 + CheckUgcStateRsp uint16 = 6302 + CheckUgcUpdateReq uint16 = 6315 + CheckUgcUpdateRsp uint16 = 6318 + ChessEscapedMonstersNotify uint16 = 5341 + ChessLeftMonstersNotify uint16 = 5336 + ChessManualRefreshCardsReq uint16 = 5326 + ChessManualRefreshCardsRsp uint16 = 5377 + ChessPickCardNotify uint16 = 5374 + ChessPickCardReq uint16 = 5366 + ChessPickCardRsp uint16 = 5352 + ChessPlayerInfoNotify uint16 = 5365 + ChessSelectedCardsNotify uint16 = 5397 + ChooseCurAvatarTeamReq uint16 = 1738 + ChooseCurAvatarTeamRsp uint16 = 1778 + CityReputationDataNotify uint16 = 2842 + CityReputationLevelupNotify uint16 = 2900 + ClearRoguelikeCurseNotify uint16 = 8038 + ClientAbilitiesInitFinishCombineNotify uint16 = 1161 + ClientAbilityChangeNotify uint16 = 1139 + ClientAbilityInitBeginNotify uint16 = 1156 + ClientAbilityInitFinishNotify uint16 = 1119 + ClientAIStateNotify uint16 = 1125 + ClientBulletCreateNotify uint16 = 44 + ClientCollectorDataNotify uint16 = 4252 + ClientHashDebugNotify uint16 = 3287 + ClientLoadingCostumeVerificationNotify uint16 = 3269 + ClientLockGameTimeNotify uint16 = 141 + ClientNewMailNotify uint16 = 1457 + ClientPauseNotify uint16 = 236 + ClientReconnectNotify uint16 = 39 + ClientRemoveCombatEndModifierNotify uint16 = 1190 + ClientReportNotify uint16 = 25 + ClientScriptEventNotify uint16 = 260 + ClientTransmitReq uint16 = 221 + ClientTransmitRsp uint16 = 222 ClientTriggerEventNotify uint16 = 148 - CloseCommonTipsNotify uint16 = 3194 - ClosedItemNotify uint16 = 614 - CodexDataFullNotify uint16 = 4205 - CodexDataUpdateNotify uint16 = 4207 - CombatInvocationsNotify uint16 = 319 - CombineDataNotify uint16 = 659 - CombineFormulaDataNotify uint16 = 632 - CombineReq uint16 = 643 - CombineRsp uint16 = 674 - CommonPlayerTipsNotify uint16 = 8466 - CompoundDataNotify uint16 = 146 - CompoundUnlockNotify uint16 = 128 - CookDataNotify uint16 = 195 - CookGradeDataNotify uint16 = 134 - CookRecipeDataNotify uint16 = 106 - CoopCgShowNotify uint16 = 1983 - CoopCgUpdateNotify uint16 = 1994 - CoopChapterUpdateNotify uint16 = 1972 - CoopDataNotify uint16 = 1979 - CoopPointUpdateNotify uint16 = 1991 - CoopProgressUpdateNotify uint16 = 1998 - CoopRewardUpdateNotify uint16 = 1999 - CreateMassiveEntityNotify uint16 = 367 - CreateMassiveEntityReq uint16 = 342 - CreateMassiveEntityRsp uint16 = 330 - CreateVehicleReq uint16 = 893 - CreateVehicleRsp uint16 = 827 - CrystalLinkDungeonInfoNotify uint16 = 8858 - CrystalLinkEnterDungeonReq uint16 = 8325 - CrystalLinkEnterDungeonRsp uint16 = 8147 - CrystalLinkRestartDungeonReq uint16 = 8022 - CrystalLinkRestartDungeonRsp uint16 = 8119 - CustomDungeonBattleRecordNotify uint16 = 6236 - CustomDungeonOfficialNotify uint16 = 6221 - CustomDungeonRecoverNotify uint16 = 6217 - CustomDungeonUpdateNotify uint16 = 6223 - CutSceneBeginNotify uint16 = 296 - CutSceneEndNotify uint16 = 215 - CutSceneFinishNotify uint16 = 262 - DailyTaskDataNotify uint16 = 158 - DailyTaskFilterCityReq uint16 = 111 - DailyTaskFilterCityRsp uint16 = 144 - DailyTaskProgressNotify uint16 = 170 - DailyTaskScoreRewardNotify uint16 = 117 - DailyTaskUnlockedCitiesNotify uint16 = 186 - DataResVersionNotify uint16 = 167 - DealAddFriendReq uint16 = 4003 - DealAddFriendRsp uint16 = 4090 - DeathZoneInfoNotify uint16 = 6268 - DeathZoneObserveNotify uint16 = 3475 + CloseCommonTipsNotify uint16 = 3273 + ClosedItemNotify uint16 = 641 + CodexDataFullNotify uint16 = 4201 + CodexDataUpdateNotify uint16 = 4203 + CoinCollectCheckDoubleStartPlayReq uint16 = 22424 + CoinCollectCheckDoubleStartPlayRsp uint16 = 24124 + CoinCollectChooseSkillReq uint16 = 21667 + CoinCollectChooseSkillRsp uint16 = 23416 + CoinCollectGallerySettleNotify uint16 = 5546 + CoinCollectInterruptPlayReq uint16 = 20562 + CoinCollectInterruptPlayRsp uint16 = 23589 + CoinCollectPrepareReq uint16 = 23071 + CoinCollectPrepareRsp uint16 = 23817 + CoinCollectPrepareStageNotify uint16 = 6408 + CombatInvocationsNotify uint16 = 354 + CombineDataNotify uint16 = 677 + CombineFormulaDataNotify uint16 = 665 + CombineReq uint16 = 675 + CombineRsp uint16 = 634 + CommonPlayerTipsNotify uint16 = 8167 + CompoundDataNotify uint16 = 164 + CompoundUnlockNotify uint16 = 106 + CookDataNotify uint16 = 133 + CookGradeDataNotify uint16 = 180 + CookRecipeDataNotify uint16 = 110 + CoopCgShowNotify uint16 = 1951 + CoopCgUpdateNotify uint16 = 1962 + CoopChapterUpdateNotify uint16 = 1967 + CoopDataNotify uint16 = 1994 + CoopPointUpdateNotify uint16 = 1958 + CoopProgressUpdateNotify uint16 = 1987 + CoopRewardUpdateNotify uint16 = 1984 + CreateMassiveEntityNotify uint16 = 353 + CreateMassiveEntityReq uint16 = 311 + CreateMassiveEntityRsp uint16 = 350 + CreateVehicleReq uint16 = 807 + CreateVehicleRsp uint16 = 817 + CrystalLinkDungeonInfoNotify uint16 = 8408 + CrystalLinkEnterDungeonReq uint16 = 8179 + CrystalLinkEnterDungeonRsp uint16 = 8628 + CrystalLinkRestartDungeonReq uint16 = 8177 + CrystalLinkRestartDungeonRsp uint16 = 8741 + CustomDungeonBattleRecordNotify uint16 = 6225 + CustomDungeonOfficialNotify uint16 = 6236 + CustomDungeonRecoverNotify uint16 = 6228 + CustomDungeonUpdateNotify uint16 = 6230 + CutSceneBeginNotify uint16 = 283 + CutSceneEndNotify uint16 = 281 + CutSceneFinishNotify uint16 = 284 + DailyTaskDataNotify uint16 = 124 + DailyTaskFilterCityReq uint16 = 101 + DailyTaskFilterCityRsp uint16 = 138 + DailyTaskProgressNotify uint16 = 149 + DailyTaskScoreRewardNotify uint16 = 191 + DailyTaskUnlockedCitiesNotify uint16 = 169 + DataResVersionNotify uint16 = 153 + DealAddFriendReq uint16 = 4061 + DealAddFriendRsp uint16 = 4047 + DeathZoneInfoNotify uint16 = 6291 + DeathZoneObserveNotify uint16 = 3062 DebugNotify uint16 = 101 - DelBackupAvatarTeamReq uint16 = 1731 - DelBackupAvatarTeamRsp uint16 = 1729 - DelMailReq uint16 = 1421 - DelMailRsp uint16 = 1403 - DelScenePlayTeamEntityNotify uint16 = 3318 - DelTeamEntityNotify uint16 = 302 - DeleteFriendNotify uint16 = 4053 - DeleteFriendReq uint16 = 4031 - DeleteFriendRsp uint16 = 4075 - DeshretObeliskChestInfoNotify uint16 = 841 - DestroyMassiveEntityNotify uint16 = 358 - DestroyMaterialReq uint16 = 640 - DestroyMaterialRsp uint16 = 618 - DigActivityChangeGadgetStateReq uint16 = 8464 - DigActivityChangeGadgetStateRsp uint16 = 8430 - DigActivityMarkPointChangeNotify uint16 = 8109 - DisableRoguelikeTrapNotify uint16 = 8259 - DoGachaReq uint16 = 1512 - DoGachaRsp uint16 = 1535 - DoRoguelikeDungeonCardGachaReq uint16 = 8148 - DoRoguelikeDungeonCardGachaRsp uint16 = 8472 - DoSetPlayerBornDataNotify uint16 = 147 - DraftGuestReplyInviteNotify uint16 = 5490 - DraftGuestReplyInviteReq uint16 = 5421 - DraftGuestReplyInviteRsp uint16 = 5403 - DraftGuestReplyTwiceConfirmNotify uint16 = 5497 - DraftGuestReplyTwiceConfirmReq uint16 = 5431 - DraftGuestReplyTwiceConfirmRsp uint16 = 5475 - DraftInviteResultNotify uint16 = 5473 - DraftOwnerInviteNotify uint16 = 5407 - DraftOwnerStartInviteReq uint16 = 5412 - DraftOwnerStartInviteRsp uint16 = 5435 - DraftOwnerTwiceConfirmNotify uint16 = 5499 + DelBackupAvatarTeamReq uint16 = 1698 + DelBackupAvatarTeamRsp uint16 = 1666 + DeleteFriendNotify uint16 = 4073 + DeleteFriendReq uint16 = 4027 + DeleteFriendRsp uint16 = 4039 + DelMailReq uint16 = 1443 + DelMailRsp uint16 = 1461 + DelScenePlayTeamEntityNotify uint16 = 3237 + DelTeamEntityNotify uint16 = 393 + DeshretObeliskChestInfoNotify uint16 = 867 + DestroyMassiveEntityNotify uint16 = 324 + DestroyMaterialReq uint16 = 685 + DestroyMaterialRsp uint16 = 608 + DigActivityChangeGadgetStateReq uint16 = 8372 + DigActivityChangeGadgetStateRsp uint16 = 8289 + DigActivityMarkPointChangeNotify uint16 = 8871 + DisableRoguelikeTrapNotify uint16 = 8839 + DoGachaReq uint16 = 1556 + DoGachaRsp uint16 = 1519 + DoRoguelikeDungeonCardGachaReq uint16 = 8740 + DoRoguelikeDungeonCardGachaRsp uint16 = 8144 + DoSetPlayerBornDataNotify uint16 = 176 + DraftGuestReplyInviteNotify uint16 = 5447 + DraftGuestReplyInviteReq uint16 = 5443 + DraftGuestReplyInviteRsp uint16 = 5461 + DraftGuestReplyTwiceConfirmNotify uint16 = 5499 + DraftGuestReplyTwiceConfirmReq uint16 = 5427 + DraftGuestReplyTwiceConfirmRsp uint16 = 5439 + DraftInviteResultNotify uint16 = 5478 + DraftOwnerInviteNotify uint16 = 5500 + DraftOwnerStartInviteReq uint16 = 5456 + DraftOwnerStartInviteRsp uint16 = 5419 + DraftOwnerTwiceConfirmNotify uint16 = 5457 DraftTwiceConfirmResultNotify uint16 = 5448 - DragonSpineChapterFinishNotify uint16 = 2069 - DragonSpineChapterOpenNotify uint16 = 2022 - DragonSpineChapterProgressChangeNotify uint16 = 2065 - DragonSpineCoinChangeNotify uint16 = 2088 - DropHintNotify uint16 = 650 - DropItemReq uint16 = 699 - DropItemRsp uint16 = 631 - DungeonCandidateTeamChangeAvatarReq uint16 = 956 - DungeonCandidateTeamChangeAvatarRsp uint16 = 942 - DungeonCandidateTeamCreateReq uint16 = 995 - DungeonCandidateTeamCreateRsp uint16 = 906 - DungeonCandidateTeamDismissNotify uint16 = 963 - DungeonCandidateTeamInfoNotify uint16 = 927 - DungeonCandidateTeamInviteNotify uint16 = 994 - DungeonCandidateTeamInviteReq uint16 = 934 - DungeonCandidateTeamInviteRsp uint16 = 950 - DungeonCandidateTeamKickReq uint16 = 943 - DungeonCandidateTeamKickRsp uint16 = 974 - DungeonCandidateTeamLeaveReq uint16 = 976 - DungeonCandidateTeamLeaveRsp uint16 = 946 - DungeonCandidateTeamPlayerLeaveNotify uint16 = 926 - DungeonCandidateTeamRefuseNotify uint16 = 988 - DungeonCandidateTeamReplyInviteReq uint16 = 941 - DungeonCandidateTeamReplyInviteRsp uint16 = 949 - DungeonCandidateTeamSetChangingAvatarReq uint16 = 918 - DungeonCandidateTeamSetChangingAvatarRsp uint16 = 966 - DungeonCandidateTeamSetReadyReq uint16 = 991 - DungeonCandidateTeamSetReadyRsp uint16 = 924 - DungeonChallengeBeginNotify uint16 = 947 - DungeonChallengeFinishNotify uint16 = 939 - DungeonDataNotify uint16 = 982 - DungeonDieOptionReq uint16 = 975 + DragonSpineChapterFinishNotify uint16 = 2149 + DragonSpineChapterOpenNotify uint16 = 2123 + DragonSpineChapterProgressChangeNotify uint16 = 2035 + DragonSpineCoinChangeNotify uint16 = 2086 + DropHintNotify uint16 = 646 + DropItemReq uint16 = 657 + DropItemRsp uint16 = 627 + DungeonCandidateTeamChangeAvatarReq uint16 = 982 + DungeonCandidateTeamChangeAvatarRsp uint16 = 911 + DungeonCandidateTeamCreateReq uint16 = 933 + DungeonCandidateTeamCreateRsp uint16 = 910 + DungeonCandidateTeamDismissNotify uint16 = 903 + DungeonCandidateTeamInfoNotify uint16 = 917 + DungeonCandidateTeamInviteNotify uint16 = 905 + DungeonCandidateTeamInviteReq uint16 = 980 + DungeonCandidateTeamInviteRsp uint16 = 946 + DungeonCandidateTeamKickReq uint16 = 975 + DungeonCandidateTeamKickRsp uint16 = 934 + DungeonCandidateTeamLeaveReq uint16 = 995 + DungeonCandidateTeamLeaveRsp uint16 = 964 + DungeonCandidateTeamPlayerLeaveNotify uint16 = 972 + DungeonCandidateTeamRefuseNotify uint16 = 994 + DungeonCandidateTeamReplyInviteReq uint16 = 967 + DungeonCandidateTeamReplyInviteRsp uint16 = 915 + DungeonCandidateTeamSetChangingAvatarReq uint16 = 908 + DungeonCandidateTeamSetChangingAvatarRsp uint16 = 909 + DungeonCandidateTeamSetReadyReq uint16 = 921 + DungeonCandidateTeamSetReadyRsp uint16 = 922 + DungeonChallengeBeginNotify uint16 = 976 + DungeonChallengeFinishNotify uint16 = 916 + DungeonDataNotify uint16 = 990 + DungeonDieOptionReq uint16 = 939 DungeonDieOptionRsp uint16 = 948 - DungeonEntryInfoReq uint16 = 972 - DungeonEntryInfoRsp uint16 = 998 - DungeonEntryToBeExploreNotify uint16 = 3147 - DungeonFollowNotify uint16 = 922 - DungeonGetStatueDropReq uint16 = 965 - DungeonGetStatueDropRsp uint16 = 904 - DungeonInterruptChallengeReq uint16 = 917 - DungeonInterruptChallengeRsp uint16 = 902 - DungeonPlayerDieNotify uint16 = 931 - DungeonPlayerDieReq uint16 = 981 - DungeonPlayerDieRsp uint16 = 905 - DungeonRestartInviteNotify uint16 = 957 + DungeonEntryInfoReq uint16 = 979 + DungeonEntryInfoRsp uint16 = 930 + DungeonEntryToBeExploreNotify uint16 = 3196 + DungeonFollowNotify uint16 = 937 + DungeonGetStatueDropReq uint16 = 989 + DungeonGetStatueDropRsp uint16 = 944 + DungeonInterruptChallengeReq uint16 = 991 + DungeonInterruptChallengeRsp uint16 = 993 + DungeonPlayerDieNotify uint16 = 927 + DungeonPlayerDieReq uint16 = 925 + DungeonPlayerDieRsp uint16 = 942 + DungeonRestartInviteNotify uint16 = 963 DungeonRestartInviteReplyNotify uint16 = 987 - DungeonRestartInviteReplyReq uint16 = 1000 - DungeonRestartInviteReplyRsp uint16 = 916 - DungeonRestartReq uint16 = 961 - DungeonRestartResultNotify uint16 = 940 - DungeonRestartRsp uint16 = 929 - DungeonReviseLevelNotify uint16 = 933 - DungeonSettleNotify uint16 = 999 - DungeonShowReminderNotify uint16 = 997 - DungeonSlipRevivePointActivateReq uint16 = 958 - DungeonSlipRevivePointActivateRsp uint16 = 970 - DungeonWayPointActivateReq uint16 = 990 - DungeonWayPointActivateRsp uint16 = 973 - DungeonWayPointNotify uint16 = 903 - EchoNotify uint16 = 65 - EchoShellTakeRewardReq uint16 = 8114 - EchoShellTakeRewardRsp uint16 = 8797 - EchoShellUpdateNotify uint16 = 8150 - EffigyChallengeInfoNotify uint16 = 2090 - EffigyChallengeResultNotify uint16 = 2046 - EffigyChallengeV2ChooseSkillReq uint16 = 21269 - EffigyChallengeV2ChooseSkillRsp uint16 = 22448 - EffigyChallengeV2DungeonInfoNotify uint16 = 22835 - EffigyChallengeV2EnterDungeonReq uint16 = 23489 - EffigyChallengeV2EnterDungeonRsp uint16 = 24917 - EffigyChallengeV2RestartDungeonReq uint16 = 24522 - EffigyChallengeV2RestartDungeonRsp uint16 = 23167 - EndCameraSceneLookNotify uint16 = 217 - EnterChessDungeonReq uint16 = 8191 - EnterChessDungeonRsp uint16 = 8592 - EnterCustomDungeonReq uint16 = 6226 - EnterCustomDungeonRsp uint16 = 6218 - EnterFishingReq uint16 = 5826 - EnterFishingRsp uint16 = 5818 - EnterFungusFighterPlotDungeonReq uint16 = 23053 - EnterFungusFighterPlotDungeonRsp uint16 = 21008 - EnterFungusFighterTrainingDungeonReq uint16 = 23860 - EnterFungusFighterTrainingDungeonRsp uint16 = 21593 - EnterIrodoriChessDungeonReq uint16 = 8717 - EnterIrodoriChessDungeonRsp uint16 = 8546 - EnterMechanicusDungeonReq uint16 = 3931 - EnterMechanicusDungeonRsp uint16 = 3975 - EnterRogueDiaryDungeonReq uint16 = 8943 - EnterRogueDiaryDungeonRsp uint16 = 8352 - EnterRoguelikeDungeonNotify uint16 = 8652 - EnterSceneDoneReq uint16 = 277 - EnterSceneDoneRsp uint16 = 237 - EnterScenePeerNotify uint16 = 252 - EnterSceneReadyReq uint16 = 208 - EnterSceneReadyRsp uint16 = 209 - EnterSceneWeatherAreaNotify uint16 = 256 - EnterTransPointRegionNotify uint16 = 205 - EnterTrialAvatarActivityDungeonReq uint16 = 2118 - EnterTrialAvatarActivityDungeonRsp uint16 = 2183 - EnterWorldAreaReq uint16 = 250 - EnterWorldAreaRsp uint16 = 243 - EntityAiKillSelfNotify uint16 = 340 - EntityAiSyncNotify uint16 = 400 - EntityAuthorityChangeNotify uint16 = 394 - EntityConfigHashNotify uint16 = 3189 - EntityFightPropChangeReasonNotify uint16 = 1203 - EntityFightPropNotify uint16 = 1212 - EntityFightPropUpdateNotify uint16 = 1235 - EntityForceSyncReq uint16 = 274 - EntityForceSyncRsp uint16 = 276 - EntityJumpNotify uint16 = 222 - EntityMoveRoomNotify uint16 = 3178 - EntityPropNotify uint16 = 1272 - EntityTagChangeNotify uint16 = 3316 - EquipRoguelikeRuneReq uint16 = 8306 - EquipRoguelikeRuneRsp uint16 = 8705 - EvtAiSyncCombatThreatInfoNotify uint16 = 329 - EvtAiSyncSkillCdNotify uint16 = 376 - EvtAnimatorParameterNotify uint16 = 398 - EvtAnimatorStateChangedNotify uint16 = 331 - EvtAvatarEnterFocusNotify uint16 = 304 - EvtAvatarExitFocusNotify uint16 = 393 - EvtAvatarLockChairReq uint16 = 318 - EvtAvatarLockChairRsp uint16 = 366 - EvtAvatarSitDownNotify uint16 = 324 - EvtAvatarStandUpNotify uint16 = 356 - EvtAvatarUpdateFocusNotify uint16 = 327 - EvtBeingHealedNotify uint16 = 333 - EvtBeingHitNotify uint16 = 372 - EvtBeingHitsCombineNotify uint16 = 346 - EvtBulletDeactiveNotify uint16 = 397 + DungeonRestartInviteReplyReq uint16 = 904 + DungeonRestartInviteReplyRsp uint16 = 923 + DungeonRestartReq uint16 = 998 + DungeonRestartResultNotify uint16 = 985 + DungeonRestartRsp uint16 = 920 + DungeonReviseLevelNotify uint16 = 966 + DungeonSettleNotify uint16 = 957 + DungeonShowReminderNotify uint16 = 999 + DungeonSlipRevivePointActivateReq uint16 = 924 + DungeonSlipRevivePointActivateRsp uint16 = 949 + DungeonWayPointActivateReq uint16 = 947 + DungeonWayPointActivateRsp uint16 = 978 + DungeonWayPointNotify uint16 = 961 + EchoNotify uint16 = 89 + EchoShellTakeRewardReq uint16 = 8049 + EchoShellTakeRewardRsp uint16 = 8265 + EchoShellUpdateNotify uint16 = 8891 + EffigyChallengeInfoNotify uint16 = 2113 + EffigyChallengeResultNotify uint16 = 2022 + EffigyChallengeV2ChooseSkillReq uint16 = 23748 + EffigyChallengeV2ChooseSkillRsp uint16 = 23618 + EffigyChallengeV2DungeonInfoNotify uint16 = 24761 + EffigyChallengeV2EnterDungeonReq uint16 = 21069 + EffigyChallengeV2EnterDungeonRsp uint16 = 22024 + EffigyChallengeV2RestartDungeonReq uint16 = 21293 + EffigyChallengeV2RestartDungeonRsp uint16 = 23467 + EndCameraSceneLookNotify uint16 = 291 + EndCoinCollectPlaySingleModeReq uint16 = 23963 + EndCoinCollectPlaySingleModeRsp uint16 = 21015 + EnterChessDungeonReq uint16 = 8855 + EnterChessDungeonRsp uint16 = 8293 + EnterCustomDungeonReq uint16 = 6242 + EnterCustomDungeonRsp uint16 = 6241 + EnterFishingReq uint16 = 5842 + EnterFishingRsp uint16 = 5841 + EnterFungusFighterPlotDungeonReq uint16 = 23768 + EnterFungusFighterPlotDungeonRsp uint16 = 20791 + EnterFungusFighterTrainingDungeonReq uint16 = 23992 + EnterFungusFighterTrainingDungeonRsp uint16 = 22876 + EnterIrodoriChessDungeonReq uint16 = 8592 + EnterIrodoriChessDungeonRsp uint16 = 8238 + EnterMechanicusDungeonReq uint16 = 3927 + EnterMechanicusDungeonRsp uint16 = 3939 + EnterRogueDiaryDungeonReq uint16 = 8627 + EnterRogueDiaryDungeonRsp uint16 = 8152 + EnterRoguelikeDungeonNotify uint16 = 8657 + EnterSceneDoneReq uint16 = 232 + EnterSceneDoneRsp uint16 = 268 + EnterScenePeerNotify uint16 = 271 + EnterSceneReadyReq uint16 = 262 + EnterSceneReadyRsp uint16 = 251 + EnterSceneWeatherAreaNotify uint16 = 282 + EnterTransPointRegionNotify uint16 = 242 + EnterTrialAvatarActivityDungeonReq uint16 = 2142 + EnterTrialAvatarActivityDungeonRsp uint16 = 2176 + EnterWorldAreaReq uint16 = 246 + EnterWorldAreaRsp uint16 = 275 + EntityAiKillSelfNotify uint16 = 385 + EntityAiSyncNotify uint16 = 304 + EntityAuthorityChangeNotify uint16 = 305 + EntityConfigHashNotify uint16 = 3332 + EntityFightPropChangeReasonNotify uint16 = 1261 + EntityFightPropNotify uint16 = 1256 + EntityFightPropUpdateNotify uint16 = 1219 + EntityForceSyncReq uint16 = 234 + EntityForceSyncRsp uint16 = 295 + EntityJumpNotify uint16 = 237 + EntityMoveRoomNotify uint16 = 3337 + EntityPropNotify uint16 = 1279 + EntityTagChangeNotify uint16 = 3192 + EquipRoguelikeRuneReq uint16 = 8357 + EquipRoguelikeRuneRsp uint16 = 8815 + EvtAiSyncCombatThreatInfoNotify uint16 = 320 + EvtAiSyncSkillCdNotify uint16 = 395 + EvtAnimatorParameterNotify uint16 = 330 + EvtAnimatorStateChangedNotify uint16 = 327 + EvtAvatarEnterFocusNotify uint16 = 344 + EvtAvatarExitFocusNotify uint16 = 307 + EvtAvatarLockChairReq uint16 = 308 + EvtAvatarLockChairRsp uint16 = 309 + EvtAvatarSitDownNotify uint16 = 322 + EvtAvatarStandUpNotify uint16 = 382 + EvtAvatarUpdateFocusNotify uint16 = 317 + EvtBeingHealedNotify uint16 = 366 + EvtBeingHitNotify uint16 = 379 + EvtBeingHitsCombineNotify uint16 = 364 + EvtBulletDeactiveNotify uint16 = 399 EvtBulletHitNotify uint16 = 348 - EvtBulletMoveNotify uint16 = 365 - EvtCostStaminaNotify uint16 = 373 - EvtCreateGadgetNotify uint16 = 307 - EvtDestroyGadgetNotify uint16 = 321 + EvtBulletMoveNotify uint16 = 389 + EvtCostStaminaNotify uint16 = 378 + EvtCreateGadgetNotify uint16 = 400 + EvtDestroyGadgetNotify uint16 = 343 EvtDestroyServerGadgetNotify uint16 = 387 - EvtDoSkillSuccNotify uint16 = 335 - EvtEntityRenderersChangedNotify uint16 = 343 - EvtEntityStartDieEndNotify uint16 = 381 - EvtFaceToDirNotify uint16 = 390 - EvtFaceToEntityNotify uint16 = 303 - EvtLocalGadgetOwnerLeaveSceneNotify uint16 = 384 - EvtRushMoveNotify uint16 = 375 - EvtSetAttackTargetNotify uint16 = 399 - ExclusiveRuleNotify uint16 = 101 - ExecuteGadgetLuaReq uint16 = 269 - ExecuteGadgetLuaRsp uint16 = 210 - ExecuteGroupTriggerReq uint16 = 257 - ExecuteGroupTriggerRsp uint16 = 300 - ExitCustomDungeonTryReq uint16 = 6247 - ExitCustomDungeonTryRsp uint16 = 6237 - ExitFishingReq uint16 = 5814 - ExitFishingRsp uint16 = 5847 - ExitSceneWeatherAreaNotify uint16 = 242 - ExitTransPointRegionNotify uint16 = 282 - ExpeditionChallengeEnterRegionNotify uint16 = 2154 - ExpeditionChallengeFinishedNotify uint16 = 2091 - ExpeditionRecallReq uint16 = 2131 - ExpeditionRecallRsp uint16 = 2129 - ExpeditionStartReq uint16 = 2087 - ExpeditionStartRsp uint16 = 2135 - ExpeditionTakeRewardReq uint16 = 2149 - ExpeditionTakeRewardRsp uint16 = 2080 - FindHilichurlAcceptQuestNotify uint16 = 8659 - FindHilichurlFinishSecondQuestNotify uint16 = 8901 - FinishDeliveryNotify uint16 = 2089 - FinishLanternProjectionReq uint16 = 8704 - FinishLanternProjectionRsp uint16 = 8713 - FinishMainCoopReq uint16 = 1952 + EvtDoSkillSuccNotify uint16 = 319 + EvtEntityRenderersChangedNotify uint16 = 375 + EvtEntityStartDieEndNotify uint16 = 325 + EvtFaceToDirNotify uint16 = 347 + EvtFaceToEntityNotify uint16 = 361 + EvtLocalGadgetOwnerLeaveSceneNotify uint16 = 352 + EvtRushMoveNotify uint16 = 339 + EvtSetAttackTargetNotify uint16 = 357 + ExclusiveRuleNotify uint16 = 118 + ExecuteGadgetLuaReq uint16 = 235 + ExecuteGadgetLuaRsp uint16 = 240 + ExecuteGroupTriggerReq uint16 = 263 + ExecuteGroupTriggerRsp uint16 = 204 + ExitCustomDungeonTryReq uint16 = 6243 + ExitCustomDungeonTryRsp uint16 = 6209 + ExitFishingReq uint16 = 5802 + ExitFishingRsp uint16 = 5843 + ExitSceneWeatherAreaNotify uint16 = 211 + ExitTransPointRegionNotify uint16 = 290 + ExpeditionChallengeEnterRegionNotify uint16 = 2027 + ExpeditionChallengeFinishedNotify uint16 = 2074 + ExpeditionRecallReq uint16 = 2098 + ExpeditionRecallRsp uint16 = 2066 + ExpeditionStartReq uint16 = 2016 + ExpeditionStartRsp uint16 = 2182 + ExpeditionTakeRewardReq uint16 = 2015 + ExpeditionTakeRewardRsp uint16 = 2197 + FindHilichurlAcceptQuestNotify uint16 = 8893 + FindHilichurlFinishSecondQuestNotify uint16 = 8644 + FinishDeliveryNotify uint16 = 2030 + FinishedParentQuestNotify uint16 = 419 + FinishedParentQuestUpdateNotify uint16 = 500 + FinishedTalkIdListNotify uint16 = 578 + FinishLanternProjectionReq uint16 = 8932 + FinishLanternProjectionRsp uint16 = 8971 + FinishMainCoopReq uint16 = 1977 FinishMainCoopRsp uint16 = 1981 - FinishedParentQuestNotify uint16 = 435 - FinishedParentQuestUpdateNotify uint16 = 407 - FinishedTalkIdListNotify uint16 = 573 - FireworksLaunchDataNotify uint16 = 5928 - FireworksReformDataNotify uint16 = 6033 - FishAttractNotify uint16 = 5837 - FishBaitGoneNotify uint16 = 5823 - FishBattleBeginReq uint16 = 5820 - FishBattleBeginRsp uint16 = 5845 - FishBattleEndReq uint16 = 5841 - FishBattleEndRsp uint16 = 5842 - FishBiteReq uint16 = 5844 - FishBiteRsp uint16 = 5849 - FishCastRodReq uint16 = 5802 + FireworksLaunchDataNotify uint16 = 5917 + FireworksReformDataNotify uint16 = 5908 + FishAttractNotify uint16 = 5809 + FishBaitGoneNotify uint16 = 5830 + FishBattleBeginReq uint16 = 5815 + FishBattleBeginRsp uint16 = 5818 + FishBattleEndReq uint16 = 5808 + FishBattleEndRsp uint16 = 5845 + FishBiteReq uint16 = 5812 + FishBiteRsp uint16 = 5834 + FishCastRodReq uint16 = 5827 FishCastRodRsp uint16 = 5831 - FishChosenNotify uint16 = 5829 - FishEscapeNotify uint16 = 5822 - FishPoolDataNotify uint16 = 5848 - FishingGallerySettleNotify uint16 = 8780 - FleurFairBalloonSettleNotify uint16 = 2099 - FleurFairBuffEnergyNotify uint16 = 5324 - FleurFairFallSettleNotify uint16 = 2017 - FleurFairFinishGalleryStageNotify uint16 = 5342 - FleurFairMusicGameSettleReq uint16 = 2194 - FleurFairMusicGameSettleRsp uint16 = 2113 - FleurFairMusicGameStartReq uint16 = 2167 - FleurFairMusicGameStartRsp uint16 = 2079 - FleurFairReplayMiniGameReq uint16 = 2181 - FleurFairReplayMiniGameRsp uint16 = 2052 - FleurFairStageSettleNotify uint16 = 5356 - FlightActivityRestartReq uint16 = 2037 - FlightActivityRestartRsp uint16 = 2165 - FlightActivitySettleNotify uint16 = 2195 - FocusAvatarReq uint16 = 1654 - FocusAvatarRsp uint16 = 1681 - ForceAddPlayerFriendReq uint16 = 4057 - ForceAddPlayerFriendRsp uint16 = 4100 - ForceDragAvatarNotify uint16 = 3235 - ForceDragBackTransferNotify uint16 = 3145 - ForgeDataNotify uint16 = 680 - ForgeFormulaDataNotify uint16 = 689 - ForgeGetQueueDataReq uint16 = 646 - ForgeGetQueueDataRsp uint16 = 641 - ForgeQueueDataNotify uint16 = 676 - ForgeQueueManipulateReq uint16 = 624 - ForgeQueueManipulateRsp uint16 = 656 - ForgeStartReq uint16 = 649 - ForgeStartRsp uint16 = 691 - FoundationNotify uint16 = 847 - FoundationReq uint16 = 805 - FoundationRsp uint16 = 882 - FriendInfoChangeNotify uint16 = 4032 - FungusCaptureSettleNotify uint16 = 5506 - FungusCultivateReq uint16 = 21749 - FungusCultivateRsp uint16 = 23532 - FungusFighterClearTrainingRuntimeDataReq uint16 = 24137 - FungusFighterClearTrainingRuntimeDataRsp uint16 = 22991 - FungusFighterPlotInfoNotify uint16 = 22174 - FungusFighterRestartTrainingDungeonReq uint16 = 23980 - FungusFighterRestartTrainingDungeonRsp uint16 = 22890 - FungusFighterRuntimeDataNotify uint16 = 24674 - FungusFighterTrainingGallerySettleNotify uint16 = 23931 - FungusFighterTrainingInfoNotify uint16 = 5595 - FungusFighterTrainingSelectFungusReq uint16 = 23903 - FungusFighterTrainingSelectFungusRsp uint16 = 21570 - FungusFighterUseBackupFungusReq uint16 = 21266 - FungusFighterUseBackupFungusRsp uint16 = 23428 - FungusRenameReq uint16 = 22006 - FungusRenameRsp uint16 = 20066 - FunitureMakeInfoChangeNotify uint16 = 4898 - FurnitureCurModuleArrangeCountNotify uint16 = 4498 - FurnitureMakeBeHelpedNotify uint16 = 4578 - FurnitureMakeCancelReq uint16 = 4555 - FurnitureMakeCancelRsp uint16 = 4683 - FurnitureMakeFinishNotify uint16 = 4841 - FurnitureMakeHelpReq uint16 = 4865 - FurnitureMakeHelpRsp uint16 = 4756 - FurnitureMakeReq uint16 = 4477 - FurnitureMakeRsp uint16 = 4782 - FurnitureMakeStartReq uint16 = 4633 - FurnitureMakeStartRsp uint16 = 4729 - GCGApplyInviteBattleNotify uint16 = 7820 - GCGApplyInviteBattleReq uint16 = 7730 - GCGApplyInviteBattleRsp uint16 = 7304 - GCGAskDuelReq uint16 = 7237 - GCGAskDuelRsp uint16 = 7869 - GCGBasicDataNotify uint16 = 7319 - GCGBossChallengeUpdateNotify uint16 = 7073 - GCGChallengeUpdateNotify uint16 = 7268 - GCGClientSettleReq uint16 = 7506 - GCGClientSettleRsp uint16 = 7105 - GCGDSCardBackUnlockNotify uint16 = 7265 - GCGDSCardFaceUnlockNotify uint16 = 7049 - GCGDSCardNumChangeNotify uint16 = 7358 - GCGDSCardProficiencyNotify uint16 = 7680 - GCGDSChangeCardBackReq uint16 = 7292 - GCGDSChangeCardBackRsp uint16 = 7044 - GCGDSChangeCardFaceReq uint16 = 7169 - GCGDSChangeCardFaceRsp uint16 = 7331 - GCGDSChangeCurDeckReq uint16 = 7131 - GCGDSChangeCurDeckRsp uint16 = 7301 - GCGDSChangeDeckNameReq uint16 = 7432 - GCGDSChangeDeckNameRsp uint16 = 7916 - GCGDSChangeFieldReq uint16 = 7541 - GCGDSChangeFieldRsp uint16 = 7444 - GCGDSCurDeckChangeNotify uint16 = 7796 - GCGDSDataNotify uint16 = 7122 - GCGDSDeckSaveReq uint16 = 7104 - GCGDSDeckSaveRsp uint16 = 7269 - GCGDSDeckUnlockNotify uint16 = 7732 - GCGDSDeleteDeckReq uint16 = 7988 - GCGDSDeleteDeckRsp uint16 = 7524 - GCGDSFieldUnlockNotify uint16 = 7333 - GCGGameBriefDataNotify uint16 = 7539 - GCGGrowthLevelNotify uint16 = 7736 - GCGGrowthLevelRewardNotify uint16 = 7477 - GCGGrowthLevelTakeRewardReq uint16 = 7051 - GCGGrowthLevelTakeRewardRsp uint16 = 7670 - GCGHeartBeatNotify uint16 = 7224 - GCGInitFinishReq uint16 = 7684 - GCGInitFinishRsp uint16 = 7433 - GCGInviteBattleNotify uint16 = 7692 - GCGInviteGuestBattleReq uint16 = 7783 - GCGInviteGuestBattleRsp uint16 = 7251 - GCGLevelChallengeFinishNotify uint16 = 7629 - GCGLevelChallengeNotify uint16 = 7055 - GCGMessagePackNotify uint16 = 7516 - GCGNewCardInfoNotify uint16 = 7203 - GCGOperationReq uint16 = 7107 - GCGOperationRsp uint16 = 7600 - GCGResourceStateNotify uint16 = 7876 - GCGSettleNotify uint16 = 7769 - GCGSettleOptionReq uint16 = 7124 - GCGSettleOptionRsp uint16 = 7735 - GCGSkillPreviewAskReq uint16 = 7509 - GCGSkillPreviewAskRsp uint16 = 7409 - GCGSkillPreviewNotify uint16 = 7503 - GCGStartChallengeReq uint16 = 7595 - GCGStartChallengeRsp uint16 = 7763 - GCGTCInviteReq uint16 = 7922 - GCGTCInviteRsp uint16 = 7328 - GCGTCTavernChallengeDataNotify uint16 = 7294 - GCGTCTavernChallengeUpdateNotify uint16 = 7184 - GCGTCTavernInfoNotify uint16 = 7011 - GCGTavernNpcInfoNotify uint16 = 7290 - GCGWeekChallengeInfoNotify uint16 = 7615 - GCGWorldChallengeUnlockNotify uint16 = 7204 - GMShowNavMeshReq uint16 = 2357 - GMShowNavMeshRsp uint16 = 2400 - GMShowObstacleReq uint16 = 2361 - GMShowObstacleRsp uint16 = 2329 - GachaActivityCreateRobotReq uint16 = 8614 - GachaActivityCreateRobotRsp uint16 = 8610 - GachaActivityNextStageReq uint16 = 8257 - GachaActivityNextStageRsp uint16 = 8918 - GachaActivityPercentNotify uint16 = 8450 - GachaActivityResetReq uint16 = 8163 - GachaActivityResetRsp uint16 = 8240 - GachaActivityTakeRewardReq uint16 = 8930 - GachaActivityTakeRewardRsp uint16 = 8768 - GachaActivityUpdateElemNotify uint16 = 8919 - GachaOpenWishNotify uint16 = 1503 - GachaSimpleInfoNotify uint16 = 1590 - GachaWishReq uint16 = 1507 - GachaWishRsp uint16 = 1521 - GadgetAutoPickDropInfoNotify uint16 = 897 - GadgetChainLevelChangeNotify uint16 = 822 - GadgetChainLevelUpdateNotify uint16 = 853 - GadgetChangeLevelTagReq uint16 = 843 - GadgetChangeLevelTagRsp uint16 = 874 - GadgetCustomTreeInfoNotify uint16 = 850 + FishChosenNotify uint16 = 5844 + FishEscapeNotify uint16 = 5817 + FishingGallerySettleNotify uint16 = 8464 + FishPoolDataNotify uint16 = 5837 + FleurFairBalloonSettleNotify uint16 = 2159 + FleurFairBuffEnergyNotify uint16 = 5322 + FleurFairFallSettleNotify uint16 = 2136 + FleurFairFinishGalleryStageNotify uint16 = 5311 + FleurFairMusicGameSettleReq uint16 = 2111 + FleurFairMusicGameSettleRsp uint16 = 2156 + FleurFairMusicGameStartReq uint16 = 2070 + FleurFairMusicGameStartRsp uint16 = 2146 + FleurFairReplayMiniGameReq uint16 = 2127 + FleurFairReplayMiniGameRsp uint16 = 2061 + FleurFairStageSettleNotify uint16 = 5382 + FlightActivityRestartReq uint16 = 2152 + FlightActivityRestartRsp uint16 = 2158 + FlightActivitySettleNotify uint16 = 2143 + FocusAvatarReq uint16 = 1793 + FocusAvatarRsp uint16 = 1786 + ForceAddPlayerFriendReq uint16 = 4063 + ForceAddPlayerFriendRsp uint16 = 4004 + ForceDragAvatarNotify uint16 = 3008 + ForceDragBackTransferNotify uint16 = 3494 + ForgeDataNotify uint16 = 674 + ForgeFormulaDataNotify uint16 = 626 + ForgeGetQueueDataReq uint16 = 664 + ForgeGetQueueDataRsp uint16 = 667 + ForgeQueueDataNotify uint16 = 695 + ForgeQueueManipulateReq uint16 = 622 + ForgeQueueManipulateRsp uint16 = 682 + ForgeStartReq uint16 = 615 + ForgeStartRsp uint16 = 621 + FoundationNotify uint16 = 876 + FoundationReq uint16 = 842 + FoundationRsp uint16 = 890 + FriendInfoChangeNotify uint16 = 4065 + FungusCaptureSettleNotify uint16 = 5510 + FungusCultivateReq uint16 = 23545 + FungusCultivateRsp uint16 = 20883 + FungusFighterClearTrainingRuntimeDataReq uint16 = 24267 + FungusFighterClearTrainingRuntimeDataRsp uint16 = 20749 + FungusFighterPlotInfoNotify uint16 = 23920 + FungusFighterRestartTrainingDungeonReq uint16 = 24273 + FungusFighterRestartTrainingDungeonRsp uint16 = 20579 + FungusFighterRuntimeDataNotify uint16 = 20567 + FungusFighterTrainingGallerySettleNotify uint16 = 23475 + FungusFighterTrainingInfoNotify uint16 = 5533 + FungusFighterTrainingSelectFungusReq uint16 = 24249 + FungusFighterTrainingSelectFungusRsp uint16 = 23309 + FungusFighterUseBackupFungusReq uint16 = 22075 + FungusFighterUseBackupFungusRsp uint16 = 21089 + FungusRenameReq uint16 = 22498 + FungusRenameRsp uint16 = 22216 + FurnitureCurModuleArrangeCountNotify uint16 = 4538 + FurnitureMakeBeHelpedNotify uint16 = 4766 + FurnitureMakeCancelReq uint16 = 4726 + FurnitureMakeCancelRsp uint16 = 4676 + FurnitureMakeFinishNotify uint16 = 4850 + FurnitureMakeHelpReq uint16 = 4478 + FurnitureMakeHelpRsp uint16 = 4507 + FurnitureMakeInfoChangeNotify uint16 = 4882 + FurnitureMakeReq uint16 = 4802 + FurnitureMakeRsp uint16 = 4504 + FurnitureMakeStartReq uint16 = 4581 + FurnitureMakeStartRsp uint16 = 4877 + GachaActivityCreateRobotReq uint16 = 8316 + GachaActivityCreateRobotRsp uint16 = 8494 + GachaActivityNextStageReq uint16 = 8342 + GachaActivityNextStageRsp uint16 = 8914 + GachaActivityPercentNotify uint16 = 8706 + GachaActivityResetReq uint16 = 8540 + GachaActivityResetRsp uint16 = 8416 + GachaActivityTakeRewardReq uint16 = 8853 + GachaActivityTakeRewardRsp uint16 = 8354 + GachaActivityUpdateElemNotify uint16 = 8241 + GachaOpenWishNotify uint16 = 1561 + GachaSimpleInfoNotify uint16 = 1547 + GachaWishReq uint16 = 1600 + GachaWishRsp uint16 = 1543 + GadgetAutoPickDropInfoNotify uint16 = 899 + GadgetChainLevelChangeNotify uint16 = 837 + GadgetChainLevelUpdateNotify uint16 = 873 + GadgetChangeLevelTagReq uint16 = 875 + GadgetChangeLevelTagRsp uint16 = 834 + GadgetCustomTreeInfoNotify uint16 = 846 GadgetGeneralRewardInfoNotify uint16 = 848 - GadgetInteractReq uint16 = 872 - GadgetInteractRsp uint16 = 898 - GadgetPlayDataNotify uint16 = 831 - GadgetPlayStartNotify uint16 = 873 - GadgetPlayStopNotify uint16 = 899 - GadgetPlayUidOpNotify uint16 = 875 - GadgetStateNotify uint16 = 812 - GadgetTalkChangeNotify uint16 = 839 - GalleryBalloonScoreNotify uint16 = 5512 - GalleryBalloonShootNotify uint16 = 5598 - GalleryBounceConjuringHitNotify uint16 = 5505 - GalleryBrokenFloorFallNotify uint16 = 5575 - GalleryBulletHitNotify uint16 = 5531 - GalleryCrystalLinkBuffInfoNotify uint16 = 5539 - GalleryCrystalLinkKillMonsterNotify uint16 = 5547 - GalleryFallCatchNotify uint16 = 5507 - GalleryFallScoreNotify uint16 = 5521 - GalleryFlowerCatchNotify uint16 = 5573 - GalleryIslandPartyDownHillInfoNotify uint16 = 5522 - GalleryPreStartNotify uint16 = 5599 - GalleryStartNotify uint16 = 5572 - GalleryStopNotify uint16 = 5535 - GallerySumoKillMonsterNotify uint16 = 5582 - GalleryWillStartCountdownNotify uint16 = 5594 - GearActivityFinishPlayGearReq uint16 = 21834 - GearActivityFinishPlayGearRsp uint16 = 21800 - GearActivityFinishPlayPictureReq uint16 = 21054 - GearActivityFinishPlayPictureRsp uint16 = 21851 - GearActivityStartPlayGearReq uint16 = 23467 - GearActivityStartPlayGearRsp uint16 = 21025 - GearActivityStartPlayPictureReq uint16 = 24550 - GearActivityStartPlayPictureRsp uint16 = 23388 - GetActivityInfoReq uint16 = 2095 - GetActivityInfoRsp uint16 = 2041 - GetActivityScheduleReq uint16 = 2136 - GetActivityScheduleRsp uint16 = 2107 - GetActivityShopSheetInfoReq uint16 = 703 - GetActivityShopSheetInfoRsp uint16 = 790 - GetAllActivatedBargainDataReq uint16 = 463 - GetAllActivatedBargainDataRsp uint16 = 495 - GetAllH5ActivityInfoReq uint16 = 5668 - GetAllH5ActivityInfoRsp uint16 = 5676 - GetAllMailNotify uint16 = 1497 - GetAllMailReq uint16 = 1431 - GetAllMailResultNotify uint16 = 1481 - GetAllMailRsp uint16 = 1475 - GetAllSceneGalleryInfoReq uint16 = 5503 - GetAllSceneGalleryInfoRsp uint16 = 5590 - GetAllUnlockNameCardReq uint16 = 4027 - GetAllUnlockNameCardRsp uint16 = 4094 - GetAreaExplorePointReq uint16 = 241 - GetAreaExplorePointRsp uint16 = 249 - GetAuthSalesmanInfoReq uint16 = 2070 - GetAuthSalesmanInfoRsp uint16 = 2004 - GetAuthkeyReq uint16 = 1490 - GetAuthkeyRsp uint16 = 1473 - GetBargainDataReq uint16 = 488 - GetBargainDataRsp uint16 = 426 - GetBattlePassProductReq uint16 = 2644 - GetBattlePassProductRsp uint16 = 2649 - GetBlossomBriefInfoListReq uint16 = 2772 - GetBlossomBriefInfoListRsp uint16 = 2798 - GetBonusActivityRewardReq uint16 = 2581 - GetBonusActivityRewardRsp uint16 = 2505 - GetChatEmojiCollectionReq uint16 = 4068 - GetChatEmojiCollectionRsp uint16 = 4033 - GetCityHuntingOfferReq uint16 = 4325 - GetCityHuntingOfferRsp uint16 = 4307 - GetCityReputationInfoReq uint16 = 2872 - GetCityReputationInfoRsp uint16 = 2898 - GetCityReputationMapInfoReq uint16 = 2875 + GadgetInteractReq uint16 = 879 + GadgetInteractRsp uint16 = 830 + GadgetPlayDataNotify uint16 = 827 + GadgetPlayStartNotify uint16 = 878 + GadgetPlayStopNotify uint16 = 857 + GadgetPlayUidOpNotify uint16 = 839 + GadgetStateNotify uint16 = 856 + GadgetTalkChangeNotify uint16 = 816 + GalleryBalloonScoreNotify uint16 = 5556 + GalleryBalloonShootNotify uint16 = 5530 + GalleryBounceConjuringHitNotify uint16 = 5542 + GalleryBrokenFloorFallNotify uint16 = 5539 + GalleryBulletHitNotify uint16 = 5527 + GalleryCrystalLinkBuffInfoNotify uint16 = 5516 + GalleryCrystalLinkKillMonsterNotify uint16 = 5576 + GalleryFallCatchNotify uint16 = 5600 + GalleryFallScoreNotify uint16 = 5543 + GalleryFlowerCatchNotify uint16 = 5578 + GalleryIslandPartyDownHillInfoNotify uint16 = 5537 + GalleryPreStartNotify uint16 = 5557 + GalleryStartNotify uint16 = 5579 + GalleryStopNotify uint16 = 5519 + GallerySumoKillMonsterNotify uint16 = 5590 + GalleryWillStartCountdownNotify uint16 = 5505 + GCGApplyInviteBattleNotify uint16 = 7984 + GCGApplyInviteBattleReq uint16 = 7032 + GCGApplyInviteBattleRsp uint16 = 7754 + GCGAskDuelReq uint16 = 7034 + GCGAskDuelRsp uint16 = 7564 + GCGBackToDuelReq uint16 = 7015 + GCGBackToDuelRsp uint16 = 7039 + GCGBasicDataNotify uint16 = 7739 + GCGBossChallengeUpdateNotify uint16 = 7852 + GCGChallengeUpdateNotify uint16 = 7270 + GCGClientSettleReq uint16 = 7035 + GCGClientSettleRsp uint16 = 7532 + GCGDebugReplayNotify uint16 = 7071 + GCGDSBanCardNotify uint16 = 7135 + GCGDSCardBackUnlockNotify uint16 = 7078 + GCGDSCardFaceUnlockNotify uint16 = 7767 + GCGDSCardFaceUpdateNotify uint16 = 7066 + GCGDSCardNumChangeNotify uint16 = 7244 + GCGDSCardProficiencyNotify uint16 = 7969 + GCGDSChangeCardBackReq uint16 = 7680 + GCGDSChangeCardBackRsp uint16 = 7011 + GCGDSChangeCardFaceReq uint16 = 7010 + GCGDSChangeCardFaceRsp uint16 = 7549 + GCGDSChangeCurDeckReq uint16 = 7257 + GCGDSChangeCurDeckRsp uint16 = 7908 + GCGDSChangeDeckNameReq uint16 = 7463 + GCGDSChangeDeckNameRsp uint16 = 7617 + GCGDSChangeFieldReq uint16 = 7788 + GCGDSChangeFieldRsp uint16 = 7036 + GCGDSCurDeckChangeNotify uint16 = 7769 + GCGDSDataNotify uint16 = 7850 + GCGDSDeckSaveReq uint16 = 7713 + GCGDSDeckSaveRsp uint16 = 7459 + GCGDSDeckUnlockNotify uint16 = 7427 + GCGDSDeckUpdateNotify uint16 = 7751 + GCGDSDeleteDeckReq uint16 = 7821 + GCGDSDeleteDeckRsp uint16 = 7067 + GCGDSFieldUnlockNotify uint16 = 7860 + GCGDSTakeCardProficiencyRewardReq uint16 = 7001 + GCGDSTakeCardProficiencyRewardRsp uint16 = 7718 + GCGGameBriefDataNotify uint16 = 7824 + GCGGameCreateFailReasonNotify uint16 = 7658 + GCGGameMaxNotify uint16 = 7226 + GCGGrowthLevelNotify uint16 = 7343 + GCGGrowthLevelRewardNotify uint16 = 7934 + GCGGrowthLevelTakeRewardReq uint16 = 7486 + GCGGrowthLevelTakeRewardRsp uint16 = 7602 + GCGHeartBeatNotify uint16 = 7576 + GCGInitFinishReq uint16 = 7348 + GCGInitFinishRsp uint16 = 7369 + GCGInviteBattleNotify uint16 = 7448 + GCGInviteGuestBattleReq uint16 = 7202 + GCGInviteGuestBattleRsp uint16 = 7997 + GCGLevelChallengeDeleteNotify uint16 = 7993 + GCGLevelChallengeFinishNotify uint16 = 7004 + GCGLevelChallengeNotify uint16 = 7183 + GCGMessagePackNotify uint16 = 7299 + GCGOperationReq uint16 = 7664 + GCGOperationRsp uint16 = 7285 + GCGResourceStateNotify uint16 = 7586 + GCGSettleNotify uint16 = 7562 + GCGSettleOptionReq uint16 = 7600 + GCGSettleOptionRsp uint16 = 7110 + GCGSkillPreviewAskReq uint16 = 7858 + GCGSkillPreviewAskRsp uint16 = 7877 + GCGSkillPreviewNotify uint16 = 7659 + GCGStartChallengeByCheckRewardReq uint16 = 7982 + GCGStartChallengeByCheckRewardRsp uint16 = 7727 + GCGStartChallengeReq uint16 = 7964 + GCGStartChallengeRsp uint16 = 7999 + GCGTavernNpcInfoNotify uint16 = 7267 + GCGTCInviteReq uint16 = 7341 + GCGTCInviteRsp uint16 = 7027 + GCGTCTavernChallengeDataNotify uint16 = 7356 + GCGTCTavernChallengeUpdateNotify uint16 = 7907 + GCGTCTavernInfoNotify uint16 = 7268 + GCGWeekChallengeInfoNotify uint16 = 7058 + GCGWorldChallengeUnlockNotify uint16 = 7370 + GCGWorldPlayerGCGStateReq uint16 = 7375 + GCGWorldPlayerGCGStateRsp uint16 = 7248 + GearActivityFinishPlayGearReq uint16 = 20236 + GearActivityFinishPlayGearRsp uint16 = 20776 + GearActivityFinishPlayPictureReq uint16 = 23793 + GearActivityFinishPlayPictureRsp uint16 = 20453 + GearActivityStartPlayGearReq uint16 = 20589 + GearActivityStartPlayGearRsp uint16 = 23953 + GearActivityStartPlayPictureReq uint16 = 24968 + GearActivityStartPlayPictureRsp uint16 = 20011 + GetActivityInfoReq uint16 = 2011 + GetActivityInfoRsp uint16 = 2043 + GetActivityScheduleReq uint16 = 2008 + GetActivityScheduleRsp uint16 = 2056 + GetActivityShopSheetInfoReq uint16 = 761 + GetActivityShopSheetInfoRsp uint16 = 747 + GetAllActivatedBargainDataReq uint16 = 403 + GetAllActivatedBargainDataRsp uint16 = 433 + GetAllH5ActivityInfoReq uint16 = 5691 + GetAllH5ActivityInfoRsp uint16 = 5692 + GetAllMailNotify uint16 = 1499 + GetAllMailReq uint16 = 1427 + GetAllMailResultNotify uint16 = 1425 + GetAllMailRsp uint16 = 1439 + GetAllSceneGalleryInfoReq uint16 = 5561 + GetAllSceneGalleryInfoRsp uint16 = 5547 + GetAllUnlockNameCardReq uint16 = 4017 + GetAllUnlockNameCardRsp uint16 = 4005 + GetAreaExplorePointReq uint16 = 267 + GetAreaExplorePointRsp uint16 = 215 + GetAuthkeyReq uint16 = 1447 + GetAuthkeyRsp uint16 = 1478 + GetAuthSalesmanInfoReq uint16 = 2049 + GetAuthSalesmanInfoRsp uint16 = 2087 + GetBargainDataReq uint16 = 494 + GetBargainDataRsp uint16 = 472 + GetBattlePassProductReq uint16 = 2612 + GetBattlePassProductRsp uint16 = 2634 + GetBlossomBriefInfoListReq uint16 = 2779 + GetBlossomBriefInfoListRsp uint16 = 2730 + GetBonusActivityRewardReq uint16 = 2525 + GetBonusActivityRewardRsp uint16 = 2542 + GetChatEmojiCollectionReq uint16 = 4088 + GetChatEmojiCollectionRsp uint16 = 4066 + GetCityHuntingOfferReq uint16 = 4322 + GetCityHuntingOfferRsp uint16 = 4335 + GetCityReputationInfoReq uint16 = 2879 + GetCityReputationInfoRsp uint16 = 2830 + GetCityReputationMapInfoReq uint16 = 2839 GetCityReputationMapInfoRsp uint16 = 2848 - GetCompoundDataReq uint16 = 141 - GetCompoundDataRsp uint16 = 149 - GetCustomDungeonReq uint16 = 6209 - GetCustomDungeonRsp uint16 = 6227 - GetDailyDungeonEntryInfoReq uint16 = 930 - GetDailyDungeonEntryInfoRsp uint16 = 967 - GetDungeonEntryExploreConditionReq uint16 = 3165 - GetDungeonEntryExploreConditionRsp uint16 = 3269 - GetExpeditionAssistInfoListReq uint16 = 2150 - GetExpeditionAssistInfoListRsp uint16 = 2035 - GetFriendShowAvatarInfoReq uint16 = 4070 - GetFriendShowAvatarInfoRsp uint16 = 4017 - GetFriendShowNameCardInfoReq uint16 = 4061 - GetFriendShowNameCardInfoRsp uint16 = 4029 - GetFurnitureCurModuleArrangeCountReq uint16 = 4711 - GetGachaInfoReq uint16 = 1572 - GetGachaInfoRsp uint16 = 1598 - GetGameplayRecommendationReq uint16 = 151 - GetGameplayRecommendationRsp uint16 = 123 - GetHomeExchangeWoodInfoReq uint16 = 4473 - GetHomeExchangeWoodInfoRsp uint16 = 4659 - GetHomeLevelUpRewardReq uint16 = 4557 - GetHomeLevelUpRewardRsp uint16 = 4603 - GetHuntingOfferRewardReq uint16 = 4302 + GetCompoundDataReq uint16 = 167 + GetCompoundDataRsp uint16 = 115 + GetCustomDungeonReq uint16 = 6205 + GetCustomDungeonRsp uint16 = 6211 + GetDailyDungeonEntryInfoReq uint16 = 950 + GetDailyDungeonEntryInfoRsp uint16 = 953 + GetDungeonEntryExploreConditionReq uint16 = 3364 + GetDungeonEntryExploreConditionRsp uint16 = 3425 + GetExpeditionAssistInfoListReq uint16 = 2088 + GetExpeditionAssistInfoListRsp uint16 = 2100 + GetFriendShowAvatarInfoReq uint16 = 4049 + GetFriendShowAvatarInfoRsp uint16 = 4091 + GetFriendShowNameCardInfoReq uint16 = 4098 + GetFriendShowNameCardInfoRsp uint16 = 4020 + GetFurnitureCurModuleArrangeCountReq uint16 = 4730 + GetGachaInfoReq uint16 = 1579 + GetGachaInfoRsp uint16 = 1530 + GetGameplayRecommendationReq uint16 = 155 + GetGameplayRecommendationRsp uint16 = 113 + GetHomeExchangeWoodInfoReq uint16 = 4777 + GetHomeExchangeWoodInfoRsp uint16 = 4580 + GetHomeLevelUpRewardReq uint16 = 4457 + GetHomeLevelUpRewardRsp uint16 = 4857 + GetHuntingOfferRewardReq uint16 = 4327 GetHuntingOfferRewardRsp uint16 = 4331 - GetInvestigationMonsterReq uint16 = 1901 - GetInvestigationMonsterRsp uint16 = 1910 - GetMailItemReq uint16 = 1435 - GetMailItemRsp uint16 = 1407 - GetMapAreaReq uint16 = 3108 - GetMapAreaRsp uint16 = 3328 - GetMapMarkTipsReq uint16 = 3463 - GetMapMarkTipsRsp uint16 = 3327 - GetMechanicusInfoReq uint16 = 3972 - GetMechanicusInfoRsp uint16 = 3998 - GetNextResourceInfoReq uint16 = 192 - GetNextResourceInfoRsp uint16 = 120 - GetOnlinePlayerInfoReq uint16 = 82 - GetOnlinePlayerInfoRsp uint16 = 47 - GetOnlinePlayerListReq uint16 = 90 - GetOnlinePlayerListRsp uint16 = 73 - GetOpActivityInfoReq uint16 = 5172 - GetOpActivityInfoRsp uint16 = 5198 - GetParentQuestVideoKeyReq uint16 = 470 - GetParentQuestVideoKeyRsp uint16 = 417 - GetPlayerAskFriendListReq uint16 = 4018 - GetPlayerAskFriendListRsp uint16 = 4066 - GetPlayerBlacklistReq uint16 = 4049 - GetPlayerBlacklistRsp uint16 = 4091 - GetPlayerFriendListReq uint16 = 4072 - GetPlayerFriendListRsp uint16 = 4098 - GetPlayerHomeCompInfoReq uint16 = 4597 - GetPlayerMpModeAvailabilityReq uint16 = 1844 - GetPlayerMpModeAvailabilityRsp uint16 = 1849 - GetPlayerSocialDetailReq uint16 = 4073 - GetPlayerSocialDetailRsp uint16 = 4099 - GetPlayerTokenReq uint16 = 172 - GetPlayerTokenRsp uint16 = 198 - GetPushTipsRewardReq uint16 = 2227 - GetPushTipsRewardRsp uint16 = 2294 - GetQuestLackingResourceReq uint16 = 467 - GetQuestLackingResourceRsp uint16 = 458 - GetQuestTalkHistoryReq uint16 = 490 - GetQuestTalkHistoryRsp uint16 = 473 - GetRecentMpPlayerListReq uint16 = 4034 - GetRecentMpPlayerListRsp uint16 = 4050 - GetRecommendCustomDungeonReq uint16 = 6235 - GetRecommendCustomDungeonRsp uint16 = 6248 - GetRegionSearchReq uint16 = 5602 - GetReunionMissionInfoReq uint16 = 5094 - GetReunionMissionInfoRsp uint16 = 5099 - GetReunionPrivilegeInfoReq uint16 = 5097 - GetReunionPrivilegeInfoRsp uint16 = 5087 - GetReunionSignInInfoReq uint16 = 5052 + GetInvestigationMonsterReq uint16 = 1930 + GetInvestigationMonsterRsp uint16 = 1901 + GetMailItemReq uint16 = 1419 + GetMailItemRsp uint16 = 1500 + GetMapAreaReq uint16 = 3106 + GetMapAreaRsp uint16 = 3275 + GetMapMarkTipsReq uint16 = 3473 + GetMapMarkTipsRsp uint16 = 3272 + GetMechanicusInfoReq uint16 = 3979 + GetMechanicusInfoRsp uint16 = 3930 + GetNextResourceInfoReq uint16 = 197 + GetNextResourceInfoRsp uint16 = 102 + GetOnlinePlayerInfoReq uint16 = 90 + GetOnlinePlayerInfoRsp uint16 = 76 + GetOnlinePlayerListReq uint16 = 47 + GetOnlinePlayerListRsp uint16 = 78 + GetOpActivityInfoReq uint16 = 5179 + GetOpActivityInfoRsp uint16 = 5130 + GetParentQuestVideoKeyReq uint16 = 449 + GetParentQuestVideoKeyRsp uint16 = 491 + GetPlayerAskFriendListReq uint16 = 4008 + GetPlayerAskFriendListRsp uint16 = 4009 + GetPlayerBlacklistReq uint16 = 4015 + GetPlayerBlacklistRsp uint16 = 4021 + GetPlayerFriendListReq uint16 = 4079 + GetPlayerFriendListRsp uint16 = 4030 + GetPlayerHomeCompInfoReq uint16 = 4655 + GetPlayerMpModeAvailabilityReq uint16 = 1812 + GetPlayerMpModeAvailabilityRsp uint16 = 1834 + GetPlayerSocialDetailReq uint16 = 4078 + GetPlayerSocialDetailRsp uint16 = 4057 + GetPlayerTokenReq uint16 = 179 + GetPlayerTokenRsp uint16 = 130 + GetPushTipsRewardReq uint16 = 2217 + GetPushTipsRewardRsp uint16 = 2205 + GetQuestLackingResourceReq uint16 = 453 + GetQuestLackingResourceRsp uint16 = 424 + GetQuestTalkHistoryReq uint16 = 447 + GetQuestTalkHistoryRsp uint16 = 478 + GetRecentMpPlayerListReq uint16 = 4080 + GetRecentMpPlayerListRsp uint16 = 4046 + GetRecommendCustomDungeonReq uint16 = 6221 + GetRecommendCustomDungeonRsp uint16 = 6237 + GetRegionSearchReq uint16 = 5627 + GetReunionMissionInfoReq uint16 = 5062 + GetReunionMissionInfoRsp uint16 = 5084 + GetReunionPrivilegeInfoReq uint16 = 5093 + GetReunionPrivilegeInfoRsp uint16 = 5059 + GetReunionSignInInfoReq uint16 = 5077 GetReunionSignInInfoRsp uint16 = 5081 - GetRogueDairyRepairInfoReq uint16 = 8014 - GetRogueDairyRepairInfoRsp uint16 = 8447 - GetSceneAreaReq uint16 = 265 - GetSceneAreaRsp uint16 = 204 - GetSceneNpcPositionReq uint16 = 535 - GetSceneNpcPositionRsp uint16 = 507 - GetScenePerformanceReq uint16 = 3419 - GetScenePerformanceRsp uint16 = 3137 - GetScenePointReq uint16 = 297 - GetScenePointRsp uint16 = 281 - GetShopReq uint16 = 772 - GetShopRsp uint16 = 798 - GetShopmallDataReq uint16 = 707 - GetShopmallDataRsp uint16 = 721 - GetSignInRewardReq uint16 = 2507 - GetSignInRewardRsp uint16 = 2521 - GetStoreCustomDungeonReq uint16 = 6250 - GetStoreCustomDungeonRsp uint16 = 6212 - GetUgcBriefInfoReq uint16 = 6325 - GetUgcBriefInfoRsp uint16 = 6307 - GetUgcReq uint16 = 6326 - GetUgcRsp uint16 = 6318 - GetWidgetSlotReq uint16 = 4253 - GetWidgetSlotRsp uint16 = 4254 - GetWorldMpInfoReq uint16 = 3391 - GetWorldMpInfoRsp uint16 = 3320 - GiveUpRoguelikeDungeonCardReq uint16 = 8353 - GiveUpRoguelikeDungeonCardRsp uint16 = 8497 + GetRogueDairyRepairInfoReq uint16 = 8730 + GetRogueDairyRepairInfoRsp uint16 = 8656 + GetSceneAreaReq uint16 = 289 + GetSceneAreaRsp uint16 = 244 + GetSceneNpcPositionReq uint16 = 519 + GetSceneNpcPositionRsp uint16 = 600 + GetScenePerformanceReq uint16 = 3403 + GetScenePerformanceRsp uint16 = 3010 + GetScenePointReq uint16 = 299 + GetScenePointRsp uint16 = 225 + GetShopmallDataReq uint16 = 800 + GetShopmallDataRsp uint16 = 743 + GetShopReq uint16 = 779 + GetShopRsp uint16 = 730 + GetSignInRewardReq uint16 = 2600 + GetSignInRewardRsp uint16 = 2543 + GetStoreCustomDungeonReq uint16 = 6204 + GetStoreCustomDungeonRsp uint16 = 6210 + GetUgcBriefInfoReq uint16 = 6322 + GetUgcBriefInfoRsp uint16 = 6335 + GetUgcReq uint16 = 6342 + GetUgcRsp uint16 = 6341 + GetWidgetSlotReq uint16 = 4274 + GetWidgetSlotRsp uint16 = 4270 + GetWorldMpInfoReq uint16 = 3034 + GetWorldMpInfoRsp uint16 = 3310 + GiveUpRoguelikeDungeonCardReq uint16 = 8440 + GiveUpRoguelikeDungeonCardRsp uint16 = 8762 GivingRecordChangeNotify uint16 = 187 - GivingRecordNotify uint16 = 116 - GlobalBuildingInfoNotify uint16 = 5320 - GmTalkNotify uint16 = 94 - GmTalkReq uint16 = 98 - GmTalkRsp uint16 = 12 - GrantRewardNotify uint16 = 663 - GravenInnocenceEditCarveCombinationReq uint16 = 23107 - GravenInnocenceEditCarveCombinationRsp uint16 = 20702 - GravenInnocencePhotoFinishReq uint16 = 21750 - GravenInnocencePhotoFinishRsp uint16 = 23948 - GravenInnocencePhotoReminderNotify uint16 = 23864 - GravenInnocenceRaceRestartReq uint16 = 22882 - GravenInnocenceRaceRestartRsp uint16 = 21880 - GravenInnocenceRaceSettleNotify uint16 = 20681 - GroupLinkAllNotify uint16 = 5776 - GroupLinkChangeNotify uint16 = 5768 - GroupLinkDeleteNotify uint16 = 5775 - GroupLinkMarkUpdateNotify uint16 = 5757 - GroupSuiteNotify uint16 = 3257 - GroupUnloadNotify uint16 = 3344 - GuestBeginEnterSceneNotify uint16 = 3031 - GuestPostEnterSceneNotify uint16 = 3144 - H5ActivityIdsNotify uint16 = 5675 - HideAndSeekPlayerReadyNotify uint16 = 5302 - HideAndSeekPlayerSetAvatarNotify uint16 = 5319 - HideAndSeekSelectAvatarReq uint16 = 5330 - HideAndSeekSelectAvatarRsp uint16 = 5367 - HideAndSeekSelectSkillReq uint16 = 8183 - HideAndSeekSelectSkillRsp uint16 = 8088 - HideAndSeekSetReadyReq uint16 = 5358 - HideAndSeekSetReadyRsp uint16 = 5370 - HideAndSeekSettleNotify uint16 = 5317 - HitClientTrivialNotify uint16 = 244 - HitTreeNotify uint16 = 3019 - HomeAllUnlockedBgmIdListNotify uint16 = 4608 - HomeAvatarAllFinishRewardNotify uint16 = 4741 - HomeAvatarCostumeChangeNotify uint16 = 4748 - HomeAvatarRewardEventGetReq uint16 = 4551 - HomeAvatarRewardEventGetRsp uint16 = 4833 - HomeAvatarRewardEventNotify uint16 = 4852 - HomeAvatarSummonAllEventNotify uint16 = 4808 - HomeAvatarSummonEventReq uint16 = 4806 - HomeAvatarSummonEventRsp uint16 = 4817 - HomeAvatarSummonFinishReq uint16 = 4629 - HomeAvatarSummonFinishRsp uint16 = 4696 - HomeAvatarTalkFinishInfoNotify uint16 = 4896 - HomeAvatarTalkReq uint16 = 4688 - HomeAvatarTalkRsp uint16 = 4464 - HomeAvtarAllFinishRewardNotify uint16 = 4453 - HomeBalloonGalleryScoreNotify uint16 = 4654 - HomeBalloonGallerySettleNotify uint16 = 4811 - HomeBasicInfoNotify uint16 = 4885 - HomeBlockNotify uint16 = 4543 - HomeBlueprintInfoNotify uint16 = 4765 - HomeChangeBgmNotify uint16 = 4872 - HomeChangeBgmReq uint16 = 4558 - HomeChangeBgmRsp uint16 = 4488 - HomeChangeEditModeReq uint16 = 4564 - HomeChangeEditModeRsp uint16 = 4559 - HomeChangeModuleReq uint16 = 4809 - HomeChangeModuleRsp uint16 = 4596 - HomeChooseModuleReq uint16 = 4524 - HomeChooseModuleRsp uint16 = 4648 - HomeClearGroupRecordReq uint16 = 4759 - HomeClearGroupRecordRsp uint16 = 4605 - HomeComfortInfoNotify uint16 = 4699 - HomeCreateBlueprintReq uint16 = 4619 - HomeCreateBlueprintRsp uint16 = 4606 - HomeCustomFurnitureInfoNotify uint16 = 4712 - HomeDeleteBlueprintReq uint16 = 4502 - HomeDeleteBlueprintRsp uint16 = 4586 - HomeEditCustomFurnitureReq uint16 = 4724 - HomeEditCustomFurnitureRsp uint16 = 4496 - HomeEnterEditModeFinishReq uint16 = 4537 - HomeEnterEditModeFinishRsp uint16 = 4615 - HomeExchangeWoodReq uint16 = 4576 - HomeExchangeWoodRsp uint16 = 4622 - HomeFishFarmingInfoNotify uint16 = 4677 - HomeGalleryInPlayingNotify uint16 = 5553 - HomeGetArrangementInfoReq uint16 = 4848 - HomeGetArrangementInfoRsp uint16 = 4844 - HomeGetBasicInfoReq uint16 = 4655 - HomeGetBlueprintSlotInfoReq uint16 = 4584 - HomeGetBlueprintSlotInfoRsp uint16 = 4662 - HomeGetFishFarmingInfoReq uint16 = 4476 - HomeGetFishFarmingInfoRsp uint16 = 4678 - HomeGetGroupRecordReq uint16 = 4523 - HomeGetGroupRecordRsp uint16 = 4538 - HomeGetOnlineStatusReq uint16 = 4820 - HomeGetOnlineStatusRsp uint16 = 4705 - HomeKickPlayerReq uint16 = 4870 - HomeKickPlayerRsp uint16 = 4691 - HomeLimitedShopBuyGoodsReq uint16 = 4760 - HomeLimitedShopBuyGoodsRsp uint16 = 4750 - HomeLimitedShopGoodsListReq uint16 = 4552 - HomeLimitedShopGoodsListRsp uint16 = 4546 + GivingRecordNotify uint16 = 123 + GlobalBuildingInfoNotify uint16 = 5302 + GMShowNavMeshReq uint16 = 2363 + GMShowNavMeshRsp uint16 = 2304 + GMShowObstacleReq uint16 = 2398 + GMShowObstacleRsp uint16 = 2320 + GmTalkNotify uint16 = 5 + GmTalkReq uint16 = 30 + GmTalkRsp uint16 = 56 + GrantRewardNotify uint16 = 603 + GravenInnocenceEditCarveCombinationReq uint16 = 24150 + GravenInnocenceEditCarveCombinationRsp uint16 = 23400 + GravenInnocencePhotoFinishReq uint16 = 22391 + GravenInnocencePhotoFinishRsp uint16 = 22418 + GravenInnocencePhotoReminderNotify uint16 = 22577 + GravenInnocenceRaceRestartReq uint16 = 23067 + GravenInnocenceRaceRestartRsp uint16 = 20056 + GravenInnocenceRaceSettleNotify uint16 = 24427 + GroupLinkAllNotify uint16 = 5792 + GroupLinkChangeNotify uint16 = 5791 + GroupLinkDeleteNotify uint16 = 5772 + GroupLinkMarkUpdateNotify uint16 = 5785 + GroupSuiteNotify uint16 = 3489 + GroupUnloadNotify uint16 = 3138 + GuestBeginEnterSceneNotify uint16 = 3125 + GuestPostEnterSceneNotify uint16 = 3229 + H5ActivityIdsNotify uint16 = 5672 + HideAndSeekChooseMapReq uint16 = 8759 + HideAndSeekChooseMapRsp uint16 = 8501 + HideAndSeekPlayerCapturedNotify uint16 = 5580 + HideAndSeekPlayerReadyNotify uint16 = 5393 + HideAndSeekPlayerSetAvatarNotify uint16 = 5354 + HideAndSeekSelectAvatarReq uint16 = 5350 + HideAndSeekSelectAvatarRsp uint16 = 5353 + HideAndSeekSelectSkillReq uint16 = 8062 + HideAndSeekSelectSkillRsp uint16 = 8841 + HideAndSeekSetReadyReq uint16 = 5324 + HideAndSeekSetReadyRsp uint16 = 5349 + HideAndSeekSettleNotify uint16 = 5391 + HitClientTrivialNotify uint16 = 238 + HitTreeNotify uint16 = 3018 + HomeAllUnlockedBgmIdListNotify uint16 = 4841 + HomeAvatarAllFinishRewardNotify uint16 = 4798 + HomeAvatarCostumeChangeNotify uint16 = 4775 + HomeAvatarRewardEventGetReq uint16 = 4754 + HomeAvatarRewardEventGetRsp uint16 = 4713 + HomeAvatarRewardEventNotify uint16 = 4849 + HomeAvatarSummonAllEventNotify uint16 = 4670 + HomeAvatarSummonEventReq uint16 = 4894 + HomeAvatarSummonEventRsp uint16 = 4562 + HomeAvatarSummonFinishReq uint16 = 4804 + HomeAvatarSummonFinishRsp uint16 = 4814 + HomeAvatarTalkFinishInfoNotify uint16 = 4757 + HomeAvatarTalkReq uint16 = 4704 + HomeAvatarTalkRsp uint16 = 4718 + HomeAvtarAllFinishRewardNotify uint16 = 4535 + HomeBalloonGalleryScoreNotify uint16 = 4734 + HomeBalloonGallerySettleNotify uint16 = 4604 + HomeBasicInfoNotify uint16 = 4622 + HomeBlockNotify uint16 = 4679 + HomeBlueprintInfoNotify uint16 = 4813 + HomeChangeBgmNotify uint16 = 4518 + HomeChangeBgmReq uint16 = 4736 + HomeChangeBgmRsp uint16 = 4895 + HomeChangeEditModeReq uint16 = 4719 + HomeChangeEditModeRsp uint16 = 4661 + HomeChangeModuleReq uint16 = 4559 + HomeChangeModuleRsp uint16 = 4551 + HomeChooseModuleReq uint16 = 4456 + HomeChooseModuleRsp uint16 = 4638 + HomeClearGroupRecordReq uint16 = 4823 + HomeClearGroupRecordRsp uint16 = 4525 + HomeComfortInfoNotify uint16 = 4763 + HomeCreateBlueprintReq uint16 = 4539 + HomeCreateBlueprintRsp uint16 = 4806 + HomeCustomFurnitureInfoNotify uint16 = 4888 + HomeDeleteBlueprintReq uint16 = 4501 + HomeDeleteBlueprintRsp uint16 = 4545 + HomeEditCustomFurnitureReq uint16 = 4778 + HomeEditCustomFurnitureRsp uint16 = 4769 + HomeEnterEditModeFinishReq uint16 = 4865 + HomeEnterEditModeFinishRsp uint16 = 4583 + HomeExchangeWoodReq uint16 = 4808 + HomeExchangeWoodRsp uint16 = 4885 + HomeFishFarmingInfoNotify uint16 = 4842 + HomeGalleryInPlayingNotify uint16 = 5573 + HomeGetArrangementInfoReq uint16 = 4601 + HomeGetArrangementInfoRsp uint16 = 4878 + HomeGetBasicInfoReq uint16 = 4743 + HomeGetBlueprintSlotInfoReq uint16 = 4688 + HomeGetBlueprintSlotInfoRsp uint16 = 4498 + HomeGetFishFarmingInfoReq uint16 = 4835 + HomeGetFishFarmingInfoRsp uint16 = 4567 + HomeGetGroupRecordReq uint16 = 4756 + HomeGetGroupRecordRsp uint16 = 4824 + HomeGetOnlineStatusReq uint16 = 4856 + HomeGetOnlineStatusRsp uint16 = 4649 + HomeKickPlayerReq uint16 = 4684 + HomeKickPlayerRsp uint16 = 4657 + HomeLimitedShopBuyGoodsReq uint16 = 4574 + HomeLimitedShopBuyGoodsRsp uint16 = 4630 + HomeLimitedShopGoodsListReq uint16 = 4537 + HomeLimitedShopGoodsListRsp uint16 = 4492 HomeLimitedShopInfoChangeNotify uint16 = 4790 - HomeLimitedShopInfoNotify uint16 = 4887 - HomeLimitedShopInfoReq uint16 = 4825 - HomeLimitedShopInfoRsp uint16 = 4796 - HomeMarkPointNotify uint16 = 4474 - HomeModuleSeenReq uint16 = 4499 - HomeModuleSeenRsp uint16 = 4821 - HomeModuleUnlockNotify uint16 = 4560 - HomeNewUnlockedBgmIdListNotify uint16 = 4847 - HomePictureFrameInfoNotify uint16 = 4878 - HomePlantFieldNotify uint16 = 4549 - HomePlantInfoNotify uint16 = 4587 - HomePlantInfoReq uint16 = 4647 - HomePlantInfoRsp uint16 = 4701 - HomePlantSeedReq uint16 = 4804 - HomePlantSeedRsp uint16 = 4556 - HomePlantWeedReq uint16 = 4640 - HomePlantWeedRsp uint16 = 4527 - HomePreChangeEditModeNotify uint16 = 4639 - HomePreviewBlueprintReq uint16 = 4478 - HomePreviewBlueprintRsp uint16 = 4738 - HomePriorCheckNotify uint16 = 4599 - HomeRacingGallerySettleNotify uint16 = 4805 - HomeResourceNotify uint16 = 4892 - HomeResourceTakeFetterExpReq uint16 = 4768 - HomeResourceTakeFetterExpRsp uint16 = 4645 - HomeResourceTakeHomeCoinReq uint16 = 4479 - HomeResourceTakeHomeCoinRsp uint16 = 4541 - HomeSaveArrangementNoChangeReq uint16 = 4704 - HomeSaveArrangementNoChangeRsp uint16 = 4668 - HomeSceneInitFinishReq uint16 = 4674 - HomeSceneInitFinishRsp uint16 = 4505 - HomeSceneJumpReq uint16 = 4528 - HomeSceneJumpRsp uint16 = 4698 - HomeScenePointFishFarmingInfoNotify uint16 = 4547 - HomeSearchBlueprintReq uint16 = 4889 - HomeSearchBlueprintRsp uint16 = 4593 - HomeSeekFurnitureGalleryScoreNotify uint16 = 4583 - HomeSetBlueprintFriendOptionReq uint16 = 4554 - HomeSetBlueprintFriendOptionRsp uint16 = 4604 - HomeSetBlueprintSlotOptionReq uint16 = 4798 - HomeSetBlueprintSlotOptionRsp uint16 = 4786 - HomeTransferReq uint16 = 4726 - HomeTransferRsp uint16 = 4616 - HomeUpdateArrangementInfoReq uint16 = 4510 - HomeUpdateArrangementInfoRsp uint16 = 4757 - HomeUpdateFishFarmingInfoReq uint16 = 4544 - HomeUpdateFishFarmingInfoRsp uint16 = 4857 - HomeUpdatePictureFrameInfoReq uint16 = 4486 - HomeUpdatePictureFrameInfoRsp uint16 = 4641 - HomeUpdateScenePointFishFarmingInfoReq uint16 = 4511 - HomeUpdateScenePointFishFarmingInfoRsp uint16 = 4540 - HostPlayerNotify uint16 = 312 - HuntingFailNotify uint16 = 4320 - HuntingGiveUpReq uint16 = 4341 - HuntingGiveUpRsp uint16 = 4342 - HuntingOngoingNotify uint16 = 4345 - HuntingRevealClueNotify uint16 = 4322 - HuntingRevealFinalNotify uint16 = 4344 - HuntingStartNotify uint16 = 4329 - HuntingSuccessNotify uint16 = 4349 - InBattleMechanicusBuildingPointsNotify uint16 = 5303 - InBattleMechanicusCardResultNotify uint16 = 5397 + HomeLimitedShopInfoNotify uint16 = 4475 + HomeLimitedShopInfoReq uint16 = 4815 + HomeLimitedShopInfoRsp uint16 = 4739 + HomeMarkPointNotify uint16 = 4868 + HomeModuleSeenReq uint16 = 4861 + HomeModuleSeenRsp uint16 = 4693 + HomeModuleUnlockNotify uint16 = 4674 + HomeNewUnlockedBgmIdListNotify uint16 = 4899 + HomePictureFrameInfoNotify uint16 = 4495 + HomePlantFieldNotify uint16 = 4848 + HomePlantInfoNotify uint16 = 4873 + HomePlantInfoReq uint16 = 4629 + HomePlantInfoRsp uint16 = 4460 + HomePlantSeedReq uint16 = 4768 + HomePlantSeedRsp uint16 = 4694 + HomePlantWeedReq uint16 = 4866 + HomePlantWeedRsp uint16 = 4619 + HomePreChangeEditModeNotify uint16 = 4720 + HomePreviewBlueprintReq uint16 = 4745 + HomePreviewBlueprintRsp uint16 = 4462 + HomePriorCheckNotify uint16 = 4557 + HomeRacingGallerySettleNotify uint16 = 4807 + HomeResourceNotify uint16 = 4762 + HomeResourceTakeFetterExpReq uint16 = 4521 + HomeResourceTakeFetterExpRsp uint16 = 4607 + HomeResourceTakeHomeCoinReq uint16 = 4800 + HomeResourceTakeHomeCoinRsp uint16 = 4779 + HomeSaveArrangementNoChangeReq uint16 = 4672 + HomeSaveArrangementNoChangeRsp uint16 = 4603 + HomeSceneInitFinishReq uint16 = 4451 + HomeSceneInitFinishRsp uint16 = 4531 + HomeSceneJumpReq uint16 = 4527 + HomeSceneJumpRsp uint16 = 4647 + HomeScenePointFishFarmingInfoNotify uint16 = 4834 + HomeSearchBlueprintReq uint16 = 4705 + HomeSearchBlueprintRsp uint16 = 4512 + HomeSeekFurnitureGalleryScoreNotify uint16 = 4723 + HomeSetBlueprintFriendOptionReq uint16 = 4472 + HomeSetBlueprintFriendOptionRsp uint16 = 4615 + HomeSetBlueprintSlotOptionReq uint16 = 4491 + HomeSetBlueprintSlotOptionRsp uint16 = 4621 + HomeTransferReq uint16 = 4613 + HomeTransferRsp uint16 = 4711 + HomeUpdateArrangementInfoReq uint16 = 4533 + HomeUpdateArrangementInfoRsp uint16 = 4776 + HomeUpdateFishFarmingInfoReq uint16 = 4767 + HomeUpdateFishFarmingInfoRsp uint16 = 4582 + HomeUpdatePictureFrameInfoReq uint16 = 4764 + HomeUpdatePictureFrameInfoRsp uint16 = 4468 + HomeUpdateScenePointFishFarmingInfoReq uint16 = 4652 + HomeUpdateScenePointFishFarmingInfoRsp uint16 = 4606 + HostPlayerNotify uint16 = 356 + HuntingFailNotify uint16 = 4315 + HuntingGiveUpReq uint16 = 4308 + HuntingGiveUpRsp uint16 = 4345 + HuntingOngoingNotify uint16 = 4318 + HuntingRevealClueNotify uint16 = 4317 + HuntingRevealFinalNotify uint16 = 4312 + HuntingStartNotify uint16 = 4344 + HuntingSuccessNotify uint16 = 4334 + InBattleMechanicusBuildingPointsNotify uint16 = 5361 + InBattleMechanicusCardResultNotify uint16 = 5399 InBattleMechanicusConfirmCardNotify uint16 = 5348 - InBattleMechanicusConfirmCardReq uint16 = 5331 - InBattleMechanicusConfirmCardRsp uint16 = 5375 - InBattleMechanicusEscapeMonsterNotify uint16 = 5307 - InBattleMechanicusLeftMonsterNotify uint16 = 5321 - InBattleMechanicusPickCardNotify uint16 = 5399 - InBattleMechanicusPickCardReq uint16 = 5390 - InBattleMechanicusPickCardRsp uint16 = 5373 - InBattleMechanicusSettleNotify uint16 = 5305 - InstableSprayEnterDungeonReq uint16 = 24312 - InstableSprayEnterDungeonRsp uint16 = 23381 - InstableSprayGalleryInfoNotify uint16 = 5588 - InstableSprayLevelFinishNotify uint16 = 21961 - InstableSprayRestartDungeonReq uint16 = 23678 - InstableSprayRestartDungeonRsp uint16 = 24923 - InstableSpraySwitchTeamReq uint16 = 24857 - InstableSpraySwitchTeamRsp uint16 = 24152 - InteractDailyDungeonInfoNotify uint16 = 919 - InterpretInferenceWordReq uint16 = 419 - InterpretInferenceWordRsp uint16 = 461 + InBattleMechanicusConfirmCardReq uint16 = 5327 + InBattleMechanicusConfirmCardRsp uint16 = 5339 + InBattleMechanicusEscapeMonsterNotify uint16 = 5400 + InBattleMechanicusLeftMonsterNotify uint16 = 5343 + InBattleMechanicusPickCardNotify uint16 = 5357 + InBattleMechanicusPickCardReq uint16 = 5347 + InBattleMechanicusPickCardRsp uint16 = 5378 + InBattleMechanicusSettleNotify uint16 = 5342 + InstableSprayEnterDungeonReq uint16 = 21889 + InstableSprayEnterDungeonRsp uint16 = 24458 + InstableSprayGalleryInfoNotify uint16 = 5594 + InstableSprayLevelFinishNotify uint16 = 21512 + InstableSprayRestartDungeonReq uint16 = 22725 + InstableSprayRestartDungeonRsp uint16 = 23617 + InstableSpraySwitchTeamReq uint16 = 22524 + InstableSpraySwitchTeamRsp uint16 = 21806 + InteractDailyDungeonInfoNotify uint16 = 954 + InterpretInferenceWordReq uint16 = 454 + InterpretInferenceWordRsp uint16 = 498 InterruptGalleryReq uint16 = 5548 - InterruptGalleryRsp uint16 = 5597 - InvestigationMonsterUpdateNotify uint16 = 1906 - InvestigationQuestDailyNotify uint16 = 1921 - InvestigationReadQuestDailyNotify uint16 = 1902 - IrodoriChessEquipCardReq uint16 = 8561 - IrodoriChessEquipCardRsp uint16 = 8308 - IrodoriChessLeftMonsterNotify uint16 = 5338 - IrodoriChessPlayerInfoNotify uint16 = 5364 - IrodoriChessUnequipCardReq uint16 = 8057 - IrodoriChessUnequipCardRsp uint16 = 8817 - IrodoriEditFlowerCombinationReq uint16 = 8608 - IrodoriEditFlowerCombinationRsp uint16 = 8833 - IrodoriFillPoetryReq uint16 = 8129 - IrodoriFillPoetryRsp uint16 = 8880 - IrodoriMasterGalleryCgEndNotify uint16 = 8061 - IrodoriMasterGallerySettleNotify uint16 = 8340 - IrodoriMasterStartGalleryReq uint16 = 8165 - IrodoriMasterStartGalleryRsp uint16 = 8381 - IrodoriScanEntityReq uint16 = 8767 - IrodoriScanEntityRsp uint16 = 8026 - IslandPartyRaftInfoNotify uint16 = 5565 - IslandPartySailInfoNotify uint16 = 5504 - IslandPartySettleNotify uint16 = 24601 - ItemAddHintNotify uint16 = 607 - ItemCdGroupTimeNotify uint16 = 634 - ItemGivingReq uint16 = 140 - ItemGivingRsp uint16 = 118 - JoinHomeWorldFailNotify uint16 = 4530 - JoinPlayerFailNotify uint16 = 236 - JoinPlayerSceneReq uint16 = 292 - JoinPlayerSceneRsp uint16 = 220 - KeepAliveNotify uint16 = 72 - LanternRiteDoFireworksReformReq uint16 = 8226 - LanternRiteDoFireworksReformRsp uint16 = 8657 - LanternRiteEndFireworksReformReq uint16 = 8277 - LanternRiteEndFireworksReformRsp uint16 = 8933 - LanternRiteStartFireworksReformReq uint16 = 8518 - LanternRiteStartFireworksReformRsp uint16 = 8862 - LanternRiteTakeSkinRewardReq uint16 = 8826 - LanternRiteTakeSkinRewardRsp uint16 = 8777 - LastPacketPrintNotify uint16 = 88 - LaunchFireworksReq uint16 = 6090 - LaunchFireworksRsp uint16 = 6057 - LeaveSceneReq uint16 = 298 - LeaveSceneRsp uint16 = 212 - LeaveWorldNotify uint16 = 3017 - LevelTagDataNotify uint16 = 3314 - LevelupCityReq uint16 = 216 + InterruptGalleryRsp uint16 = 5599 + InvestigationMonsterUpdateNotify uint16 = 1910 + InvestigationQuestDailyNotify uint16 = 1926 + InvestigationReadQuestDailyNotify uint16 = 1908 + IrodoriChessEquipCardReq uint16 = 8766 + IrodoriChessEquipCardRsp uint16 = 8884 + IrodoriChessLeftMonsterNotify uint16 = 5331 + IrodoriChessPlayerInfoNotify uint16 = 5312 + IrodoriChessUnequipCardReq uint16 = 8409 + IrodoriChessUnequipCardRsp uint16 = 8537 + IrodoriEditFlowerCombinationReq uint16 = 8835 + IrodoriEditFlowerCombinationRsp uint16 = 8454 + IrodoriFillPoetryReq uint16 = 8926 + IrodoriFillPoetryRsp uint16 = 8076 + IrodoriMasterGalleryCgEndNotify uint16 = 8050 + IrodoriMasterGallerySettleNotify uint16 = 8792 + IrodoriMasterStartGalleryReq uint16 = 8243 + IrodoriMasterStartGalleryRsp uint16 = 8495 + IrodoriScanEntityReq uint16 = 8931 + IrodoriScanEntityRsp uint16 = 8840 + IslandPartyRaftInfoNotify uint16 = 5589 + IslandPartySailInfoNotify uint16 = 5544 + IslandPartySettleNotify uint16 = 24127 + ItemAddHintNotify uint16 = 700 + ItemCdGroupTimeNotify uint16 = 680 + ItemGivingReq uint16 = 185 + ItemGivingRsp uint16 = 108 + ItemRenameAvatarReq uint16 = 1688 + ItemRenameAvatarRsp uint16 = 1700 + JoinHomeWorldFailNotify uint16 = 4859 + JoinPlayerFailNotify uint16 = 258 + JoinPlayerSceneReq uint16 = 297 + JoinPlayerSceneRsp uint16 = 202 + KeepAliveNotify uint16 = 79 + LanternRiteDoFireworksReformReq uint16 = 8517 + LanternRiteDoFireworksReformRsp uint16 = 8171 + LanternRiteEndFireworksReformReq uint16 = 8936 + LanternRiteEndFireworksReformRsp uint16 = 8414 + LanternRiteStartFireworksReformReq uint16 = 8200 + LanternRiteStartFireworksReformRsp uint16 = 8652 + LanternRiteTakeSkinRewardReq uint16 = 8398 + LanternRiteTakeSkinRewardRsp uint16 = 8104 + LastPacketPrintNotify uint16 = 94 + LaunchFireworksReq uint16 = 5977 + LaunchFireworksRsp uint16 = 5936 + LeaveSceneReq uint16 = 230 + LeaveSceneRsp uint16 = 256 + LeaveWorldNotify uint16 = 3247 + LevelTagDataNotify uint16 = 3468 + LevelupCityReq uint16 = 223 LevelupCityRsp uint16 = 287 - LifeStateChangeNotify uint16 = 1298 - LikeCustomDungeonReq uint16 = 6210 - LikeCustomDungeonRsp uint16 = 6219 - LiveEndNotify uint16 = 806 - LiveStartNotify uint16 = 826 - LoadActivityTerrainNotify uint16 = 2029 - LuaEnvironmentEffectNotify uint16 = 3408 - LuaSetOptionNotify uint16 = 316 - LuminanceStoneChallengeSettleNotify uint16 = 8186 - LunaRiteAreaFinishNotify uint16 = 8213 - LunaRiteGroupBundleRegisterNotify uint16 = 8465 - LunaRiteHintPointRemoveNotify uint16 = 8787 - LunaRiteHintPointReq uint16 = 8195 - LunaRiteHintPointRsp uint16 = 8765 - LunaRiteSacrificeReq uint16 = 8805 - LunaRiteSacrificeRsp uint16 = 8080 - LunaRiteTakeSacrificeRewardReq uint16 = 8045 - LunaRiteTakeSacrificeRewardRsp uint16 = 8397 - MailChangeNotify uint16 = 1498 - MainCoopFailNotify uint16 = 1951 - MainCoopUpdateNotify uint16 = 1968 - MapAreaChangeNotify uint16 = 3378 - MarkEntityInMinMapNotify uint16 = 202 - MarkMapReq uint16 = 3466 - MarkMapRsp uint16 = 3079 - MarkNewNotify uint16 = 1275 - MarkTargetInvestigationMonsterNotify uint16 = 1915 - MassiveEntityElementOpBatchNotify uint16 = 357 - MassiveEntityStateChangedNotify uint16 = 370 - MaterialDeleteReturnNotify uint16 = 661 - MaterialDeleteUpdateNotify uint16 = 700 - McoinExchangeHcoinReq uint16 = 616 + LifeStateChangeNotify uint16 = 1230 + LikeCustomDungeonReq uint16 = 6203 + LikeCustomDungeonRsp uint16 = 6233 + LiveEndNotify uint16 = 810 + LiveStartNotify uint16 = 872 + LoadActivityTerrainNotify uint16 = 2089 + LuaEnvironmentEffectNotify uint16 = 3083 + LuaSetOptionNotify uint16 = 323 + LuminanceStoneChallengeSettleNotify uint16 = 8784 + LunaRiteAreaFinishNotify uint16 = 8382 + LunaRiteGroupBundleRegisterNotify uint16 = 8455 + LunaRiteHintPointRemoveNotify uint16 = 8763 + LunaRiteHintPointReq uint16 = 8811 + LunaRiteHintPointRsp uint16 = 8394 + LunaRiteSacrificeReq uint16 = 8717 + LunaRiteSacrificeRsp uint16 = 8215 + LunaRiteTakeSacrificeRewardReq uint16 = 8213 + LunaRiteTakeSacrificeRewardRsp uint16 = 8895 + MailChangeNotify uint16 = 1430 + MainCoopFailNotify uint16 = 1956 + MainCoopUpdateNotify uint16 = 1991 + MapAreaChangeNotify uint16 = 3485 + MarkEntityInMinMapNotify uint16 = 293 + MarkMapReq uint16 = 3282 + MarkMapRsp uint16 = 3346 + MarkNewNotify uint16 = 1239 + MarkTargetInvestigationMonsterNotify uint16 = 1921 + MassiveEntityElementOpBatchNotify uint16 = 363 + MassiveEntityStateChangedNotify uint16 = 349 + MaterialDeleteReturnNotify uint16 = 698 + MaterialDeleteUpdateNotify uint16 = 604 + McoinExchangeHcoinReq uint16 = 623 McoinExchangeHcoinRsp uint16 = 687 - MechanicusCandidateTeamCreateReq uint16 = 3981 - MechanicusCandidateTeamCreateRsp uint16 = 3905 - MechanicusCloseNotify uint16 = 3921 - MechanicusCoinNotify uint16 = 3935 - MechanicusLevelupGearReq uint16 = 3973 - MechanicusLevelupGearRsp uint16 = 3999 - MechanicusOpenNotify uint16 = 3907 - MechanicusSequenceOpenNotify uint16 = 3912 - MechanicusUnlockGearReq uint16 = 3903 - MechanicusUnlockGearRsp uint16 = 3990 - MeetNpcReq uint16 = 503 - MeetNpcRsp uint16 = 590 - MetNpcIdListNotify uint16 = 521 - MichiaeMatsuriDarkPressureLevelUpdateNotify uint16 = 8825 - MichiaeMatsuriGainCrystalExpUpdateNotify uint16 = 8523 - MichiaeMatsuriInteractStatueReq uint16 = 8718 - MichiaeMatsuriInteractStatueRsp uint16 = 8449 - MichiaeMatsuriRemoveChallengeMarkNotify uint16 = 8072 - MichiaeMatsuriRemoveChestMarkNotify uint16 = 8726 - MichiaeMatsuriStartBossChallengeReq uint16 = 8703 - MichiaeMatsuriStartBossChallengeRsp uint16 = 8426 - MichiaeMatsuriStartDarkChallengeReq uint16 = 8054 - MichiaeMatsuriStartDarkChallengeRsp uint16 = 8791 - MichiaeMatsuriUnlockCrystalSkillReq uint16 = 8345 - MichiaeMatsuriUnlockCrystalSkillRsp uint16 = 8588 - MiracleRingDataNotify uint16 = 5225 - MiracleRingDeliverItemReq uint16 = 5229 - MiracleRingDeliverItemRsp uint16 = 5222 - MiracleRingDestroyNotify uint16 = 5244 + MechanicusCandidateTeamCreateReq uint16 = 3925 + MechanicusCandidateTeamCreateRsp uint16 = 3942 + MechanicusCloseNotify uint16 = 3943 + MechanicusCoinNotify uint16 = 3919 + MechanicusLevelupGearReq uint16 = 3978 + MechanicusLevelupGearRsp uint16 = 3957 + MechanicusOpenNotify uint16 = 4000 + MechanicusSequenceOpenNotify uint16 = 3956 + MechanicusUnlockGearReq uint16 = 3961 + MechanicusUnlockGearRsp uint16 = 3947 + MeetNpcReq uint16 = 561 + MeetNpcRsp uint16 = 547 + MetNpcIdListNotify uint16 = 543 + MichiaeMatsuriDarkPressureLevelUpdateNotify uint16 = 8136 + MichiaeMatsuriGainCrystalExpUpdateNotify uint16 = 8318 + MichiaeMatsuriInteractStatueReq uint16 = 8008 + MichiaeMatsuriInteractStatueRsp uint16 = 8150 + MichiaeMatsuriRemoveChallengeMarkNotify uint16 = 8581 + MichiaeMatsuriRemoveChestMarkNotify uint16 = 8203 + MichiaeMatsuriStartBossChallengeReq uint16 = 8650 + MichiaeMatsuriStartBossChallengeRsp uint16 = 8953 + MichiaeMatsuriStartDarkChallengeReq uint16 = 8166 + MichiaeMatsuriStartDarkChallengeRsp uint16 = 8379 + MichiaeMatsuriUnlockCrystalSkillReq uint16 = 8632 + MichiaeMatsuriUnlockCrystalSkillRsp uint16 = 8874 + MiracleRingDataNotify uint16 = 5222 + MiracleRingDeliverItemReq uint16 = 5244 + MiracleRingDeliverItemRsp uint16 = 5217 + MiracleRingDestroyNotify uint16 = 5212 MiracleRingDropResultNotify uint16 = 5231 - MiracleRingTakeRewardReq uint16 = 5207 - MiracleRingTakeRewardRsp uint16 = 5202 - MistTrialDungeonFailNotify uint16 = 8135 - MistTrialFloorLevelNotify uint16 = 968 - MistTrialGetChallengeMissionReq uint16 = 8893 - MistTrialGetChallengeMissionRsp uint16 = 8508 - MistTrialGetDungeonExhibitionDataReq uint16 = 8740 - MistTrialGetDungeonExhibitionDataRsp uint16 = 8066 - MistTrialSelectAvatarAndEnterDungeonReq uint16 = 8666 - MistTrialSelectAvatarAndEnterDungeonRsp uint16 = 8239 - MistTrialSettleNotify uint16 = 8373 - MonsterAIConfigHashNotify uint16 = 3039 - MonsterAlertChangeNotify uint16 = 363 - MonsterForceAlertNotify uint16 = 395 - MonsterPointArrayRouteUpdateNotify uint16 = 3410 - MonsterSummonTagNotify uint16 = 1372 - MpBlockNotify uint16 = 1801 - MpPlayGuestReplyInviteReq uint16 = 1848 - MpPlayGuestReplyInviteRsp uint16 = 1850 - MpPlayGuestReplyNotify uint16 = 1812 - MpPlayInviteResultNotify uint16 = 1815 - MpPlayOwnerCheckReq uint16 = 1814 - MpPlayOwnerCheckRsp uint16 = 1847 - MpPlayOwnerInviteNotify uint16 = 1835 - MpPlayOwnerStartInviteReq uint16 = 1837 - MpPlayOwnerStartInviteRsp uint16 = 1823 - MpPlayPrepareInterruptNotify uint16 = 1813 - MpPlayPrepareNotify uint16 = 1833 - MultistagePlayEndNotify uint16 = 5355 - MultistagePlayFinishStageReq uint16 = 5398 - MultistagePlayFinishStageRsp uint16 = 5381 - MultistagePlayInfoNotify uint16 = 5372 - MultistagePlaySettleNotify uint16 = 5313 - MultistagePlayStageEndNotify uint16 = 5379 - MuqadasPotionActivityEnterDungeonReq uint16 = 24602 - MuqadasPotionActivityEnterDungeonRsp uint16 = 21804 - MuqadasPotionCaptureWeaknessReq uint16 = 20011 - MuqadasPotionCaptureWeaknessRsp uint16 = 24081 - MuqadasPotionDungeonSettleNotify uint16 = 20005 - MuqadasPotionRestartDungeonReq uint16 = 22391 - MuqadasPotionRestartDungeonRsp uint16 = 21208 - MusicGameSettleReq uint16 = 8892 - MusicGameSettleRsp uint16 = 8673 - MusicGameStartReq uint16 = 8406 - MusicGameStartRsp uint16 = 8326 - NavMeshStatsNotify uint16 = 2316 - NicknameAuditConfigNotify uint16 = 152 - NightCrowGadgetObservationMatchReq uint16 = 876 - NightCrowGadgetObservationMatchRsp uint16 = 846 - NormalUidOpNotify uint16 = 5726 - NpcTalkReq uint16 = 572 - NpcTalkRsp uint16 = 598 - NpcTalkStateNotify uint16 = 430 - ObstacleModifyNotify uint16 = 2312 - OfferingInteractReq uint16 = 2918 - OfferingInteractRsp uint16 = 2908 - OneofGatherPointDetectorDataNotify uint16 = 4297 - OpActivityDataNotify uint16 = 5112 - OpActivityStateNotify uint16 = 2572 - OpActivityUpdateNotify uint16 = 5135 - OpenBlossomCircleCampGuideNotify uint16 = 2703 - OpenStateChangeNotify uint16 = 127 - OpenStateUpdateNotify uint16 = 193 + MiracleRingTakeRewardReq uint16 = 5235 + MiracleRingTakeRewardRsp uint16 = 5227 + MistTrialDungeonFailNotify uint16 = 8320 + MistTrialFloorLevelNotify uint16 = 988 + MistTrialGetChallengeMissionReq uint16 = 8048 + MistTrialGetChallengeMissionRsp uint16 = 8193 + MistTrialGetDungeonExhibitionDataReq uint16 = 8983 + MistTrialGetDungeonExhibitionDataRsp uint16 = 8903 + MistTrialSelectAvatarAndEnterDungeonReq uint16 = 8226 + MistTrialSelectAvatarAndEnterDungeonRsp uint16 = 8658 + MistTrialSettleNotify uint16 = 8116 + MonsterAIConfigHashNotify uint16 = 3050 + MonsterAlertChangeNotify uint16 = 303 + MonsterForceAlertNotify uint16 = 333 + MonsterPointArrayRouteUpdateNotify uint16 = 3384 + MonsterSummonTagNotify uint16 = 1379 + MpBlockNotify uint16 = 1806 + MpPlayGuestReplyInviteReq uint16 = 1837 + MpPlayGuestReplyInviteRsp uint16 = 1804 + MpPlayGuestReplyNotify uint16 = 1810 + MpPlayInviteResultNotify uint16 = 1839 + MpPlayOwnerCheckReq uint16 = 1802 + MpPlayOwnerCheckRsp uint16 = 1843 + MpPlayOwnerInviteNotify uint16 = 1821 + MpPlayOwnerStartInviteReq uint16 = 1809 + MpPlayOwnerStartInviteRsp uint16 = 1830 + MpPlayPrepareInterruptNotify uint16 = 1850 + MpPlayPrepareNotify uint16 = 1801 + MultistagePlayEndNotify uint16 = 5345 + MultistagePlayFinishStageReq uint16 = 5330 + MultistagePlayFinishStageRsp uint16 = 5325 + MultistagePlayInfoNotify uint16 = 5379 + MultistagePlaySettleNotify uint16 = 5360 + MultistagePlayStageEndNotify uint16 = 5392 + MuqadasPotionActivityEnterDungeonReq uint16 = 22772 + MuqadasPotionActivityEnterDungeonRsp uint16 = 22650 + MuqadasPotionCaptureWeaknessReq uint16 = 24162 + MuqadasPotionCaptureWeaknessRsp uint16 = 21366 + MuqadasPotionDungeonSettleNotify uint16 = 22734 + MuqadasPotionRestartDungeonReq uint16 = 20087 + MuqadasPotionRestartDungeonRsp uint16 = 20780 + MusicGameSettleReq uint16 = 8998 + MusicGameSettleRsp uint16 = 8360 + MusicGameStartReq uint16 = 8820 + MusicGameStartRsp uint16 = 8216 + NavMeshStatsNotify uint16 = 2323 + NicknameAuditConfigNotify uint16 = 171 + NightCrowGadgetObservationMatchReq uint16 = 895 + NightCrowGadgetObservationMatchRsp uint16 = 864 + NormalUidOpNotify uint16 = 5742 + NpcTalkReq uint16 = 579 + NpcTalkRsp uint16 = 530 + NpcTalkStateNotify uint16 = 450 + ObstacleModifyNotify uint16 = 2356 + OfferingInteractReq uint16 = 2920 + OfferingInteractRsp uint16 = 2906 + OneoffGatherPointDetectorDataNotify uint16 = 4293 + OpActivityDataNotify uint16 = 5156 + OpActivityStateNotify uint16 = 2579 + OpActivityUpdateNotify uint16 = 5119 + OpenBlossomCircleCampGuideNotify uint16 = 2761 + OpenStateChangeNotify uint16 = 117 + OpenStateUpdateNotify uint16 = 107 OrderDisplayNotify uint16 = 4131 - OrderFinishNotify uint16 = 4125 - OtherPlayerEnterHomeNotify uint16 = 4628 - OutStuckCustomDungeonReq uint16 = 6211 - OutStuckCustomDungeonRsp uint16 = 6234 - PSNBlackListNotify uint16 = 4040 - PSNFriendListNotify uint16 = 4087 - PSPlayerApplyEnterMpReq uint16 = 1841 - PSPlayerApplyEnterMpRsp uint16 = 1842 - ParentQuestInferenceDataNotify uint16 = 402 - PathfindingEnterSceneReq uint16 = 2307 - PathfindingEnterSceneRsp uint16 = 2321 - PathfindingPingNotify uint16 = 2335 - PersistentDungeonSwitchAvatarReq uint16 = 1684 - PersistentDungeonSwitchAvatarRsp uint16 = 1768 - PersonalLineAllDataReq uint16 = 474 - PersonalLineAllDataRsp uint16 = 476 - PersonalLineNewUnlockNotify uint16 = 442 - PersonalSceneJumpReq uint16 = 284 - PersonalSceneJumpRsp uint16 = 280 - PhotoActivityClientViewReq uint16 = 8709 - PhotoActivityClientViewRsp uint16 = 8983 - PhotoActivityFinishReq uint16 = 8921 - PhotoActivityFinishRsp uint16 = 8854 - PingReq uint16 = 7 - PingRsp uint16 = 21 - PlantFlowerAcceptAllGiveFlowerReq uint16 = 8808 - PlantFlowerAcceptAllGiveFlowerRsp uint16 = 8888 - PlantFlowerAcceptGiveFlowerReq uint16 = 8383 - PlantFlowerAcceptGiveFlowerRsp uint16 = 8567 - PlantFlowerEditFlowerCombinationReq uint16 = 8843 - PlantFlowerEditFlowerCombinationRsp uint16 = 8788 - PlantFlowerGetCanGiveFriendFlowerReq uint16 = 8716 - PlantFlowerGetCanGiveFriendFlowerRsp uint16 = 8766 - PlantFlowerGetFriendFlowerWishListReq uint16 = 8126 - PlantFlowerGetFriendFlowerWishListRsp uint16 = 8511 - PlantFlowerGetRecvFlowerListReq uint16 = 8270 - PlantFlowerGetRecvFlowerListRsp uint16 = 8374 - PlantFlowerGetSeedInfoReq uint16 = 8560 - PlantFlowerGetSeedInfoRsp uint16 = 8764 - PlantFlowerGiveFriendFlowerReq uint16 = 8846 - PlantFlowerGiveFriendFlowerRsp uint16 = 8386 - PlantFlowerHaveRecvFlowerNotify uint16 = 8078 - PlantFlowerSetFlowerWishReq uint16 = 8547 - PlantFlowerSetFlowerWishRsp uint16 = 8910 - PlantFlowerTakeSeedRewardReq uint16 = 8968 - PlantFlowerTakeSeedRewardRsp uint16 = 8860 - PlatformChangeRouteNotify uint16 = 268 - PlatformStartRouteNotify uint16 = 218 - PlatformStopRouteNotify uint16 = 266 - PlayerAllowEnterMpAfterAgreeMatchNotify uint16 = 4199 - PlayerApplyEnterHomeNotify uint16 = 4533 - PlayerApplyEnterHomeResultNotify uint16 = 4468 - PlayerApplyEnterHomeResultReq uint16 = 4693 - PlayerApplyEnterHomeResultRsp uint16 = 4706 - PlayerApplyEnterMpAfterMatchAgreedNotify uint16 = 4195 - PlayerApplyEnterMpNotify uint16 = 1826 - PlayerApplyEnterMpReq uint16 = 1818 - PlayerApplyEnterMpResultNotify uint16 = 1807 - PlayerApplyEnterMpResultReq uint16 = 1802 + OrderFinishNotify uint16 = 4122 + OtherPlayerEnterHomeNotify uint16 = 4749 + OutStuckCustomDungeonReq uint16 = 6213 + OutStuckCustomDungeonRsp uint16 = 6238 + ParentQuestInferenceDataNotify uint16 = 493 + PathfindingEnterSceneReq uint16 = 2400 + PathfindingEnterSceneRsp uint16 = 2343 + PathfindingPingNotify uint16 = 2319 + PerformOperationNotify uint16 = 1176 + PersistentDungeonSwitchAvatarReq uint16 = 1624 + PersistentDungeonSwitchAvatarRsp uint16 = 1677 + PersonalLineAllDataReq uint16 = 434 + PersonalLineAllDataRsp uint16 = 495 + PersonalLineNewUnlockNotify uint16 = 411 + PersonalSceneJumpReq uint16 = 252 + PersonalSceneJumpRsp uint16 = 274 + PhotoActivityClientViewReq uint16 = 9000 + PhotoActivityClientViewRsp uint16 = 8963 + PhotoActivityFinishReq uint16 = 8395 + PhotoActivityFinishRsp uint16 = 8847 + PingReq uint16 = 100 + PingRsp uint16 = 43 + PlantFlowerAcceptAllGiveFlowerReq uint16 = 8240 + PlantFlowerAcceptAllGiveFlowerRsp uint16 = 8313 + PlantFlowerAcceptGiveFlowerReq uint16 = 8300 + PlantFlowerAcceptGiveFlowerRsp uint16 = 8554 + PlantFlowerEditFlowerCombinationReq uint16 = 8396 + PlantFlowerEditFlowerCombinationRsp uint16 = 8684 + PlantFlowerGetCanGiveFriendFlowerReq uint16 = 8545 + PlantFlowerGetCanGiveFriendFlowerRsp uint16 = 8273 + PlantFlowerGetFriendFlowerWishListReq uint16 = 8132 + PlantFlowerGetFriendFlowerWishListRsp uint16 = 8682 + PlantFlowerGetRecvFlowerListReq uint16 = 8662 + PlantFlowerGetRecvFlowerListRsp uint16 = 8229 + PlantFlowerGetSeedInfoReq uint16 = 8674 + PlantFlowerGetSeedInfoRsp uint16 = 8912 + PlantFlowerGiveFriendFlowerReq uint16 = 8930 + PlantFlowerGiveFriendFlowerRsp uint16 = 8559 + PlantFlowerHaveRecvFlowerNotify uint16 = 8101 + PlantFlowerSetFlowerWishReq uint16 = 8420 + PlantFlowerSetFlowerWishRsp uint16 = 8324 + PlantFlowerTakeSeedRewardReq uint16 = 8611 + PlantFlowerTakeSeedRewardRsp uint16 = 8685 + PlatformChangeRouteNotify uint16 = 288 + PlatformStartRouteNotify uint16 = 208 + PlatformStopRouteNotify uint16 = 209 + PlayerAllowEnterMpAfterAgreeMatchNotify uint16 = 4184 + PlayerApplyEnterHomeNotify uint16 = 4486 + PlayerApplyEnterHomeResultNotify uint16 = 4793 + PlayerApplyEnterHomeResultReq uint16 = 4646 + PlayerApplyEnterHomeResultRsp uint16 = 4542 + PlayerApplyEnterMpAfterMatchAgreedNotify uint16 = 4168 + PlayerApplyEnterMpNotify uint16 = 1842 + PlayerApplyEnterMpReq uint16 = 1841 + PlayerApplyEnterMpResultNotify uint16 = 1835 + PlayerApplyEnterMpResultReq uint16 = 1827 PlayerApplyEnterMpResultRsp uint16 = 1831 - PlayerApplyEnterMpRsp uint16 = 1825 - PlayerCancelMatchReq uint16 = 4157 - PlayerCancelMatchRsp uint16 = 4152 - PlayerChatCDNotify uint16 = 3367 - PlayerChatNotify uint16 = 3010 - PlayerChatReq uint16 = 3185 - PlayerChatRsp uint16 = 3228 - PlayerCompoundMaterialBoostReq uint16 = 185 - PlayerCompoundMaterialBoostRsp uint16 = 125 - PlayerCompoundMaterialReq uint16 = 150 - PlayerCompoundMaterialRsp uint16 = 143 - PlayerConfirmMatchReq uint16 = 4172 - PlayerConfirmMatchRsp uint16 = 4194 - PlayerCookArgsReq uint16 = 166 - PlayerCookArgsRsp uint16 = 168 - PlayerCookReq uint16 = 194 - PlayerCookRsp uint16 = 188 - PlayerDataNotify uint16 = 190 - PlayerDeathZoneNotify uint16 = 6275 - PlayerEnterDungeonReq uint16 = 912 - PlayerEnterDungeonRsp uint16 = 935 - PlayerEnterSceneInfoNotify uint16 = 214 - PlayerEnterSceneNotify uint16 = 272 - PlayerEyePointStateNotify uint16 = 3051 - PlayerFishingDataNotify uint16 = 5835 - PlayerForceExitReq uint16 = 189 - PlayerForceExitRsp uint16 = 159 - PlayerGCGMatchConfirmNotify uint16 = 4185 - PlayerGCGMatchDismissNotify uint16 = 4173 - PlayerGameTimeNotify uint16 = 131 - PlayerGeneralMatchConfirmNotify uint16 = 4192 - PlayerGeneralMatchDismissNotify uint16 = 4191 - PlayerGetForceQuitBanInfoReq uint16 = 4164 - PlayerGetForceQuitBanInfoRsp uint16 = 4197 - PlayerHomeCompInfoNotify uint16 = 4880 - PlayerInjectFixNotify uint16 = 132 - PlayerInvestigationAllInfoNotify uint16 = 1928 - PlayerInvestigationNotify uint16 = 1911 - PlayerInvestigationTargetNotify uint16 = 1929 - PlayerLevelRewardUpdateNotify uint16 = 200 - PlayerLoginReq uint16 = 112 - PlayerLoginRsp uint16 = 135 - PlayerLogoutNotify uint16 = 103 - PlayerLogoutReq uint16 = 107 - PlayerLogoutRsp uint16 = 121 - PlayerLuaShellNotify uint16 = 133 - PlayerMatchAgreedResultNotify uint16 = 4170 - PlayerMatchInfoNotify uint16 = 4175 + PlayerApplyEnterMpRsp uint16 = 1822 + PlayerCancelMatchReq uint16 = 4185 + PlayerCancelMatchRsp uint16 = 4177 + PlayerChatCDNotify uint16 = 3450 + PlayerChatNotify uint16 = 3265 + PlayerChatReq uint16 = 3305 + PlayerChatRsp uint16 = 3087 + PlayerCompoundMaterialBoostReq uint16 = 159 + PlayerCompoundMaterialBoostRsp uint16 = 129 + PlayerCompoundMaterialReq uint16 = 146 + PlayerCompoundMaterialRsp uint16 = 175 + PlayerConfirmMatchReq uint16 = 4167 + PlayerConfirmMatchRsp uint16 = 4162 + PlayerCookArgsReq uint16 = 109 + PlayerCookArgsRsp uint16 = 188 + PlayerCookReq uint16 = 105 + PlayerCookRsp uint16 = 194 + PlayerDataNotify uint16 = 147 + PlayerDeathZoneNotify uint16 = 6272 + PlayerEnterDungeonReq uint16 = 956 + PlayerEnterDungeonRsp uint16 = 919 + PlayerEnterSceneInfoNotify uint16 = 241 + PlayerEnterSceneNotify uint16 = 279 + PlayerEyePointStateNotify uint16 = 3079 + PlayerFishingDataNotify uint16 = 5821 + PlayerForceExitReq uint16 = 126 + PlayerForceExitRsp uint16 = 177 + PlayerGameTimeByLuaNotify uint16 = 186 + PlayerGameTimeNotify uint16 = 127 + PlayerGCGMatchConfirmNotify uint16 = 4171 + PlayerGCGMatchDismissNotify uint16 = 4180 + PlayerGeneralMatchConfirmNotify uint16 = 4195 + PlayerGeneralMatchDismissNotify uint16 = 4158 + PlayerGetForceQuitBanInfoReq uint16 = 4152 + PlayerGetForceQuitBanInfoRsp uint16 = 4193 + PlayerHomeCompInfoNotify uint16 = 4818 + PlayerInjectFixNotify uint16 = 165 + PlayerInvestigationAllInfoNotify uint16 = 1916 + PlayerInvestigationNotify uint16 = 1915 + PlayerInvestigationTargetNotify uint16 = 1902 + PlayerLevelRewardUpdateNotify uint16 = 104 + PlayerLoginReq uint16 = 156 + PlayerLoginRsp uint16 = 119 + PlayerLogoutNotify uint16 = 161 + PlayerLogoutReq uint16 = 200 + PlayerLogoutRsp uint16 = 143 + PlayerLuaShellNotify uint16 = 166 + PlayerMatchAgreedResultNotify uint16 = 4165 + PlayerMatchInfoNotify uint16 = 4172 PlayerMatchStopNotify uint16 = 4181 - PlayerMatchSuccNotify uint16 = 4179 - PlayerNicknameAuditDataNotify uint16 = 108 - PlayerNicknameNotify uint16 = 109 - PlayerOfferingDataNotify uint16 = 2923 - PlayerOfferingReq uint16 = 2907 - PlayerOfferingRsp uint16 = 2917 - PlayerPreEnterMpNotify uint16 = 1822 - PlayerPropChangeNotify uint16 = 139 - PlayerPropChangeReasonNotify uint16 = 1299 - PlayerPropNotify uint16 = 175 - PlayerQuitDungeonReq uint16 = 907 - PlayerQuitDungeonRsp uint16 = 921 - PlayerQuitFromHomeNotify uint16 = 4656 - PlayerQuitFromMpNotify uint16 = 1829 - PlayerRandomCookReq uint16 = 126 - PlayerRandomCookRsp uint16 = 163 - PlayerRechargeDataNotify uint16 = 4102 - PlayerReportReq uint16 = 4024 - PlayerReportRsp uint16 = 4056 - PlayerRoutineDataNotify uint16 = 3526 - PlayerSetLanguageReq uint16 = 142 - PlayerSetLanguageRsp uint16 = 130 - PlayerSetOnlyMPWithPSPlayerReq uint16 = 1820 - PlayerSetOnlyMPWithPSPlayerRsp uint16 = 1845 - PlayerSetPauseReq uint16 = 124 - PlayerSetPauseRsp uint16 = 156 - PlayerSignatureAuditDataNotify uint16 = 4060 - PlayerSignatureNotify uint16 = 4014 - PlayerStartMatchReq uint16 = 4176 - PlayerStartMatchRsp uint16 = 4168 - PlayerStoreNotify uint16 = 672 - PlayerTimeNotify uint16 = 191 - PlayerWorldSceneInfoListNotify uint16 = 3129 - PostEnterSceneReq uint16 = 3312 - PostEnterSceneRsp uint16 = 3184 - PotionEnterDungeonNotify uint16 = 8531 - PotionEnterDungeonReq uint16 = 8261 - PotionEnterDungeonRsp uint16 = 8482 - PotionResetChallengeReq uint16 = 8377 - PotionResetChallengeRsp uint16 = 8067 - PotionRestartDungeonReq uint16 = 8273 - PotionRestartDungeonRsp uint16 = 8062 - PotionSaveDungeonResultReq uint16 = 8192 - PotionSaveDungeonResultRsp uint16 = 8688 - PrivateChatNotify uint16 = 4962 - PrivateChatReq uint16 = 5022 - PrivateChatRsp uint16 = 5048 - ProfilePictureChangeNotify uint16 = 4016 - ProjectorOptionReq uint16 = 863 - ProjectorOptionRsp uint16 = 895 - ProudSkillChangeNotify uint16 = 1031 - ProudSkillExtraLevelNotify uint16 = 1081 - ProudSkillUpgradeReq uint16 = 1073 - ProudSkillUpgradeRsp uint16 = 1099 - PublishCustomDungeonReq uint16 = 6242 - PublishCustomDungeonRsp uint16 = 6214 - PublishUgcReq uint16 = 6344 - PublishUgcRsp uint16 = 6349 - PullPrivateChatReq uint16 = 4971 - PullPrivateChatRsp uint16 = 4953 - PullRecentChatReq uint16 = 5040 - PullRecentChatRsp uint16 = 5023 - PushTipsAllDataNotify uint16 = 2222 - PushTipsChangeNotify uint16 = 2265 - PushTipsReadFinishReq uint16 = 2204 - PushTipsReadFinishRsp uint16 = 2293 - QueryCodexMonsterBeKilledNumReq uint16 = 4203 - QueryCodexMonsterBeKilledNumRsp uint16 = 4209 - QueryPathReq uint16 = 2372 - QueryPathRsp uint16 = 2398 - QuestCreateEntityReq uint16 = 499 - QuestCreateEntityRsp uint16 = 431 - QuestDelNotify uint16 = 412 - QuestDestroyEntityReq uint16 = 475 + PlayerMatchSuccNotify uint16 = 4194 + PlayerNicknameAuditDataNotify uint16 = 162 + PlayerNicknameNotify uint16 = 151 + PlayerOfferingDataNotify uint16 = 2911 + PlayerOfferingReq uint16 = 2915 + PlayerOfferingRsp uint16 = 2916 + PlayerPreEnterMpNotify uint16 = 1817 + PlayerPropChangeNotify uint16 = 116 + PlayerPropChangeReasonNotify uint16 = 1257 + PlayerPropNotify uint16 = 139 + PlayerQuitDungeonReq uint16 = 1000 + PlayerQuitDungeonRsp uint16 = 943 + PlayerQuitFromHomeNotify uint16 = 4724 + PlayerQuitFromMpNotify uint16 = 1844 + PlayerRandomCookReq uint16 = 172 + PlayerRandomCookRsp uint16 = 103 + PlayerRechargeDataNotify uint16 = 4127 + PlayerReportReq uint16 = 4022 + PlayerReportRsp uint16 = 4082 + PlayerRoutineDataNotify uint16 = 3542 + PlayerSetLanguageReq uint16 = 111 + PlayerSetLanguageRsp uint16 = 150 + PlayerSetOnlyMPWithPSPlayerReq uint16 = 1815 + PlayerSetOnlyMPWithPSPlayerRsp uint16 = 1818 + PlayerSetPauseReq uint16 = 122 + PlayerSetPauseRsp uint16 = 182 + PlayerSignatureAuditDataNotify uint16 = 4036 + PlayerSignatureNotify uint16 = 4041 + PlayerStartMatchReq uint16 = 4192 + PlayerStartMatchRsp uint16 = 4191 + PlayerStoreNotify uint16 = 679 + PlayerTimeNotify uint16 = 121 + PlayerWorldSceneInfoListNotify uint16 = 3059 + PostEnterSceneReq uint16 = 3286 + PostEnterSceneRsp uint16 = 3094 + PotionEnterDungeonNotify uint16 = 8777 + PotionEnterDungeonReq uint16 = 8945 + PotionEnterDungeonRsp uint16 = 8679 + PotionResetChallengeReq uint16 = 8331 + PotionResetChallengeRsp uint16 = 8804 + PotionRestartDungeonReq uint16 = 8575 + PotionRestartDungeonRsp uint16 = 8492 + PotionSaveDungeonResultReq uint16 = 8672 + PotionSaveDungeonResultRsp uint16 = 8579 + PrivateChatNotify uint16 = 5006 + PrivateChatReq uint16 = 5029 + PrivateChatRsp uint16 = 4980 + ProfilePictureChangeNotify uint16 = 4023 + ProjectorOptionReq uint16 = 803 + ProjectorOptionRsp uint16 = 833 + ProudSkillChangeNotify uint16 = 1027 + ProudSkillExtraLevelNotify uint16 = 1025 + ProudSkillUpgradeReq uint16 = 1078 + ProudSkillUpgradeRsp uint16 = 1057 + PSNBlackListNotify uint16 = 4085 + PSNFriendListNotify uint16 = 4087 + PSPlayerApplyEnterMpReq uint16 = 1808 + PSPlayerApplyEnterMpRsp uint16 = 1845 + PublishCustomDungeonReq uint16 = 6245 + PublishCustomDungeonRsp uint16 = 6202 + PublishUgcReq uint16 = 6312 + PublishUgcRsp uint16 = 6334 + PullPrivateChatReq uint16 = 4993 + PullPrivateChatRsp uint16 = 5011 + PullRecentChatReq uint16 = 4997 + PullRecentChatRsp uint16 = 5028 + PushTipsAllDataNotify uint16 = 2237 + PushTipsChangeNotify uint16 = 2289 + PushTipsReadFinishReq uint16 = 2244 + PushTipsReadFinishRsp uint16 = 2207 + QueryCodexMonsterBeKilledNumReq uint16 = 4204 + QueryCodexMonsterBeKilledNumRsp uint16 = 4202 + QueryPathReq uint16 = 2379 + QueryPathRsp uint16 = 2330 + QuestCreateEntityReq uint16 = 457 + QuestCreateEntityRsp uint16 = 427 + QuestDelNotify uint16 = 456 + QuestDestroyEntityReq uint16 = 439 QuestDestroyEntityRsp uint16 = 448 - QuestDestroyNpcReq uint16 = 422 - QuestDestroyNpcRsp uint16 = 465 - QuestGlobalVarNotify uint16 = 434 - QuestListNotify uint16 = 472 - QuestListUpdateNotify uint16 = 498 - QuestProgressUpdateNotify uint16 = 482 - QuestTransmitReq uint16 = 450 - QuestTransmitRsp uint16 = 443 - QuestUpdateQuestTimeVarNotify uint16 = 456 - QuestUpdateQuestVarNotify uint16 = 453 - QuestUpdateQuestVarReq uint16 = 447 - QuestUpdateQuestVarRsp uint16 = 439 - QuickOpenActivityReq uint16 = 8178 - QuickOpenActivityRsp uint16 = 8882 - QuickUseWidgetReq uint16 = 4299 - QuickUseWidgetRsp uint16 = 4270 - ReadMailNotify uint16 = 1412 - ReadNicknameAuditReq uint16 = 177 - ReadNicknameAuditRsp uint16 = 137 - ReadPrivateChatReq uint16 = 5049 - ReadPrivateChatRsp uint16 = 4981 - ReadSignatureAuditReq uint16 = 4020 - ReadSignatureAuditRsp uint16 = 4064 - ReceivedTrialAvatarActivityRewardReq uint16 = 2130 - ReceivedTrialAvatarActivityRewardRsp uint16 = 2076 - RechargeReq uint16 = 4126 - RechargeRsp uint16 = 4118 - RedeemLegendaryKeyReq uint16 = 446 - RedeemLegendaryKeyRsp uint16 = 441 - ReformFireworksReq uint16 = 6036 - ReformFireworksRsp uint16 = 5929 - RefreshBackgroundAvatarReq uint16 = 1743 - RefreshBackgroundAvatarRsp uint16 = 1800 - RefreshEntityAuthNotify uint16 = 3259 - RefreshRogueDiaryCardReq uint16 = 8991 - RefreshRogueDiaryCardRsp uint16 = 8028 - RefreshRoguelikeDungeonCardReq uint16 = 8279 - RefreshRoguelikeDungeonCardRsp uint16 = 8349 - RegionSearchChangeRegionNotify uint16 = 5618 - RegionSearchNotify uint16 = 5626 - RegionalPlayInfoNotify uint16 = 6276 - ReliquaryDecomposeReq uint16 = 638 - ReliquaryDecomposeRsp uint16 = 611 - ReliquaryPromoteReq uint16 = 627 - ReliquaryPromoteRsp uint16 = 694 - ReliquaryUpgradeReq uint16 = 604 - ReliquaryUpgradeRsp uint16 = 693 - RemotePlayerWidgetNotify uint16 = 5995 - RemoveBlacklistReq uint16 = 4063 - RemoveBlacklistRsp uint16 = 4095 - RemoveCustomDungeonReq uint16 = 6249 - RemoveCustomDungeonRsp uint16 = 6220 - RemoveRandTaskInfoNotify uint16 = 161 - ReplayCustomDungeonReq uint16 = 6243 - ReplayCustomDungeonRsp uint16 = 6240 - ReportFightAntiCheatNotify uint16 = 368 - ReportTrackingIOInfoNotify uint16 = 4129 - RequestLiveInfoReq uint16 = 894 - RequestLiveInfoRsp uint16 = 888 - ReserveRogueDiaryAvatarReq uint16 = 8748 - ReserveRogueDiaryAvatarRsp uint16 = 8799 - ResetRogueDiaryPlayReq uint16 = 8127 - ResetRogueDiaryPlayRsp uint16 = 8948 - ResinCardDataUpdateNotify uint16 = 4149 - ResinChangeNotify uint16 = 642 - RestartEffigyChallengeReq uint16 = 2148 - RestartEffigyChallengeRsp uint16 = 2042 - ResumeRogueDiaryDungeonReq uint16 = 8838 - ResumeRogueDiaryDungeonRsp uint16 = 8989 - RetryCurRogueDiaryDungeonReq uint16 = 8398 - RetryCurRogueDiaryDungeonRsp uint16 = 8334 - ReunionActivateNotify uint16 = 5085 - ReunionBriefInfoReq uint16 = 5076 - ReunionBriefInfoRsp uint16 = 5068 - ReunionDailyRefreshNotify uint16 = 5100 - ReunionPrivilegeChangeNotify uint16 = 5098 - ReunionSettleNotify uint16 = 5073 - RobotPushPlayerDataNotify uint16 = 97 - RogueCellUpdateNotify uint16 = 8642 - RogueDiaryCoinAddNotify uint16 = 8602 - RogueDiaryDungeonInfoNotify uint16 = 8597 - RogueDiaryDungeonSettleNotify uint16 = 8895 - RogueDiaryRepairInfoNotify uint16 = 8641 - RogueDiaryReviveAvatarReq uint16 = 8038 - RogueDiaryReviveAvatarRsp uint16 = 8343 - RogueDiaryTiredAvatarNotify uint16 = 8514 - RogueDungeonPlayerCellChangeNotify uint16 = 8347 - RogueFinishRepairReq uint16 = 8363 - RogueFinishRepairRsp uint16 = 8535 - RogueHealAvatarsReq uint16 = 8947 - RogueHealAvatarsRsp uint16 = 8949 - RogueResumeDungeonReq uint16 = 8795 - RogueResumeDungeonRsp uint16 = 8647 - RogueSwitchAvatarReq uint16 = 8201 - RogueSwitchAvatarRsp uint16 = 8915 - RoguelikeCardGachaNotify uint16 = 8925 - RoguelikeEffectDataNotify uint16 = 8222 - RoguelikeEffectViewReq uint16 = 8528 - RoguelikeEffectViewRsp uint16 = 8639 - RoguelikeGiveUpReq uint16 = 8660 - RoguelikeGiveUpRsp uint16 = 8139 - RoguelikeMistClearNotify uint16 = 8324 - RoguelikeRefreshCardCostUpdateNotify uint16 = 8927 - RoguelikeResourceBonusPropUpdateNotify uint16 = 8555 - RoguelikeRuneRecordUpdateNotify uint16 = 8973 - RoguelikeSelectAvatarAndEnterDungeonReq uint16 = 8457 - RoguelikeSelectAvatarAndEnterDungeonRsp uint16 = 8538 - RoguelikeTakeStageFirstPassRewardReq uint16 = 8421 - RoguelikeTakeStageFirstPassRewardRsp uint16 = 8552 - SalesmanDeliverItemReq uint16 = 2138 - SalesmanDeliverItemRsp uint16 = 2104 - SalesmanTakeRewardReq uint16 = 2191 - SalesmanTakeRewardRsp uint16 = 2110 - SalesmanTakeSpecialRewardReq uint16 = 2145 - SalesmanTakeSpecialRewardRsp uint16 = 2124 - SalvageEscortRestartReq uint16 = 8396 - SalvageEscortRestartRsp uint16 = 8959 - SalvageEscortSettleNotify uint16 = 8499 - SalvagePreventRestartReq uint16 = 8367 - SalvagePreventRestartRsp uint16 = 8938 - SalvagePreventSettleNotify uint16 = 8231 - SaveCoopDialogReq uint16 = 2000 - SaveCoopDialogRsp uint16 = 1962 - SaveCustomDungeonRoomReq uint16 = 6225 - SaveCustomDungeonRoomRsp uint16 = 6207 - SaveMainCoopReq uint16 = 1975 - SaveMainCoopRsp uint16 = 1957 - SaveUgcReq uint16 = 6329 - SaveUgcRsp uint16 = 6322 - SceneAreaUnlockNotify uint16 = 293 - SceneAreaWeatherNotify uint16 = 230 - SceneAudioNotify uint16 = 3166 - SceneAvatarStaminaStepReq uint16 = 299 - SceneAvatarStaminaStepRsp uint16 = 231 - SceneCreateEntityReq uint16 = 288 - SceneCreateEntityRsp uint16 = 226 - SceneDataNotify uint16 = 3203 - SceneDestroyEntityReq uint16 = 263 - SceneDestroyEntityRsp uint16 = 295 - SceneEntitiesMoveCombineNotify uint16 = 3387 - SceneEntitiesMovesReq uint16 = 279 - SceneEntitiesMovesRsp uint16 = 255 - SceneEntityAppearNotify uint16 = 221 - SceneEntityDisappearNotify uint16 = 203 - SceneEntityDrownReq uint16 = 227 - SceneEntityDrownRsp uint16 = 294 - SceneEntityMoveNotify uint16 = 275 - SceneEntityMoveReq uint16 = 290 - SceneEntityMoveRsp uint16 = 273 - SceneEntityUpdateNotify uint16 = 3412 - SceneForceLockNotify uint16 = 234 - SceneForceUnlockNotify uint16 = 206 - SceneGalleryInfoNotify uint16 = 5581 - SceneGalleryVintageHuntingSettleNotify uint16 = 20324 - SceneInitFinishReq uint16 = 235 - SceneInitFinishRsp uint16 = 207 - SceneKickPlayerNotify uint16 = 211 - SceneKickPlayerReq uint16 = 264 - SceneKickPlayerRsp uint16 = 238 - ScenePlayBattleInfoListNotify uint16 = 4431 - ScenePlayBattleInfoNotify uint16 = 4422 - ScenePlayBattleInterruptNotify uint16 = 4425 + QuestDestroyNpcReq uint16 = 437 + QuestDestroyNpcRsp uint16 = 489 + QuestGlobalVarNotify uint16 = 480 + QuestListNotify uint16 = 479 + QuestListUpdateNotify uint16 = 430 + QuestProgressUpdateNotify uint16 = 490 + QuestRenameAvatarReq uint16 = 487 + QuestRenameAvatarRsp uint16 = 485 + QuestTransmitReq uint16 = 446 + QuestTransmitRsp uint16 = 475 + QuestUpdateQuestTimeVarNotify uint16 = 482 + QuestUpdateQuestVarNotify uint16 = 473 + QuestUpdateQuestVarReq uint16 = 476 + QuestUpdateQuestVarRsp uint16 = 416 + QuickOpenActivityReq uint16 = 8302 + QuickOpenActivityRsp uint16 = 8677 + QuickUseWidgetReq uint16 = 4284 + QuickUseWidgetRsp uint16 = 4265 + ReadMailNotify uint16 = 1456 + ReadNicknameAuditReq uint16 = 132 + ReadNicknameAuditRsp uint16 = 168 + ReadPrivateChatReq uint16 = 5007 + ReadPrivateChatRsp uint16 = 4977 + ReadSignatureAuditReq uint16 = 4002 + ReadSignatureAuditRsp uint16 = 4012 + ReceivedTrialAvatarActivityRewardReq uint16 = 2155 + ReceivedTrialAvatarActivityRewardRsp uint16 = 2175 + RechargeReq uint16 = 4142 + RechargeRsp uint16 = 4141 + RedeemLegendaryKeyReq uint16 = 464 + RedeemLegendaryKeyRsp uint16 = 467 + ReformFireworksReq uint16 = 6074 + ReformFireworksRsp uint16 = 6062 + RefreshBackgroundAvatarReq uint16 = 1765 + RefreshBackgroundAvatarRsp uint16 = 1744 + RefreshEntityAuthNotify uint16 = 3099 + RefreshRogueDiaryCardReq uint16 = 8868 + RefreshRogueDiaryCardRsp uint16 = 8359 + RefreshRoguelikeDungeonCardReq uint16 = 8065 + RefreshRoguelikeDungeonCardRsp uint16 = 8994 + RegionalPlayInfoNotify uint16 = 6292 + RegionSearchChangeRegionNotify uint16 = 5641 + RegionSearchNotify uint16 = 5642 + ReliquaryDecomposeReq uint16 = 631 + ReliquaryDecomposeRsp uint16 = 601 + ReliquaryFilterStateNotify uint16 = 669 + ReliquaryFilterStateSaveNotify uint16 = 638 + ReliquaryPromoteReq uint16 = 617 + ReliquaryPromoteRsp uint16 = 605 + ReliquaryUpgradeReq uint16 = 644 + ReliquaryUpgradeRsp uint16 = 607 + RemotePlayerWidgetNotify uint16 = 5910 + RemoveBlacklistReq uint16 = 4003 + RemoveBlacklistRsp uint16 = 4033 + RemoveCustomDungeonReq uint16 = 6234 + RemoveCustomDungeonRsp uint16 = 6215 + RemoveRandTaskInfoNotify uint16 = 198 + ReplayCustomDungeonReq uint16 = 6214 + ReplayCustomDungeonRsp uint16 = 6248 + ReportFightAntiCheatNotify uint16 = 388 + ReportTrackingIOInfoNotify uint16 = 4144 + RequestLiveInfoReq uint16 = 805 + RequestLiveInfoRsp uint16 = 894 + ReserveRogueDiaryAvatarReq uint16 = 8311 + ReserveRogueDiaryAvatarRsp uint16 = 8901 + ResetRogueDiaryPlayReq uint16 = 8125 + ResetRogueDiaryPlayRsp uint16 = 8943 + ResinCardDataUpdateNotify uint16 = 4134 + ResinChangeNotify uint16 = 611 + RestartCoinCollectPlaySingleModeReq uint16 = 21382 + RestartCoinCollectPlaySingleModeRsp uint16 = 23294 + RestartEffigyChallengeReq uint16 = 2051 + RestartEffigyChallengeRsp uint16 = 2172 + ResumeRogueDiaryDungeonReq uint16 = 8704 + ResumeRogueDiaryDungeonRsp uint16 = 8332 + RetryCurRogueDiaryDungeonReq uint16 = 8696 + RetryCurRogueDiaryDungeonRsp uint16 = 8269 + ReunionActivateNotify uint16 = 5071 + ReunionBriefInfoReq uint16 = 5092 + ReunionBriefInfoRsp uint16 = 5091 + ReunionDailyRefreshNotify uint16 = 5054 + ReunionPrivilegeChangeNotify uint16 = 5087 + ReunionSettleNotify uint16 = 5080 + RobotPushPlayerDataNotify uint16 = 99 + RogueCellUpdateNotify uint16 = 8851 + RogueDiaryCoinAddNotify uint16 = 8525 + RogueDiaryDungeonInfoNotify uint16 = 8096 + RogueDiaryDungeonSettleNotify uint16 = 8726 + RogueDiaryRepairInfoNotify uint16 = 8084 + RogueDiaryReviveAvatarReq uint16 = 8678 + RogueDiaryReviveAvatarRsp uint16 = 8061 + RogueDiaryTiredAvatarNotify uint16 = 8660 + RogueDungeonPlayerCellChangeNotify uint16 = 8093 + RogueFinishRepairReq uint16 = 8483 + RogueFinishRepairRsp uint16 = 8503 + RogueHealAvatarsReq uint16 = 8175 + RogueHealAvatarsRsp uint16 = 8252 + RoguelikeCardGachaNotify uint16 = 8057 + RoguelikeEffectDataNotify uint16 = 8544 + RoguelikeEffectViewReq uint16 = 8605 + RoguelikeEffectViewRsp uint16 = 8437 + RoguelikeGiveUpReq uint16 = 8442 + RoguelikeGiveUpRsp uint16 = 8905 + RoguelikeMistClearNotify uint16 = 8768 + RoguelikeRefreshCardCostUpdateNotify uint16 = 8210 + RoguelikeResourceBonusPropUpdateNotify uint16 = 8426 + RoguelikeRuneRecordUpdateNotify uint16 = 8629 + RoguelikeSelectAvatarAndEnterDungeonReq uint16 = 8988 + RoguelikeSelectAvatarAndEnterDungeonRsp uint16 = 8910 + RoguelikeTakeStageFirstPassRewardReq uint16 = 8531 + RoguelikeTakeStageFirstPassRewardRsp uint16 = 8182 + RogueResumeDungeonReq uint16 = 8275 + RogueResumeDungeonRsp uint16 = 8772 + RogueSwitchAvatarReq uint16 = 8399 + RogueSwitchAvatarRsp uint16 = 8445 + SalesmanDeliverItemReq uint16 = 2057 + SalesmanDeliverItemRsp uint16 = 2151 + SalesmanTakeRewardReq uint16 = 2069 + SalesmanTakeRewardRsp uint16 = 2026 + SalesmanTakeSpecialRewardReq uint16 = 2067 + SalesmanTakeSpecialRewardRsp uint16 = 2044 + SalvageEscortRestartReq uint16 = 8520 + SalvageEscortRestartRsp uint16 = 8553 + SalvageEscortSettleNotify uint16 = 8798 + SalvagePreventRestartReq uint16 = 8796 + SalvagePreventRestartRsp uint16 = 8493 + SalvagePreventSettleNotify uint16 = 8435 + SaveCoopDialogReq uint16 = 1954 + SaveCoopDialogRsp uint16 = 1960 + SaveCustomDungeonRoomReq uint16 = 6222 + SaveCustomDungeonRoomRsp uint16 = 6235 + SaveMainCoopReq uint16 = 1972 + SaveMainCoopRsp uint16 = 1985 + SaveUgcReq uint16 = 6344 + SaveUgcRsp uint16 = 6317 + SceneAreaUnlockNotify uint16 = 207 + SceneAreaWeatherNotify uint16 = 250 + SceneAudioNotify uint16 = 3009 + SceneAvatarStaminaStepReq uint16 = 257 + SceneAvatarStaminaStepRsp uint16 = 227 + SceneCreateEntityReq uint16 = 294 + SceneCreateEntityRsp uint16 = 272 + SceneDataNotify uint16 = 3368 + SceneDestroyEntityReq uint16 = 203 + SceneDestroyEntityRsp uint16 = 233 + SceneEntitiesMoveCombineNotify uint16 = 3452 + SceneEntitiesMovesReq uint16 = 292 + SceneEntitiesMovesRsp uint16 = 245 + SceneEntityAppearNotify uint16 = 243 + SceneEntityDisappearNotify uint16 = 261 + SceneEntityDrownReq uint16 = 217 + SceneEntityDrownRsp uint16 = 205 + SceneEntityMoveNotify uint16 = 239 + SceneEntityMoveReq uint16 = 247 + SceneEntityMoveRsp uint16 = 278 + SceneEntityUpdateNotify uint16 = 3115 + SceneForceLockNotify uint16 = 280 + SceneForceUnlockNotify uint16 = 210 + SceneGalleryInfoNotify uint16 = 5525 + SceneGalleryVintageHuntingSettleNotify uint16 = 22325 + SceneInitFinishReq uint16 = 219 + SceneInitFinishRsp uint16 = 300 + SceneKickPlayerNotify uint16 = 201 + SceneKickPlayerReq uint16 = 212 + SceneKickPlayerRsp uint16 = 231 + ScenePlayBattleInfoListNotify uint16 = 4375 + ScenePlayBattleInfoNotify uint16 = 4429 + ScenePlayBattleInterruptNotify uint16 = 4389 ScenePlayBattleResultNotify uint16 = 4398 - ScenePlayBattleUidOpNotify uint16 = 4447 - ScenePlayGuestReplyInviteReq uint16 = 4353 - ScenePlayGuestReplyInviteRsp uint16 = 4440 - ScenePlayGuestReplyNotify uint16 = 4423 - ScenePlayInfoListNotify uint16 = 4381 - ScenePlayInviteResultNotify uint16 = 4449 - ScenePlayOutofRegionNotify uint16 = 4355 - ScenePlayOwnerCheckReq uint16 = 4448 - ScenePlayOwnerCheckRsp uint16 = 4362 - ScenePlayOwnerInviteNotify uint16 = 4371 - ScenePlayOwnerStartInviteReq uint16 = 4385 - ScenePlayOwnerStartInviteRsp uint16 = 4357 - ScenePlayerBackgroundAvatarRefreshNotify uint16 = 3274 - ScenePlayerInfoNotify uint16 = 267 + ScenePlayBattleUidOpNotify uint16 = 4449 + ScenePlayerBackgroundAvatarRefreshNotify uint16 = 3388 + ScenePlayerInfoNotify uint16 = 253 ScenePlayerLocationNotify uint16 = 248 - ScenePlayerSoundNotify uint16 = 233 - ScenePointUnlockNotify uint16 = 247 - SceneRouteChangeNotify uint16 = 240 - SceneTeamUpdateNotify uint16 = 1775 - SceneTimeNotify uint16 = 245 - SceneTransToPointReq uint16 = 239 - SceneTransToPointRsp uint16 = 253 - SceneWeatherForecastReq uint16 = 3110 - SceneWeatherForecastRsp uint16 = 3012 - SeaLampCoinNotify uint16 = 2114 - SeaLampContributeItemReq uint16 = 2123 - SeaLampContributeItemRsp uint16 = 2139 - SeaLampFlyLampNotify uint16 = 2105 - SeaLampFlyLampReq uint16 = 2199 - SeaLampFlyLampRsp uint16 = 2192 - SeaLampPopularityNotify uint16 = 2032 - SeaLampTakeContributionRewardReq uint16 = 2019 - SeaLampTakeContributionRewardRsp uint16 = 2177 - SeaLampTakePhaseRewardReq uint16 = 2176 - SeaLampTakePhaseRewardRsp uint16 = 2190 - SealBattleBeginNotify uint16 = 289 - SealBattleEndNotify uint16 = 259 - SealBattleProgressNotify uint16 = 232 - SearchCustomDungeonReq uint16 = 6233 - SearchCustomDungeonRsp uint16 = 6215 - SeeMonsterReq uint16 = 228 - SeeMonsterRsp uint16 = 251 - SelectAsterMidDifficultyReq uint16 = 2134 - SelectAsterMidDifficultyRsp uint16 = 2180 - SelectEffigyChallengeConditionReq uint16 = 2064 - SelectEffigyChallengeConditionRsp uint16 = 2039 - SelectRoguelikeDungeonCardReq uint16 = 8085 - SelectRoguelikeDungeonCardRsp uint16 = 8138 - SelectWorktopOptionReq uint16 = 807 - SelectWorktopOptionRsp uint16 = 821 - ServerAnnounceNotify uint16 = 2197 - ServerAnnounceRevokeNotify uint16 = 2092 - ServerBuffChangeNotify uint16 = 361 - ServerCombatEndNotify uint16 = 1105 - ServerCondMeetQuestListUpdateNotify uint16 = 406 - ServerDisconnectClientNotify uint16 = 184 - ServerGlobalValueChangeNotify uint16 = 1197 - ServerLogNotify uint16 = 31 - ServerMessageNotify uint16 = 5718 - ServerTimeNotify uint16 = 99 - ServerTryCancelGeneralMatchNotify uint16 = 4187 + ScenePlayerSoundNotify uint16 = 266 + ScenePlayGuestReplyInviteReq uint16 = 4411 + ScenePlayGuestReplyInviteRsp uint16 = 4397 + ScenePlayGuestReplyNotify uint16 = 4428 + ScenePlayInfoListNotify uint16 = 4377 + ScenePlayInviteResultNotify uint16 = 4407 + ScenePlayOutofRegionNotify uint16 = 4392 + ScenePlayOwnerCheckReq uint16 = 4380 + ScenePlayOwnerCheckRsp uint16 = 4406 + ScenePlayOwnerInviteNotify uint16 = 4393 + ScenePlayOwnerStartInviteReq uint16 = 4369 + ScenePlayOwnerStartInviteRsp uint16 = 4450 + ScenePointUnlockNotify uint16 = 276 + SceneRouteChangeNotify uint16 = 285 + SceneTeamUpdateNotify uint16 = 1728 + SceneTimeNotify uint16 = 296 + SceneTransToPointReq uint16 = 216 + SceneTransToPointRsp uint16 = 273 + SceneWeatherForecastReq uint16 = 3350 + SceneWeatherForecastRsp uint16 = 3064 + SeaLampCoinNotify uint16 = 2188 + SeaLampContributeItemReq uint16 = 2133 + SeaLampContributeItemRsp uint16 = 2116 + SeaLampFlyLampNotify uint16 = 2114 + SeaLampFlyLampReq uint16 = 2187 + SeaLampFlyLampRsp uint16 = 2161 + SeaLampPopularityNotify uint16 = 2135 + SeaLampTakeContributionRewardReq uint16 = 2199 + SeaLampTakeContributionRewardRsp uint16 = 2003 + SeaLampTakePhaseRewardReq uint16 = 2006 + SeaLampTakePhaseRewardRsp uint16 = 2105 + SealBattleBeginNotify uint16 = 226 + SealBattleEndNotify uint16 = 277 + SealBattleProgressNotify uint16 = 265 + SearchCustomDungeonReq uint16 = 6201 + SearchCustomDungeonRsp uint16 = 6239 + SeeMonsterReq uint16 = 206 + SeeMonsterRsp uint16 = 255 + SelectAsterMidDifficultyReq uint16 = 2060 + SelectAsterMidDifficultyRsp uint16 = 2101 + SelectEffigyChallengeConditionReq uint16 = 2131 + SelectEffigyChallengeConditionRsp uint16 = 2110 + SelectRoguelikeDungeonCardReq uint16 = 8529 + SelectRoguelikeDungeonCardRsp uint16 = 8720 + SelectWorktopOptionReq uint16 = 900 + SelectWorktopOptionRsp uint16 = 843 + ServerAnnounceNotify uint16 = 2129 + ServerAnnounceRevokeNotify uint16 = 2064 + ServerBuffChangeNotify uint16 = 398 + ServerCombatEndNotify uint16 = 1142 + ServerCondMeetQuestListUpdateNotify uint16 = 410 + ServerDisconnectClientNotify uint16 = 152 + ServerGlobalValueChangeNotify uint16 = 1199 + ServerLogNotify uint16 = 27 + ServerMessageNotify uint16 = 5741 + ServerTimeNotify uint16 = 57 + ServerTryCancelGeneralMatchNotify uint16 = 4159 ServerUpdateGlobalValueNotify uint16 = 1148 - SetBattlePassViewedReq uint16 = 2641 - SetBattlePassViewedRsp uint16 = 2642 - SetChatEmojiCollectionReq uint16 = 4084 - SetChatEmojiCollectionRsp uint16 = 4080 - SetCodexPushtipsReadReq uint16 = 4208 - SetCodexPushtipsReadRsp uint16 = 4206 - SetCoopChapterViewedReq uint16 = 1965 - SetCoopChapterViewedRsp uint16 = 1963 - SetCurExpeditionChallengeIdReq uint16 = 2021 - SetCurExpeditionChallengeIdRsp uint16 = 2049 - SetEntityClientDataNotify uint16 = 3146 - SetEquipLockStateReq uint16 = 666 - SetEquipLockStateRsp uint16 = 668 - SetFriendEnterHomeOptionReq uint16 = 4494 - SetFriendEnterHomeOptionRsp uint16 = 4743 - SetFriendRemarkNameReq uint16 = 4042 - SetFriendRemarkNameRsp uint16 = 4030 - SetH5ActivityRedDotTimestampReq uint16 = 5657 - SetH5ActivityRedDotTimestampRsp uint16 = 5652 - SetIsAutoUnlockSpecificEquipReq uint16 = 620 - SetIsAutoUnlockSpecificEquipRsp uint16 = 664 - SetLimitOptimizationNotify uint16 = 8851 - SetNameCardReq uint16 = 4004 - SetNameCardRsp uint16 = 4093 - SetOpenStateReq uint16 = 165 - SetOpenStateRsp uint16 = 104 + SetBattlePassViewedReq uint16 = 2608 + SetBattlePassViewedRsp uint16 = 2645 + SetChatEmojiCollectionReq uint16 = 4052 + SetChatEmojiCollectionRsp uint16 = 4074 + SetCodexPushtipsReadReq uint16 = 4209 + SetCodexPushtipsReadRsp uint16 = 4205 + SetCoopChapterViewedReq uint16 = 1989 + SetCoopChapterViewedRsp uint16 = 2000 + SetCurExpeditionChallengeIdReq uint16 = 2028 + SetCurExpeditionChallengeIdRsp uint16 = 2005 + SetEntityClientDataNotify uint16 = 3318 + SetEquipLockStateReq uint16 = 609 + SetEquipLockStateRsp uint16 = 688 + SetFriendEnterHomeOptionReq uint16 = 4853 + SetFriendEnterHomeOptionRsp uint16 = 4526 + SetFriendRemarkNameReq uint16 = 4011 + SetFriendRemarkNameRsp uint16 = 4050 + SetH5ActivityRedDotTimestampReq uint16 = 5685 + SetH5ActivityRedDotTimestampRsp uint16 = 5677 + SetIsAutoUnlockSpecificEquipReq uint16 = 602 + SetIsAutoUnlockSpecificEquipRsp uint16 = 612 + SetLimitOptimizationNotify uint16 = 8066 + SetNameCardReq uint16 = 4044 + SetNameCardRsp uint16 = 4007 + SetOpenStateReq uint16 = 189 + SetOpenStateRsp uint16 = 144 SetPlayerBirthdayReq uint16 = 4048 - SetPlayerBirthdayRsp uint16 = 4097 - SetPlayerBornDataReq uint16 = 105 - SetPlayerBornDataRsp uint16 = 182 - SetPlayerHeadImageReq uint16 = 4082 - SetPlayerHeadImageRsp uint16 = 4047 - SetPlayerNameReq uint16 = 153 - SetPlayerNameRsp uint16 = 122 - SetPlayerPropReq uint16 = 197 - SetPlayerPropRsp uint16 = 181 - SetPlayerSignatureReq uint16 = 4081 - SetPlayerSignatureRsp uint16 = 4005 - SetSceneWeatherAreaReq uint16 = 254 - SetSceneWeatherAreaRsp uint16 = 283 - SetUpAvatarTeamReq uint16 = 1690 - SetUpAvatarTeamRsp uint16 = 1646 - SetUpLunchBoxWidgetReq uint16 = 4272 - SetUpLunchBoxWidgetRsp uint16 = 4294 - SetWidgetSlotReq uint16 = 4259 - SetWidgetSlotRsp uint16 = 4277 - ShowClientGuideNotify uint16 = 3005 - ShowClientTutorialNotify uint16 = 3305 - ShowCommonTipsNotify uint16 = 3352 - ShowMessageNotify uint16 = 35 - ShowTemplateReminderNotify uint16 = 3491 - SignInInfoReq uint16 = 2512 - SignInInfoRsp uint16 = 2535 - SignatureAuditConfigNotify uint16 = 4092 - SkyCrystalDetectorDataUpdateNotify uint16 = 4287 - SocialDataNotify uint16 = 4043 - SpiceActivityFinishMakeSpiceReq uint16 = 8096 - SpiceActivityFinishMakeSpiceRsp uint16 = 8481 - SpiceActivityGivingRecordNotify uint16 = 8407 - SpiceActivityProcessFoodReq uint16 = 8216 - SpiceActivityProcessFoodRsp uint16 = 8772 - SpringUseReq uint16 = 1748 - SpringUseRsp uint16 = 1642 - StartArenaChallengeLevelReq uint16 = 2127 - StartArenaChallengeLevelRsp uint16 = 2125 - StartBuoyantCombatGalleryReq uint16 = 8732 - StartBuoyantCombatGalleryRsp uint16 = 8680 - StartCoopPointReq uint16 = 1992 - StartCoopPointRsp uint16 = 1964 - StartEffigyChallengeReq uint16 = 2169 - StartEffigyChallengeRsp uint16 = 2173 - StartFishingReq uint16 = 5825 - StartFishingRsp uint16 = 5807 - StartRogueDiaryPlayReq uint16 = 8419 - StartRogueDiaryPlayRsp uint16 = 8385 - StartRogueDiaryRoomReq uint16 = 8159 - StartRogueDiaryRoomRsp uint16 = 8793 - StartRogueEliteCellChallengeReq uint16 = 8242 - StartRogueEliteCellChallengeRsp uint16 = 8958 - StartRogueNormalCellChallengeReq uint16 = 8205 - StartRogueNormalCellChallengeRsp uint16 = 8036 - StopReminderNotify uint16 = 3004 - StoreCustomDungeonReq uint16 = 6213 - StoreCustomDungeonRsp uint16 = 6201 - StoreItemChangeNotify uint16 = 612 - StoreItemDelNotify uint16 = 635 - StoreWeightLimitNotify uint16 = 698 - SubmitInferenceWordReq uint16 = 500 - SubmitInferenceWordRsp uint16 = 416 - SummerTimeFloatSignalPositionNotify uint16 = 8077 - SummerTimeFloatSignalUpdateNotify uint16 = 8781 - SummerTimeSprintBoatRestartReq uint16 = 8410 - SummerTimeSprintBoatRestartRsp uint16 = 8356 - SummerTimeSprintBoatSettleNotify uint16 = 8651 - SummerTimeV2BoatSettleNotify uint16 = 8870 - SummerTimeV2RestartBoatGalleryReq uint16 = 8476 - SummerTimeV2RestartBoatGalleryRsp uint16 = 8004 - SummerTimeV2RestartDungeonReq uint16 = 8346 - SummerTimeV2RestartDungeonRsp uint16 = 8996 - SumoDungeonSettleNotify uint16 = 8291 - SumoEnterDungeonNotify uint16 = 8013 - SumoLeaveDungeonNotify uint16 = 8640 - SumoRestartDungeonReq uint16 = 8612 - SumoRestartDungeonRsp uint16 = 8214 - SumoSaveTeamReq uint16 = 8313 - SumoSaveTeamRsp uint16 = 8319 - SumoSelectTeamAndEnterDungeonReq uint16 = 8215 - SumoSelectTeamAndEnterDungeonRsp uint16 = 8193 - SumoSetNoSwitchPunishTimeNotify uint16 = 8935 - SumoSwitchTeamReq uint16 = 8351 - SumoSwitchTeamRsp uint16 = 8525 - SyncScenePlayTeamEntityNotify uint16 = 3333 - SyncTeamEntityNotify uint16 = 317 - TakeAchievementGoalRewardReq uint16 = 2652 + SetPlayerBirthdayRsp uint16 = 4099 + SetPlayerBornDataReq uint16 = 142 + SetPlayerBornDataRsp uint16 = 190 + SetPlayerHeadImageReq uint16 = 4090 + SetPlayerHeadImageRsp uint16 = 4076 + SetPlayerNameReq uint16 = 173 + SetPlayerNameRsp uint16 = 137 + SetPlayerPropReq uint16 = 199 + SetPlayerPropRsp uint16 = 125 + SetPlayerSignatureReq uint16 = 4025 + SetPlayerSignatureRsp uint16 = 4042 + SetSceneWeatherAreaReq uint16 = 214 + SetSceneWeatherAreaRsp uint16 = 270 + SetUpAvatarTeamReq uint16 = 1713 + SetUpAvatarTeamRsp uint16 = 1622 + SetUpLunchBoxWidgetReq uint16 = 4267 + SetUpLunchBoxWidgetRsp uint16 = 4262 + SetWidgetSlotReq uint16 = 4255 + SetWidgetSlotRsp uint16 = 4261 + ShowClientGuideNotify uint16 = 3369 + ShowClientTutorialNotify uint16 = 3204 + ShowCommonTipsNotify uint16 = 3065 + ShowMessageNotify uint16 = 19 + ShowTemplateReminderNotify uint16 = 3300 + SignatureAuditConfigNotify uint16 = 4097 + SignInInfoReq uint16 = 2556 + SignInInfoRsp uint16 = 2519 + SingleRestartBrickBreakerReq uint16 = 20021 + SingleRestartBrickBreakerRsp uint16 = 22269 + SingleStartBrickBreakerReq uint16 = 23663 + SingleStartBrickBreakerRsp uint16 = 20712 + SkyCrystalDetectorDataUpdateNotify uint16 = 4259 + SocialDataNotify uint16 = 4075 + SpiceActivityFinishMakeSpiceReq uint16 = 8838 + SpiceActivityFinishMakeSpiceRsp uint16 = 8946 + SpiceActivityGivingRecordNotify uint16 = 8719 + SpiceActivityProcessFoodReq uint16 = 8523 + SpiceActivityProcessFoodRsp uint16 = 8381 + SpringUseReq uint16 = 1651 + SpringUseRsp uint16 = 1772 + StartArenaChallengeLevelReq uint16 = 2196 + StartArenaChallengeLevelRsp uint16 = 2171 + StartBuoyantCombatGalleryReq uint16 = 8427 + StartBuoyantCombatGalleryRsp uint16 = 8969 + StartCoopPointReq uint16 = 1995 + StartCoopPointRsp uint16 = 1952 + StartEffigyChallengeReq uint16 = 2157 + StartEffigyChallengeRsp uint16 = 2169 + StartFishingReq uint16 = 5822 + StartFishingRsp uint16 = 5835 + StartRogueDiaryPlayReq uint16 = 8220 + StartRogueDiaryPlayRsp uint16 = 8881 + StartRogueDiaryRoomReq uint16 = 8279 + StartRogueDiaryRoomRsp uint16 = 8806 + StartRogueEliteCellChallengeReq uint16 = 8485 + StartRogueEliteCellChallengeRsp uint16 = 8967 + StartRogueNormalCellChallengeReq uint16 = 8247 + StartRogueNormalCellChallengeRsp uint16 = 8146 + StopReminderNotify uint16 = 3119 + StoreCustomDungeonReq uint16 = 6250 + StoreCustomDungeonRsp uint16 = 6206 + StoreItemChangeNotify uint16 = 656 + StoreItemDelNotify uint16 = 619 + StoreWeightLimitNotify uint16 = 630 + SubmitInferenceWordReq uint16 = 404 + SubmitInferenceWordRsp uint16 = 423 + SummerTimeFloatSignalPositionNotify uint16 = 8701 + SummerTimeFloatSignalUpdateNotify uint16 = 8508 + SummerTimeSprintBoatRestartReq uint16 = 8111 + SummerTimeSprintBoatRestartRsp uint16 = 8466 + SummerTimeSprintBoatSettleNotify uint16 = 8451 + SummerTimeV2BoatSettleNotify uint16 = 8153 + SummerTimeV2RestartBoatGalleryReq uint16 = 8885 + SummerTimeV2RestartBoatGalleryRsp uint16 = 8225 + SummerTimeV2RestartDungeonReq uint16 = 8073 + SummerTimeV2RestartDungeonRsp uint16 = 8686 + SumoDungeonSettleNotify uint16 = 8434 + SumoEnterDungeonNotify uint16 = 8297 + SumoLeaveDungeonNotify uint16 = 8567 + SumoRestartDungeonReq uint16 = 8725 + SumoRestartDungeonRsp uint16 = 8276 + SumoSaveTeamReq uint16 = 8022 + SumoSaveTeamRsp uint16 = 8739 + SumoSelectTeamAndEnterDungeonReq uint16 = 8978 + SumoSelectTeamAndEnterDungeonRsp uint16 = 8744 + SumoSetNoSwitchPunishTimeNotify uint16 = 8610 + SumoSwitchTeamReq uint16 = 8738 + SumoSwitchTeamRsp uint16 = 8201 + SyncScenePlayTeamEntityNotify uint16 = 3393 + SyncTeamEntityNotify uint16 = 391 + TakeAchievementGoalRewardReq uint16 = 2677 TakeAchievementGoalRewardRsp uint16 = 2681 - TakeAchievementRewardReq uint16 = 2675 - TakeAchievementRewardRsp uint16 = 2657 - TakeAsterSpecialRewardReq uint16 = 2097 - TakeAsterSpecialRewardRsp uint16 = 2193 - TakeBackGivingItemReq uint16 = 171 - TakeBackGivingItemRsp uint16 = 145 - TakeBattlePassMissionPointReq uint16 = 2629 - TakeBattlePassMissionPointRsp uint16 = 2622 - TakeBattlePassRewardReq uint16 = 2602 + TakeAchievementRewardReq uint16 = 2672 + TakeAchievementRewardRsp uint16 = 2685 + TakeAsterSpecialRewardReq uint16 = 2019 + TakeAsterSpecialRewardRsp uint16 = 2132 + TakeBackGivingItemReq uint16 = 128 + TakeBackGivingItemRsp uint16 = 196 + TakeBattlePassMissionPointReq uint16 = 2644 + TakeBattlePassMissionPointRsp uint16 = 2617 + TakeBattlePassRewardReq uint16 = 2627 TakeBattlePassRewardRsp uint16 = 2631 - TakeCityReputationExploreRewardReq uint16 = 2897 - TakeCityReputationExploreRewardRsp uint16 = 2881 - TakeCityReputationLevelRewardReq uint16 = 2812 - TakeCityReputationLevelRewardRsp uint16 = 2835 - TakeCityReputationParentQuestReq uint16 = 2821 - TakeCityReputationParentQuestRsp uint16 = 2803 - TakeCompoundOutputReq uint16 = 174 - TakeCompoundOutputRsp uint16 = 176 - TakeCoopRewardReq uint16 = 1973 - TakeCoopRewardRsp uint16 = 1985 - TakeDeliveryDailyRewardReq uint16 = 2121 - TakeDeliveryDailyRewardRsp uint16 = 2162 - TakeEffigyFirstPassRewardReq uint16 = 2196 - TakeEffigyFirstPassRewardRsp uint16 = 2061 - TakeEffigyRewardReq uint16 = 2040 - TakeEffigyRewardRsp uint16 = 2007 - TakeFirstShareRewardReq uint16 = 4074 - TakeFirstShareRewardRsp uint16 = 4076 - TakeFurnitureMakeReq uint16 = 4772 - TakeFurnitureMakeRsp uint16 = 4769 - TakeHuntingOfferReq uint16 = 4326 - TakeHuntingOfferRsp uint16 = 4318 - TakeInvestigationRewardReq uint16 = 1912 - TakeInvestigationRewardRsp uint16 = 1922 - TakeInvestigationTargetRewardReq uint16 = 1918 - TakeInvestigationTargetRewardRsp uint16 = 1916 - TakeMaterialDeleteReturnReq uint16 = 629 - TakeMaterialDeleteReturnRsp uint16 = 657 - TakeOfferingLevelRewardReq uint16 = 2919 - TakeOfferingLevelRewardRsp uint16 = 2911 - TakePlayerLevelRewardReq uint16 = 129 - TakePlayerLevelRewardRsp uint16 = 157 - TakeRegionSearchRewardReq uint16 = 5625 - TakeRegionSearchRewardRsp uint16 = 5607 - TakeResinCardDailyRewardReq uint16 = 4122 - TakeResinCardDailyRewardRsp uint16 = 4144 - TakeReunionFirstGiftRewardReq uint16 = 5075 - TakeReunionFirstGiftRewardRsp uint16 = 5057 - TakeReunionMissionRewardReq uint16 = 5092 - TakeReunionMissionRewardRsp uint16 = 5064 - TakeReunionSignInRewardReq uint16 = 5079 - TakeReunionSignInRewardRsp uint16 = 5072 - TakeReunionWatcherRewardReq uint16 = 5070 - TakeReunionWatcherRewardRsp uint16 = 5095 - TakeoffEquipReq uint16 = 605 - TakeoffEquipRsp uint16 = 682 - TanukiTravelFinishGuideQuestNotify uint16 = 8924 - TaskVarNotify uint16 = 160 - TeamResonanceChangeNotify uint16 = 1082 - ToTheMoonAddObstacleReq uint16 = 6121 - ToTheMoonAddObstacleRsp uint16 = 6103 - ToTheMoonEnterSceneReq uint16 = 6135 - ToTheMoonEnterSceneRsp uint16 = 6107 - ToTheMoonObstaclesModifyNotify uint16 = 6199 - ToTheMoonPingNotify uint16 = 6112 - ToTheMoonQueryPathReq uint16 = 6172 - ToTheMoonQueryPathRsp uint16 = 6198 - ToTheMoonRemoveObstacleReq uint16 = 6190 - ToTheMoonRemoveObstacleRsp uint16 = 6173 - TowerAllDataReq uint16 = 2490 - TowerAllDataRsp uint16 = 2473 - TowerBriefDataNotify uint16 = 2472 + TakeCityReputationExploreRewardReq uint16 = 2899 + TakeCityReputationExploreRewardRsp uint16 = 2825 + TakeCityReputationLevelRewardReq uint16 = 2856 + TakeCityReputationLevelRewardRsp uint16 = 2819 + TakeCityReputationParentQuestReq uint16 = 2843 + TakeCityReputationParentQuestRsp uint16 = 2861 + TakeCompoundOutputReq uint16 = 134 + TakeCompoundOutputRsp uint16 = 195 + TakeCoopRewardReq uint16 = 1980 + TakeCoopRewardRsp uint16 = 1971 + TakeDeliveryDailyRewardReq uint16 = 2075 + TakeDeliveryDailyRewardRsp uint16 = 2174 + TakeEffigyFirstPassRewardReq uint16 = 2138 + TakeEffigyFirstPassRewardRsp uint16 = 2178 + TakeEffigyRewardReq uint16 = 2082 + TakeEffigyRewardRsp uint16 = 2099 + TakeFirstShareRewardReq uint16 = 4034 + TakeFirstShareRewardRsp uint16 = 4095 + TakeFurnitureMakeReq uint16 = 4506 + TakeFurnitureMakeRsp uint16 = 4803 + TakeHuntingOfferReq uint16 = 4342 + TakeHuntingOfferRsp uint16 = 4341 + TakeInvestigationRewardReq uint16 = 1924 + TakeInvestigationRewardRsp uint16 = 1907 + TakeInvestigationTargetRewardReq uint16 = 1903 + TakeInvestigationTargetRewardRsp uint16 = 1905 + TakeMaterialDeleteReturnReq uint16 = 620 + TakeMaterialDeleteReturnRsp uint16 = 663 + TakeoffEquipReq uint16 = 642 + TakeoffEquipRsp uint16 = 690 + TakeOfferingLevelRewardReq uint16 = 2901 + TakeOfferingLevelRewardRsp uint16 = 2902 + TakePlayerLevelRewardReq uint16 = 120 + TakePlayerLevelRewardRsp uint16 = 163 + TakeRegionSearchRewardReq uint16 = 5622 + TakeRegionSearchRewardRsp uint16 = 5635 + TakeResinCardDailyRewardReq uint16 = 4117 + TakeResinCardDailyRewardRsp uint16 = 4112 + TakeReunionFirstGiftRewardReq uint16 = 5072 + TakeReunionFirstGiftRewardRsp uint16 = 5085 + TakeReunionMissionRewardReq uint16 = 5095 + TakeReunionMissionRewardRsp uint16 = 5052 + TakeReunionSignInRewardReq uint16 = 5094 + TakeReunionSignInRewardRsp uint16 = 5067 + TakeReunionWatcherRewardReq uint16 = 5065 + TakeReunionWatcherRewardRsp uint16 = 5068 + TanukiTravelFinishGuideQuestNotify uint16 = 8481 + TaskVarNotify uint16 = 136 + TeamResonanceChangeNotify uint16 = 1090 + ToTheMoonAddObstacleReq uint16 = 6143 + ToTheMoonAddObstacleRsp uint16 = 6161 + ToTheMoonEnterSceneReq uint16 = 6119 + ToTheMoonEnterSceneRsp uint16 = 6200 + ToTheMoonObstaclesModifyNotify uint16 = 6157 + ToTheMoonPingNotify uint16 = 6156 + ToTheMoonQueryPathReq uint16 = 6179 + ToTheMoonQueryPathRsp uint16 = 6130 + ToTheMoonRemoveObstacleReq uint16 = 6147 + ToTheMoonRemoveObstacleRsp uint16 = 6178 + TowerAllDataReq uint16 = 2447 + TowerAllDataRsp uint16 = 2478 + TowerBriefDataNotify uint16 = 2479 TowerBuffSelectReq uint16 = 2448 - TowerBuffSelectRsp uint16 = 2497 - TowerCurLevelRecordChangeNotify uint16 = 2412 - TowerDailyRewardProgressChangeNotify uint16 = 2435 - TowerEnterLevelReq uint16 = 2431 - TowerEnterLevelRsp uint16 = 2475 - TowerFloorRecordChangeNotify uint16 = 2498 - TowerGetFloorStarRewardReq uint16 = 2404 - TowerGetFloorStarRewardRsp uint16 = 2493 - TowerLevelEndNotify uint16 = 2495 - TowerLevelStarCondNotify uint16 = 2406 - TowerMiddleLevelChangeTeamNotify uint16 = 2434 - TowerRecordHandbookReq uint16 = 2450 - TowerRecordHandbookRsp uint16 = 2443 - TowerSurrenderReq uint16 = 2422 - TowerSurrenderRsp uint16 = 2465 - TowerTeamSelectReq uint16 = 2421 - TowerTeamSelectRsp uint16 = 2403 - TreasureMapBonusChallengeNotify uint16 = 2115 - TreasureMapCurrencyNotify uint16 = 2171 - TreasureMapDetectorDataNotify uint16 = 4300 - TreasureMapGuideTaskDoneNotify uint16 = 2119 - TreasureMapHostInfoNotify uint16 = 8681 - TreasureMapMpChallengeNotify uint16 = 2048 - TreasureMapPreTaskDoneNotify uint16 = 2152 - TreasureMapRegionActiveNotify uint16 = 2122 - TreasureMapRegionInfoNotify uint16 = 2185 - TreasureSeelieCollectOrbsNotify uint16 = 20754 - TrialAvatarFirstPassDungeonNotify uint16 = 2013 - TrialAvatarInDungeonIndexNotify uint16 = 2186 - TriggerCreateGadgetToEquipPartNotify uint16 = 350 - TriggerRoguelikeCurseNotify uint16 = 8412 - TriggerRoguelikeRuneReq uint16 = 8463 - TriggerRoguelikeRuneRsp uint16 = 8065 - TryCustomDungeonReq uint16 = 6245 - TryCustomDungeonRsp uint16 = 6241 - TryEnterHomeReq uint16 = 4482 - TryEnterHomeRsp uint16 = 4653 - TryEnterNextRogueDiaryDungeonReq uint16 = 8280 - TryEnterNextRogueDiaryDungeonRsp uint16 = 8362 - TryInterruptRogueDiaryDungeonReq uint16 = 8617 - TryInterruptRogueDiaryDungeonRsp uint16 = 8903 - UgcNotify uint16 = 6341 - UnfreezeGroupLimitNotify uint16 = 3220 - UnionCmdNotify uint16 = 5 - UnlockAvatarTalentReq uint16 = 1072 - UnlockAvatarTalentRsp uint16 = 1098 - UnlockCoopChapterReq uint16 = 1970 - UnlockCoopChapterRsp uint16 = 1995 - UnlockNameCardNotify uint16 = 4006 - UnlockPersonalLineReq uint16 = 449 - UnlockPersonalLineRsp uint16 = 491 - UnlockTransPointReq uint16 = 3035 - UnlockTransPointRsp uint16 = 3426 - UnlockedFurnitureFormulaDataNotify uint16 = 4846 - UnlockedFurnitureSuiteDataNotify uint16 = 4454 - UnmarkEntityInMinMapNotify uint16 = 219 - UpdateAbilityCreatedMovingPlatformNotify uint16 = 881 - UpdatePS4BlockListReq uint16 = 4046 - UpdatePS4BlockListRsp uint16 = 4041 - UpdatePS4FriendListNotify uint16 = 4039 - UpdatePS4FriendListReq uint16 = 4089 - UpdatePS4FriendListRsp uint16 = 4059 - UpdatePlayerShowAvatarListReq uint16 = 4067 - UpdatePlayerShowAvatarListRsp uint16 = 4058 - UpdatePlayerShowNameCardListReq uint16 = 4002 - UpdatePlayerShowNameCardListRsp uint16 = 4019 - UpdateRedPointNotify uint16 = 93 - UpdateReunionWatcherNotify uint16 = 5091 - UpdateSalvageBundleMarkReq uint16 = 8967 - UpdateSalvageBundleMarkRsp uint16 = 8459 - UpgradeRoguelikeShikigamiReq uint16 = 8151 - UpgradeRoguelikeShikigamiRsp uint16 = 8966 - UseItemReq uint16 = 690 - UseItemRsp uint16 = 673 - UseMiracleRingReq uint16 = 5226 - UseMiracleRingRsp uint16 = 5218 - UseWidgetCreateGadgetReq uint16 = 4293 - UseWidgetCreateGadgetRsp uint16 = 4290 - UseWidgetRetractGadgetReq uint16 = 4286 - UseWidgetRetractGadgetRsp uint16 = 4261 - VehicleInteractReq uint16 = 865 - VehicleInteractRsp uint16 = 804 - VehicleStaminaNotify uint16 = 834 - ViewCodexReq uint16 = 4202 - ViewCodexRsp uint16 = 4201 - ViewLanternProjectionLevelTipsReq uint16 = 8758 - ViewLanternProjectionLevelTipsRsp uint16 = 8411 - ViewLanternProjectionTipsReq uint16 = 8218 - ViewLanternProjectionTipsRsp uint16 = 8590 - VintageCampGroupBundleRegisterNotify uint16 = 24244 - VintageCampStageFinishNotify uint16 = 22830 - VintageDecorateBoothReq uint16 = 20846 - VintageDecorateBoothRsp uint16 = 20993 - VintageHuntingStartGalleryReq uint16 = 21780 - VintageHuntingStartGalleryRsp uint16 = 21951 - VintageMarketDeliverItemReq uint16 = 23141 - VintageMarketDeliverItemRsp uint16 = 22181 - VintageMarketDividendFinishNotify uint16 = 23147 - VintageMarketFinishStorePlayReq uint16 = 20676 - VintageMarketFinishStorePlayRsp uint16 = 23462 - VintageMarketNpcEventFinishNotify uint16 = 24201 - VintageMarketStartStorePlayReq uint16 = 22864 - VintageMarketStartStorePlayRsp uint16 = 22130 - VintageMarketStoreChooseStrategyReq uint16 = 21248 - VintageMarketStoreChooseStrategyRsp uint16 = 24860 - VintageMarketStoreUnlockSlotReq uint16 = 20626 - VintageMarketStoreUnlockSlotRsp uint16 = 20733 - VintageMarketStoreViewStrategyReq uint16 = 21700 - VintageMarketStoreViewStrategyRsp uint16 = 21814 - VintagePresentFinishNoify uint16 = 24142 - VintagePresentFinishNotify uint16 = 20086 - WatcherAllDataNotify uint16 = 2272 - WatcherChangeNotify uint16 = 2298 - WatcherEventNotify uint16 = 2212 - WatcherEventStageNotify uint16 = 2207 - WatcherEventTypeNotify uint16 = 2235 - WaterSpritePhaseFinishNotify uint16 = 2025 - WeaponAwakenReq uint16 = 695 - WeaponAwakenRsp uint16 = 606 - WeaponPromoteReq uint16 = 622 - WeaponPromoteRsp uint16 = 665 - WeaponUpgradeReq uint16 = 639 - WeaponUpgradeRsp uint16 = 653 - WearEquipReq uint16 = 697 - WearEquipRsp uint16 = 681 - WidgetActiveChangeNotify uint16 = 4280 - WidgetCaptureAnimalReq uint16 = 4256 - WidgetCaptureAnimalRsp uint16 = 4289 - WidgetCoolDownNotify uint16 = 4295 - WidgetDoBagReq uint16 = 4255 - WidgetDoBagRsp uint16 = 4296 - WidgetGadgetAllDataNotify uint16 = 4284 - WidgetGadgetDataNotify uint16 = 4266 - WidgetGadgetDestroyNotify uint16 = 4274 - WidgetQuickHitTreeReq uint16 = 3345 - WidgetQuickHitTreeRsp uint16 = 3336 - WidgetReportReq uint16 = 4291 - WidgetReportRsp uint16 = 4292 - WidgetSlotChangeNotify uint16 = 4267 - WidgetUpdateExtraCDReq uint16 = 5960 - WidgetUpdateExtraCDRsp uint16 = 6056 - WidgetUseAttachAbilityGroupChangeNotify uint16 = 4258 - WindFieldGalleryChallengeInfoNotify uint16 = 5563 - WindFieldGalleryInfoNotify uint16 = 5526 - WindFieldRestartDungeonReq uint16 = 20731 - WindFieldRestartDungeonRsp uint16 = 24712 - WindSeedClientNotify uint16 = 1199 - WinterCampAcceptAllGiveItemReq uint16 = 9000 - WinterCampAcceptAllGiveItemRsp uint16 = 8626 - WinterCampAcceptGiveItemReq uint16 = 8387 - WinterCampAcceptGiveItemRsp uint16 = 8185 - WinterCampEditSnowmanCombinationReq uint16 = 8144 - WinterCampEditSnowmanCombinationRsp uint16 = 8142 - WinterCampGetCanGiveFriendItemReq uint16 = 8964 - WinterCampGetCanGiveFriendItemRsp uint16 = 8357 - WinterCampGetFriendWishListReq uint16 = 8946 - WinterCampGetFriendWishListRsp uint16 = 8937 - WinterCampGetRecvItemListReq uint16 = 8143 - WinterCampGetRecvItemListRsp uint16 = 8423 - WinterCampGiveFriendItemReq uint16 = 8572 - WinterCampGiveFriendItemRsp uint16 = 8264 - WinterCampRaceScoreNotify uint16 = 8149 - WinterCampRecvItemNotify uint16 = 8580 - WinterCampSetWishListReq uint16 = 8753 - WinterCampSetWishListRsp uint16 = 8281 - WinterCampStageInfoChangeNotify uint16 = 8154 - WinterCampTakeBattleRewardReq uint16 = 8401 - WinterCampTakeBattleRewardRsp uint16 = 8153 - WinterCampTakeExploreRewardReq uint16 = 8607 - WinterCampTakeExploreRewardRsp uint16 = 8978 - WinterCampTriathlonRestartReq uint16 = 8844 - WinterCampTriathlonRestartRsp uint16 = 8569 - WinterCampTriathlonSettleNotify uint16 = 8342 - WorktopOptionNotify uint16 = 835 - WorldAllRoutineTypeNotify uint16 = 3518 - WorldChestOpenNotify uint16 = 3295 - WorldDataNotify uint16 = 3308 - WorldOwnerBlossomBriefInfoNotify uint16 = 2735 - WorldOwnerBlossomScheduleInfoNotify uint16 = 2707 - WorldOwnerDailyTaskNotify uint16 = 102 - WorldPlayerDieNotify uint16 = 285 - WorldPlayerInfoNotify uint16 = 3116 - WorldPlayerLocationNotify uint16 = 258 - WorldPlayerRTTNotify uint16 = 22 - WorldPlayerReviveReq uint16 = 225 - WorldPlayerReviveRsp uint16 = 278 - WorldRoutineChangeNotify uint16 = 3507 - WorldRoutineTypeCloseNotify uint16 = 3502 - WorldRoutineTypeRefreshNotify uint16 = 3525 + TowerBuffSelectRsp uint16 = 2499 + TowerCurLevelRecordChangeNotify uint16 = 2456 + TowerDailyRewardProgressChangeNotify uint16 = 2419 + TowerEnterLevelReq uint16 = 2427 + TowerEnterLevelRsp uint16 = 2439 + TowerFloorRecordChangeNotify uint16 = 2430 + TowerGetFloorStarRewardReq uint16 = 2444 + TowerGetFloorStarRewardRsp uint16 = 2407 + TowerLevelEndNotify uint16 = 2433 + TowerLevelStarCondNotify uint16 = 2410 + TowerMiddleLevelChangeTeamNotify uint16 = 2480 + TowerRecordHandbookReq uint16 = 2446 + TowerRecordHandbookRsp uint16 = 2475 + TowerSurrenderReq uint16 = 2437 + TowerSurrenderRsp uint16 = 2489 + TowerTeamSelectReq uint16 = 2443 + TowerTeamSelectRsp uint16 = 2461 + TreasureMapBonusChallengeNotify uint16 = 2097 + TreasureMapCurrencyNotify uint16 = 2032 + TreasureMapDetectorDataNotify uint16 = 4254 + TreasureMapGuideTaskDoneNotify uint16 = 2046 + TreasureMapHostInfoNotify uint16 = 8296 + TreasureMapMpChallengeNotify uint16 = 2021 + TreasureMapPreTaskDoneNotify uint16 = 2177 + TreasureMapRegionActiveNotify uint16 = 2085 + TreasureMapRegionInfoNotify uint16 = 2179 + TreasureSeelieCollectOrbsNotify uint16 = 20380 + TrialAvatarFirstPassDungeonNotify uint16 = 2134 + TrialAvatarInDungeonIndexNotify uint16 = 2063 + TriggerCreateGadgetToEquipPartNotify uint16 = 346 + TriggerRoguelikeCurseNotify uint16 = 8965 + TriggerRoguelikeRuneReq uint16 = 8822 + TriggerRoguelikeRuneRsp uint16 = 8133 + TryCustomDungeonReq uint16 = 6218 + TryCustomDungeonRsp uint16 = 6208 + TryEnterHomeReq uint16 = 4648 + TryEnterHomeRsp uint16 = 4796 + TryEnterNextRogueDiaryDungeonReq uint16 = 8791 + TryEnterNextRogueDiaryDungeonRsp uint16 = 8487 + TryInterruptRogueDiaryDungeonReq uint16 = 8438 + TryInterruptRogueDiaryDungeonRsp uint16 = 8234 + UgcNotify uint16 = 6308 + UnfreezeGroupLimitNotify uint16 = 3483 + UnionCmdNotify uint16 = 42 + Unk3300_DGBNCDEIIFC uint16 = 952 + Unk3300_DMOBAABGOBF uint16 = 7193 + Unk3300_ICAGMOCOALO uint16 = 4187 + Unk3300_LOINGBJLJEM uint16 = 7048 + UnlockAvatarTalentReq uint16 = 1079 + UnlockAvatarTalentRsp uint16 = 1030 + UnlockCoopChapterReq uint16 = 1965 + UnlockCoopChapterRsp uint16 = 1968 + UnlockedFurnitureFormulaDataNotify uint16 = 4716 + UnlockedFurnitureSuiteDataNotify uint16 = 4532 + UnlockNameCardNotify uint16 = 4010 + UnlockPersonalLineReq uint16 = 415 + UnlockPersonalLineRsp uint16 = 421 + UnlockTransPointReq uint16 = 3200 + UnlockTransPointRsp uint16 = 3046 + UnmarkEntityInMinMapNotify uint16 = 254 + UpdateAbilityCreatedMovingPlatformNotify uint16 = 825 + UpdatePlayerShowAvatarListReq uint16 = 4053 + UpdatePlayerShowAvatarListRsp uint16 = 4024 + UpdatePlayerShowNameCardListReq uint16 = 4093 + UpdatePlayerShowNameCardListRsp uint16 = 4054 + UpdatePS4BlockListReq uint16 = 4064 + UpdatePS4BlockListRsp uint16 = 4067 + UpdatePS4FriendListNotify uint16 = 4016 + UpdatePS4FriendListReq uint16 = 4026 + UpdatePS4FriendListRsp uint16 = 4077 + UpdateRedPointNotify uint16 = 7 + UpdateReunionWatcherNotify uint16 = 5058 + UpdateSalvageBundleMarkReq uint16 = 8906 + UpdateSalvageBundleMarkRsp uint16 = 8620 + UpgradeRoguelikeShikigamiReq uint16 = 8282 + UpgradeRoguelikeShikigamiRsp uint16 = 8314 + UseItemReq uint16 = 647 + UseItemRsp uint16 = 678 + UseMiracleRingReq uint16 = 5242 + UseMiracleRingRsp uint16 = 5241 + UseWidgetCreateGadgetReq uint16 = 4264 + UseWidgetCreateGadgetRsp uint16 = 4298 + UseWidgetRetractGadgetReq uint16 = 4275 + UseWidgetRetractGadgetRsp uint16 = 4263 + VehicleInteractReq uint16 = 889 + VehicleInteractRsp uint16 = 844 + VehicleStaminaNotify uint16 = 880 + ViewCodexReq uint16 = 4206 + ViewCodexRsp uint16 = 4210 + ViewLanternProjectionLevelTipsReq uint16 = 8303 + ViewLanternProjectionLevelTipsRsp uint16 = 8962 + ViewLanternProjectionTipsReq uint16 = 8560 + ViewLanternProjectionTipsRsp uint16 = 8623 + VintageCampGroupBundleRegisterNotify uint16 = 24329 + VintageCampStageFinishNotify uint16 = 21839 + VintageDecorateBoothReq uint16 = 22958 + VintageDecorateBoothRsp uint16 = 21588 + VintageHuntingStartGalleryReq uint16 = 21649 + VintageHuntingStartGalleryRsp uint16 = 22068 + VintageMarketDeliverItemReq uint16 = 21131 + VintageMarketDeliverItemRsp uint16 = 23763 + VintageMarketDividendFinishNotify uint16 = 22064 + VintageMarketFinishStorePlayReq uint16 = 21911 + VintageMarketFinishStorePlayRsp uint16 = 20941 + VintageMarketNpcEventFinishNotify uint16 = 24781 + VintageMarketStartStorePlayReq uint16 = 22447 + VintageMarketStartStorePlayRsp uint16 = 23017 + VintageMarketStoreChooseStrategyReq uint16 = 21624 + VintageMarketStoreChooseStrategyRsp uint16 = 21298 + VintageMarketStoreUnlockSlotReq uint16 = 22367 + VintageMarketStoreUnlockSlotRsp uint16 = 23327 + VintageMarketStoreViewStrategyReq uint16 = 21834 + VintageMarketStoreViewStrategyRsp uint16 = 22881 + VintagePresentFinishNoify uint16 = 21400 + VintagePresentFinishNotify uint16 = 20454 + WatcherAllDataNotify uint16 = 2279 + WatcherChangeNotify uint16 = 2230 + WatcherEventNotify uint16 = 2256 + WatcherEventStageNotify uint16 = 2300 + WatcherEventTypeNotify uint16 = 2219 + WaterSpritePhaseFinishNotify uint16 = 2120 + WeaponAwakenReq uint16 = 633 + WeaponAwakenRsp uint16 = 610 + WeaponPromoteReq uint16 = 637 + WeaponPromoteRsp uint16 = 689 + WeaponUpgradeReq uint16 = 616 + WeaponUpgradeRsp uint16 = 673 + WearEquipReq uint16 = 699 + WearEquipRsp uint16 = 625 + WidgetActiveChangeNotify uint16 = 4297 + WidgetCaptureAnimalReq uint16 = 4279 + WidgetCaptureAnimalRsp uint16 = 4296 + WidgetCoolDownNotify uint16 = 4268 + WidgetDoBagReq uint16 = 4269 + WidgetDoBagRsp uint16 = 4299 + WidgetGadgetAllDataNotify uint16 = 4288 + WidgetGadgetDataNotify uint16 = 4276 + WidgetGadgetDestroyNotify uint16 = 4257 + WidgetQuickHitTreeReq uint16 = 3068 + WidgetQuickHitTreeRsp uint16 = 3250 + WidgetReportReq uint16 = 4258 + WidgetReportRsp uint16 = 4295 + WidgetSlotChangeNotify uint16 = 4278 + WidgetUpdateExtraCDReq uint16 = 5907 + WidgetUpdateExtraCDRsp uint16 = 6076 + WidgetUseAttachAbilityGroupChangeNotify uint16 = 4290 + WidgetWeatherWizardDataNotify uint16 = 5952 + WindFieldGalleryChallengeInfoNotify uint16 = 5503 + WindFieldGalleryInfoNotify uint16 = 5572 + WindFieldRestartDungeonReq uint16 = 24309 + WindFieldRestartDungeonRsp uint16 = 20706 + WindSeedClientNotify uint16 = 1157 + WinterCampAcceptAllGiveItemReq uint16 = 8538 + WinterCampAcceptAllGiveItemRsp uint16 = 8731 + WinterCampAcceptGiveItemReq uint16 = 8516 + WinterCampAcceptGiveItemRsp uint16 = 8966 + WinterCampEditSnowmanCombinationReq uint16 = 8157 + WinterCampEditSnowmanCombinationRsp uint16 = 8951 + WinterCampGetCanGiveFriendItemReq uint16 = 8443 + WinterCampGetCanGiveFriendItemRsp uint16 = 8021 + WinterCampGetFriendWishListReq uint16 = 8764 + WinterCampGetFriendWishListRsp uint16 = 8208 + WinterCampGetRecvItemListReq uint16 = 8794 + WinterCampGetRecvItemListRsp uint16 = 8957 + WinterCampGiveFriendItemReq uint16 = 8102 + WinterCampGiveFriendItemRsp uint16 = 8735 + WinterCampRaceScoreNotify uint16 = 8960 + WinterCampRecvItemNotify uint16 = 8952 + WinterCampSetWishListReq uint16 = 8380 + WinterCampSetWishListRsp uint16 = 8288 + WinterCampStageInfoChangeNotify uint16 = 8878 + WinterCampTakeBattleRewardReq uint16 = 8484 + WinterCampTakeBattleRewardRsp uint16 = 8310 + WinterCampTakeExploreRewardReq uint16 = 8014 + WinterCampTakeExploreRewardRsp uint16 = 8323 + WinterCampTriathlonRestartReq uint16 = 8524 + WinterCampTriathlonRestartRsp uint16 = 8468 + WinterCampTriathlonSettleNotify uint16 = 8194 + WorktopOptionNotify uint16 = 819 + WorldAllRoutineTypeNotify uint16 = 3541 + WorldChestOpenNotify uint16 = 3242 + WorldDataNotify uint16 = 3436 + WorldOwnerBlossomBriefInfoNotify uint16 = 2719 + WorldOwnerBlossomScheduleInfoNotify uint16 = 2800 + WorldOwnerDailyTaskNotify uint16 = 193 + WorldPlayerDieNotify uint16 = 259 + WorldPlayerInfoNotify uint16 = 3150 + WorldPlayerLocationNotify uint16 = 224 + WorldPlayerReviveReq uint16 = 229 + WorldPlayerReviveRsp uint16 = 286 + WorldPlayerRTTNotify uint16 = 37 + WorldRoutineChangeNotify uint16 = 3535 + WorldRoutineTypeCloseNotify uint16 = 3527 + WorldRoutineTypeRefreshNotify uint16 = 3522 ) diff --git a/protocol/cmd/cmd_id_proto_obj_map.go b/protocol/cmd/cmd_id_proto_obj_map.go index 8237b792..9f1963d2 100644 --- a/protocol/cmd/cmd_id_proto_obj_map.go +++ b/protocol/cmd/cmd_id_proto_obj_map.go @@ -248,6 +248,29 @@ func (c *CmdProtoMap) registerAllMessage() { c.registerMessage(VehicleInteractRsp, &proto.VehicleInteractRsp{}) // 载具交互响应 c.registerMessage(VehicleStaminaNotify, &proto.VehicleStaminaNotify{}) // 载具耐力消耗通知 + // 七圣召唤 + c.registerMessage(GCGBasicDataNotify, &proto.GCGBasicDataNotify{}) // GCG基本数据通知 + c.registerMessage(GCGLevelChallengeNotify, &proto.GCGLevelChallengeNotify{}) // GCG等级挑战通知 + c.registerMessage(GCGDSBanCardNotify, &proto.GCGDSBanCardNotify{}) // GCG禁止的卡牌通知 + c.registerMessage(GCGDSDataNotify, &proto.GCGDSDataNotify{}) // GCG数据通知 (解锁的内容) + c.registerMessage(GCGTCTavernChallengeDataNotify, &proto.GCGTCTavernChallengeDataNotify{}) // GCG酒馆挑战数据通知 + c.registerMessage(GCGTCTavernInfoNotify, &proto.GCGTCTavernInfoNotify{}) // GCG酒馆信息通知 + c.registerMessage(GCGTavernNpcInfoNotify, &proto.GCGTavernNpcInfoNotify{}) // GCG酒馆NPC信息通知 + c.registerMessage(GCGGameBriefDataNotify, &proto.GCGGameBriefDataNotify{}) // GCG游戏简要数据通知 + c.registerMessage(GCGAskDuelReq, &proto.GCGAskDuelReq{}) // GCG决斗请求 + c.registerMessage(GCGAskDuelRsp, &proto.GCGAskDuelRsp{}) // GCG决斗响应 + c.registerMessage(GCGInitFinishReq, &proto.GCGInitFinishReq{}) // GCG初始化完成请求 + c.registerMessage(GCGInitFinishRsp, &proto.GCGInitFinishRsp{}) // GCG初始化完成响应 + c.registerMessage(Unk3300_DGBNCDEIIFC, &proto.Unk3300_DGBNCDEIIFC{}) // GCG + c.registerMessage(DungeonWayPointNotify, &proto.DungeonWayPointNotify{}) // GCG + c.registerMessage(DungeonDataNotify, &proto.DungeonDataNotify{}) // GCG + + //// TODO 客户端开始GCG游戏 + //c.registerMessage(GCGStartChallengeByCheckRewardReq, &proto.GCGStartChallengeByCheckRewardReq{}) // GCG开始挑战来自检测奖励请求 + //c.registerMessage(GCGStartChallengeByCheckRewardRsp, &proto.GCGStartChallengeByCheckRewardRsp{}) // GCG开始挑战来自检测奖励响应 + //c.registerMessage(GCGStartChallengeReq, &proto.GCGStartChallengeReq{}) // GCG开始挑战请求 + //c.registerMessage(GCGStartChallengeRsp, &proto.GCGStartChallengeRsp{}) // GCG开始挑战响应 + // 乱七八糟 c.registerMessage(MarkMapReq, &proto.MarkMapReq{}) // 标记地图请求 c.registerMessage(TowerAllDataReq, &proto.TowerAllDataReq{}) // 深渊数据请求 diff --git a/protocol/proto/GCGActionType.proto b/protocol/proto/GCGActionType.proto new file mode 100644 index 00000000..07422837 --- /dev/null +++ b/protocol/proto/GCGActionType.proto @@ -0,0 +1,48 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +enum GCGActionType { + GCG_ACTION_TYPE_NONE = 0; + GCG_ACTION_TYPE_SPECIAL_PHASE = 1; + GCG_ACTION_TYPE_NEXT_PHASE = 2; + GCG_ACTION_TYPE_DRAW = 3; + GCG_ACTION_TYPE_REDRAW = 4; + GCG_ACTION_TYPE_SELECT_ONSTAGE = 5; + GCG_ACTION_TYPE_ROLL = 6; + GCG_ACTION_TYPE_REROLL = 7; + GCG_ACTION_TYPE_ATTACK = 8; + GCG_ACTION_TYPE_PLAY_CARD = 9; + GCG_ACTION_TYPE_PASS = 10; + GCG_ACTION_TYPE_REBOOT = 11; + GCG_ACTION_TYPE_GAME_OVER = 12; + GCG_ACTION_TYPE_TRIGGER = 13; + GCG_ACTION_TYPE_PHASE_EXIT = 14; + GCG_ACTION_TYPE_CUSTOM = 15; + GCG_ACTION_TYPE_NOTIFY_COST = 16; + GCG_ACTION_TYPE_AFTER_OPERATION = 17; + GCG_ACTION_TYPE_USE_SKILL = 18; + GCG_ACTION_TYPE_NOTIFY_SKILL_PREVIEW = 19; + GCG_ACTION_TYPE_PREVIEW_ATTACK = 20; + GCG_ACTION_TYPE_PREVIEW_AFTER_ATTACK = 21; + GCG_ACTION_TYPE_SEND_MESSAGE = 22; + GCG_ACTION_TYPE_WAITING_CHARACTER = 23; + GCG_ACTION_TYPE_TRIGGER_SKILL = 24; + GCG_ACTION_TYPE_BEFORE_NEXT_OPERATION = 25; +} diff --git a/protocol/proto/GCGApplyInviteBattleNotify.proto b/protocol/proto/GCGApplyInviteBattleNotify.proto index 88c2923b..5183a95e 100644 --- a/protocol/proto/GCGApplyInviteBattleNotify.proto +++ b/protocol/proto/GCGApplyInviteBattleNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7820 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGApplyInviteBattleNotify { - bool is_agree = 14; - int32 retcode = 6; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7984; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + bool is_agree = 4; + int32 retcode = 14; } diff --git a/protocol/proto/GCGApplyInviteBattleReq.proto b/protocol/proto/GCGApplyInviteBattleReq.proto index a88a1a02..fcb22c5c 100644 --- a/protocol/proto/GCGApplyInviteBattleReq.proto +++ b/protocol/proto/GCGApplyInviteBattleReq.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7730 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGApplyInviteBattleReq { - bool is_agree = 9; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7032; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + bool is_agree = 12; } diff --git a/protocol/proto/GCGApplyInviteBattleRsp.proto b/protocol/proto/GCGApplyInviteBattleRsp.proto index 59db7bcd..984f4653 100644 --- a/protocol/proto/GCGApplyInviteBattleRsp.proto +++ b/protocol/proto/GCGApplyInviteBattleRsp.proto @@ -16,12 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7304 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGApplyInviteBattleRsp { - int32 retcode = 5; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7754; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 punish_end_time = 6; + int32 retcode = 8; } diff --git a/protocol/proto/GCGAskDuelReq.proto b/protocol/proto/GCGAskDuelReq.proto index 70f520c4..6e8beb61 100644 --- a/protocol/proto/GCGAskDuelReq.proto +++ b/protocol/proto/GCGAskDuelReq.proto @@ -16,11 +16,15 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7237 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true -message GCGAskDuelReq {} +message GCGAskDuelReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7034; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } +} diff --git a/protocol/proto/GCGAskDuelRsp.proto b/protocol/proto/GCGAskDuelRsp.proto index e95ca9e0..70395eb4 100644 --- a/protocol/proto/GCGAskDuelRsp.proto +++ b/protocol/proto/GCGAskDuelRsp.proto @@ -18,13 +18,17 @@ syntax = "proto3"; import "GCGDuel.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7869 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGAskDuelRsp { - int32 retcode = 3; - GCGDuel duel = 13; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7564; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + GCGDuel duel = 9; + int32 retcode = 2; } diff --git a/protocol/proto/GCGAttackCostInfo.proto b/protocol/proto/GCGAttackCostInfo.proto index fefe57da..f14df01b 100644 --- a/protocol/proto/GCGAttackCostInfo.proto +++ b/protocol/proto/GCGAttackCostInfo.proto @@ -16,10 +16,11 @@ syntax = "proto3"; -package proto; +import "Uint32Pair.proto"; + option go_package = "./;proto"; message GCGAttackCostInfo { - uint32 skill_id = 8; - map cost_map = 3; + repeated Uint32Pair cost_map = 1; + uint32 skill_id = 7; } diff --git a/protocol/proto/GCGBackToDuelReq.proto b/protocol/proto/GCGBackToDuelReq.proto new file mode 100644 index 00000000..403448a8 --- /dev/null +++ b/protocol/proto/GCGBackToDuelReq.proto @@ -0,0 +1,32 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGBackToDuelReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7015; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + bool is_back = 10; +} diff --git a/protocol/proto/GCGBackToDuelRsp.proto b/protocol/proto/GCGBackToDuelRsp.proto new file mode 100644 index 00000000..8125811e --- /dev/null +++ b/protocol/proto/GCGBackToDuelRsp.proto @@ -0,0 +1,31 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGBackToDuelRsp { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7039; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 14; +} diff --git a/protocol/proto/GCGBasicDataNotify.proto b/protocol/proto/GCGBasicDataNotify.proto index 17899bc3..5195d08a 100644 --- a/protocol/proto/GCGBasicDataNotify.proto +++ b/protocol/proto/GCGBasicDataNotify.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7319 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGBasicDataNotify { - uint32 level = 9; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7739; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 level = 6; uint32 exp = 4; - repeated uint32 level_reward_taken_list = 12; + repeated uint32 level_reward_taken_list = 14; } diff --git a/protocol/proto/GCGBossChallengeData.proto b/protocol/proto/GCGBossChallengeData.proto index 95e3152c..3712cc0e 100644 --- a/protocol/proto/GCGBossChallengeData.proto +++ b/protocol/proto/GCGBossChallengeData.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGBossChallengeData { - uint32 id = 9; - repeated uint32 unlock_level_id_list = 14; + repeated uint32 unlock_level_id_list = 3; + uint32 id = 10; } diff --git a/protocol/proto/GCGBossChallengeUpdateNotify.proto b/protocol/proto/GCGBossChallengeUpdateNotify.proto index fe8254f5..32d44c3d 100644 --- a/protocol/proto/GCGBossChallengeUpdateNotify.proto +++ b/protocol/proto/GCGBossChallengeUpdateNotify.proto @@ -18,12 +18,16 @@ syntax = "proto3"; import "GCGBossChallengeData.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7073 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGBossChallengeUpdateNotify { - GCGBossChallengeData boss_challenge = 11; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7852; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + GCGBossChallengeData boss_challenge = 7; } diff --git a/protocol/proto/GCGCard.proto b/protocol/proto/GCGCard.proto index 672a4b31..d58654b9 100644 --- a/protocol/proto/GCGCard.proto +++ b/protocol/proto/GCGCard.proto @@ -16,17 +16,19 @@ syntax = "proto3"; +import "GCGSkillLimitsInfo.proto"; import "GCGToken.proto"; -package proto; option go_package = "./;proto"; message GCGCard { - uint32 guid = 15; - repeated GCGToken token_list = 2; - bool is_show = 14; - uint32 controller_id = 7; + repeated uint32 tag_list = 7; + uint32 guid = 11; + bool is_show = 15; + repeated GCGToken token_list = 8; + uint32 face_type = 2; + repeated uint32 skill_id_list = 13; + repeated GCGSkillLimitsInfo skill_limits_list = 3; uint32 id = 6; - repeated uint32 tag_list = 3; - uint32 face_type = 5; + uint32 controller_id = 5; } diff --git a/protocol/proto/GCGCardSkillLimitsInfo.proto b/protocol/proto/GCGCardSkillLimitsInfo.proto new file mode 100644 index 00000000..ee19f0a6 --- /dev/null +++ b/protocol/proto/GCGCardSkillLimitsInfo.proto @@ -0,0 +1,25 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGSkillLimitsInfo.proto"; + +option go_package = "./;proto"; + +message GCGCardSkillLimitsInfo { + repeated GCGSkillLimitsInfo skill_limits_list = 1; +} diff --git a/protocol/proto/GCGChallengeData.proto b/protocol/proto/GCGChallengeData.proto index ab326949..aaa02c82 100644 --- a/protocol/proto/GCGChallengeData.proto +++ b/protocol/proto/GCGChallengeData.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGChallengeData { diff --git a/protocol/proto/GCGChallengeUpdateNotify.proto b/protocol/proto/GCGChallengeUpdateNotify.proto index 0d5cbe2d..34feb554 100644 --- a/protocol/proto/GCGChallengeUpdateNotify.proto +++ b/protocol/proto/GCGChallengeUpdateNotify.proto @@ -18,14 +18,17 @@ syntax = "proto3"; import "GCGDuelChallenge.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7268 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGChallengeUpdateNotify { - uint32 server_seq = 12; - GCGDuelChallenge challenge = 13; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7270; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 server_seq = 15; + GCGDuelChallenge challenge = 1; } diff --git a/protocol/proto/GCGChangeOnstageInfo.proto b/protocol/proto/GCGChangeOnstageInfo.proto new file mode 100644 index 00000000..573624df --- /dev/null +++ b/protocol/proto/GCGChangeOnstageInfo.proto @@ -0,0 +1,27 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGSkillPreviewInfo.proto"; + +option go_package = "./;proto"; + +message GCGChangeOnstageInfo { + bool is_quick = 11; + uint32 card_guid = 6; + GCGSkillPreviewInfo change_onstage_preview_info = 5; +} diff --git a/protocol/proto/GCGClientPerformType.proto b/protocol/proto/GCGClientPerformType.proto index 30d73f0b..f768196f 100644 --- a/protocol/proto/GCGClientPerformType.proto +++ b/protocol/proto/GCGClientPerformType.proto @@ -16,10 +16,11 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGClientPerformType { GCG_CLIENT_PERFORM_TYPE_INVALID = 0; GCG_CLIENT_PERFORM_TYPE_CARD_EXCHANGE = 1; + GCG_CLIENT_PERFORM_TYPE_FIRST_HAND = 2; + GCG_CLIENT_PERFORM_TYPE_REROLL = 3; } diff --git a/protocol/proto/GCGClientSettleReq.proto b/protocol/proto/GCGClientSettleReq.proto index 2e649124..616c4143 100644 --- a/protocol/proto/GCGClientSettleReq.proto +++ b/protocol/proto/GCGClientSettleReq.proto @@ -16,11 +16,15 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7506 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true -message GCGClientSettleReq {} +message GCGClientSettleReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7035; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } +} diff --git a/protocol/proto/GCGClientSettleRsp.proto b/protocol/proto/GCGClientSettleRsp.proto index bf6a4993..35d980d2 100644 --- a/protocol/proto/GCGClientSettleRsp.proto +++ b/protocol/proto/GCGClientSettleRsp.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7105 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGClientSettleRsp { - uint32 close_time = 4; - int32 retcode = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7532; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 close_time = 5; + int32 retcode = 9; } diff --git a/protocol/proto/GCGControllerShowInfo.proto b/protocol/proto/GCGControllerShowInfo.proto index 18fbf1c7..ac99fab3 100644 --- a/protocol/proto/GCGControllerShowInfo.proto +++ b/protocol/proto/GCGControllerShowInfo.proto @@ -18,11 +18,12 @@ syntax = "proto3"; import "ProfilePicture.proto"; -package proto; option go_package = "./;proto"; message GCGControllerShowInfo { - ProfilePicture profile_picture = 11; - string nick_name = 14; - uint32 controller_id = 9; + string psn_id = 12; + string nick_name = 10; + string online_id = 15; + ProfilePicture profile_picture = 3; + uint32 controller_id = 11; } diff --git a/protocol/proto/GCGCostReviseInfo.proto b/protocol/proto/GCGCostReviseInfo.proto index f7267d61..4356ed7d 100644 --- a/protocol/proto/GCGCostReviseInfo.proto +++ b/protocol/proto/GCGCostReviseInfo.proto @@ -20,13 +20,12 @@ import "GCGAttackCostInfo.proto"; import "GCGPlayCardCostInfo.proto"; import "GCGSelectOnStageCostInfo.proto"; -package proto; option go_package = "./;proto"; message GCGCostReviseInfo { - bool is_can_attack = 4; - repeated uint32 can_use_hand_card_id_list = 11; + repeated uint32 can_use_hand_card_id_list = 15; + repeated GCGSelectOnStageCostInfo select_on_stage_cost_list = 13; repeated GCGPlayCardCostInfo play_card_cost_list = 5; - repeated GCGSelectOnStageCostInfo select_on_stage_cost_list = 10; - repeated GCGAttackCostInfo attack_cost_list = 2; + repeated GCGAttackCostInfo attack_cost_list = 12; + bool is_can_attack = 14; } diff --git a/protocol/proto/GCGDSBanCardNotify.proto b/protocol/proto/GCGDSBanCardNotify.proto new file mode 100644 index 00000000..c92487a2 --- /dev/null +++ b/protocol/proto/GCGDSBanCardNotify.proto @@ -0,0 +1,31 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGDSBanCardNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7135; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated uint32 card_list = 10; +} diff --git a/protocol/proto/GCGDSCardBackUnlockNotify.proto b/protocol/proto/GCGDSCardBackUnlockNotify.proto index 05284004..2a7acb55 100644 --- a/protocol/proto/GCGDSCardBackUnlockNotify.proto +++ b/protocol/proto/GCGDSCardBackUnlockNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7265 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSCardBackUnlockNotify { - uint32 card_back_id = 6; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7078; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 card_back_id = 13; } diff --git a/protocol/proto/GCGDSCardData.proto b/protocol/proto/GCGDSCardData.proto index d5695ea1..fc692862 100644 --- a/protocol/proto/GCGDSCardData.proto +++ b/protocol/proto/GCGDSCardData.proto @@ -16,13 +16,13 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGDSCardData { - uint32 card_id = 14; - repeated uint32 unlock_face_type_list = 9; - uint32 num = 12; - uint32 proficiency = 8; - uint32 face_type = 6; + uint32 num = 11; + uint32 face_type = 5; + uint32 card_id = 4; + repeated uint32 proficiency_reward_taken_idx_list = 14; + repeated uint32 unlock_face_type_list = 6; + uint32 proficiency = 10; } diff --git a/protocol/proto/GCGDSCardFaceUnlockNotify.proto b/protocol/proto/GCGDSCardFaceUnlockNotify.proto index efc101fe..7353b074 100644 --- a/protocol/proto/GCGDSCardFaceUnlockNotify.proto +++ b/protocol/proto/GCGDSCardFaceUnlockNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7049 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSCardFaceUnlockNotify { - uint32 card_id = 13; - uint32 face_type = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7767; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 face_type = 13; + uint32 card_id = 8; } diff --git a/protocol/proto/GCGDSCardFaceUpdateNotify.proto b/protocol/proto/GCGDSCardFaceUpdateNotify.proto new file mode 100644 index 00000000..c97593c0 --- /dev/null +++ b/protocol/proto/GCGDSCardFaceUpdateNotify.proto @@ -0,0 +1,32 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGDSCardFaceUpdateNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7066; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 card_id = 9; + uint32 face_type = 1; +} diff --git a/protocol/proto/GCGDSCardNumChangeNotify.proto b/protocol/proto/GCGDSCardNumChangeNotify.proto index e589db41..753c42a8 100644 --- a/protocol/proto/GCGDSCardNumChangeNotify.proto +++ b/protocol/proto/GCGDSCardNumChangeNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7358 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSCardNumChangeNotify { - uint32 card_id = 4; - uint32 num = 10; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7244; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 num = 1; + uint32 card_id = 15; } diff --git a/protocol/proto/GCGDSCardProficiencyNotify.proto b/protocol/proto/GCGDSCardProficiencyNotify.proto index 19d377bf..f3a4ab33 100644 --- a/protocol/proto/GCGDSCardProficiencyNotify.proto +++ b/protocol/proto/GCGDSCardProficiencyNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7680 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSCardProficiencyNotify { - uint32 proficiency = 2; - uint32 card_id = 12; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7969; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 proficiency = 10; + uint32 card_id = 13; } diff --git a/protocol/proto/GCGDSChangeCardBackReq.proto b/protocol/proto/GCGDSChangeCardBackReq.proto index 010e31ea..39c9b4bc 100644 --- a/protocol/proto/GCGDSChangeCardBackReq.proto +++ b/protocol/proto/GCGDSChangeCardBackReq.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7292 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSChangeCardBackReq { - uint32 deck_id = 10; - uint32 card_back_id = 12; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7680; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 card_back_id = 15; + uint32 deck_id = 13; } diff --git a/protocol/proto/GCGDSChangeCardBackRsp.proto b/protocol/proto/GCGDSChangeCardBackRsp.proto index a5223aec..d2b185bb 100644 --- a/protocol/proto/GCGDSChangeCardBackRsp.proto +++ b/protocol/proto/GCGDSChangeCardBackRsp.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7044 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSChangeCardBackRsp { - int32 retcode = 15; - uint32 card_back_id = 6; - uint32 deck_id = 5; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7011; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 13; + uint32 card_back_id = 5; + uint32 deck_id = 9; } diff --git a/protocol/proto/GCGDSChangeCardFaceReq.proto b/protocol/proto/GCGDSChangeCardFaceReq.proto index 71a94e43..0ffa1d72 100644 --- a/protocol/proto/GCGDSChangeCardFaceReq.proto +++ b/protocol/proto/GCGDSChangeCardFaceReq.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7169 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSChangeCardFaceReq { - uint32 face_type = 6; - uint32 card_id = 3; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7010; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 card_id = 9; + uint32 face_type = 14; } diff --git a/protocol/proto/GCGDSChangeCardFaceRsp.proto b/protocol/proto/GCGDSChangeCardFaceRsp.proto index 7747fff2..1bd76896 100644 --- a/protocol/proto/GCGDSChangeCardFaceRsp.proto +++ b/protocol/proto/GCGDSChangeCardFaceRsp.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7331 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSChangeCardFaceRsp { - uint32 face_type = 8; - uint32 card_id = 4; - int32 retcode = 9; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7549; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 face_type = 9; + int32 retcode = 5; + uint32 card_id = 8; } diff --git a/protocol/proto/GCGDSChangeCurDeckReq.proto b/protocol/proto/GCGDSChangeCurDeckReq.proto index cb030d37..578c3251 100644 --- a/protocol/proto/GCGDSChangeCurDeckReq.proto +++ b/protocol/proto/GCGDSChangeCurDeckReq.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7131 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSChangeCurDeckReq { - uint32 deck_id = 3; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7257; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 deck_id = 13; } diff --git a/protocol/proto/GCGDSChangeCurDeckRsp.proto b/protocol/proto/GCGDSChangeCurDeckRsp.proto index 6e796396..8f3e03c8 100644 --- a/protocol/proto/GCGDSChangeCurDeckRsp.proto +++ b/protocol/proto/GCGDSChangeCurDeckRsp.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7301 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSChangeCurDeckRsp { - int32 retcode = 8; - uint32 deck_id = 14; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7908; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 6; + uint32 deck_id = 3; } diff --git a/protocol/proto/GCGDSChangeDeckNameReq.proto b/protocol/proto/GCGDSChangeDeckNameReq.proto index b63ef204..49a9d10c 100644 --- a/protocol/proto/GCGDSChangeDeckNameReq.proto +++ b/protocol/proto/GCGDSChangeDeckNameReq.proto @@ -16,14 +16,19 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7432 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSChangeDeckNameReq { - uint32 deck_id = 13; - string name = 7; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7463; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + bool Unk3300_OIPMFIIBPHB = 11; + uint32 deck_id = 2; + string name = 1; } diff --git a/protocol/proto/GCGDSChangeDeckNameRsp.proto b/protocol/proto/GCGDSChangeDeckNameRsp.proto index ee52f04e..0aaa2615 100644 --- a/protocol/proto/GCGDSChangeDeckNameRsp.proto +++ b/protocol/proto/GCGDSChangeDeckNameRsp.proto @@ -16,14 +16,19 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7916 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSChangeDeckNameRsp { - uint32 deck_id = 13; - int32 retcode = 14; - string name = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7617; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + bool Unk3300_OIPMFIIBPHB = 5; + int32 retcode = 15; + uint32 deck_id = 10; + string name = 7; } diff --git a/protocol/proto/GCGDSChangeFieldReq.proto b/protocol/proto/GCGDSChangeFieldReq.proto index 968ec184..23d0d3b4 100644 --- a/protocol/proto/GCGDSChangeFieldReq.proto +++ b/protocol/proto/GCGDSChangeFieldReq.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7541 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSChangeFieldReq { - uint32 field_id = 6; - uint32 deck_id = 11; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7788; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 field_id = 3; + uint32 deck_id = 13; } diff --git a/protocol/proto/GCGDSChangeFieldRsp.proto b/protocol/proto/GCGDSChangeFieldRsp.proto index 2f64e8dc..dfd494c2 100644 --- a/protocol/proto/GCGDSChangeFieldRsp.proto +++ b/protocol/proto/GCGDSChangeFieldRsp.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7444 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSChangeFieldRsp { - int32 retcode = 1; - uint32 field_id = 3; - uint32 deck_id = 2; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7036; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 14; + uint32 deck_id = 6; + uint32 field_id = 1; } diff --git a/protocol/proto/GCGDSCurDeckChangeNotify.proto b/protocol/proto/GCGDSCurDeckChangeNotify.proto index 615abd92..fe5905b5 100644 --- a/protocol/proto/GCGDSCurDeckChangeNotify.proto +++ b/protocol/proto/GCGDSCurDeckChangeNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7796 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSCurDeckChangeNotify { - uint32 deck_id = 6; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7769; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 deck_id = 3; } diff --git a/protocol/proto/GCGDSDataNotify.proto b/protocol/proto/GCGDSDataNotify.proto index 0a996ee4..23944809 100644 --- a/protocol/proto/GCGDSDataNotify.proto +++ b/protocol/proto/GCGDSDataNotify.proto @@ -19,17 +19,21 @@ syntax = "proto3"; import "GCGDSCardData.proto"; import "GCGDSDeckData.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7122 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSDataNotify { - repeated GCGDSDeckData deck_list = 4; - repeated uint32 unlock_card_back_id_list = 5; - repeated uint32 unlock_field_id_list = 6; - uint32 cur_deck_id = 10; - repeated GCGDSCardData card_list = 3; - repeated uint32 unlock_deck_id_list = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7850; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 cur_deck_id = 8; + repeated GCGDSDeckData deck_list = 3; + repeated uint32 unlock_card_back_id_list = 10; + repeated GCGDSCardData card_list = 9; + repeated uint32 unlock_field_id_list = 5; + repeated uint32 unlock_deck_id_list = 6; } diff --git a/protocol/proto/GCGDSDeckData.proto b/protocol/proto/GCGDSDeckData.proto index 7aa0c823..6c1c7405 100644 --- a/protocol/proto/GCGDSDeckData.proto +++ b/protocol/proto/GCGDSDeckData.proto @@ -16,16 +16,15 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGDSDeckData { + fixed32 create_time = 5; + uint32 field_id = 13; + uint32 card_back_id = 9; repeated uint32 card_list = 1; - uint32 card_back_id = 15; - repeated uint32 character_card_list = 10; - string name = 5; - uint32 id = 3; - fixed32 create_time = 13; - bool is_valid = 4; - uint32 field_id = 7; + repeated uint32 character_card_list = 7; + uint32 id = 12; + string name = 10; + bool is_valid = 15; } diff --git a/protocol/proto/GCGDSDeckSaveReq.proto b/protocol/proto/GCGDSDeckSaveReq.proto index 7253da45..a37df41d 100644 --- a/protocol/proto/GCGDSDeckSaveReq.proto +++ b/protocol/proto/GCGDSDeckSaveReq.proto @@ -16,16 +16,20 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7104 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSDeckSaveReq { - uint32 deck_id = 1; - repeated uint32 card_list = 4; - repeated uint32 character_card_list = 9; - string name = 14; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7713; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 deck_id = 4; + repeated uint32 card_list = 11; + repeated uint32 character_card_list = 6; + string name = 5; } diff --git a/protocol/proto/GCGDSDeckSaveRsp.proto b/protocol/proto/GCGDSDeckSaveRsp.proto index 51e43f4d..f0cb6e98 100644 --- a/protocol/proto/GCGDSDeckSaveRsp.proto +++ b/protocol/proto/GCGDSDeckSaveRsp.proto @@ -16,15 +16,19 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7269 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSDeckSaveRsp { - fixed32 create_time = 14; - uint32 deck_id = 11; - int32 retcode = 8; - bool is_valid = 4; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7459; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 9; + bool is_valid = 5; + uint32 deck_id = 15; + fixed32 create_time = 7; } diff --git a/protocol/proto/GCGDSDeckUnlockNotify.proto b/protocol/proto/GCGDSDeckUnlockNotify.proto index 26701834..e63e411e 100644 --- a/protocol/proto/GCGDSDeckUnlockNotify.proto +++ b/protocol/proto/GCGDSDeckUnlockNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7732 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSDeckUnlockNotify { - uint32 deck_id = 15; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7427; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 deck_id = 14; } diff --git a/protocol/proto/GCGDSDeckUpdateNotify.proto b/protocol/proto/GCGDSDeckUpdateNotify.proto new file mode 100644 index 00000000..cd546b91 --- /dev/null +++ b/protocol/proto/GCGDSDeckUpdateNotify.proto @@ -0,0 +1,32 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGDSDeckUpdateNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7751; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + bool is_valid = 2; + uint32 deck_id = 15; +} diff --git a/protocol/proto/GCGDSDeleteDeckReq.proto b/protocol/proto/GCGDSDeleteDeckReq.proto index 987daffd..5dc3f3aa 100644 --- a/protocol/proto/GCGDSDeleteDeckReq.proto +++ b/protocol/proto/GCGDSDeleteDeckReq.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7988 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGDSDeleteDeckReq { - uint32 deck_id = 15; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7821; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 deck_id = 1; } diff --git a/protocol/proto/GCGDSDeleteDeckRsp.proto b/protocol/proto/GCGDSDeleteDeckRsp.proto index 3a74694d..0764cdfc 100644 --- a/protocol/proto/GCGDSDeleteDeckRsp.proto +++ b/protocol/proto/GCGDSDeleteDeckRsp.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7524 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSDeleteDeckRsp { - int32 retcode = 14; - uint32 deck_id = 7; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7067; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 deck_id = 14; + int32 retcode = 13; } diff --git a/protocol/proto/GCGDSFieldUnlockNotify.proto b/protocol/proto/GCGDSFieldUnlockNotify.proto index a1159cac..b8b6f4c7 100644 --- a/protocol/proto/GCGDSFieldUnlockNotify.proto +++ b/protocol/proto/GCGDSFieldUnlockNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7333 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGDSFieldUnlockNotify { - uint32 field_id = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7860; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 field_id = 12; } diff --git a/protocol/proto/GCGDSTakeCardProficiencyRewardReq.proto b/protocol/proto/GCGDSTakeCardProficiencyRewardReq.proto new file mode 100644 index 00000000..f9fadd7e --- /dev/null +++ b/protocol/proto/GCGDSTakeCardProficiencyRewardReq.proto @@ -0,0 +1,33 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGDSTakeCardProficiencyRewardReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7001; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 reward_index = 15; + uint32 card_id = 3; +} diff --git a/protocol/proto/GCGDSTakeCardProficiencyRewardRsp.proto b/protocol/proto/GCGDSTakeCardProficiencyRewardRsp.proto new file mode 100644 index 00000000..4e77ffeb --- /dev/null +++ b/protocol/proto/GCGDSTakeCardProficiencyRewardRsp.proto @@ -0,0 +1,33 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGDSTakeCardProficiencyRewardRsp { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7718; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 card_id = 6; + int32 retcode = 1; + uint32 reward_index = 15; +} diff --git a/protocol/proto/GCGDamageDetail.proto b/protocol/proto/GCGDamageDetail.proto index 7de13fb2..6639bc6e 100644 --- a/protocol/proto/GCGDamageDetail.proto +++ b/protocol/proto/GCGDamageDetail.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGDamageDetail { - uint32 skill_id = 10; - uint32 card_guid = 7; + uint32 card_guid = 4; + uint32 skill_id = 12; } diff --git a/protocol/proto/GCGDebugReplayNotify.proto b/protocol/proto/GCGDebugReplayNotify.proto new file mode 100644 index 00000000..56536495 --- /dev/null +++ b/protocol/proto/GCGDebugReplayNotify.proto @@ -0,0 +1,31 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGDebugReplayNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7071; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + string json_str = 15; +} diff --git a/protocol/proto/GCGDiceSideType.proto b/protocol/proto/GCGDiceSideType.proto index fc8d9f4c..0fe73103 100644 --- a/protocol/proto/GCGDiceSideType.proto +++ b/protocol/proto/GCGDiceSideType.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGDiceSideType { diff --git a/protocol/proto/GCGDuel.proto b/protocol/proto/GCGDuel.proto index f06865d4..ddc8e424 100644 --- a/protocol/proto/GCGDuel.proto +++ b/protocol/proto/GCGDuel.proto @@ -21,27 +21,33 @@ import "GCGControllerShowInfo.proto"; import "GCGCostReviseInfo.proto"; import "GCGDuelChallenge.proto"; import "GCGGameBusinessType.proto"; +import "GCGMessagePack.proto"; import "GCGPVEIntention.proto"; import "GCGPhase.proto"; import "GCGPlayerField.proto"; +import "Unk3300_ADHENCIFKNI.proto"; -package proto; option go_package = "./;proto"; message GCGDuel { uint32 server_seq = 3; - repeated GCGPlayerField field_list = 7; - GCGGameBusinessType business_type = 14; - repeated GCGDuelChallenge challenge_list = 5; - uint32 game_id = 11; - uint32 controller_id = 13; - uint32 round = 15; - uint32 cur_controller_id = 12; - repeated GCGPVEIntention intention_list = 1; - GCGCostReviseInfo cost_revise = 10; - repeated uint32 card_id_list = 4; - repeated GCGCard card_list = 9; - repeated GCGControllerShowInfo show_info_list = 6; - uint32 game_type = 2; - GCGPhase phase = 8; + repeated GCGControllerShowInfo show_info_list = 7; + repeated uint32 forbid_finish_challenge_list = 192; + repeated GCGCard card_list = 1; + uint32 Unk3300_BIANMOPDEHO = 9; + GCGCostReviseInfo cost_revise = 8; + uint32 game_id = 4; + repeated GCGPlayerField field_list = 5; + repeated Unk3300_ADHENCIFKNI Unk3300_CDCMBOKBLAK = 1987; + GCGGameBusinessType business_type = 13; + repeated GCGPVEIntention intention_list = 2; + repeated GCGDuelChallenge challenge_list = 1617; + repeated GCGCard history_card_list = 1872; + uint32 round = 11; + uint32 controller_id = 12; + repeated GCGMessagePack history_msg_pack_list = 797; + uint32 Unk3300_JHDDNKFPINA = 10; + repeated uint32 card_id_list = 6; + uint32 Unk3300_JBBMBKGOONO = 15; + GCGPhase phase = 14; } diff --git a/protocol/proto/GCGDuelChallenge.proto b/protocol/proto/GCGDuelChallenge.proto index 89dd6d8b..3a5be7fd 100644 --- a/protocol/proto/GCGDuelChallenge.proto +++ b/protocol/proto/GCGDuelChallenge.proto @@ -16,11 +16,10 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGDuelChallenge { - uint32 total_progress = 7; - uint32 challenge_id = 10; - uint32 cur_progress = 12; + uint32 challenge_id = 12; + uint32 cur_progress = 2; + uint32 total_progress = 4; } diff --git a/protocol/proto/GCGDuelExtra.proto b/protocol/proto/GCGDuelExtra.proto index be18be4a..63d8ddc4 100644 --- a/protocol/proto/GCGDuelExtra.proto +++ b/protocol/proto/GCGDuelExtra.proto @@ -17,8 +17,8 @@ syntax = "proto3"; import "GCGChallengeData.proto"; +import "PlatformType.proto"; -package proto; option go_package = "./;proto"; message GCGDuelExtra { @@ -28,4 +28,11 @@ message GCGDuelExtra { map card_face_map = 4; repeated GCGChallengeData challenge_list = 5; uint32 score = 6; + bool is_match_ai = 7; + uint32 ai_deck_id = 8; + bool is_internal = 9; + repeated uint32 forbid_finish_challenge_list = 10; + uint32 level = 11; + uint32 client_version = 12; + PlatformType platform_type = 13; } diff --git a/protocol/proto/GCGEndReason.proto b/protocol/proto/GCGEndReason.proto index 23e7b432..91d89b8f 100644 --- a/protocol/proto/GCGEndReason.proto +++ b/protocol/proto/GCGEndReason.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGEndReason { @@ -25,4 +24,10 @@ enum GCGEndReason { GCG_END_REASON_SURRENDER = 2; GCG_END_REASON_DISCONNECTED = 3; GCG_END_REASON_ROUND_LIMIT = 4; + GCG_END_REASON_GM = 5; + GCG_END_REASON_NO_PLAYER = 6; + GCG_END_REASON_GIVE_UP = 7; + GCG_END_REASON_INIT_TIMEOUT = 8; + GCG_END_REASON_EFFECT = 9; + GCG_END_REASON_Unk3300_INAPHKAKKHF = 10; } diff --git a/protocol/proto/GCGGameBriefData.proto b/protocol/proto/GCGGameBriefData.proto index fcf5f0a8..20089a49 100644 --- a/protocol/proto/GCGGameBriefData.proto +++ b/protocol/proto/GCGGameBriefData.proto @@ -19,13 +19,13 @@ syntax = "proto3"; import "GCGGameBusinessType.proto"; import "GCGPlayerBriefData.proto"; -package proto; option go_package = "./;proto"; message GCGGameBriefData { - uint32 game_id = 14; - uint32 game_uid = 9; - GCGGameBusinessType business_type = 13; - uint32 verify_code = 5; - repeated GCGPlayerBriefData player_brief_list = 12; + uint32 Unk3300_NCLDOGNCHGF = 13; + GCGGameBusinessType business_type = 8; + uint32 Unk3300_FJJDMIBIBJN = 14; + uint32 platform_type = 6; + uint32 game_id = 12; + repeated GCGPlayerBriefData player_brief_list = 5; } diff --git a/protocol/proto/GCGGameBriefDataNotify.proto b/protocol/proto/GCGGameBriefDataNotify.proto index 5432d6bc..9f03c490 100644 --- a/protocol/proto/GCGGameBriefDataNotify.proto +++ b/protocol/proto/GCGGameBriefDataNotify.proto @@ -18,12 +18,17 @@ syntax = "proto3"; import "GCGGameBriefData.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7539 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGGameBriefDataNotify { - GCGGameBriefData gcg_brief_data = 10; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7824; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + GCGGameBriefData gcg_brief_data = 3; + bool is_new_game = 4; } diff --git a/protocol/proto/GCGGameBusinessType.proto b/protocol/proto/GCGGameBusinessType.proto index 1cdf59f1..42cd64cd 100644 --- a/protocol/proto/GCGGameBusinessType.proto +++ b/protocol/proto/GCGGameBusinessType.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGGameBusinessType { @@ -29,4 +28,7 @@ enum GCGGameBusinessType { GCG_GAME_BUSINESS_TYPE_WORLD_CHALLENGE = 6; GCG_GAME_BUSINESS_TYPE_BOSS_CHALLENGE = 7; GCG_GAME_BUSINESS_TYPE_WEEK_CHALLENGE = 8; + GCG_GAME_BUSINESS_TYPE_BREAK_CHALLENGE = 9; + GCG_GAME_BUSINESS_TYPE_QUEST = 10; + GCG_GAME_BUSINESS_TYPE_GUIDE_GROUP = 11; } diff --git a/protocol/proto/GCGGameCreateFailReasonNotify.proto b/protocol/proto/GCGGameCreateFailReasonNotify.proto new file mode 100644 index 00000000..2393b8b6 --- /dev/null +++ b/protocol/proto/GCGGameCreateFailReasonNotify.proto @@ -0,0 +1,40 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGGameCreateFailReasonNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7658; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + enum GCGGameCreateReason { + GCG_GAME_CREATE_REASON_NONE = 0; + GCG_GAME_CREATE_REASON_GAME_MAX = 1; + GCG_GAME_CREATE_REASON_CLIENT_VERSION_NOT_LATEST = 2; + GCG_GAME_CREATE_REASON_RESOURCE_NOT_COMPLETE = 3; + GCG_GAME_CREATE_REASON_TIMEOUT = 4; + GCG_GAME_CREATE_REASON_Unk3300_EMCDFGGFFAH = 5; + } + + GCGGameCreateReason reason = 7; +} diff --git a/protocol/proto/GCGGameMaxNotify.proto b/protocol/proto/GCGGameMaxNotify.proto new file mode 100644 index 00000000..8d4b2256 --- /dev/null +++ b/protocol/proto/GCGGameMaxNotify.proto @@ -0,0 +1,29 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGGameMaxNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7226; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } +} diff --git a/protocol/proto/GCGGrowthLevelNotify.proto b/protocol/proto/GCGGrowthLevelNotify.proto index ba692884..7de084f7 100644 --- a/protocol/proto/GCGGrowthLevelNotify.proto +++ b/protocol/proto/GCGGrowthLevelNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7736 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGGrowthLevelNotify { - uint32 exp = 7; - uint32 level = 11; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7343; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 level = 10; + uint32 exp = 2; } diff --git a/protocol/proto/GCGGrowthLevelRewardNotify.proto b/protocol/proto/GCGGrowthLevelRewardNotify.proto index e71dc83b..2f44a9da 100644 --- a/protocol/proto/GCGGrowthLevelRewardNotify.proto +++ b/protocol/proto/GCGGrowthLevelRewardNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7477 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGGrowthLevelRewardNotify { - repeated uint32 level_reward_taken_list = 8; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7934; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated uint32 level_reward_taken_list = 2; } diff --git a/protocol/proto/GCGGrowthLevelTakeRewardReq.proto b/protocol/proto/GCGGrowthLevelTakeRewardReq.proto index 4ec6738a..8cfbb485 100644 --- a/protocol/proto/GCGGrowthLevelTakeRewardReq.proto +++ b/protocol/proto/GCGGrowthLevelTakeRewardReq.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7051 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGGrowthLevelTakeRewardReq { - uint32 level = 4; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7486; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 level = 12; } diff --git a/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto b/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto index 815e4ced..632c91cd 100644 --- a/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto +++ b/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7670 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGGrowthLevelTakeRewardRsp { - uint32 level = 1; - int32 retcode = 13; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7602; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 4; + uint32 level = 11; } diff --git a/protocol/proto/GCGHeartBeatNotify.proto b/protocol/proto/GCGHeartBeatNotify.proto index 283ba438..5dfda75a 100644 --- a/protocol/proto/GCGHeartBeatNotify.proto +++ b/protocol/proto/GCGHeartBeatNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7224 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGHeartBeatNotify { - uint32 server_seq = 6; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7576; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 server_seq = 12; } diff --git a/protocol/proto/GCGInitFinishReq.proto b/protocol/proto/GCGInitFinishReq.proto index 8d14a873..812907d0 100644 --- a/protocol/proto/GCGInitFinishReq.proto +++ b/protocol/proto/GCGInitFinishReq.proto @@ -16,11 +16,15 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7684 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true -message GCGInitFinishReq {} +message GCGInitFinishReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7348; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } +} diff --git a/protocol/proto/GCGInitFinishRsp.proto b/protocol/proto/GCGInitFinishRsp.proto index fb649713..9bfe279a 100644 --- a/protocol/proto/GCGInitFinishRsp.proto +++ b/protocol/proto/GCGInitFinishRsp.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7433 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGInitFinishRsp { - int32 retcode = 2; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7369; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 4; } diff --git a/protocol/proto/GCGIntentionChangeType.proto b/protocol/proto/GCGIntentionChangeType.proto new file mode 100644 index 00000000..2c75d37d --- /dev/null +++ b/protocol/proto/GCGIntentionChangeType.proto @@ -0,0 +1,24 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +enum GCGIntentionChangeType { + GCG_INTENTION_CHANGE_TYPE_NONE = 0; + GCG_INTENTION_CHANGE_TYPE_RM = 1; +} diff --git a/protocol/proto/GCGInviteBattleNotify.proto b/protocol/proto/GCGInviteBattleNotify.proto index 92ad67c0..5ab70a57 100644 --- a/protocol/proto/GCGInviteBattleNotify.proto +++ b/protocol/proto/GCGInviteBattleNotify.proto @@ -16,10 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7692 -// EnetChannelId: 0 -// EnetIsReliable: true -message GCGInviteBattleNotify {} +message GCGInviteBattleNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7448; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 confirm_end_time = 1; +} diff --git a/protocol/proto/GCGInviteGuestBattleReq.proto b/protocol/proto/GCGInviteGuestBattleReq.proto index de98d9db..1ac11a77 100644 --- a/protocol/proto/GCGInviteGuestBattleReq.proto +++ b/protocol/proto/GCGInviteGuestBattleReq.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7783 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGInviteGuestBattleReq { - uint32 uid = 11; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7202; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 uid = 8; } diff --git a/protocol/proto/GCGInviteGuestBattleRsp.proto b/protocol/proto/GCGInviteGuestBattleRsp.proto index 5f765fe0..937227b2 100644 --- a/protocol/proto/GCGInviteGuestBattleRsp.proto +++ b/protocol/proto/GCGInviteGuestBattleRsp.proto @@ -16,13 +16,19 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7251 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGInviteGuestBattleRsp { - int32 retcode = 3; - uint32 uid = 11; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7997; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 uid = 12; + int32 retcode = 13; + uint32 punish_end_time = 3; + uint32 confirm_end_time = 7; } diff --git a/protocol/proto/GCGLevelChallengeDeleteNotify.proto b/protocol/proto/GCGLevelChallengeDeleteNotify.proto new file mode 100644 index 00000000..2bc8c75b --- /dev/null +++ b/protocol/proto/GCGLevelChallengeDeleteNotify.proto @@ -0,0 +1,31 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGLevelChallengeDeleteNotify { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7993; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated uint32 level_id_list = 6; +} diff --git a/protocol/proto/GCGLevelChallengeFinishNotify.proto b/protocol/proto/GCGLevelChallengeFinishNotify.proto index ab1bd639..ad3b840b 100644 --- a/protocol/proto/GCGLevelChallengeFinishNotify.proto +++ b/protocol/proto/GCGLevelChallengeFinishNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7629 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGLevelChallengeFinishNotify { - repeated uint32 finished_challenge_id_list = 10; - uint32 level_id = 15; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7004; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 level_id = 14; + repeated uint32 finished_challenge_id_list = 3; } diff --git a/protocol/proto/GCGLevelChallengeNotify.proto b/protocol/proto/GCGLevelChallengeNotify.proto index b34dc440..b4d2bd2b 100644 --- a/protocol/proto/GCGLevelChallengeNotify.proto +++ b/protocol/proto/GCGLevelChallengeNotify.proto @@ -19,14 +19,18 @@ syntax = "proto3"; import "GCGBossChallengeData.proto"; import "GCGLevelData.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7055 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGLevelChallengeNotify { - repeated GCGBossChallengeData unlock_boss_challenge_list = 3; - repeated uint32 unlock_world_challenge_list = 8; - repeated GCGLevelData level_list = 10; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7183; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated GCGBossChallengeData unlock_boss_challenge_list = 11; + repeated uint32 unlock_world_challenge_list = 3; + repeated GCGLevelData level_list = 4; } diff --git a/protocol/proto/GCGLevelData.proto b/protocol/proto/GCGLevelData.proto index 16527dad..61a281dc 100644 --- a/protocol/proto/GCGLevelData.proto +++ b/protocol/proto/GCGLevelData.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGLevelData { - repeated uint32 finished_challenge_id_list = 10; - uint32 level_id = 9; + repeated uint32 finished_challenge_id_list = 13; + uint32 level_id = 7; } diff --git a/protocol/proto/GCGLevelType.proto b/protocol/proto/GCGLevelType.proto index fcfb85ef..31c1390c 100644 --- a/protocol/proto/GCGLevelType.proto +++ b/protocol/proto/GCGLevelType.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGLevelType { @@ -26,4 +25,7 @@ enum GCGLevelType { GCG_LEVEL_TYPE_WORLD = 3; GCG_LEVEL_TYPE_BOSS = 4; GCG_LEVEL_TYPE_CHARACTER = 5; + GCG_LEVEL_TYPE_BREAK = 6; + GCG_LEVEL_TYPE_QUEST = 7; + GCG_LEVEL_TYPE_GUIDE_GROUP = 8; } diff --git a/protocol/proto/GCGLimitsInfo.proto b/protocol/proto/GCGLimitsInfo.proto new file mode 100644 index 00000000..022e8842 --- /dev/null +++ b/protocol/proto/GCGLimitsInfo.proto @@ -0,0 +1,24 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGLimitsInfo { + uint32 Unk3300_MNCNOLHHGPA = 7; + uint32 Unk3300_PHKPKFBDGJF = 13; +} diff --git a/protocol/proto/GCGMatchInfo.proto b/protocol/proto/GCGMatchInfo.proto index 0f0f7f80..ec7bb200 100644 --- a/protocol/proto/GCGMatchInfo.proto +++ b/protocol/proto/GCGMatchInfo.proto @@ -18,9 +18,8 @@ syntax = "proto3"; import "MatchPlayerInfo.proto"; -package proto; option go_package = "./;proto"; message GCGMatchInfo { - repeated MatchPlayerInfo player_list = 13; + repeated MatchPlayerInfo player_list = 15; } diff --git a/protocol/proto/GCGMessage.proto b/protocol/proto/GCGMessage.proto index c5ee93dc..5df466f6 100644 --- a/protocol/proto/GCGMessage.proto +++ b/protocol/proto/GCGMessage.proto @@ -31,14 +31,19 @@ import "GCGMsgModifyAdd.proto"; import "GCGMsgModifyRemove.proto"; import "GCGMsgMoveCard.proto"; import "GCGMsgNewCard.proto"; +import "GCGMsgNoDamageSkillResult.proto"; import "GCGMsgOpTimer.proto"; -import "GCGMsgPVEDoOp.proto"; -import "GCGMsgPVEGenCardOp.proto"; +import "GCGMsgPVEIntentionChange.proto"; +import "GCGMsgPVEIntentionInfo.proto"; import "GCGMsgPass.proto"; import "GCGMsgPhaseChange.proto"; +import "GCGMsgPhaseContinue.proto"; +import "GCGMsgReactionBegin.proto"; +import "GCGMsgReactionEnd.proto"; import "GCGMsgRemoveCards.proto"; import "GCGMsgSelectOnStage.proto"; import "GCGMsgSelectOnStageByEffect.proto"; +import "GCGMsgSkillLimitsChange.proto"; import "GCGMsgSkillResult.proto"; import "GCGMsgTokenChange.proto"; import "GCGMsgUpdateController.proto"; @@ -46,39 +51,43 @@ import "GCGMsgUseSkill.proto"; import "GCGMsgUseSkillEnd.proto"; import "GCGMsgWaitingListChange.proto"; -package proto; option go_package = "./;proto"; message GCGMessage { oneof message { - GCGMsgTokenChange token_change = 12; - GCGMsgPhaseChange phase_change = 13; - GCGMsgAddCards add_cards = 10; - GCGMsgRemoveCards remove_cards = 14; + GCGMsgTokenChange token_change = 2; + GCGMsgPhaseChange phase_change = 10; + GCGMsgAddCards add_cards = 5; + GCGMsgRemoveCards remove_cards = 12; GCGMsgSelectOnStage select_on_stage = 6; - GCGMsgDiceRoll dice_roll = 9; - GCGMsgDiceReroll dice_reroll = 11; - GCGMsgPass pass = 5; - GCGMsgCharDie char_die = 2; - GCGMsgSkillResult skill_result = 1; - GCGMsgCostDice cost_dice = 7; - GCGMsgAddDice add_dice = 3; - GCGMsgMoveCard move_card = 15; - GCGMsgUseSkill use_skill = 4; - GCGMsgNewCard new_card = 1848; - GCGMsgUpdateController update_controller = 429; - GCGMsgModifyAdd modify_add = 1851; - GCGMsgModifyRemove modify_remove = 471; - GCGMsgUseSkillEnd use_skill_end = 1411; - GCGMsgPVEGenCardOp pve_gen_card_op = 1741; - GCGMsgPVEDoOp pve_do_op = 614; - GCGMsgDuelDataChange duel_data_change = 1008; - GCGMsgClientPerform client_perform = 1035; - GCGMsgGameOver game_over = 714; - GCGMsgOpTimer op_timer = 1862; - GCGMsgWaitingListChange waiting_list_change = 1678; - GCGMsgCardUpdate card_update = 1879; - GCGMsgSelectOnStageByEffect select_on_stage_by_effect = 2042; - GCGMsgCostRevise cost_revise = 1350; + GCGMsgDiceRoll dice_roll = 14; + GCGMsgDiceReroll dice_reroll = 15; + GCGMsgPass pass = 8; + GCGMsgCharDie char_die = 4; + GCGMsgSkillResult skill_result = 3; + GCGMsgCostDice cost_dice = 13; + GCGMsgAddDice add_dice = 7; + GCGMsgMoveCard move_card = 11; + GCGMsgUseSkill use_skill = 1; + GCGMsgNewCard new_card = 296; + GCGMsgUpdateController update_controller = 1111; + GCGMsgModifyAdd modify_add = 1733; + GCGMsgModifyRemove modify_remove = 2014; + GCGMsgUseSkillEnd use_skill_end = 1368; + GCGMsgDuelDataChange duel_data_change = 1791; + GCGMsgClientPerform client_perform = 1677; + GCGMsgGameOver game_over = 632; + GCGMsgOpTimer op_timer = 154; + GCGMsgWaitingListChange waiting_list_change = 1991; + GCGMsgCardUpdate card_update = 1702; + GCGMsgSelectOnStageByEffect select_on_stage_by_effect = 1737; + GCGMsgCostRevise cost_revise = 468; + GCGMsgPhaseContinue phase_continue = 1157; + GCGMsgPVEIntentionInfo pve_intention_info = 850; + GCGMsgPVEIntentionChange pve_intention_change = 1268; + GCGMsgSkillLimitsChange skill_limits_change = 710; + GCGMsgNoDamageSkillResult no_damage_skill_result = 773; + GCGMsgReactionBegin reaction_begin = 243; + GCGMsgReactionEnd reaction_end = 1172; } } diff --git a/protocol/proto/GCGMessagePack.proto b/protocol/proto/GCGMessagePack.proto index 05f7a2c6..8ebdef3b 100644 --- a/protocol/proto/GCGMessagePack.proto +++ b/protocol/proto/GCGMessagePack.proto @@ -16,12 +16,13 @@ syntax = "proto3"; +import "GCGActionType.proto"; import "GCGMessage.proto"; -package proto; option go_package = "./;proto"; message GCGMessagePack { - uint32 msg_seq = 10; - repeated GCGMessage msg_list = 13; + GCGActionType action_type = 9; + repeated GCGMessage msg_list = 5; + uint32 controller_id = 7; } diff --git a/protocol/proto/GCGMessagePackNotify.proto b/protocol/proto/GCGMessagePackNotify.proto index 8e62fef5..1a1a5614 100644 --- a/protocol/proto/GCGMessagePackNotify.proto +++ b/protocol/proto/GCGMessagePackNotify.proto @@ -18,14 +18,17 @@ syntax = "proto3"; import "GCGMessagePack.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7516 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGMessagePackNotify { - uint32 server_seq = 5; - GCGMessagePack message_pack = 8; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7299; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 server_seq = 2; + repeated GCGMessagePack msg_pack_list = 12; } diff --git a/protocol/proto/GCGMsgAddCards.proto b/protocol/proto/GCGMsgAddCards.proto index e16d7549..daa30885 100644 --- a/protocol/proto/GCGMsgAddCards.proto +++ b/protocol/proto/GCGMsgAddCards.proto @@ -19,13 +19,12 @@ syntax = "proto3"; import "GCGReason.proto"; import "GCGZoneType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgAddCards { - uint32 pos = 11; - GCGZoneType zone = 2; - GCGReason reason = 15; - uint32 controller_id = 13; - repeated uint32 card_guid_list = 14; + GCGZoneType zone = 5; + GCGReason reason = 7; + repeated uint32 card_guid_list = 4; + uint32 controller_id = 9; + uint32 pos = 14; } diff --git a/protocol/proto/GCGMsgAddDice.proto b/protocol/proto/GCGMsgAddDice.proto index 728749f3..07e40a1d 100644 --- a/protocol/proto/GCGMsgAddDice.proto +++ b/protocol/proto/GCGMsgAddDice.proto @@ -19,12 +19,12 @@ syntax = "proto3"; import "GCGDiceSideType.proto"; import "GCGReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgAddDice { - GCGReason reason = 4; - uint32 controller_id = 10; - int32 change_count = 1; - map dice_map = 8; + map Unk3300_KFKOGOKPIFN = 13; + GCGReason reason = 10; + int32 change_count = 6; + map Unk3300_PCMPCCLFEIM = 11; + uint32 controller_id = 5; } diff --git a/protocol/proto/GCGMsgCardUpdate.proto b/protocol/proto/GCGMsgCardUpdate.proto index 481c38a7..69f85853 100644 --- a/protocol/proto/GCGMsgCardUpdate.proto +++ b/protocol/proto/GCGMsgCardUpdate.proto @@ -18,9 +18,8 @@ syntax = "proto3"; import "GCGCard.proto"; -package proto; option go_package = "./;proto"; message GCGMsgCardUpdate { - GCGCard card = 7; + GCGCard card = 14; } diff --git a/protocol/proto/GCGMsgCharDie.proto b/protocol/proto/GCGMsgCharDie.proto index 965f2965..78b66994 100644 --- a/protocol/proto/GCGMsgCharDie.proto +++ b/protocol/proto/GCGMsgCharDie.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgCharDie { - uint32 controller_id = 5; - uint32 card_guid = 11; + uint32 controller_id = 13; + uint32 card_guid = 7; } diff --git a/protocol/proto/GCGMsgClientPerform.proto b/protocol/proto/GCGMsgClientPerform.proto index 33e96eb9..65686822 100644 --- a/protocol/proto/GCGMsgClientPerform.proto +++ b/protocol/proto/GCGMsgClientPerform.proto @@ -18,10 +18,9 @@ syntax = "proto3"; import "GCGClientPerformType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgClientPerform { - repeated uint32 param_list = 2; - GCGClientPerformType perform_type = 5; + repeated uint32 param_list = 4; + GCGClientPerformType perform_type = 1; } diff --git a/protocol/proto/GCGMsgCostDice.proto b/protocol/proto/GCGMsgCostDice.proto index 4a423a94..116fbc4b 100644 --- a/protocol/proto/GCGMsgCostDice.proto +++ b/protocol/proto/GCGMsgCostDice.proto @@ -18,11 +18,10 @@ syntax = "proto3"; import "GCGReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgCostDice { - uint32 controller_id = 6; - repeated uint32 select_dice_index_list = 13; - GCGReason reason = 9; + GCGReason reason = 1; + repeated uint32 select_dice_index_list = 12; + uint32 controller_id = 7; } diff --git a/protocol/proto/GCGMsgCostRevise.proto b/protocol/proto/GCGMsgCostRevise.proto index e7d74577..09fd91c6 100644 --- a/protocol/proto/GCGMsgCostRevise.proto +++ b/protocol/proto/GCGMsgCostRevise.proto @@ -18,10 +18,9 @@ syntax = "proto3"; import "GCGCostReviseInfo.proto"; -package proto; option go_package = "./;proto"; message GCGMsgCostRevise { - uint32 controller_id = 5; - GCGCostReviseInfo cost_revise = 13; + GCGCostReviseInfo cost_revise = 3; + uint32 controller_id = 1; } diff --git a/protocol/proto/GCGMsgDiceReroll.proto b/protocol/proto/GCGMsgDiceReroll.proto index 66340121..17fcb2f1 100644 --- a/protocol/proto/GCGMsgDiceReroll.proto +++ b/protocol/proto/GCGMsgDiceReroll.proto @@ -18,11 +18,10 @@ syntax = "proto3"; import "GCGDiceSideType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgDiceReroll { - uint32 controller_id = 2; - repeated uint32 select_dice_index_list = 1; - repeated GCGDiceSideType dice_side_list = 6; + uint32 controller_id = 1; + repeated GCGDiceSideType dice_side_list = 8; + repeated uint32 select_dice_index_list = 12; } diff --git a/protocol/proto/GCGMsgDiceRoll.proto b/protocol/proto/GCGMsgDiceRoll.proto index 009359e9..4633b7a6 100644 --- a/protocol/proto/GCGMsgDiceRoll.proto +++ b/protocol/proto/GCGMsgDiceRoll.proto @@ -18,11 +18,10 @@ syntax = "proto3"; import "GCGDiceSideType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgDiceRoll { - repeated GCGDiceSideType dice_side_list = 10; - uint32 dice_num = 15; - uint32 controller_id = 5; + uint32 controller_id = 9; + uint32 dice_num = 3; + repeated GCGDiceSideType dice_side_list = 14; } diff --git a/protocol/proto/GCGMsgDuelDataChange.proto b/protocol/proto/GCGMsgDuelDataChange.proto index 16c103cb..982af2f7 100644 --- a/protocol/proto/GCGMsgDuelDataChange.proto +++ b/protocol/proto/GCGMsgDuelDataChange.proto @@ -16,9 +16,8 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgDuelDataChange { - uint32 round = 14; + uint32 round = 6; } diff --git a/protocol/proto/GCGMsgGameOver.proto b/protocol/proto/GCGMsgGameOver.proto index 536d1bb6..d122beca 100644 --- a/protocol/proto/GCGMsgGameOver.proto +++ b/protocol/proto/GCGMsgGameOver.proto @@ -18,10 +18,9 @@ syntax = "proto3"; import "GCGEndReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgGameOver { - GCGEndReason end_reason = 13; - uint32 win_controller_id = 6; + GCGEndReason end_reason = 6; + uint32 win_controller_id = 3; } diff --git a/protocol/proto/GCGMsgModifyAdd.proto b/protocol/proto/GCGMsgModifyAdd.proto index a4983746..c0327d3b 100644 --- a/protocol/proto/GCGMsgModifyAdd.proto +++ b/protocol/proto/GCGMsgModifyAdd.proto @@ -18,13 +18,12 @@ syntax = "proto3"; import "GCGReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgModifyAdd { + uint32 owner_card_guid = 11; uint32 pos = 9; - uint32 owner_card_guid = 10; - repeated uint32 card_guid_list = 15; - uint32 controller_id = 14; - GCGReason reason = 11; + repeated uint32 card_guid_list = 3; + uint32 controller_id = 12; + GCGReason reason = 15; } diff --git a/protocol/proto/GCGMsgModifyRemove.proto b/protocol/proto/GCGMsgModifyRemove.proto index f7ad4e88..8c9000e8 100644 --- a/protocol/proto/GCGMsgModifyRemove.proto +++ b/protocol/proto/GCGMsgModifyRemove.proto @@ -18,12 +18,11 @@ syntax = "proto3"; import "GCGReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgModifyRemove { + uint32 owner_card_guid = 7; + GCGReason reason = 3; uint32 controller_id = 14; - GCGReason reason = 12; - uint32 owner_card_guid = 5; - repeated uint32 card_guid_list = 4; + repeated uint32 card_guid_list = 13; } diff --git a/protocol/proto/GCGMsgMoveCard.proto b/protocol/proto/GCGMsgMoveCard.proto index 8adb31f5..24a6df2d 100644 --- a/protocol/proto/GCGMsgMoveCard.proto +++ b/protocol/proto/GCGMsgMoveCard.proto @@ -19,14 +19,13 @@ syntax = "proto3"; import "GCGReason.proto"; import "GCGZoneType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgMoveCard { - uint32 controller_id = 14; - GCGZoneType to = 5; - GCGZoneType from = 12; - bool is_fail = 10; - uint32 card_guid = 7; - GCGReason reason = 6; + GCGZoneType to = 9; + repeated uint32 fail_guid_list = 2; + GCGZoneType from = 14; + uint32 controller_id = 4; + GCGReason reason = 13; + repeated uint32 card_guid_list = 5; } diff --git a/protocol/proto/GCGMsgNewCard.proto b/protocol/proto/GCGMsgNewCard.proto index c2a06db4..77dd09d2 100644 --- a/protocol/proto/GCGMsgNewCard.proto +++ b/protocol/proto/GCGMsgNewCard.proto @@ -18,7 +18,6 @@ syntax = "proto3"; import "GCGCard.proto"; -package proto; option go_package = "./;proto"; message GCGMsgNewCard { diff --git a/protocol/proto/GCGMsgNoDamageSkillResult.proto b/protocol/proto/GCGMsgNoDamageSkillResult.proto new file mode 100644 index 00000000..36538248 --- /dev/null +++ b/protocol/proto/GCGMsgNoDamageSkillResult.proto @@ -0,0 +1,31 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGDamageDetail.proto"; + +option go_package = "./;proto"; + +message GCGMsgNoDamageSkillResult { + uint32 Unk3300_LPGLOCDDPCL = 7; + uint32 Unk3300_EPNDCIAJOJP = 6; + uint32 target_card_guid = 3; + repeated GCGDamageDetail detail_list = 14; + uint32 skill_id = 13; + uint32 Unk3300_NNJAOEHNPPD = 4; + uint32 Unk3300_NIGDCIGLAKE = 11; +} diff --git a/protocol/proto/GCGMsgOpTimer.proto b/protocol/proto/GCGMsgOpTimer.proto index 3dd50a93..08176a5c 100644 --- a/protocol/proto/GCGMsgOpTimer.proto +++ b/protocol/proto/GCGMsgOpTimer.proto @@ -18,12 +18,11 @@ syntax = "proto3"; import "GCGPhaseType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgOpTimer { - fixed64 begin_time = 9; - GCGPhaseType phase = 3; - fixed64 time_stamp = 13; - uint32 controller_id = 8; + GCGPhaseType phase = 13; + uint32 controller_id = 14; + fixed64 time_stamp = 15; + fixed64 begin_time = 6; } diff --git a/protocol/proto/GCGMsgPVEIntention.proto b/protocol/proto/GCGMsgPVEIntention.proto new file mode 100644 index 00000000..91b0f172 --- /dev/null +++ b/protocol/proto/GCGMsgPVEIntention.proto @@ -0,0 +1,24 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGMsgPVEIntention { + uint32 card_guid = 1; + repeated uint32 skill_id_list = 2; +} diff --git a/protocol/proto/GCGMsgPVEIntentionChange.proto b/protocol/proto/GCGMsgPVEIntentionChange.proto new file mode 100644 index 00000000..7a94da6a --- /dev/null +++ b/protocol/proto/GCGMsgPVEIntentionChange.proto @@ -0,0 +1,27 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGIntentionChangeType.proto"; +import "GCGMsgPVEIntention.proto"; + +option go_package = "./;proto"; + +message GCGMsgPVEIntentionChange { + GCGIntentionChangeType change_type = 9; + repeated GCGMsgPVEIntention change_intention_list = 6; +} diff --git a/protocol/proto/GCGMsgPVEIntentionInfo.proto b/protocol/proto/GCGMsgPVEIntentionInfo.proto new file mode 100644 index 00000000..d683c61a --- /dev/null +++ b/protocol/proto/GCGMsgPVEIntentionInfo.proto @@ -0,0 +1,25 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGMsgPVEIntention.proto"; + +option go_package = "./;proto"; + +message GCGMsgPVEIntentionInfo { + map intention_map = 14; +} diff --git a/protocol/proto/GCGMsgPass.proto b/protocol/proto/GCGMsgPass.proto index 770262e0..fb542b97 100644 --- a/protocol/proto/GCGMsgPass.proto +++ b/protocol/proto/GCGMsgPass.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgPass { diff --git a/protocol/proto/GCGMsgPhaseChange.proto b/protocol/proto/GCGMsgPhaseChange.proto index 8dd89dec..73063623 100644 --- a/protocol/proto/GCGMsgPhaseChange.proto +++ b/protocol/proto/GCGMsgPhaseChange.proto @@ -17,12 +17,12 @@ syntax = "proto3"; import "GCGPhaseType.proto"; +import "Uint32Pair.proto"; -package proto; option go_package = "./;proto"; message GCGMsgPhaseChange { - map allow_controller_map = 15; - GCGPhaseType before_phase = 12; - GCGPhaseType after_phase = 5; + GCGPhaseType before_phase = 15; + GCGPhaseType after_phase = 3; + repeated Uint32Pair allow_controller_map = 11; } diff --git a/protocol/proto/GCGMsgPhaseContinue.proto b/protocol/proto/GCGMsgPhaseContinue.proto new file mode 100644 index 00000000..b9c6ca8b --- /dev/null +++ b/protocol/proto/GCGMsgPhaseContinue.proto @@ -0,0 +1,21 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGMsgPhaseContinue {} diff --git a/protocol/proto/GCGMsgReactionBegin.proto b/protocol/proto/GCGMsgReactionBegin.proto new file mode 100644 index 00000000..0da05916 --- /dev/null +++ b/protocol/proto/GCGMsgReactionBegin.proto @@ -0,0 +1,24 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGMsgReactionBegin { + uint32 card_guid = 4; + uint32 skill_id = 13; +} diff --git a/protocol/proto/GCGMsgReactionEnd.proto b/protocol/proto/GCGMsgReactionEnd.proto new file mode 100644 index 00000000..bcefa357 --- /dev/null +++ b/protocol/proto/GCGMsgReactionEnd.proto @@ -0,0 +1,23 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGMsgReactionEnd { + uint32 skill_id = 4; +} diff --git a/protocol/proto/GCGMsgRemoveCards.proto b/protocol/proto/GCGMsgRemoveCards.proto index 1ddead93..9b39b559 100644 --- a/protocol/proto/GCGMsgRemoveCards.proto +++ b/protocol/proto/GCGMsgRemoveCards.proto @@ -19,12 +19,11 @@ syntax = "proto3"; import "GCGReason.proto"; import "GCGZoneType.proto"; -package proto; option go_package = "./;proto"; message GCGMsgRemoveCards { - uint32 controller_id = 15; - GCGZoneType zone = 10; - GCGReason reason = 5; - repeated uint32 card_guid_list = 1; + repeated uint32 card_guid_list = 2; + GCGReason reason = 13; + uint32 controller_id = 9; + GCGZoneType zone = 15; } diff --git a/protocol/proto/GCGMsgSelectOnStage.proto b/protocol/proto/GCGMsgSelectOnStage.proto index 50d5c1f0..9ea2cb11 100644 --- a/protocol/proto/GCGMsgSelectOnStage.proto +++ b/protocol/proto/GCGMsgSelectOnStage.proto @@ -18,11 +18,10 @@ syntax = "proto3"; import "GCGReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgSelectOnStage { - uint32 controller_id = 6; - GCGReason reason = 10; + GCGReason reason = 11; + uint32 controller_id = 12; uint32 card_guid = 4; } diff --git a/protocol/proto/GCGMsgSelectOnStageByEffect.proto b/protocol/proto/GCGMsgSelectOnStageByEffect.proto index f10244fa..bcd053a7 100644 --- a/protocol/proto/GCGMsgSelectOnStageByEffect.proto +++ b/protocol/proto/GCGMsgSelectOnStageByEffect.proto @@ -16,11 +16,10 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgSelectOnStageByEffect { - uint32 skill_id = 12; - uint32 controller_id = 15; - uint32 card_guid = 1; + uint32 card_guid = 15; + uint32 controller_id = 2; + uint32 skill_id = 6; } diff --git a/protocol/proto/GCGMsgSkillLimitsChange.proto b/protocol/proto/GCGMsgSkillLimitsChange.proto new file mode 100644 index 00000000..e03cefb1 --- /dev/null +++ b/protocol/proto/GCGMsgSkillLimitsChange.proto @@ -0,0 +1,25 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGCardSkillLimitsInfo.proto"; + +option go_package = "./;proto"; + +message GCGMsgSkillLimitsChange { + map card_limits_change_map = 3; +} diff --git a/protocol/proto/GCGMsgSkillResult.proto b/protocol/proto/GCGMsgSkillResult.proto index 70d94d02..1325bb46 100644 --- a/protocol/proto/GCGMsgSkillResult.proto +++ b/protocol/proto/GCGMsgSkillResult.proto @@ -18,17 +18,16 @@ syntax = "proto3"; import "GCGDamageDetail.proto"; -package proto; option go_package = "./;proto"; message GCGMsgSkillResult { - uint32 skill_id = 12; - uint32 last_hp = 14; - repeated GCGDamageDetail detail_list = 2; - uint32 target_card_guid = 7; - uint32 effect_element = 5; - uint32 from_result_seq = 15; - uint32 damage = 6; - uint32 result_seq = 4; - uint32 src_card_guid = 8; + uint32 Unk3300_NIGDCIGLAKE = 9; + uint32 target_card_guid = 13; + uint32 Unk3300_PDBAGJINFPF = 4; + repeated GCGDamageDetail detail_list = 5; + uint32 skill_id = 14; + uint32 damage = 7; + uint32 Unk3300_EPNDCIAJOJP = 12; + uint32 Unk3300_NNJAOEHNPPD = 15; + uint32 Unk3300_LPGLOCDDPCL = 10; } diff --git a/protocol/proto/GCGMsgTokenChange.proto b/protocol/proto/GCGMsgTokenChange.proto index c89fe62a..5ebf04ca 100644 --- a/protocol/proto/GCGMsgTokenChange.proto +++ b/protocol/proto/GCGMsgTokenChange.proto @@ -18,13 +18,12 @@ syntax = "proto3"; import "GCGReason.proto"; -package proto; option go_package = "./;proto"; message GCGMsgTokenChange { - uint32 before = 13; - uint32 token_type = 4; - uint32 card_guid = 2; - uint32 after = 11; - GCGReason reason = 7; + uint32 token_type = 7; + uint32 Unk3300_LLGHGEALDDI = 10; + GCGReason reason = 3; + uint32 Unk3300_LCNKBFBJDFM = 12; + uint32 card_guid = 13; } diff --git a/protocol/proto/GCGMsgUpdateController.proto b/protocol/proto/GCGMsgUpdateController.proto index 20c43927..5f80c2cd 100644 --- a/protocol/proto/GCGMsgUpdateController.proto +++ b/protocol/proto/GCGMsgUpdateController.proto @@ -16,9 +16,10 @@ syntax = "proto3"; -package proto; +import "Uint32Pair.proto"; + option go_package = "./;proto"; message GCGMsgUpdateController { - map allow_controller_map = 7; + repeated Uint32Pair allow_controller_map = 10; } diff --git a/protocol/proto/GCGMsgUseSkill.proto b/protocol/proto/GCGMsgUseSkill.proto index bc18df5b..c1c1578d 100644 --- a/protocol/proto/GCGMsgUseSkill.proto +++ b/protocol/proto/GCGMsgUseSkill.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgUseSkill { - uint32 skill_id = 9; - uint32 card_guid = 6; + uint32 skill_id = 3; + uint32 card_guid = 10; } diff --git a/protocol/proto/GCGMsgUseSkillEnd.proto b/protocol/proto/GCGMsgUseSkillEnd.proto index e9cf50e8..3786681a 100644 --- a/protocol/proto/GCGMsgUseSkillEnd.proto +++ b/protocol/proto/GCGMsgUseSkillEnd.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgUseSkillEnd { - uint32 card_guid = 11; - uint32 skill_id = 12; + uint32 card_guid = 9; + uint32 skill_id = 6; } diff --git a/protocol/proto/GCGMsgWaitingListChange.proto b/protocol/proto/GCGMsgWaitingListChange.proto index c9b3209b..e8790eb5 100644 --- a/protocol/proto/GCGMsgWaitingListChange.proto +++ b/protocol/proto/GCGMsgWaitingListChange.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGMsgWaitingListChange { - uint32 cur_index = 6; - uint32 controller_id = 4; + uint32 controller_id = 11; + uint32 cur_index = 3; } diff --git a/protocol/proto/GCGOperation.proto b/protocol/proto/GCGOperation.proto index d1fae31b..dc1bd04e 100644 --- a/protocol/proto/GCGOperation.proto +++ b/protocol/proto/GCGOperation.proto @@ -25,18 +25,17 @@ import "GCGOperationRedraw.proto"; import "GCGOperationReroll.proto"; import "GCGOperationSurrender.proto"; -package proto; option go_package = "./;proto"; message GCGOperation { oneof op { - GCGOperationRedraw op_redraw = 10; - GCGOperationOnStageSelect op_select_on_stage = 4; - GCGOperationReroll op_reroll = 9; - GCGOperationAttack op_attack = 11; - GCGOperationPass op_pass = 15; - GCGOperationPlayCard op_play_card = 2; + GCGOperationRedraw op_redraw = 3; + GCGOperationOnStageSelect op_select_on_stage = 9; + GCGOperationReroll op_reroll = 4; + GCGOperationAttack op_attack = 7; + GCGOperationPass op_pass = 6; + GCGOperationPlayCard op_play_card = 15; GCGOperationReboot op_reboot = 5; - GCGOperationSurrender op_surrender = 1; + GCGOperationSurrender op_surrender = 10; } } diff --git a/protocol/proto/GCGOperationAttack.proto b/protocol/proto/GCGOperationAttack.proto index 7c776308..ba7ece0f 100644 --- a/protocol/proto/GCGOperationAttack.proto +++ b/protocol/proto/GCGOperationAttack.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationAttack { - repeated uint32 cost_dice_index_list = 8; - uint32 skill_id = 2; + uint32 skill_id = 15; + repeated uint32 cost_dice_index_list = 3; } diff --git a/protocol/proto/GCGOperationOnStageSelect.proto b/protocol/proto/GCGOperationOnStageSelect.proto index 5c23dae5..21f45de8 100644 --- a/protocol/proto/GCGOperationOnStageSelect.proto +++ b/protocol/proto/GCGOperationOnStageSelect.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationOnStageSelect { - uint32 card_guid = 5; - repeated uint32 cost_dice_index_list = 4; + repeated uint32 cost_dice_index_list = 10; + uint32 card_guid = 6; } diff --git a/protocol/proto/GCGOperationPass.proto b/protocol/proto/GCGOperationPass.proto index be154a09..1528ac33 100644 --- a/protocol/proto/GCGOperationPass.proto +++ b/protocol/proto/GCGOperationPass.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationPass {} diff --git a/protocol/proto/GCGOperationPlayCard.proto b/protocol/proto/GCGOperationPlayCard.proto index 2669fff8..d2fdcd98 100644 --- a/protocol/proto/GCGOperationPlayCard.proto +++ b/protocol/proto/GCGOperationPlayCard.proto @@ -16,11 +16,11 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationPlayCard { - uint32 card_guid = 12; - repeated uint32 cost_dice_index_list = 4; - repeated uint32 target_card_guid_list = 10; + uint32 replace_card_guid = 8; + repeated uint32 target_card_guid_list = 14; + uint32 card_guid = 1; + repeated uint32 cost_dice_index_list = 11; } diff --git a/protocol/proto/GCGOperationReboot.proto b/protocol/proto/GCGOperationReboot.proto index 583208ce..b6e39a0b 100644 --- a/protocol/proto/GCGOperationReboot.proto +++ b/protocol/proto/GCGOperationReboot.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationReboot { - repeated uint32 cost_card_guid_list = 7; - repeated uint32 dice_index_list = 6; + repeated uint32 dice_index_list = 2; + repeated uint32 cost_card_guid_list = 14; } diff --git a/protocol/proto/GCGOperationRedraw.proto b/protocol/proto/GCGOperationRedraw.proto index e84e4df0..30a7bd1d 100644 --- a/protocol/proto/GCGOperationRedraw.proto +++ b/protocol/proto/GCGOperationRedraw.proto @@ -16,9 +16,8 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationRedraw { - repeated uint32 card_list = 2; + repeated uint32 card_list = 7; } diff --git a/protocol/proto/GCGOperationReplay.proto b/protocol/proto/GCGOperationReplay.proto index c279beaa..395609dc 100644 --- a/protocol/proto/GCGOperationReplay.proto +++ b/protocol/proto/GCGOperationReplay.proto @@ -16,13 +16,16 @@ syntax = "proto3"; -import "GCGOperationData.proto"; +import "GCGReplayControllerData.proto"; +import "GCGReplayOperationData.proto"; +import "Unk3300_PPKPCOCOMDH.proto"; -package proto; option go_package = "./;proto"; message GCGOperationReplay { - uint32 game_id = 1; - uint32 seed = 11; - repeated GCGOperationData operation_data_list = 9; + repeated Unk3300_PPKPCOCOMDH Unk3300_FKBLJIMBHEA = 6; + uint32 seed = 1; + repeated GCGReplayOperationData operation_data_list = 8; + uint32 game_id = 2; + repeated GCGReplayControllerData controller_data_list = 7; } diff --git a/protocol/proto/GCGOperationReq.proto b/protocol/proto/GCGOperationReq.proto index 7cecb375..0fc49b1f 100644 --- a/protocol/proto/GCGOperationReq.proto +++ b/protocol/proto/GCGOperationReq.proto @@ -18,15 +18,19 @@ syntax = "proto3"; import "GCGOperation.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7107 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGOperationReq { - uint32 op_seq = 2; - uint32 redirect_uid = 7; - GCGOperation op = 15; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7664; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 redirect_uid = 12; + uint32 op_seq = 10; + GCGOperation op = 8; } diff --git a/protocol/proto/GCGOperationReroll.proto b/protocol/proto/GCGOperationReroll.proto index 74804681..846628da 100644 --- a/protocol/proto/GCGOperationReroll.proto +++ b/protocol/proto/GCGOperationReroll.proto @@ -16,9 +16,8 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationReroll { - repeated uint32 dice_index_list = 12; + repeated uint32 dice_index_list = 7; } diff --git a/protocol/proto/GCGOperationRsp.proto b/protocol/proto/GCGOperationRsp.proto index ea6ff4aa..b86be2fd 100644 --- a/protocol/proto/GCGOperationRsp.proto +++ b/protocol/proto/GCGOperationRsp.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7600 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGOperationRsp { - int32 retcode = 8; - uint32 op_seq = 4; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7285; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 op_seq = 8; + int32 retcode = 7; } diff --git a/protocol/proto/GCGOperationSurrender.proto b/protocol/proto/GCGOperationSurrender.proto index c941ad8a..c3dc25d4 100644 --- a/protocol/proto/GCGOperationSurrender.proto +++ b/protocol/proto/GCGOperationSurrender.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGOperationSurrender {} diff --git a/protocol/proto/GCGPVEIntention.proto b/protocol/proto/GCGPVEIntention.proto index 92ed647e..a96a1662 100644 --- a/protocol/proto/GCGPVEIntention.proto +++ b/protocol/proto/GCGPVEIntention.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGPVEIntention { - uint32 card_guid = 9; - repeated uint32 skill_id_list = 7; + repeated uint32 skill_id_list = 14; + uint32 card_guid = 15; } diff --git a/protocol/proto/GCGPhase.proto b/protocol/proto/GCGPhase.proto index 8744dc22..205984a4 100644 --- a/protocol/proto/GCGPhase.proto +++ b/protocol/proto/GCGPhase.proto @@ -18,10 +18,9 @@ syntax = "proto3"; import "GCGPhaseType.proto"; -package proto; option go_package = "./;proto"; message GCGPhase { - GCGPhaseType phase_type = 5; - map allow_controller_map = 6; + GCGPhaseType phase_type = 4; + map allow_controller_map = 12; } diff --git a/protocol/proto/GCGPhaseType.proto b/protocol/proto/GCGPhaseType.proto index d494ba0a..fba694a1 100644 --- a/protocol/proto/GCGPhaseType.proto +++ b/protocol/proto/GCGPhaseType.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGPhaseType { diff --git a/protocol/proto/GCGPlayCardCostInfo.proto b/protocol/proto/GCGPlayCardCostInfo.proto index 679c6f07..609e7819 100644 --- a/protocol/proto/GCGPlayCardCostInfo.proto +++ b/protocol/proto/GCGPlayCardCostInfo.proto @@ -16,10 +16,11 @@ syntax = "proto3"; -package proto; +import "Uint32Pair.proto"; + option go_package = "./;proto"; message GCGPlayCardCostInfo { - map cost_map = 14; - uint32 card_id = 1; + uint32 card_id = 9; + repeated Uint32Pair cost_map = 12; } diff --git a/protocol/proto/GCGPlayerBriefData.proto b/protocol/proto/GCGPlayerBriefData.proto index d2ed5726..40f2f917 100644 --- a/protocol/proto/GCGPlayerBriefData.proto +++ b/protocol/proto/GCGPlayerBriefData.proto @@ -18,14 +18,15 @@ syntax = "proto3"; import "ProfilePicture.proto"; -package proto; option go_package = "./;proto"; message GCGPlayerBriefData { - map card_face_map = 8; - string nick_name = 9; - ProfilePicture profile_picture = 12; - repeated uint32 card_id_list = 3; - uint32 controller_id = 5; - uint32 uid = 10; + string online_id = 5; + uint32 uid = 9; + uint32 controller_id = 10; + ProfilePicture profile_picture = 11; + string nick_name = 1; + map card_face_map = 14; + repeated uint32 card_id_list = 13; + string psn_id = 2; } diff --git a/protocol/proto/GCGPlayerField.proto b/protocol/proto/GCGPlayerField.proto index a264bd88..763d7914 100644 --- a/protocol/proto/GCGPlayerField.proto +++ b/protocol/proto/GCGPlayerField.proto @@ -21,25 +21,24 @@ import "GCGPVEIntention.proto"; import "GCGWaitingCharacter.proto"; import "GCGZone.proto"; -package proto; option go_package = "./;proto"; message GCGPlayerField { - map modify_zone_map = 2; - uint32 cur_waiting_index = 383; - GCGZone summon_zone = 1; - uint32 field_show_id = 8; - uint32 card_back_show_id = 12; - uint32 dice_count = 3; - uint32 controller_id = 10; - GCGZone on_stage_zone = 14; - bool is_passed = 7; - GCGZone character_zone = 5; - uint32 on_stage_character_guid = 6; - GCGZone assist_zone = 15; - uint32 deck_card_num = 13; - repeated GCGDiceSideType dice_side_list = 11; - GCGZone hand_zone = 9; - repeated GCGPVEIntention intention_list = 1192; - repeated GCGWaitingCharacter waiting_list = 4; + uint32 Unk3300_IKJMGAHCFPM = 5; + map modify_zone_map = 7; + uint32 Unk3300_GGHKFFADEAL = 731; + GCGZone Unk3300_AOPJIOHMPOF = 10; + uint32 Unk3300_FDFPHNDOJML = 12; + GCGZone Unk3300_IPLMHKCNDLE = 1; + GCGZone Unk3300_EIHOMDLENMK = 9; + repeated GCGWaitingCharacter waiting_list = 2; + uint32 Unk3300_PBECINKKHND = 15; + uint32 controller_id = 6; + GCGZone Unk3300_INDJNJJJNKL = 11; + GCGZone Unk3300_EFNAEFBECHD = 4; + bool is_passed = 8; + repeated GCGPVEIntention intention_list = 304; + repeated GCGDiceSideType dice_side_list = 13; + uint32 deck_card_num = 3; + uint32 Unk3300_GLNIFLOKBPM = 14; } diff --git a/protocol/proto/GCGPlayerGCGState.proto b/protocol/proto/GCGPlayerGCGState.proto new file mode 100644 index 00000000..0a8b421b --- /dev/null +++ b/protocol/proto/GCGPlayerGCGState.proto @@ -0,0 +1,25 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGPlayerGCGState { + uint32 uid = 14; + bool Unk3300_GIKOMFNNAAA = 11; + bool Unk3300_DEKGMKCCGEG = 4; +} diff --git a/protocol/proto/GCGReason.proto b/protocol/proto/GCGReason.proto index cd8f96de..bcd21930 100644 --- a/protocol/proto/GCGReason.proto +++ b/protocol/proto/GCGReason.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGReason { @@ -30,4 +29,7 @@ enum GCGReason { GCG_REASON_QUICKLY_ONSTAGE = 7; GCG_REASON_REMOVE_AFTER_DIE = 8; GCG_REASON_INIT = 9; + GCG_REASON_EFFECT_DAMAGE = 10; + GCG_REASON_EFFECT_HEAL = 11; + GCG_REASON_EFFECT_REVIVE = 12; } diff --git a/protocol/proto/GCGReplayControllerData.proto b/protocol/proto/GCGReplayControllerData.proto new file mode 100644 index 00000000..24e1ddac --- /dev/null +++ b/protocol/proto/GCGReplayControllerData.proto @@ -0,0 +1,24 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGReplayControllerData { + repeated uint32 card_id_list = 12; + uint32 controller_id = 6; +} diff --git a/protocol/proto/GCGReplayOperationData.proto b/protocol/proto/GCGReplayOperationData.proto new file mode 100644 index 00000000..40264cb1 --- /dev/null +++ b/protocol/proto/GCGReplayOperationData.proto @@ -0,0 +1,26 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGOperation.proto"; + +option go_package = "./;proto"; + +message GCGReplayOperationData { + GCGOperation op = 1; + uint32 controller_id = 8; +} diff --git a/protocol/proto/GCGResourceStateNotify.proto b/protocol/proto/GCGResourceStateNotify.proto index 8e657f6e..1f02d7f8 100644 --- a/protocol/proto/GCGResourceStateNotify.proto +++ b/protocol/proto/GCGResourceStateNotify.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7876 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGResourceStateNotify { - bool is_complete = 5; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7586; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + bool is_complete = 12; } diff --git a/protocol/proto/GCGSelectOnStageCostInfo.proto b/protocol/proto/GCGSelectOnStageCostInfo.proto index 25f4bce2..c33a1c4c 100644 --- a/protocol/proto/GCGSelectOnStageCostInfo.proto +++ b/protocol/proto/GCGSelectOnStageCostInfo.proto @@ -16,10 +16,11 @@ syntax = "proto3"; -package proto; +import "Uint32Pair.proto"; + option go_package = "./;proto"; message GCGSelectOnStageCostInfo { - map cost_map = 8; - uint32 card_guid = 9; + uint32 card_guid = 3; + repeated Uint32Pair cost_map = 1; } diff --git a/protocol/proto/GCGSettleNotify.proto b/protocol/proto/GCGSettleNotify.proto index 4ab55e8d..bd434c11 100644 --- a/protocol/proto/GCGSettleNotify.proto +++ b/protocol/proto/GCGSettleNotify.proto @@ -20,17 +20,23 @@ import "GCGEndReason.proto"; import "GCGGameBusinessType.proto"; import "ItemParam.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7769 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGSettleNotify { - uint32 game_id = 7; - GCGGameBusinessType business_type = 2; - bool is_win = 13; - repeated ItemParam reward_item_list = 9; - repeated uint32 finished_challenge_id_list = 6; - GCGEndReason reason = 3; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7562; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated ItemParam reward_item_list = 8; + repeated uint32 finished_challenge_id_list = 1; + uint32 game_id = 3; + bool is_win = 2; + GCGGameBusinessType business_type = 5; + uint32 win_controller_id = 11; + repeated uint32 forbid_finish_challenge_list = 10; + GCGEndReason reason = 4; } diff --git a/protocol/proto/GCGSettleOption.proto b/protocol/proto/GCGSettleOption.proto index aa181a01..02c58fa2 100644 --- a/protocol/proto/GCGSettleOption.proto +++ b/protocol/proto/GCGSettleOption.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGSettleOption { diff --git a/protocol/proto/GCGSettleOptionReq.proto b/protocol/proto/GCGSettleOptionReq.proto index cf738b92..bc61e918 100644 --- a/protocol/proto/GCGSettleOptionReq.proto +++ b/protocol/proto/GCGSettleOptionReq.proto @@ -18,13 +18,17 @@ syntax = "proto3"; import "GCGSettleOption.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7124 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGSettleOptionReq { - GCGSettleOption option = 5; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7600; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + GCGSettleOption option = 9; } diff --git a/protocol/proto/GCGSettleOptionRsp.proto b/protocol/proto/GCGSettleOptionRsp.proto index 855c8340..940ac860 100644 --- a/protocol/proto/GCGSettleOptionRsp.proto +++ b/protocol/proto/GCGSettleOptionRsp.proto @@ -18,13 +18,17 @@ syntax = "proto3"; import "GCGSettleOption.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7735 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGSettleOptionRsp { - GCGSettleOption option = 13; - int32 retcode = 14; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7110; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + GCGSettleOption option = 2; + int32 retcode = 5; } diff --git a/protocol/proto/GCGSkillHpChangeType.proto b/protocol/proto/GCGSkillHpChangeType.proto index affdd924..2f1985b3 100644 --- a/protocol/proto/GCGSkillHpChangeType.proto +++ b/protocol/proto/GCGSkillHpChangeType.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGSkillHpChangeType { diff --git a/protocol/proto/GCGSkillLimitsInfo.proto b/protocol/proto/GCGSkillLimitsInfo.proto new file mode 100644 index 00000000..e30b50fa --- /dev/null +++ b/protocol/proto/GCGSkillLimitsInfo.proto @@ -0,0 +1,26 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGLimitsInfo.proto"; + +option go_package = "./;proto"; + +message GCGSkillLimitsInfo { + uint32 skill_id = 1; + repeated GCGLimitsInfo limits_list = 7; +} diff --git a/protocol/proto/GCGSkillPreviewAskReq.proto b/protocol/proto/GCGSkillPreviewAskReq.proto index 86a5c5fc..198730fc 100644 --- a/protocol/proto/GCGSkillPreviewAskReq.proto +++ b/protocol/proto/GCGSkillPreviewAskReq.proto @@ -16,11 +16,15 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7509 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true -message GCGSkillPreviewAskReq {} +message GCGSkillPreviewAskReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7858; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } +} diff --git a/protocol/proto/GCGSkillPreviewAskRsp.proto b/protocol/proto/GCGSkillPreviewAskRsp.proto index d9280b65..be5d9d7e 100644 --- a/protocol/proto/GCGSkillPreviewAskRsp.proto +++ b/protocol/proto/GCGSkillPreviewAskRsp.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7409 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGSkillPreviewAskRsp { - int32 retcode = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7877; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 13; } diff --git a/protocol/proto/GCGSkillPreviewCardInfo.proto b/protocol/proto/GCGSkillPreviewCardInfo.proto index a47ac660..f5bd67ba 100644 --- a/protocol/proto/GCGSkillPreviewCardInfo.proto +++ b/protocol/proto/GCGSkillPreviewCardInfo.proto @@ -18,13 +18,13 @@ syntax = "proto3"; import "GCGZoneType.proto"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewCardInfo { - uint32 controller_id = 3; - uint32 owner_card_guid = 11; + uint32 card_guid = 10; + uint32 face_type = 2; + uint32 controller_id = 11; + uint32 card_id = 8; GCGZoneType zone_type = 14; - uint32 card_id = 13; - uint32 card_guid = 6; + uint32 owner_card_guid = 3; } diff --git a/protocol/proto/GCGSkillPreviewElementReactionInfo.proto b/protocol/proto/GCGSkillPreviewElementReactionInfo.proto index c56905d8..74918669 100644 --- a/protocol/proto/GCGSkillPreviewElementReactionInfo.proto +++ b/protocol/proto/GCGSkillPreviewElementReactionInfo.proto @@ -18,11 +18,10 @@ syntax = "proto3"; import "GCGSkillPreviewReactionInfo.proto"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewElementReactionInfo { - repeated uint32 fresh_list = 8; - repeated uint32 source_list = 2; - repeated GCGSkillPreviewReactionInfo reaction_list = 14; + repeated uint32 Unk3300_JOBNBDJHAPJ = 12; + repeated uint32 Unk3300_BELBNDNDGAO = 14; + repeated GCGSkillPreviewReactionInfo reaction_list = 1; } diff --git a/protocol/proto/GCGSkillPreviewExtraInfo.proto b/protocol/proto/GCGSkillPreviewExtraInfo.proto new file mode 100644 index 00000000..6e79c513 --- /dev/null +++ b/protocol/proto/GCGSkillPreviewExtraInfo.proto @@ -0,0 +1,26 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGSkillPreviewCardInfo.proto"; + +option go_package = "./;proto"; + +message GCGSkillPreviewExtraInfo { + repeated GCGSkillPreviewCardInfo Unk3300_KIFFJGFDNKA = 6; + repeated GCGSkillPreviewCardInfo Unk3300_GMEMMDJKCGN = 8; +} diff --git a/protocol/proto/GCGSkillPreviewHpInfo.proto b/protocol/proto/GCGSkillPreviewHpInfo.proto index d1fb27cd..44451379 100644 --- a/protocol/proto/GCGSkillPreviewHpInfo.proto +++ b/protocol/proto/GCGSkillPreviewHpInfo.proto @@ -18,10 +18,9 @@ syntax = "proto3"; import "GCGSkillHpChangeType.proto"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewHpInfo { - GCGSkillHpChangeType change_type = 4; - uint32 hp_change_value = 13; + GCGSkillHpChangeType change_type = 8; + uint32 hp_change_value = 4; } diff --git a/protocol/proto/GCGSkillPreviewInfo.proto b/protocol/proto/GCGSkillPreviewInfo.proto index e146551d..ba17e3f3 100644 --- a/protocol/proto/GCGSkillPreviewInfo.proto +++ b/protocol/proto/GCGSkillPreviewInfo.proto @@ -18,19 +18,20 @@ syntax = "proto3"; import "GCGSkillPreviewCardInfo.proto"; import "GCGSkillPreviewElementReactionInfo.proto"; +import "GCGSkillPreviewExtraInfo.proto"; import "GCGSkillPreviewHpInfo.proto"; import "GCGSkillPreviewOnstageChangeInfo.proto"; import "GCGSkillPreviewTokenChangeInfo.proto"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewInfo { - repeated GCGSkillPreviewCardInfo rm_card_list = 12; - map hp_info_map = 8; - map reaction_info_map = 5; - repeated GCGSkillPreviewOnstageChangeInfo change_onstage_character_list = 9; - uint32 skill_id = 6; - map card_token_change_map = 3; - repeated GCGSkillPreviewCardInfo add_card_list = 11; + repeated GCGSkillPreviewOnstageChangeInfo change_onstage_character_list = 6; + repeated GCGSkillPreviewCardInfo Unk3300_DAJFJEDNLKK = 15; + uint32 skill_id = 12; + map hp_info_map = 3; + repeated GCGSkillPreviewCardInfo Unk3300_AGNONGELFGC = 2; + GCGSkillPreviewExtraInfo extra_info = 11; + map reaction_info_map = 14; + map card_token_change_map = 8; } diff --git a/protocol/proto/GCGSkillPreviewNotify.proto b/protocol/proto/GCGSkillPreviewNotify.proto index 4dc0cd9b..150fd5ba 100644 --- a/protocol/proto/GCGSkillPreviewNotify.proto +++ b/protocol/proto/GCGSkillPreviewNotify.proto @@ -16,16 +16,24 @@ syntax = "proto3"; +import "GCGChangeOnstageInfo.proto"; import "GCGSkillPreviewInfo.proto"; +import "GCGSkillPreviewPlayCardInfo.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7503 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGSkillPreviewNotify { - repeated GCGSkillPreviewInfo skill_preview_list = 9; - uint32 onstage_card_guid = 5; - uint32 controller_id = 15; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7659; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 controller_id = 13; + repeated GCGSkillPreviewInfo skill_preview_list = 15; + repeated GCGChangeOnstageInfo change_onstage_preview_list = 3; + repeated GCGSkillPreviewPlayCardInfo play_card_list = 11; + uint32 onstage_card_guid = 6; } diff --git a/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto b/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto index 9526452f..32862130 100644 --- a/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto +++ b/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewOnstageChangeInfo { - uint32 target_onstage_card_guid = 6; - uint32 source_onstage_card_guid = 15; + uint32 Unk3300_EHHDPPFDIFB = 8; + uint32 Unk3300_BALADGFAPKL = 14; } diff --git a/protocol/proto/GCGSkillPreviewPlayCardInfo.proto b/protocol/proto/GCGSkillPreviewPlayCardInfo.proto new file mode 100644 index 00000000..ed09d722 --- /dev/null +++ b/protocol/proto/GCGSkillPreviewPlayCardInfo.proto @@ -0,0 +1,27 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGSkillPreviewInfo.proto"; + +option go_package = "./;proto"; + +message GCGSkillPreviewPlayCardInfo { + uint32 hand_card_guid = 15; + GCGSkillPreviewInfo play_card_info = 10; + uint32 target_card_guid = 8; +} diff --git a/protocol/proto/GCGSkillPreviewReactionInfo.proto b/protocol/proto/GCGSkillPreviewReactionInfo.proto index 042e7f5e..945b838d 100644 --- a/protocol/proto/GCGSkillPreviewReactionInfo.proto +++ b/protocol/proto/GCGSkillPreviewReactionInfo.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewReactionInfo { - uint32 source_element = 13; - uint32 target_element = 1; + uint32 Unk3300_AENPLEDPMJH = 3; + uint32 Unk3300_PDEHPHJFAKD = 2; } diff --git a/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto b/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto index 5a3fddd5..0b19382e 100644 --- a/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto +++ b/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto @@ -18,9 +18,8 @@ syntax = "proto3"; import "GCGSkillPreviewTokenInfo.proto"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewTokenChangeInfo { - repeated GCGSkillPreviewTokenInfo token_change_list = 14; + repeated GCGSkillPreviewTokenInfo token_change_list = 10; } diff --git a/protocol/proto/GCGSkillPreviewTokenInfo.proto b/protocol/proto/GCGSkillPreviewTokenInfo.proto index b0b52f7f..a9095721 100644 --- a/protocol/proto/GCGSkillPreviewTokenInfo.proto +++ b/protocol/proto/GCGSkillPreviewTokenInfo.proto @@ -16,11 +16,10 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGSkillPreviewTokenInfo { - uint32 token_type = 3; - uint32 after_value = 12; - uint32 before_value = 15; + uint32 token_type = 11; + uint32 Unk3300_MMIKPPJMHAD = 10; + uint32 Unk3300_IKICJMEFEON = 3; } diff --git a/protocol/proto/GCGStartChallengeByCheckRewardReq.proto b/protocol/proto/GCGStartChallengeByCheckRewardReq.proto new file mode 100644 index 00000000..72cea95e --- /dev/null +++ b/protocol/proto/GCGStartChallengeByCheckRewardReq.proto @@ -0,0 +1,36 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGLevelType.proto"; + +option go_package = "./;proto"; + +message GCGStartChallengeByCheckRewardReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7982; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 level_id = 13; + GCGLevelType level_type = 3; + uint32 config_id = 5; +} diff --git a/protocol/proto/GCGStartChallengeByCheckRewardRsp.proto b/protocol/proto/GCGStartChallengeByCheckRewardRsp.proto new file mode 100644 index 00000000..c7bd26e5 --- /dev/null +++ b/protocol/proto/GCGStartChallengeByCheckRewardRsp.proto @@ -0,0 +1,38 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGLevelType.proto"; + +option go_package = "./;proto"; + +message GCGStartChallengeByCheckRewardRsp { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7727; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated uint32 exceeded_item_type_list = 3; + uint32 level_id = 5; + repeated uint32 exceeded_item_list = 8; + GCGLevelType level_type = 2; + uint32 config_id = 9; + int32 retcode = 12; +} diff --git a/protocol/proto/GCGStartChallengeReq.proto b/protocol/proto/GCGStartChallengeReq.proto index 9afcaab1..8c0125f3 100644 --- a/protocol/proto/GCGStartChallengeReq.proto +++ b/protocol/proto/GCGStartChallengeReq.proto @@ -18,15 +18,19 @@ syntax = "proto3"; import "GCGLevelType.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7595 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGStartChallengeReq { - GCGLevelType level_type = 5; - uint32 config_id = 13; - uint32 level_id = 12; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7964; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + GCGLevelType level_type = 12; + uint32 config_id = 7; + uint32 level_id = 2; } diff --git a/protocol/proto/GCGStartChallengeRsp.proto b/protocol/proto/GCGStartChallengeRsp.proto index f9c9e43e..0a09ead4 100644 --- a/protocol/proto/GCGStartChallengeRsp.proto +++ b/protocol/proto/GCGStartChallengeRsp.proto @@ -18,15 +18,19 @@ syntax = "proto3"; import "GCGLevelType.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7763 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGStartChallengeRsp { - GCGLevelType level_type = 12; - int32 retcode = 15; - uint32 config_id = 6; - uint32 level_id = 1; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7999; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 config_id = 8; + uint32 level_id = 5; + GCGLevelType level_type = 11; + int32 retcode = 1; } diff --git a/protocol/proto/GCGTCInviteReq.proto b/protocol/proto/GCGTCInviteReq.proto index 195973c9..ab5ac00b 100644 --- a/protocol/proto/GCGTCInviteReq.proto +++ b/protocol/proto/GCGTCInviteReq.proto @@ -16,14 +16,18 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7922 -// EnetChannelId: 0 -// EnetIsReliable: true -// IsAllowClient: true message GCGTCInviteReq { - uint32 level_id = 3; - uint32 character_id = 6; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7341; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } + + uint32 character_id = 8; + uint32 level_id = 11; } diff --git a/protocol/proto/GCGTCInviteRsp.proto b/protocol/proto/GCGTCInviteRsp.proto index 74ae0bfd..396d9fad 100644 --- a/protocol/proto/GCGTCInviteRsp.proto +++ b/protocol/proto/GCGTCInviteRsp.proto @@ -16,13 +16,17 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7328 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGTCInviteRsp { - uint32 character_id = 12; - int32 retcode = 5; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7027; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 character_id = 9; + int32 retcode = 11; } diff --git a/protocol/proto/GCGTCTavernChallengeData.proto b/protocol/proto/GCGTCTavernChallengeData.proto index 0ce3e012..cb74bdcd 100644 --- a/protocol/proto/GCGTCTavernChallengeData.proto +++ b/protocol/proto/GCGTCTavernChallengeData.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGTCTavernChallengeData { - repeated uint32 unlock_level_id_list = 1; - uint32 character_id = 8; + repeated uint32 unlock_level_id_list = 13; + uint32 character_id = 4; } diff --git a/protocol/proto/GCGTCTavernChallengeDataNotify.proto b/protocol/proto/GCGTCTavernChallengeDataNotify.proto index c6a57278..daae2132 100644 --- a/protocol/proto/GCGTCTavernChallengeDataNotify.proto +++ b/protocol/proto/GCGTCTavernChallengeDataNotify.proto @@ -18,12 +18,16 @@ syntax = "proto3"; import "GCGTCTavernChallengeData.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7294 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGTCTavernChallengeDataNotify { - repeated GCGTCTavernChallengeData tavern_challenge_list = 13; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7356; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated GCGTCTavernChallengeData tavern_challenge_list = 5; } diff --git a/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto b/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto index 9bb3eec3..ad788697 100644 --- a/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto +++ b/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto @@ -18,12 +18,16 @@ syntax = "proto3"; import "GCGTCTavernChallengeData.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7184 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGTCTavernChallengeUpdateNotify { - GCGTCTavernChallengeData tavern_challenge = 5; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7907; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + GCGTCTavernChallengeData tavern_challenge = 12; } diff --git a/protocol/proto/GCGTCTavernInfoNotify.proto b/protocol/proto/GCGTCTavernInfoNotify.proto index 82307896..87d9708b 100644 --- a/protocol/proto/GCGTCTavernInfoNotify.proto +++ b/protocol/proto/GCGTCTavernInfoNotify.proto @@ -16,18 +16,22 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7011 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGTCTavernInfoNotify { - bool is_last_duel_win = 14; - uint32 level_id = 11; - bool is_owner_in_duel = 5; - uint32 point_id = 3; - uint32 avatar_id = 12; - uint32 character_id = 7; - uint32 element_type = 10; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7268; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + uint32 level_id = 5; + bool Unk3300_IMFJBNFMCHM = 11; + bool Unk3300_MBGMHBNBKBK = 8; + uint32 point_id = 4; + uint32 element_type = 6; + uint32 avatar_id = 9; + uint32 character_id = 12; } diff --git a/protocol/proto/GCGTavernNpcInfo.proto b/protocol/proto/GCGTavernNpcInfo.proto index c9b66597..a87dc6ee 100644 --- a/protocol/proto/GCGTavernNpcInfo.proto +++ b/protocol/proto/GCGTavernNpcInfo.proto @@ -16,11 +16,10 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGTavernNpcInfo { - uint32 id = 6; - uint32 level_id = 10; - uint32 scene_point_id = 3; + uint32 id = 9; + uint32 scene_point_id = 15; + uint32 level_id = 6; } diff --git a/protocol/proto/GCGTavernNpcInfoNotify.proto b/protocol/proto/GCGTavernNpcInfoNotify.proto index 4bda1ee0..b1db4ddc 100644 --- a/protocol/proto/GCGTavernNpcInfoNotify.proto +++ b/protocol/proto/GCGTavernNpcInfoNotify.proto @@ -18,14 +18,18 @@ syntax = "proto3"; import "GCGTavernNpcInfo.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7290 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGTavernNpcInfoNotify { - repeated GCGTavernNpcInfo week_npc_list = 1; - GCGTavernNpcInfo character_npc = 5; - repeated GCGTavernNpcInfo const_npc_list = 15; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7267; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated GCGTavernNpcInfo Unk3300_FKAKHMMIEBC = 12; + repeated GCGTavernNpcInfo Unk3300_BAMLNENDLCM = 2; + GCGTavernNpcInfo character_npc = 11; } diff --git a/protocol/proto/GCGToken.proto b/protocol/proto/GCGToken.proto index f1d60b61..d39a3236 100644 --- a/protocol/proto/GCGToken.proto +++ b/protocol/proto/GCGToken.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGToken { - uint32 value = 11; + uint32 value = 14; uint32 key = 4; } diff --git a/protocol/proto/GCGWaitingCharacter.proto b/protocol/proto/GCGWaitingCharacter.proto index 90319667..3ac862b2 100644 --- a/protocol/proto/GCGWaitingCharacter.proto +++ b/protocol/proto/GCGWaitingCharacter.proto @@ -16,10 +16,9 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGWaitingCharacter { - uint32 card_id = 2; - uint32 cond_count = 14; + uint32 cond_count = 1; + uint32 card_id = 11; } diff --git a/protocol/proto/GCGWeekChallengeInfo.proto b/protocol/proto/GCGWeekChallengeInfo.proto index 811419f8..cddae4b5 100644 --- a/protocol/proto/GCGWeekChallengeInfo.proto +++ b/protocol/proto/GCGWeekChallengeInfo.proto @@ -16,11 +16,10 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGWeekChallengeInfo { - uint32 npc_id = 4; - bool is_finished = 7; - uint32 unlock_time = 1; + uint32 npc_id = 9; + uint32 unlock_time = 8; + bool is_finished = 12; } diff --git a/protocol/proto/GCGWeekChallengeInfoNotify.proto b/protocol/proto/GCGWeekChallengeInfoNotify.proto index 9b258650..f45148b9 100644 --- a/protocol/proto/GCGWeekChallengeInfoNotify.proto +++ b/protocol/proto/GCGWeekChallengeInfoNotify.proto @@ -18,13 +18,18 @@ syntax = "proto3"; import "GCGWeekChallengeInfo.proto"; -package proto; option go_package = "./;proto"; -// CmdId: 7615 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGWeekChallengeInfoNotify { - repeated GCGWeekChallengeInfo challenge_info_list = 15; - uint32 next_refresh_time = 7; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7058; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated GCGWeekChallengeInfo challenge_info_list = 3; + uint32 next_refresh_time = 4; + bool is_notify_npc_change = 7; } diff --git a/protocol/proto/GCGWorldChallengeUnlockNotify.proto b/protocol/proto/GCGWorldChallengeUnlockNotify.proto index c2c906b0..e9aee1ed 100644 --- a/protocol/proto/GCGWorldChallengeUnlockNotify.proto +++ b/protocol/proto/GCGWorldChallengeUnlockNotify.proto @@ -16,12 +16,16 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; -// CmdId: 7204 -// EnetChannelId: 0 -// EnetIsReliable: true message GCGWorldChallengeUnlockNotify { - repeated uint32 unlock_id_list = 8; + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7370; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + repeated uint32 unlock_id_list = 6; } diff --git a/protocol/proto/GCGWorldPlayerGCGStateReq.proto b/protocol/proto/GCGWorldPlayerGCGStateReq.proto new file mode 100644 index 00000000..cd15e89e --- /dev/null +++ b/protocol/proto/GCGWorldPlayerGCGStateReq.proto @@ -0,0 +1,30 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message GCGWorldPlayerGCGStateReq { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7375; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // IS_ALLOW_CLIENT = 1; + // } +} diff --git a/protocol/proto/GCGWorldPlayerGCGStateRsp.proto b/protocol/proto/GCGWorldPlayerGCGStateRsp.proto new file mode 100644 index 00000000..dac2e221 --- /dev/null +++ b/protocol/proto/GCGWorldPlayerGCGStateRsp.proto @@ -0,0 +1,34 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGPlayerGCGState.proto"; + +option go_package = "./;proto"; + +message GCGWorldPlayerGCGStateRsp { + // enum CmdId { + // option allow_alias = true; + // NONE = 0; + // CMD_ID = 7248; + // ENET_CHANNEL_ID = 0; + // ENET_IS_RELIABLE = 1; + // } + + int32 retcode = 15; + repeated GCGPlayerGCGState player_state = 2; +} diff --git a/protocol/proto/GCGZone.proto b/protocol/proto/GCGZone.proto index 3f5ca7fd..5229ee09 100644 --- a/protocol/proto/GCGZone.proto +++ b/protocol/proto/GCGZone.proto @@ -16,9 +16,8 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; message GCGZone { - repeated uint32 card_list = 4; + repeated uint32 card_list = 11; } diff --git a/protocol/proto/GCGZoneType.proto b/protocol/proto/GCGZoneType.proto index 260c0cde..9e76acd9 100644 --- a/protocol/proto/GCGZoneType.proto +++ b/protocol/proto/GCGZoneType.proto @@ -16,7 +16,6 @@ syntax = "proto3"; -package proto; option go_package = "./;proto"; enum GCGZoneType { diff --git a/protocol/proto/Unk3300_ADHENCIFKNI.proto b/protocol/proto/Unk3300_ADHENCIFKNI.proto new file mode 100644 index 00000000..b7edfa96 --- /dev/null +++ b/protocol/proto/Unk3300_ADHENCIFKNI.proto @@ -0,0 +1,25 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +option go_package = "./;proto"; + +message Unk3300_ADHENCIFKNI { + uint64 begin_time = 6; + uint64 time_stamp = 13; + uint32 controller_id = 10; +} diff --git a/protocol/proto/Unk3300_PPKPCOCOMDH.proto b/protocol/proto/Unk3300_PPKPCOCOMDH.proto new file mode 100644 index 00000000..5b304b4c --- /dev/null +++ b/protocol/proto/Unk3300_PPKPCOCOMDH.proto @@ -0,0 +1,30 @@ +// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa. +// Copyright (C) 2022 Sorapointa Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +syntax = "proto3"; + +import "GCGDuel.proto"; + +option go_package = "./;proto"; + +message Unk3300_PPKPCOCOMDH { + uint32 controller_id = 12; + uint32 op_seq = 13; + oneof detail { + string gm_msg = 2; + GCGDuel duel = 14; + } +}