diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 575f410fe..674e543e1 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -222,6 +222,7 @@ Player::Player(WorldSession* session): Unit(true), m_mover(this) m_bHasDelayedTeleport = false; teleportStore_options = 0; m_canTeleport = false; + m_canKnockback = false; m_trade = nullptr; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index ddc3c1b68..6ff76d89c 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2430,6 +2430,8 @@ public: bool CanTeleport() { return m_canTeleport; } void SetCanTeleport(bool value) { m_canTeleport = value; } + bool CanKnockback() { return m_canKnockback; } + void SetCanKnockback(bool value) { m_canKnockback = value; } bool isAllowedToLoot(Creature const* creature); @@ -2883,6 +2885,7 @@ private: bool m_bMustDelayTeleport; bool m_bHasDelayedTeleport; bool m_canTeleport; + bool m_canKnockback; std::unique_ptr m_petStable; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2c28c9a7b..5cf798604 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -18727,6 +18727,7 @@ void Unit::KnockbackFrom(float x, float y, float speedXY, float speedZ) player->SetCanFly(true, true); sScriptMgr->AnticheatSetSkipOnePacketForASH(player, true); + player->SetCanKnockback(true); } }