From c4ce03f525133cffdc1d1851cffd731ee0ec99b3 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 20 Aug 2018 02:53:42 +0200 Subject: [PATCH] Core/AI: merged walk / run fix for EscortAI --- src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp | 11 +++++++---- src/server/game/AI/SmartScripts/SmartAI.cpp | 5 +++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index da9dfb25d0e..cc3342c0070 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -353,10 +353,13 @@ void EscortAI::FillPointMovementListForCreature() void EscortAI::SetRun(bool on) { - if (on && !_running) - me->SetWalk(false); - else if (!on && _running) - me->SetWalk(true); + if (on == _running) + return; + + for (auto& node : _path.nodes) + node.moveType = on ? WAYPOINT_MOVE_TYPE_RUN : WAYPOINT_MOVE_TYPE_WALK; + + me->SetWalk(!on); _running = on; } diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 6b2acb1d57b..38c2fda2be7 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -799,8 +799,13 @@ ObjectGuid SmartAI::GetGUID(int32 /*id*/) const void SmartAI::SetRun(bool run) { + if (run == mRun) + return; + me->SetWalk(!run); mRun = run; + for (auto& node : _path.nodes) + node.moveType = run ? WAYPOINT_MOVE_TYPE_RUN : WAYPOINT_MOVE_TYPE_WALK; } void SmartAI::SetDisableGravity(bool fly)