diff --git a/OpenRA.Mods.RA/AI/BaseBuilder.cs b/OpenRA.Mods.RA/AI/BaseBuilder.cs index cba9ace3dd..7d656ac143 100644 --- a/OpenRA.Mods.RA/AI/BaseBuilder.cs +++ b/OpenRA.Mods.RA/AI/BaseBuilder.cs @@ -74,7 +74,7 @@ namespace OpenRA.Mods.RA.AI lastThinkTick = ai.ticks; /* place the building */ - var location = ai.ChooseBuildLocation(currentBuilding); + var location = ai.ChooseBuildLocation(currentBuilding.Item); if (location == null) { HackyAI.BotDebug("AI: Nowhere to place {0}".F(currentBuilding.Item)); diff --git a/OpenRA.Mods.RA/AI/HackyAI.cs b/OpenRA.Mods.RA/AI/HackyAI.cs index bc7a7c26c7..0ab288d003 100644 --- a/OpenRA.Mods.RA/AI/HackyAI.cs +++ b/OpenRA.Mods.RA/AI/HackyAI.cs @@ -157,16 +157,16 @@ namespace OpenRA.Mods.RA.AI return cells.All(c => bi.GetBuildingAt(c) == null); } - public int2? ChooseBuildLocation(ProductionItem item) + public int2? ChooseBuildLocation(string actorType) { - var bi = Rules.Info[item.Item].Traits.Get(); + var bi = Rules.Info[actorType].Traits.Get(); for (var k = 0; k < MaxBaseDistance; k++) foreach (var t in world.FindTilesInCircle(baseCenter, k)) - if (world.CanPlaceBuilding(item.Item, bi, t, null)) - if (bi.IsCloseEnoughToBase(world, p, item.Item, t)) + if (world.CanPlaceBuilding(actorType, bi, t, null)) + if (bi.IsCloseEnoughToBase(world, p, actorType, t)) if (NoBuildingsUnder(Util.ExpandFootprint( - FootprintUtils.Tiles( item.Item, bi, t ), false))) + FootprintUtils.Tiles(actorType, bi, t), false))) return t; return null; // i don't know where to put it.