From e636531da3603c10a9ebcb8a55d52d6cdb3a400a Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Sun, 8 Apr 2012 12:17:43 +0200 Subject: Core/Movement: Fix pushback issues and client freeze. --- src/server/game/Entities/Player/Player.cpp | 24 ++++++++++++++++++++++++ src/server/game/Entities/Player/Player.h | 3 +++ 2 files changed, 27 insertions(+) (limited to 'src/server/game/Entities/Player') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 100afd73b27..72a10f43533 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -25550,3 +25550,27 @@ void Player::SendMovementSetCanTransitionBetweenSwimAndFly(bool apply) data << uint32(0); //! movement counter SendDirectMessage(&data); } + +void Player::SendMovementSetHover(bool apply) +{ + WorldPacket data(apply ? SMSG_MOVE_SET_HOVER : SMSG_MOVE_UNSET_HOVER, 12); + data.append(GetPackGUID()); + data << uint32(0); //! movement counter + SendDirectMessage(&data); +} + +void Player::SendMovementSetWaterWalking(bool apply) +{ + WorldPacket data(apply ? SMSG_MOVE_WATER_WALK : SMSG_MOVE_LAND_WALK, 12); + data.append(GetPackGUID()); + data << uint32(0); //! movement counter + SendDirectMessage(&data); +} + +void Player::SendMovementSetFeatherFall(bool apply) +{ + WorldPacket data(apply ? SMSG_MOVE_FEATHER_FALL : SMSG_MOVE_NORMAL_FALL, 12); + data.append(GetPackGUID()); + data << uint32(0); //! movement counter + SendDirectMessage(&data); +} diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 53b848a89b0..1b80b68113f 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2486,6 +2486,9 @@ class Player : public Unit, public GridObject */ void SendMovementSetCanFly(bool apply); void SendMovementSetCanTransitionBetweenSwimAndFly(bool apply); + void SendMovementSetHover(bool apply); + void SendMovementSetWaterWalking(bool apply); + void SendMovementSetFeatherFall(bool apply); bool CanFly() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_CAN_FLY); } -- cgit v1.2.3