diff --git a/src/game/Server/Opcodes.h b/src/game/Server/Opcodes.h index b0581025d..4a0510a46 100644 --- a/src/game/Server/Opcodes.h +++ b/src/game/Server/Opcodes.h @@ -107,7 +107,7 @@ enum Opcodes SMSG_CHAR_CREATE = 0x11C3, // 5.4.8 18414 SMSG_CHAR_ENUM = 0x10B0, // 4.3.4 15595 SMSG_CHAR_DELETE = 0x0C9F, // 5.4.8 18414 - CMSG_PLAYER_LOGIN = 0x17D3, // 5.4.7 18019 + CMSG_PLAYER_LOGIN = 0x158F, // 5.4.8 18414 SMSG_NEW_WORLD = 0x04D9, // 5.3.0 SMSG_TRANSFER_PENDING = 0x18A6, // 4.3.4 15595 SMSG_TRANSFER_ABORTED = 0x0537, // 4.3.4 15595 diff --git a/src/game/WorldHandlers/CharacterHandler.cpp b/src/game/WorldHandlers/CharacterHandler.cpp index cbdc0668d..3640317c8 100644 --- a/src/game/WorldHandlers/CharacterHandler.cpp +++ b/src/game/WorldHandlers/CharacterHandler.cpp @@ -662,26 +662,27 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket& recvData) void WorldSession::HandlePlayerLoginOpcode(WorldPacket& recvData) { ObjectGuid playerGuid; + float unk = 0; + + recvData >> unk; - playerGuid[7] = recvData.ReadBit(); - playerGuid[6] = recvData.ReadBit(); - playerGuid[0] = recvData.ReadBit(); - playerGuid[4] = recvData.ReadBit(); - playerGuid[5] = recvData.ReadBit(); - playerGuid[2] = recvData.ReadBit(); - playerGuid[3] = recvData.ReadBit(); playerGuid[1] = recvData.ReadBit(); + playerGuid[4] = recvData.ReadBit(); + playerGuid[7] = recvData.ReadBit(); + playerGuid[3] = recvData.ReadBit(); + playerGuid[2] = recvData.ReadBit(); + playerGuid[6] = recvData.ReadBit(); + playerGuid[5] = recvData.ReadBit(); + playerGuid[0] = recvData.ReadBit(); recvData.ReadByteSeq(playerGuid[5]); - recvData.ReadByteSeq(playerGuid[0]); recvData.ReadByteSeq(playerGuid[1]); + recvData.ReadByteSeq(playerGuid[0]); recvData.ReadByteSeq(playerGuid[6]); - recvData.ReadByteSeq(playerGuid[7]); recvData.ReadByteSeq(playerGuid[2]); - recvData.ReadByteSeq(playerGuid[3]); recvData.ReadByteSeq(playerGuid[4]); - - float unk = recvData.ReadSingle(); + recvData.ReadByteSeq(playerGuid[7]); + recvData.ReadByteSeq(playerGuid[3]); DEBUG_LOG("WORLD: Received opcode Player Logon Message from %s, unk float: %f", playerGuid.GetString().c_str(), unk); if (PlayerLoading() || GetPlayer() != NULL)