![]() |
TrinityCore
|
#include <MovementPacketSender.h>
Static Public Member Functions | |
| static void | SendSpeedChangeToMover (Unit *unit, UnitMoveType mtype, float newRate) |
| static void | SendSpeedChangeToObservers (Unit *unit, UnitMoveType mtype, float newRate) |
| static void | SendSpeedChangeToAll (Unit *unit, UnitMoveType mtype, float newRate) |
| static MovementChangeType | GetChangeTypeByMoveType (UnitMoveType moveType) |
Static Private Attributes | |
| static Opcodes const | moveTypeToOpcode [MAX_MOVE_TYPE][3] |
movement flag changes for player controlled units:
APPLY
{ // Step1 Sent by the server to the mover's client // Step2 Sent back by the mover's client to the server // Step3 Sent to observers (all of these should be renamed to SMSG! Confirmed by sniff analysis) { SMSG_FORCE_MOVE_ROOT, CMSG_FORCE_MOVE_ROOT_ACK, MSG_MOVE_ROOT }, { SMSG_MOVE_WATER_WALK, CMSG_MOVE_WATER_WALK_ACK, MSG_MOVE_WATER_WALK }, { SMSG_MOVE_SET_HOVER, CMSG_MOVE_HOVER_ACK, MSG_MOVE_HOVER }, { SMSG_MOVE_SET_CAN_FLY, CMSG_MOVE_SET_CAN_FLY_ACK, MSG_MOVE_UPDATE_CAN_FLY }, { SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK, MSG_MOVE_UPDATE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY }, { SMSG_MOVE_FEATHER_FALL, CMSG_MOVE_FEATHER_FALL_ACK, MSG_MOVE_FEATHER_FALL }, { SMSG_MOVE_GRAVITY_DISABLE, CMSG_MOVE_GRAVITY_DISABLE_ACK, MSG_MOVE_GRAVITY_CHNG } },
UNAPPLY
{ { SMSG_FORCE_MOVE_UNROOT, CMSG_FORCE_MOVE_UNROOT_ACK, MSG_MOVE_UNROOT }, { SMSG_MOVE_LAND_WALK, CMSG_MOVE_WATER_WALK_ACK, MSG_MOVE_WATER_WALK }, { SMSG_MOVE_UNSET_HOVER, CMSG_MOVE_HOVER_ACK, MSG_MOVE_HOVER }, { SMSG_MOVE_UNSET_CAN_FLY, CMSG_MOVE_SET_CAN_FLY_ACK, MSG_MOVE_UPDATE_CAN_FLY }, { SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK, MSG_MOVE_UPDATE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY }, { SMSG_MOVE_NORMAL_FALL, CMSG_MOVE_FEATHER_FALL_ACK, MSG_MOVE_FEATHER_FALL }, { SMSG_MOVE_GRAVITY_ENABLE, CMSG_MOVE_GRAVITY_ENABLE_ACK, MSG_MOVE_GRAVITY_CHNG } }
Speed changes on player controlled units: // Step1 Sent by the server to the mover's client // Step2 Sent back by the mover's client to the server // Step3 Sent to observers { SMSG_FORCE_WALK_SPEED_CHANGE, CMSG_FORCE_WALK_SPEED_CHANGE_ACK, MSG_MOVE_SET_WALK_SPEED }, { SMSG_FORCE_RUN_SPEED_CHANGE, CMSG_FORCE_RUN_SPEED_CHANGE_ACK, MSG_MOVE_SET_RUN_SPEED }, { SMSG_FORCE_RUN_BACK_SPEED_CHANGE, CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK, MSG_MOVE_SET_RUN_BACK_SPEED }, { SMSG_FORCE_SWIM_SPEED_CHANGE, CMSG_FORCE_SWIM_SPEED_CHANGE_ACK, MSG_MOVE_SET_SWIM_SPEED }, { SMSG_FORCE_SWIM_BACK_SPEED_CHANGE, CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, MSG_MOVE_SET_SWIM_BACK_SPEED }, { SMSG_FORCE_TURN_RATE_CHANGE, CMSG_FORCE_TURN_RATE_CHANGE_ACK, MSG_MOVE_SET_TURN_RATE }, { SMSG_FORCE_FLIGHT_SPEED_CHANGE, CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK, MSG_MOVE_SET_FLIGHT_SPEED }, { SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE, CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, MSG_MOVE_SET_FLIGHT_BACK_SPEED }, { SMSG_FORCE_PITCH_RATE_CHANGE, CMSG_FORCE_PITCH_RATE_CHANGE_ACK, MSG_MOVE_SET_PITCH_RATE },
Other type of changes // Step1 Sent by the server to the mover's client // Step2 Sent back by the mover's client to the server // Step3 Sent to observers { SMSG_MOVE_SET_COLLISION_HGT, CMSG_MOVE_SET_COLLISION_HGT_ACK, MSG_MOVE_SET_COLLISION_HGT }, { MSG_MOVE_TELEPORT_ACK, MSG_MOVE_TELEPORT_ACK, MSG_MOVE_TELEPORT }, { SMSG_MOVE_KNOCK_BACK, CMSG_MOVE_KNOCK_BACK_ACK, MSG_MOVE_KNOCK_BACK },
movement flag changes for server controlled units: (these player movement flags have no equivalent in spline: SET_CAN_FLY and SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY) apply { SMSG_SPLINE_MOVE_GRAVITY_DISABLE, SMSG_SPLINE_MOVE_ROOT, SMSG_SPLINE_MOVE_WATER_WALK, SMSG_SPLINE_MOVE_FEATHER_FALL, SMSG_SPLINE_MOVE_SET_HOVER, } unapply { SMSG_SPLINE_MOVE_GRAVITY_ENABLE, SMSG_SPLINE_MOVE_UNROOT, SMSG_SPLINE_MOVE_LAND_WALK, SMSG_SPLINE_MOVE_NORMAL_FALL, SMSG_SPLINE_MOVE_UNSET_HOVER, }
Definition at line 98 of file MovementPacketSender.h.
|
static |
Definition at line 39 of file MovementPacketSender.cpp.
References ASSERT, MOVE_FLIGHT, MOVE_FLIGHT_BACK, MOVE_PITCH_RATE, MOVE_RUN, MOVE_RUN_BACK, MOVE_SWIM, MOVE_SWIM_BACK, MOVE_TURN_RATE, MOVE_WALK, RATE_CHANGE_PITCH, RATE_CHANGE_TURN, SPEED_CHANGE_FLIGHT_BACK_SPEED, SPEED_CHANGE_FLIGHT_SPEED, SPEED_CHANGE_RUN, SPEED_CHANGE_RUN_BACK, SPEED_CHANGE_SWIM, SPEED_CHANGE_SWIM_BACK, and SPEED_CHANGE_WALK.
Referenced by SendSpeedChangeToMover(), and Unit::SetSpeedRate().
|
static |
Definition at line 89 of file MovementPacketSender.cpp.
References ASSERT, Unit::GetGameClientMovingMe(), Object::GetGUID(), WorldPackets::Movement::MoveSplineSetSpeed::MoverGUID, moveTypeToOpcode, WorldObject::SendMessageToSet(), WorldPackets::Movement::MoveSplineSetSpeed::Speed, and WorldPackets::Movement::MoveSplineSetSpeed::Write().
Referenced by Unit::SetSpeedRate().
|
static |
Definition at line 57 of file MovementPacketSender.cpp.
References ASSERT, GetChangeTypeByMoveType(), Unit::GetGameClientMovingMe(), Object::GetGUID(), Unit::GetMovementCounterAndInc(), PlayerMovementPendingChange::movementChangeType, PlayerMovementPendingChange::movementCounter, WorldPackets::Movement::MoveSetSpeed::MoverGUID, moveTypeToOpcode, PlayerMovementPendingChange::newValue, Unit::PushPendingMovementChange(), GameClient::SendDirectMessage(), WorldPackets::Movement::MoveSetSpeed::SequenceIndex, WorldPackets::Movement::MoveSetSpeed::Speed, and WorldPackets::Movement::MoveSetSpeed::Write().
Referenced by Unit::SetSpeedRate().
|
static |
Definition at line 77 of file MovementPacketSender.cpp.
References ASSERT, GameClient::GetBasePlayer(), Unit::GetGameClientMovingMe(), WorldObject::m_movementInfo, moveTypeToOpcode, WorldObject::SendMessageToSet(), WorldPackets::Movement::MoveUpdateSpeed::Speed, WorldPackets::Movement::MoveUpdateSpeed::Status, and WorldPackets::Movement::MoveUpdateSpeed::Write().
Referenced by WorldSession::HandleForceSpeedChangeAck(), and Unit::PurgeAndApplyPendingMovementChanges().
|
staticprivate |
Definition at line 26 of file MovementPacketSender.h.
Referenced by SendSpeedChangeToAll(), SendSpeedChangeToMover(), and SendSpeedChangeToObservers().