aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2017-08-08 19:49:12 +0200
committerShauren <shauren.trinity@gmail.com>2020-08-22 20:50:24 +0200
commitb521bf1d3a4e59abf0d7c15200de5fff7430d2ed (patch)
treee7264cea8c824549f27755de145fbb899d2e7317 /src
parent4cf5cb9031cf2996e8f6f9bfe358ebf187ae2630 (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.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 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)