From cdedfe6931b8f4e82849e9bbf62ca4c0257f3f7f Mon Sep 17 00:00:00 2001 From: Pavel Penev Date: Fri, 21 Aug 2015 16:46:47 +0300 Subject: [PATCH] Don't get stuck in deployed mode because of an impossible move order --- OpenRA.Mods.Common/Activities/Move/Move.cs | 3 +++ OpenRA.Mods.Common/Traits/Upgrades/DeployToUpgrade.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Activities/Move/Move.cs b/OpenRA.Mods.Common/Activities/Move/Move.cs index ebaf66aeb9..e5a704d33a 100644 --- a/OpenRA.Mods.Common/Activities/Move/Move.cs +++ b/OpenRA.Mods.Common/Activities/Move/Move.cs @@ -142,6 +142,9 @@ namespace OpenRA.Mods.Common.Activities public override Activity Tick(Actor self) { + if (IsCanceled) + return NextActivity; + if (moveDisablers.Any(d => d.MoveDisabled(self))) return this; diff --git a/OpenRA.Mods.Common/Traits/Upgrades/DeployToUpgrade.cs b/OpenRA.Mods.Common/Traits/Upgrades/DeployToUpgrade.cs index b5d0821d2e..f9b7f23fee 100644 --- a/OpenRA.Mods.Common/Traits/Upgrades/DeployToUpgrade.cs +++ b/OpenRA.Mods.Common/Traits/Upgrades/DeployToUpgrade.cs @@ -95,7 +95,7 @@ namespace OpenRA.Mods.Common.Traits if (isUpgraded) { // Play undeploy animation and after that revoke the upgrades - self.QueueActivity(new CallFunc(() => + self.QueueActivity(false, new CallFunc(() => { if (!string.IsNullOrEmpty(info.UndeploySound)) Sound.Play(info.UndeploySound, self.CenterPosition);