Core/Movement:

- Don't abort relocation if movementflag restrictions were violated. There might be lag between client and server and even different parts of the core that made this approach improper.
- MOVEMENTFLAG_ROOT cannot be used in conjunction with MOVEMENTFLAG_MASK_MOVING, but it's a valid flag to receive from client.
- Fix falling to ground when unapplying fly/waterwalk aura. NOTE: This is a client-side initiated fall, in the future this should be initiated and updated by the server. (Working on it)
- Rename MOVEMENTFLAG_FALLING to MOVEMENTFLAG_FALLING_FAR
- Rename MOVEMENTFLAG_JUMPING to MOVEMENTFLAG_FALLING

Closes #5751
This commit is contained in:
Machiavelli
2012-03-17 20:34:03 +01:00
parent 01f3620d45
commit 41cc704bf8
13 changed files with 94 additions and 110 deletions

View File

@@ -278,14 +278,6 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recv_data)
return;
}
//! If some anti-cheat checks in WorldSession::ReadMovementInfo failed, do not process
//! the change of movement server-sided.
if (movementInfo.Violated)
{
recv_data.rfinish();
return;
}
/* handle special cases */
if (movementInfo.flags & MOVEMENTFLAG_ONTRANSPORT)
{
@@ -495,12 +487,6 @@ void WorldSession::HandleMoveNotActiveMover(WorldPacket &recv_data)
MovementInfo mi;
ReadMovementInfo(recv_data, &mi);
if (mi.Violated)
{
recv_data.rfinish();
return;
}
mi.guid = old_mover_guid;
_player->m_movementInfo = mi;
@@ -529,12 +515,6 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket & recv_data)
MovementInfo movementInfo;
ReadMovementInfo(recv_data, &movementInfo);
if (movementInfo.Violated)
{
recv_data.rfinish();
return;
}
_player->m_movementInfo = movementInfo;
WorldPacket data(MSG_MOVE_KNOCK_BACK, 66);