From d83a871520ade15fd5f7735f5e56f5c58ca3e330 Mon Sep 17 00:00:00 2001 From: "N.N" Date: Tue, 28 Nov 2023 15:22:35 +0100 Subject: [PATCH] Add RemoveOrders into RejectOrders trait --- OpenRA.Mods.Common/Traits/RejectsOrders.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenRA.Mods.Common/Traits/RejectsOrders.cs b/OpenRA.Mods.Common/Traits/RejectsOrders.cs index 149d0c583d..fcc05de895 100644 --- a/OpenRA.Mods.Common/Traits/RejectsOrders.cs +++ b/OpenRA.Mods.Common/Traits/RejectsOrders.cs @@ -24,6 +24,9 @@ namespace OpenRA.Mods.Common.Traits "Also overrides other instances of this trait's Reject fields.")] public readonly HashSet Except = new(); + [Desc("Remove current and all queued orders from the actor when this trait is enabled.")] + public readonly bool RemoveOrders = false; + public override object Create(ActorInitializer init) { return new RejectsOrders(this); } } @@ -34,6 +37,12 @@ namespace OpenRA.Mods.Common.Traits public RejectsOrders(RejectsOrdersInfo info) : base(info) { } + + protected override void TraitEnabled(Actor self) + { + if (Info.RemoveOrders) + self.CancelActivity(); + } } public static class RejectsOrdersExts