diff options
author | ccrs <ccrs@users.noreply.github.com> | 2017-08-08 19:49:12 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-08-22 20:50:24 +0200 |
commit | b521bf1d3a4e59abf0d7c15200de5fff7430d2ed (patch) | |
tree | e7264cea8c824549f27755de145fbb899d2e7317 /src | |
parent | 4cf5cb9031cf2996e8f6f9bfe358ebf187ae2630 (diff) |
Core/Movement: PropagateSpeedChange should only be called on the top (current active) movement generator
(cherry picked from commit 40903dcd65ef2b15efed6a32669c6b659685e7bd)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 19e900a8806..a29684dfbe2 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -178,11 +178,14 @@ MovementGenerator* MotionMaster::GetMotionSlot(int slot) const void MotionMaster::PropagateSpeedChange() { - for (int i = 0; i <= _top; ++i) - { - if (_slot[i]) - _slot[i]->UnitSpeedChanged(); - } + if (empty()) + return; + + MovementGenerator* movement = top(); + if (!movement) + return; + + movement->UnitSpeedChanged(); } bool MotionMaster::GetDestination(float &x, float &y, float &z) |