diff --git a/Content.Server/AI/Operators/AiOperator.cs b/Content.Server/AI/Operators/AiOperator.cs index 1989846ea9..94c809eabd 100644 --- a/Content.Server/AI/Operators/AiOperator.cs +++ b/Content.Server/AI/Operators/AiOperator.cs @@ -5,6 +5,7 @@ namespace Content.Server.AI.Operators { public abstract class AiOperator { + public bool HasStartup => _hasStartup; private bool _hasStartup = false; private bool _hasShutdown = false; diff --git a/Content.Server/AI/Utility/AiLogic/UtilityAI.cs b/Content.Server/AI/Utility/AiLogic/UtilityAI.cs index 0b76293e8f..82d076ba1a 100644 --- a/Content.Server/AI/Utility/AiLogic/UtilityAI.cs +++ b/Content.Server/AI/Utility/AiLogic/UtilityAI.cs @@ -152,6 +152,12 @@ namespace Content.Server.AI.Utility.AiLogic { return; } + + var currentOp = CurrentAction?.ActionOperators.Peek(); + if (currentOp != null && currentOp.HasStartup) + { + currentOp.Shutdown(Outcome.Failed); + } CurrentAction = action; action.SetupOperators(_blackboard);