From 4d0f75353b604dfac502b5344920b6173d00652a Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Wed, 11 Aug 2010 19:04:39 +1200 Subject: [PATCH] spam powr --- OpenRA.Mods.RA/World/HackyAI.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.RA/World/HackyAI.cs b/OpenRA.Mods.RA/World/HackyAI.cs index 155018762d..5fae6c0b03 100644 --- a/OpenRA.Mods.RA/World/HackyAI.cs +++ b/OpenRA.Mods.RA/World/HackyAI.cs @@ -15,6 +15,7 @@ namespace OpenRA.Mods.RA Player p; ProductionQueue pq; PlayerResources pr; + int2 baseCenter; bool isBuildingStuff; @@ -74,6 +75,17 @@ namespace OpenRA.Mods.RA int2? ChooseBuildLocation(ProductionItem item) { + var bi = Rules.Info[ item.Item ].Traits.Get(); + + for( var i = -10; i < 10; i++ ) // fail distribution! + for (var j = -10; j < 10; j++) + { + var topleft = baseCenter + new int2(i,j); + if (Game.world.CanPlaceBuilding(item.Item, bi, topleft, null)) + if (Game.world.IsCloseEnoughToBase(p, item.Item, bi, topleft)) + return topleft; + } + return null; // i don't know where to put it. } @@ -93,7 +105,10 @@ namespace OpenRA.Mods.RA .FirstOrDefault(a => a.Info == Rules.Info["mcv"]); if (mcv != null) + { + baseCenter = mcv.Location; Game.IssueOrder(new Order("DeployTransform", mcv)); + } else Game.Debug("AI: Can't find the MCV."); } @@ -136,8 +151,7 @@ namespace OpenRA.Mods.RA } else { - // todo: place the building! - throw new NotImplementedException(); + Game.IssueOrder(new Order("PlaceBuilding", p.PlayerActor, location.Value, currentBuilding.Item)); } } break;