aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2017-08-08 19:49:12 +0200
committerccrs <ccrs@users.noreply.github.com>2017-08-08 19:49:12 +0200
commit40903dcd65ef2b15efed6a32669c6b659685e7bd (patch)
tree4c1edb94d7634704e7c990fea449f3f58ae1a784 /src
parentee2d7c1d53986d32779379caf0591d6cde530ead (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.cpp13
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)