diff --git a/OpenRA.Mods.RA/Transforms.cs b/OpenRA.Mods.RA/Transforms.cs index 2cc411ae33..9c158ab3c5 100644 --- a/OpenRA.Mods.RA/Transforms.cs +++ b/OpenRA.Mods.RA/Transforms.cs @@ -68,7 +68,7 @@ namespace OpenRA.Mods.RA return null; } - public void DeployTransform() + public void DeployTransform(bool queued) { var b = self.TraitOrDefault(); @@ -79,6 +79,9 @@ namespace OpenRA.Mods.RA return; } + if (!queued) + self.CancelActivity(); + if (self.HasTrait()) self.QueueActivity(new Turn(Info.Facing)); @@ -92,7 +95,7 @@ namespace OpenRA.Mods.RA public void ResolveOrder( Actor self, Order order ) { if (order.OrderString == "DeployTransform") - DeployTransform(); + DeployTransform(order.Queued); } } } diff --git a/mods/ra/lua/actor.lua b/mods/ra/lua/actor.lua index 904b6a5be4..b993cdc5bc 100644 --- a/mods/ra/lua/actor.lua +++ b/mods/ra/lua/actor.lua @@ -82,7 +82,8 @@ end Actor.DeployTransform = function(actor) Actor.CallFunc(actor, function() - Actor.Trait(actor, "Transforms"):DeployTransform() + -- Queue the transform order + Actor.Trait(actor, "Transforms"):DeployTransform(true) end) end