fix #960 -- HackyAI shouldn't put itself in low power so much.

This commit is contained in:
Chris Forbes
2011-08-15 14:23:54 +12:00
parent cc716ab8c7
commit 1aa80e0377
2 changed files with 6 additions and 3 deletions

View File

@@ -28,10 +28,12 @@ namespace OpenRA.Mods.RA.Buildings
Dictionary<Actor, int> PowerDrain = new Dictionary<Actor, int>();
[Sync] int totalProvided;
public int PowerProvided { get { return totalProvided; } }
[Sync] int totalDrained;
public int PowerDrained { get { return totalDrained; } }
public int ExcessPower { get { return totalProvided - totalDrained; } }
public PowerManager(ActorInitializer init, PowerManagerInfo info)
{
Info = info;

View File

@@ -145,7 +145,8 @@ namespace OpenRA.Mods.RA
foreach (var frac in Info.BuildingFractions)
if (buildableThings.Any(b => b.Name == frac.Key))
if (myBuildings.Count(a => a == frac.Key) < frac.Value * myBuildings.Length)
if (myBuildings.Count(a => a == frac.Key) < frac.Value * myBuildings.Length &&
playerPower.ExcessPower >= Rules.Info[frac.Key].Traits.Get<BuildingInfo>().Power)
return Rules.Info[frac.Key];
return null;