From 40903dcd65ef2b15efed6a32669c6b659685e7bd Mon Sep 17 00:00:00 2001 From: ccrs Date: Tue, 8 Aug 2017 19:49:12 +0200 Subject: Core/Movement: PropagateSpeedChange should only be called on the top (current active) movement generator --- src/server/game/Movement/MotionMaster.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/server') 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) -- cgit v1.2.3