diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index f72b5f26c..e66eeaf96 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -319,22 +319,25 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData) recvData.readPackGUID(guid); + // pussywizard: typical check for incomming movement packets + if (!mover || !mover->IsInWorld() || mover->IsDuringRemoveFromWorld() || guid != mover->GetGUID()) + { + recvData.rfinish(); + return; + } + MovementInfo movementInfo; movementInfo.guid = guid; ReadMovementInfo(recvData, &movementInfo); - recvData.rfinish(); // prevent warnings spam - - // pussywizard: typical check for incomming movement packets - if (!mover || !mover->IsInWorld() || mover->IsDuringRemoveFromWorld() || guid != mover->GetGUID()) - return; - if (!movementInfo.pos.IsPositionValid()) { recvData.rfinish(); // prevent warnings spam return; } + recvData.rfinish(); // prevent warnings spam + if (movementInfo.flags & MOVEMENTFLAG_ONTRANSPORT) { // T_POS ON VEHICLES!