diff options
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/MovementHandler.cpp | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index 21ef1fc6ae0..23cbdc7d4a3 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -32,6 +32,7 @@ #include "ObjectMgr.h" #include "MovementStructures.h" #include "Vehicle.h" +#include "MovementPackets.h" #define MOVEMENT_PACKET_TIME_DELAY 0 @@ -264,26 +265,23 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recvPacket) GetPlayer()->ProcessDelayedOperations(); } -void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket) +void WorldSession::HandleMovementOpcodes(WorldPackets::Movement::ClientPlayerMovement& packet) { - uint16 opcode = recvPacket.GetOpcode(); + OpcodeClient opcode = packet.GetOpcode(); Unit* mover = _player->m_mover; - ASSERT(mover != NULL); // there must always be a mover + ASSERT(mover != nullptr); // there must always be a mover Player* plrMover = mover->ToPlayer(); // ignore, waiting processing in WorldSession::HandleMoveWorldportAckOpcode and WorldSession::HandleMoveTeleportAck if (plrMover && plrMover->IsBeingTeleported()) { - recvPacket.rfinish(); // prevent warnings spam return; } - /* extract packet */ - MovementInfo movementInfo; - GetPlayer()->ReadMovementInfo(recvPacket, &movementInfo); + MovementInfo& movementInfo = packet.movementInfo; // prevent tampered movement data if (movementInfo.guid != mover->GetGUID()) @@ -308,14 +306,12 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket) // (also received at zeppelin leave by some reason with t_* as absolute in continent coordinates, can be safely skipped) if (movementInfo.transport.pos.GetPositionX() > 50 || movementInfo.transport.pos.GetPositionY() > 50 || movementInfo.transport.pos.GetPositionZ() > 50) { - recvPacket.rfinish(); // prevent warnings spam return; } if (!Trinity::IsValidMapCoord(movementInfo.pos.GetPositionX() + movementInfo.transport.pos.GetPositionX(), movementInfo.pos.GetPositionY() + movementInfo.transport.pos.GetPositionY(), movementInfo.pos.GetPositionZ() + movementInfo.transport.pos.GetPositionZ(), movementInfo.pos.GetOrientation() + movementInfo.transport.pos.GetOrientation())) { - recvPacket.rfinish(); // prevent warnings spam return; } @@ -387,7 +383,8 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket) mover->UpdatePosition(movementInfo.pos); - WorldPacket data(SMSG_PLAYER_MOVE, recvPacket.size()); + // TODO: + /*WorldPacket data(SMSG_PLAYER_MOVE, recvPacket.size()); mover->WriteMovementInfo(data); mover->SendMessageToSet(&data, _player); @@ -418,7 +415,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket) } } } - } + }*/ } void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData) |