diff --git a/src/lobby/connection.rs b/src/lobby/connection.rs index d86010b..8dfe664 100644 --- a/src/lobby/connection.rs +++ b/src/lobby/connection.rs @@ -381,7 +381,9 @@ impl LobbyConnection { timestamp: 0, data: ServerLobbyIpcData::CharacterCreated { sequence: character_action.sequence + 1, - unk: 0x00010101, + unk1: 0x1, + unk2: 0x1, + action: LobbyCharacterActionKind::ReserveName, details: CharacterDetails { character_name: character_action.name.clone(), origin_server_name: self.world_name.clone(), @@ -468,7 +470,9 @@ impl LobbyConnection { timestamp: 0, data: ServerLobbyIpcData::CharacterCreated { sequence: character_action.sequence + 1, - unk: 0x00020101, + unk1: 0x1, + unk2: 0x1, + action: LobbyCharacterActionKind::Create, details: CharacterDetails { actor_id: our_actor_id, content_id: our_content_id, @@ -518,7 +522,9 @@ impl LobbyConnection { timestamp: 0, data: ServerLobbyIpcData::CharacterCreated { sequence: character_action.sequence + 1, - unk: 0x00040101, // TODO: probably LobbyCharacterAction actually, see create character packet too + unk1: 0x1, + unk2: 0x1, + action: LobbyCharacterActionKind::Delete, details: CharacterDetails { actor_id: 0, // TODO: fill maybe? content_id: character_action.content_id, diff --git a/src/lobby/ipc/mod.rs b/src/lobby/ipc/mod.rs index 062f063..df94cea 100644 --- a/src/lobby/ipc/mod.rs +++ b/src/lobby/ipc/mod.rs @@ -192,7 +192,10 @@ pub enum ServerLobbyIpcData { }, CharacterCreated { sequence: u64, - unk: u32, + unk1: u8, + unk2: u8, + #[brw(pad_after = 1)] // empty + action: LobbyCharacterActionKind, #[brw(pad_before = 36)] // empty #[brw(pad_after = 1336)] // empty and garbage details: CharacterDetails, @@ -252,7 +255,9 @@ mod tests { ServerLobbyIpcType::CharacterCreated, ServerLobbyIpcData::CharacterCreated { sequence: 0, - unk: 0, + unk1: 0, + unk2: 0, + action: LobbyCharacterActionKind::ReserveName, details: CharacterDetails::default(), }, ),