Core/SAI: Fix SMART_ACTION_WP_RESUME actually pausing next waypoint if the current path was not paused

Port From (https://github.com/TrinityCore/TrinityCore/commit/eb17e94b2e0059edeb747cb03e6828a746a2c0b8)
This commit is contained in:
hondacrx
2022-05-24 12:57:10 -04:00
parent 3c3d16ab09
commit 1e80eb21f0
2 changed files with 13 additions and 1 deletions
+11
View File
@@ -181,6 +181,17 @@ namespace Game.AI
GetScript().ProcessEventsFor(SmartEvents.WaypointPaused, null, _currentWaypointNode, GetScript().GetPathId());
}
public bool CanResumePath()
{
if (!HasEscortState(SmartEscortState.Escorting))
{
// The whole resume logic doesn't support this case
return false;
}
return HasEscortState(SmartEscortState.Paused);
}
public void StopPath(uint despawnTime = 0, uint quest = 0, bool fail = false)
{
if (!HasEscortState(SmartEscortState.Escorting))
+2 -1
View File
@@ -1403,7 +1403,8 @@ namespace Game.AI
break;
// Set the timer to 1 ms so the path will be resumed on next update loop
((SmartAI)_me.GetAI()).SetWPPauseTimer(1);
if (((SmartAI)_me.GetAI()).CanResumePath())
((SmartAI)_me.GetAI()).SetWPPauseTimer(1);
break;
}
case SmartActions.SetOrientation: