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)); }