aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Movement/MotionMaster.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index ac592e3b47f..82107cabb97 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -888,6 +888,10 @@ void MotionMaster::MoveFall(uint32 id/* = 0*/)
if (std::fabs(_owner->GetPositionZ() - tz) < 0.1f)
return;
+ // rooted units don't move (also setting falling+root flag causes client freezes)
+ if (_owner->IsRooted())
+ return;
+
_owner->AddUnitMovementFlag(MOVEMENTFLAG_FALLING);
_owner->m_movementInfo.SetFallTime(0);