diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Air/Aircraft.cs index 06777b73f8..76cc5b0a5c 100755 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Air/Aircraft.cs @@ -231,7 +231,14 @@ namespace OpenRA.Mods.RA.Air public string VoicePhraseForOrder(Actor self, Order order) { - return (order.OrderString == "Move" || order.OrderString == "Enter") ? "Move" : null; + switch( order.OrderString ) + { + case "Move": + case "Enter": + case "ReturnToBase": + return "Move"; + default: return null; + } } } diff --git a/OpenRA.Mods.RA/Air/Helicopter.cs b/OpenRA.Mods.RA/Air/Helicopter.cs index 4dd528db2e..96e245d38a 100755 --- a/OpenRA.Mods.RA/Air/Helicopter.cs +++ b/OpenRA.Mods.RA/Air/Helicopter.cs @@ -76,6 +76,12 @@ namespace OpenRA.Mods.RA.Air QueueResupplyActivities(order.TargetActor); } + if (order.OrderString == "ReturnToBase") + { + self.CancelActivity(); + self.QueueActivity( new HeliReturn() ); + } + if (order.OrderString == "Stop") { self.CancelActivity(); diff --git a/OpenRA.Mods.RA/Air/Plane.cs b/OpenRA.Mods.RA/Air/Plane.cs index 82dab3384f..4a6730972b 100755 --- a/OpenRA.Mods.RA/Air/Plane.cs +++ b/OpenRA.Mods.RA/Air/Plane.cs @@ -68,6 +68,12 @@ namespace OpenRA.Mods.RA.Air UnReserve(); self.CancelActivity(); } + else if (order.OrderString == "ReturnToBase") + { + UnReserve(); + self.CancelActivity(); + self.QueueActivity(new ReturnToBase(self,null)); + } else { // Game.Debug("Unreserve due to unhandled order: {0}".F(order.OrderString)); diff --git a/OpenRA.Mods.RA/Widgets/WorldCommandWidget.cs b/OpenRA.Mods.RA/Widgets/WorldCommandWidget.cs index a3c5693dff..100ba94586 100644 --- a/OpenRA.Mods.RA/Widgets/WorldCommandWidget.cs +++ b/OpenRA.Mods.RA/Widgets/WorldCommandWidget.cs @@ -104,9 +104,10 @@ namespace OpenRA.Mods.RA.Widgets bool PerformDeploy() { - /* hack: two orders here -- DeployTransform and Unload. */ + /* hack: three orders here -- DeployTransform and Unload. */ + PerformKeyboardOrderOnSelection(a => new Order("ReturnToBase", a, false)); PerformKeyboardOrderOnSelection(a => new Order("DeployTransform", a, false)); - PerformKeyboardOrderOnSelection(a => new Order("Unload", a, false)); + PerformKeyboardOrderOnSelection(a => new Order("Unload", a, false)); return true; }