From 34eedc2ad86b78662127561b6eb0835b652e533e Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 10 May 2019 23:30:50 +0200 Subject: Core/Movement: Prevent rooted units from falling * Fixes a client freeze Closes #23042 (cherry picked from commit 99a9129a72a594cab8f3b15d9da388cf99afa47b) --- src/server/game/Movement/MotionMaster.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 2cee75d556f..7a6a1b8da80 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -944,6 +944,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->SetFall(true); // Don't run spline movement for players -- cgit v1.2.3