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();