From e25878e78dceb82d79a31541867e18d84c8d4762 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Tue, 2 Nov 2010 07:51:07 +1300 Subject: [PATCH] ai: dont build defenses if in low power; dont build random stuff if no power-producing item is available on the same queue --- OpenRA.Mods.RA/HackyAI.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenRA.Mods.RA/HackyAI.cs b/OpenRA.Mods.RA/HackyAI.cs index 087486cc06..16eed6952c 100644 --- a/OpenRA.Mods.RA/HackyAI.cs +++ b/OpenRA.Mods.RA/HackyAI.cs @@ -135,11 +135,8 @@ namespace OpenRA.Mods.RA if (!HasAdequatePower()) /* try to maintain 20% excess power */ { /* find the best thing we can build which produces power */ - var best = buildableThings.Where(a => GetPowerProvidedBy(a) > 0) + return buildableThings.Where(a => GetPowerProvidedBy(a) > 0) .OrderByDescending(a => GetPowerProvidedBy(a)).FirstOrDefault(); - - if (best != null) - return best; } var myBuildings = p.World.Queries.OwnedBy[p].WithTrait() @@ -156,6 +153,9 @@ namespace OpenRA.Mods.RA ActorInfo ChooseDefenseToBuild(ProductionQueue queue) { + if (!HasAdequatePower()) + return null; + var buildableThings = queue.BuildableItems(); var myBuildings = p.World.Queries.OwnedBy[p].WithTrait()