diff options
Diffstat (limited to 'src/game/MovementHandler.cpp')
| -rw-r--r-- | src/game/MovementHandler.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp index 1b0922f1aa1..58bad600f38 100644 --- a/src/game/MovementHandler.cpp +++ b/src/game/MovementHandler.cpp @@ -246,8 +246,11 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data ) return; } - if (!Trinity::IsValidMapCoord(movementInfo.x, movementInfo.y, movementInfo.z, movementInfo.o)) + if (!MaNGOS::IsValidMapCoord(movementInfo.x, movementInfo.y, movementInfo.z, movementInfo.o)) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; + } /* handle special cases */ if (movementInfo.flags & MOVEMENTFLAG_ONTRANSPORT) @@ -255,11 +258,17 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data ) // transports size limited // (also received at zeppelin leave by some reason with t_* as absolute in continent coordinates, can be safely skipped) if( movementInfo.t_x > 50 || movementInfo.t_y > 50 || movementInfo.t_z > 50 ) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; + } if( !MaNGOS::IsValidMapCoord(movementInfo.x+movementInfo.t_x, movementInfo.y + movementInfo.t_y, movementInfo.z + movementInfo.t_z, movementInfo.o + movementInfo.t_o) ) + { + recv_data.rpos(recv_data.wpos()); // prevent warnings spam return; + } // if we boarded a transport, add us to it if (plMover && !plMover->m_transport) |
