Remove ReturnToBase order feedback if no RearmBuildings are defined.

ReturnToBase requires RearmBuildings to function.
This commit is contained in:
Paul Chote
2018-01-03 22:11:47 +00:00
committed by abcdefg30
parent 283af60b7c
commit 7dea5e28af
2 changed files with 7 additions and 2 deletions

View File

@@ -663,6 +663,9 @@ namespace OpenRA.Mods.Common.Traits
Order IIssueDeployOrder.IssueDeployOrder(Actor self) Order IIssueDeployOrder.IssueDeployOrder(Actor self)
{ {
if (!Info.RearmBuildings.Any())
return null;
return new Order("ReturnToBase", self, false); return new Order("ReturnToBase", self, false);
} }
@@ -675,9 +678,10 @@ namespace OpenRA.Mods.Common.Traits
{ {
case "Move": case "Move":
case "Enter": case "Enter":
case "ReturnToBase":
case "Stop": case "Stop":
return Info.Voice; return Info.Voice;
case "ReturnToBase":
return Info.RearmBuildings.Any() ? Info.Voice : null;
default: return null; default: return null;
} }
} }
@@ -764,7 +768,7 @@ namespace OpenRA.Mods.Common.Traits
self.QueueActivity(new HeliLand(self, true)); self.QueueActivity(new HeliLand(self, true));
} }
} }
else if (order.OrderString == "ReturnToBase") else if (order.OrderString == "ReturnToBase" && Info.RearmBuildings.Any())
{ {
UnReserve(); UnReserve();
self.CancelActivity(); self.CancelActivity();

View File

@@ -309,6 +309,7 @@ namespace OpenRA.Mods.Common.Widgets
var orders = selectedDeploys var orders = selectedDeploys
.Where(pair => pair.Trait.IsTraitEnabled()) .Where(pair => pair.Trait.IsTraitEnabled())
.Select(d => d.Trait.IssueDeployOrder(d.Actor)) .Select(d => d.Trait.IssueDeployOrder(d.Actor))
.Where(d => d != null)
.ToArray(); .ToArray();
foreach (var o in orders) foreach (var o in orders)