diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp index 694d8c5fc..b82295f0b 100644 --- a/src/game/MovementHandler.cpp +++ b/src/game/MovementHandler.cpp @@ -160,13 +160,15 @@ void WorldSession::HandleMoveWorldportAckOpcode() void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data) { - CHECK_PACKET_SIZE(recv_data, 8+4); - sLog.outDebug("MSG_MOVE_TELEPORT_ACK"); uint64 guid; - uint32 flags, time; - recv_data >> guid; + if(!recv_data.readPackGUID(guid)) + return; + + CHECK_PACKET_SIZE(recv_data, recv_data.rpos()+4+4); + + uint32 flags, time; recv_data >> flags >> time; DEBUG_LOG("Guid " UI64FMTD, guid); DEBUG_LOG("Flags %u, time %u", flags, time/IN_MILISECONDS); diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index bba16de8e..09be4e478 100644 --- a/src/game/Opcodes.cpp +++ b/src/game/Opcodes.cpp @@ -1295,4 +1295,6 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x4F2*/ { "UMSG_UNKNOWN_1266", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4F3*/ { "UMSG_UNKNOWN_1267", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4F4*/ { "UMSG_UNKNOWN_1268", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x4F5*/ { "UMSG_UNKNOWN_1269", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x4F6*/ { "UMSG_UNKNOWN_1270", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, }; diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h index 833b451e9..f131adfe0 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -1303,7 +1303,9 @@ enum Opcodes UMSG_UNKNOWN_1266 = 0x4F2, // not found 3.2 UMSG_UNKNOWN_1267 = 0x4F3, // not found 3.2 UMSG_UNKNOWN_1268 = 0x4F4, // not found 3.2 - NUM_MSG_TYPES = 0x4F5 + UMSG_UNKNOWN_1269 = 0x4F5, + UMSG_UNKNOWN_1270 = 0x4F6, + NUM_MSG_TYPES = 0x4F7 }; /// Player state