docs/events/windtrace/README.md
Documentation on how the Hide and Seek game works.
Externally dubbed: Windtrace.
TODO: Document the map IDs of Windtrace.
TODO: Investigate ServerGlobalValueChangeNotify
DraftOwnerStartInviteReqDraftOwnerInviteNotify to all clients.DraftOwnerStartInviteRspDraftOwnerInviteNotify is sent to clients.DraftGuestReplyInviteReq (client-side)DraftGuestReplyInviteRspDraftInviteResultNotifyDraftInviteResultNotify is a success, the server will send a series of packets.
SceneEntityAppearNotify packets.NpcTalkStateNotifyPlayerEnterSceneNotifyMultistagePlayInfoNotifyMultistagePlayInfoNotify to clients.AvatarEquipChangeNotify packet to clients.SceneTeamUpdateNotify packet to clients.HideAndSeekPlayerSetAvatarNotify packet to clients.HideAndSeekSetReadyReq to the server.HideAndSeekPlayerReadyNotify to clients.MultistagePlayInfoNotify to clients.HideAndSeekSetReadyRsp to the client.GalleryStartNotifySceneGalleryInfoNotifyMultistagePlayInfoNotifyMultistagePlayStageEndNotify1. countdown.GuestReplyInviteRsp is sent after DraftInviteResultNotify.DraftOwnerInviteNotifyinvite_deadline_time - This is the time when the invite expires.draft_id - The value is always 3001 for Windtrace.DraftOwnerStartInviteReqdraft_id - The value is always 3001 for Windtrace.DraftOwnerStartInviteRspdraft_id - The value is always 3001 for Windtrace.invite_fail_info_list - A list of players who weren't invited.retcode - The response code.wrong_uid - Always 0. (undocumented)DraftGuestReplyInviteReqdraft_id - The value is always 3001 for Windtrace.is_agree - A boolean value for whether the client accepts the invite.DraftGuestReplyInviteRspdraft_id - The value is always 3001 for Windtrace.retcode - Response code for the request.is_agree - A boolean value for whether the server acknowledges the client's invite acceptation.DraftInviteResultNotifydraft_id - The value is always 3001 for Windtrace.is_all_agree - A boolean value for whether all clients accepted the invite.NpcTalkStateNotifyis_ban - This value is always true when entering Windtrace.PlayerEnterSceneNotifypos - This is where the player will be teleported to.
MultistagePlayStageEndNotifyplay_index - Value picked by the server. (use 1)group_id - This value is always 133002121 for Windtrace.MultistagePlayInfoNotify - Initial + PostEnterSceneReqinfo - MultistagePlayInfo data.
group_id - The value is always 133002121 for Windtrace.play_index - Value picked by the server. (use 1)hide_and_seek_info - Information about Windtrace.
hider_uid_list - A list of UIDs (ints) of the hiders.hunter_uid - The UID (int) of the hunter.map_id - The ID of the Windtrace map.stage_type - Windtrace state.
HIDE_AND_SEEK_STAGE_TYPE_PREPARE.battle_info_map - Contains a dictionary of UID -> HideAndSeekPlayerBattleInfo objects.
skill_list - Array of 3 values of skill IDs chosen by the player.avatar_id - The ID of the avatar the player wants to use.is_ready - The player's in-game ready state.costume_id - The costume the player's avatar is wearing.MultistagePlayInfoNotify - Picking Avatarsinfo.hide_and_seek_info.stage_type - This will be HIDE_AND_SEEK_STAGE_TYPE_PICK.MultistagePlayInfoNotify - Starting Windtraceinfo.hide_and_seek_info.stage_type - This will be HIDE_AND_SEEK_STAGE_TYPE_HIDE.MultistagePlayInfoNotify - Seeking Timeinfo.hide_and_seek_info.stage_type - This will be HIDE_AND_SEEK_STAGE_TYPE_SEEK.MultistagePlayInfoNotify - Finish Windtraceinfo.hide_and_seek_info.stage_type - This will be HIDE_AND_SEEK_STAGE_TYPE_SETTLE.HideAndSeekPlayerSetAvatarNotifyavatar_id - The ID of the new avatar the player wants to use.uid - The UID of the player who changed their avatar.costume_id - The costume the player's avatar is wearing.HideAndSeekSetReadyRspretcode - Response code for the request.HideAndSeekPlayerReadyNotifyuid_list - A list of UIDs (ints) of the players who are ready.GalleryStartNotifygallery_id - TODO: Check if this value is always 7056 for Windtrace.start_time - This value is always 2444 for Windtrace.
200 when displaying game end statistics.owner_uid - The UID of the player who started the Windtrace game.player_count - The number of players in the Windtrace game.end_time - This value is always the same as start_time.SceneGalleryInfoNotify - Starting Windtracegallery_info - SceneGalleryInfo data.
end_time - This value is always the same as start_time.start_time - This value is always 2444 for Windtrace.
200 when displaying game end statistics.gallery_id - This value is always the same as gallery_id from GalleryStartNotify.stage - The current stage of the gallery.
GALLERY_STAGE_TYPE_START.owner_uid - The UID of the player who started the Windtrace game.hide_and_seek_info - SceneGalleryHideAndSeekInfo
visible_uid_list - List of UIDs (ints) of the players who were left alive.caught_uid_list - List of UIDs (ints) of the players who have been caught.player_count - The amount of players in the Windtrace game.pre_start_end_time - This value is always 0 for Windtrace.HideAndSeekSettleNotifyreason - The reason for the game ending.winner_list - A list of UIDs (ints) of the players who won the game.settle_info_list - HideAndSeekSettleInfo data.
HideAndSeekSettleInfocard_list - A collection of ExhibitionDisplayInfo
uid - The UID of the player who participated in the game.nickname - The player's nickname.head_image - This value is always 0.online_id - This value is always blank.profile_picture - ProfilePicture object.play_index - Value picked by the server. (use 1)stage_type - The stage type. (inconclusive; TODO)cost_time - The amount of time the player took to complete the game.score_list - A list of player scores.ExhibitionDisplayInfoid - The ID of the reward.param - The amount of the reward given.detail_param - This value is mostly 0.