From 958dbbb4d964a9c3ab887705bc304bc320531f0a Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 24 Dec 2021 21:09:51 -0500 Subject: [PATCH] Core/SAI: add param3 to SMART_ACTION_CALL_TIMED_ACTIONLIST to allow it to override a currently running actionlist. Port From (https://github.com/TrinityCore/TrinityCore/commit/d197a7ce9b376f45e5de1a5aab3df75b77b62d8f) --- Source/Game/AI/SmartScripts/SmartAIManager.cs | 1 + Source/Game/AI/SmartScripts/SmartScript.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Game/AI/SmartScripts/SmartAIManager.cs b/Source/Game/AI/SmartScripts/SmartAIManager.cs index 1124488da..24b6e9742 100644 --- a/Source/Game/AI/SmartScripts/SmartAIManager.cs +++ b/Source/Game/AI/SmartScripts/SmartAIManager.cs @@ -2899,6 +2899,7 @@ namespace Game.AI { public uint id; public uint timerType; + public uint allowOverride; } public struct RandTimedActionList { diff --git a/Source/Game/AI/SmartScripts/SmartScript.cs b/Source/Game/AI/SmartScripts/SmartScript.cs index 2e4b2e4af..70f8b3ab8 100644 --- a/Source/Game/AI/SmartScripts/SmartScript.cs +++ b/Source/Game/AI/SmartScripts/SmartScript.cs @@ -4165,7 +4165,7 @@ namespace Game.AI public void SetTimedActionList(SmartScriptHolder e, uint entry, Unit invoker) { // Do NOT allow to start a new actionlist if a previous one is already running, unless explicitly allowed. We need to always finish the current actionlist - if (!_timedActionList.Empty()) + if (e.Action.timedActionList.allowOverride == 0 && !_timedActionList.Empty()) return; _timedActionList.Clear();