diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a41581d6c53..9d9323e8d3f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -26266,9 +26266,6 @@ bool Player::SetDisableGravity(bool disable, bool packetOnly /*= false*/) bool Player::SetCanFly(bool apply, bool packetOnly /*= false*/) { - if (!packetOnly && !Unit::SetCanFly(apply)) - return false; - if (!apply) SetFallInformation(0, GetPositionZ()); @@ -26277,11 +26274,16 @@ bool Player::SetCanFly(bool apply, bool packetOnly /*= false*/) data << uint32(0); //! movement counter SendDirectMessage(&data); - data.Initialize(MSG_MOVE_UPDATE_CAN_FLY, 64); - data << GetPackGUID(); - BuildMovementPacket(&data); - SendMessageToSet(&data, false); - return true; + if (packetOnly || Unit::SetCanFly(apply)) + { + data.Initialize(MSG_MOVE_UPDATE_CAN_FLY, 64); + data << GetPackGUID(); + BuildMovementPacket(&data); + SendMessageToSet(&data, false); + return true; + } + else + return false; } bool Player::SetHover(bool apply, bool packetOnly /*= false*/) |