summaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MovementHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/MovementHandler.cpp')
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp79
1 files changed, 54 insertions, 25 deletions
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 78557ce513..45172030fe 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -28,7 +28,7 @@
#define MOVEMENT_PACKET_TIME_DELAY 0
-void WorldSession::HandleMoveWorldportAckOpcode(WorldPacket & /*recvData*/)
+void WorldSession::HandleMoveWorldportAckOpcode(WorldPacket& /*recvData*/)
{
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got MSG_MOVE_WORLDPORT_ACK.");
@@ -238,7 +238,7 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recvData)
sLog->outStaticDebug("Guid " UI64FMTD, guid);
#endif
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
- sLog->outStaticDebug("Flags %u, time %u", flags, time/IN_MILLISECONDS);
+ sLog->outStaticDebug("Flags %u, time %u", flags, time / IN_MILLISECONDS);
#endif
Player* plMover = _player->m_mover->ToPlayer();
@@ -261,7 +261,7 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recvData)
// xinef: teleport pets if they are not unsummoned
if (Pet* pet = plMover->GetPet())
{
- if (!pet->IsWithinDist3d(plMover, plMover->GetMap()->GetVisibilityRange()-5.0f))
+ if (!pet->IsWithinDist3d(plMover, plMover->GetMap()->GetVisibilityRange() - 5.0f))
pet->NearTeleportTo(plMover->GetPositionX(), plMover->GetPositionY(), plMover->GetPositionZ(), pet->GetOrientation());
}
@@ -293,11 +293,11 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recvData)
plMover->GetMotionMaster()->ReinitializeMovement();
// pussywizard: client forgets about losing control, resend it
- if (plMover->HasUnitState(UNIT_STATE_FLEEING|UNIT_STATE_CONFUSED) || plMover->IsCharmed()) // only in such cases SetClientControl(self, false) is sent
+ if (plMover->HasUnitState(UNIT_STATE_FLEEING | UNIT_STATE_CONFUSED) || plMover->IsCharmed()) // only in such cases SetClientControl(self, false) is sent
plMover->SetClientControl(plMover, false, true);
}
-void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
+void WorldSession::HandleMovementOpcodes(WorldPacket& recvData)
{
uint16 opcode = recvData.GetOpcode();
@@ -320,7 +320,8 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
recvData.readPackGUID(guid);
// prevent tampered movement data
- if (!guid || guid != mover->GetGUID()) {
+ if (!guid || guid != mover->GetGUID())
+ {
recvData.rfinish(); // prevent warnings spam
return;
}
@@ -336,7 +337,8 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
movementInfo.guid = guid;
ReadMovementInfo(recvData, &movementInfo);
- if (!movementInfo.pos.IsPositionValid()) {
+ if (!movementInfo.pos.IsPositionValid())
+ {
recvData.rfinish(); // prevent warnings spam
return;
}
@@ -352,14 +354,14 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
// transports size limited
// (also received at zeppelin leave by some reason with t_* as absolute in continent coordinates, can be safely skipped)
if (movementInfo.transport.pos.GetPositionX() > 75.0f || movementInfo.transport.pos.GetPositionY() > 75.0f || movementInfo.transport.pos.GetPositionZ() > 75.0f ||
- movementInfo.transport.pos.GetPositionX() < -75.0f || movementInfo.transport.pos.GetPositionY() < -75.0f || movementInfo.transport.pos.GetPositionZ() < -75.0f)
+ movementInfo.transport.pos.GetPositionX() < -75.0f || movementInfo.transport.pos.GetPositionY() < -75.0f || movementInfo.transport.pos.GetPositionZ() < -75.0f)
{
recvData.rfinish(); // prevent warnings spam
return;
}
if (!acore::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()))
+ movementInfo.pos.GetPositionZ() + movementInfo.transport.pos.GetPositionZ(), movementInfo.pos.GetOrientation() + movementInfo.transport.pos.GetOrientation()))
{
recvData.rfinish(); // prevent warnings spam
return;
@@ -509,7 +511,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
}
}
-void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
+void WorldSession::HandleForceSpeedChangeAck(WorldPacket& recvData)
{
uint32 opcode = recvData.GetOpcode();
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
@@ -550,15 +552,42 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
switch (opcode)
{
- case CMSG_FORCE_WALK_SPEED_CHANGE_ACK: move_type = MOVE_WALK; force_move_type = MOVE_WALK; break;
- case CMSG_FORCE_RUN_SPEED_CHANGE_ACK: move_type = MOVE_RUN; force_move_type = MOVE_RUN; break;
- case CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK: move_type = MOVE_RUN_BACK; force_move_type = MOVE_RUN_BACK; break;
- case CMSG_FORCE_SWIM_SPEED_CHANGE_ACK: move_type = MOVE_SWIM; force_move_type = MOVE_SWIM; break;
- case CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK: move_type = MOVE_SWIM_BACK; force_move_type = MOVE_SWIM_BACK; break;
- case CMSG_FORCE_TURN_RATE_CHANGE_ACK: move_type = MOVE_TURN_RATE; force_move_type = MOVE_TURN_RATE; break;
- case CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK: move_type = MOVE_FLIGHT; force_move_type = MOVE_FLIGHT; break;
- case CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK: move_type = MOVE_FLIGHT_BACK; force_move_type = MOVE_FLIGHT_BACK; break;
- case CMSG_FORCE_PITCH_RATE_CHANGE_ACK: move_type = MOVE_PITCH_RATE; force_move_type = MOVE_PITCH_RATE; break;
+ case CMSG_FORCE_WALK_SPEED_CHANGE_ACK:
+ move_type = MOVE_WALK;
+ force_move_type = MOVE_WALK;
+ break;
+ case CMSG_FORCE_RUN_SPEED_CHANGE_ACK:
+ move_type = MOVE_RUN;
+ force_move_type = MOVE_RUN;
+ break;
+ case CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK:
+ move_type = MOVE_RUN_BACK;
+ force_move_type = MOVE_RUN_BACK;
+ break;
+ case CMSG_FORCE_SWIM_SPEED_CHANGE_ACK:
+ move_type = MOVE_SWIM;
+ force_move_type = MOVE_SWIM;
+ break;
+ case CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK:
+ move_type = MOVE_SWIM_BACK;
+ force_move_type = MOVE_SWIM_BACK;
+ break;
+ case CMSG_FORCE_TURN_RATE_CHANGE_ACK:
+ move_type = MOVE_TURN_RATE;
+ force_move_type = MOVE_TURN_RATE;
+ break;
+ case CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK:
+ move_type = MOVE_FLIGHT;
+ force_move_type = MOVE_FLIGHT;
+ break;
+ case CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK:
+ move_type = MOVE_FLIGHT_BACK;
+ force_move_type = MOVE_FLIGHT_BACK;
+ break;
+ case CMSG_FORCE_PITCH_RATE_CHANGE_ACK:
+ move_type = MOVE_PITCH_RATE;
+ force_move_type = MOVE_PITCH_RATE;
+ break;
default:
sLog->outError("WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode);
return;
@@ -578,19 +607,19 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
if (_player->GetSpeed(move_type) > newspeed) // must be greater - just correct
{
sLog->outError("%sSpeedChange player %s is NOT correct (must be %f instead %f), force set to correct value",
- move_type_name[move_type], _player->GetName().c_str(), _player->GetSpeed(move_type), newspeed);
+ move_type_name[move_type], _player->GetName().c_str(), _player->GetSpeed(move_type), newspeed);
_player->SetSpeed(move_type, _player->GetSpeedRate(move_type), true);
}
else // must be lesser - cheating
{
sLog->outBasic("Player %s from account id %u kicked for incorrect speed (must be %f instead %f)",
- _player->GetName().c_str(), GetAccountId(), _player->GetSpeed(move_type), newspeed);
+ _player->GetName().c_str(), GetAccountId(), _player->GetSpeed(move_type), newspeed);
KickPlayer("Incorrect speed");
}
}
}
-void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recvData)
+void WorldSession::HandleSetActiveMoverOpcode(WorldPacket& recvData)
{
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_SET_ACTIVE_MOVER");
@@ -606,7 +635,7 @@ void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recvData)
}
}
-void WorldSession::HandleMoveNotActiveMover(WorldPacket &recvData)
+void WorldSession::HandleMoveNotActiveMover(WorldPacket& recvData)
{
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_MOVE_NOT_ACTIVE_MOVER");
@@ -637,7 +666,7 @@ void WorldSession::HandleMountSpecialAnimOpcode(WorldPacket& /*recvData*/)
GetPlayer()->SendMessageToSet(&data, false);
}
-void WorldSession::HandleMoveKnockBackAck(WorldPacket & recvData)
+void WorldSession::HandleMoveKnockBackAck(WorldPacket& recvData)
{
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_KNOCK_BACK_ACK");
@@ -739,7 +768,7 @@ void WorldSession::HandleMoveTimeSkippedOpcode(WorldPacket& recvData)
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_MOVE_TIME_SKIPPED");
#endif
-
+
uint64 guid;
uint32 timeSkipped;
recvData.readPackGUID(guid);