From 0a9f54e0ab9a7409d19511f34faee8d64cd1b642 Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Fri, 25 Jul 2014 22:47:07 -0500 Subject: [PATCH] Makes LineBuild logic require building dimensions of 1x1 --- OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs b/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs index e3f8f5f8fa..3d23129501 100644 --- a/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs +++ b/OpenRA.Mods.RA/Orders/PlaceBuildingOrderGenerator.cs @@ -8,6 +8,7 @@ */ #endregion +using System; using System.Collections.Generic; using System.Linq; using OpenRA.Graphics; @@ -94,9 +95,12 @@ namespace OpenRA.Mods.RA.Orders var cells = new Dictionary(); // Linebuild for walls. - // Assumes a 1x1 footprint; weird things will happen for other footprints + // Requires a 1x1 footprint if (rules.Actors[Building].Traits.Contains()) { + if (BuildingInfo.Dimensions.X != 1 || BuildingInfo.Dimensions.Y != 1) + throw new InvalidOperationException("LineBuild requires a 1x1 sized Building"); + foreach (var t in BuildingUtils.GetLineBuildCells(world, topLeft, Building, BuildingInfo)) cells.Add(t, BuildingInfo.IsCloseEnoughToBase(world, world.LocalPlayer, Building, t)); }