diff options
author | ccrs <ccrs@users.noreply.github.com> | 2017-08-08 19:49:12 +0200 |
---|---|---|
committer | ccrs <ccrs@users.noreply.github.com> | 2017-08-08 19:49:12 +0200 |
commit | 40903dcd65ef2b15efed6a32669c6b659685e7bd (patch) | |
tree | 4c1edb94d7634704e7c990fea449f3f58ae1a784 /src | |
parent | ee2d7c1d53986d32779379caf0591d6cde530ead (diff) |
Core/Movement: PropagateSpeedChange should only be called on the top (current active) movement generator
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 d834e2d6298..7c946f641c7 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -180,11 +180,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) |