diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-05-10 23:30:50 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-05 14:38:26 +0100 |
commit | 34eedc2ad86b78662127561b6eb0835b652e533e (patch) | |
tree | dc76ddb862c8b5449f60c785c61027a7d7699d38 /src | |
parent | ab988dc98284285b8ed0253f0bca1ddeb7eb9982 (diff) |
Core/Movement: Prevent rooted units from falling
* Fixes a client freeze
Closes #23042
(cherry picked from commit 99a9129a72a594cab8f3b15d9da388cf99afa47b)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
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 |