diff --git a/OpenRA.Mods.Common/Orders/PlaceBuildingOrderGenerator.cs b/OpenRA.Mods.Common/Orders/PlaceBuildingOrderGenerator.cs index 07e720662d..1de95bee5c 100644 --- a/OpenRA.Mods.Common/Orders/PlaceBuildingOrderGenerator.cs +++ b/OpenRA.Mods.Common/Orders/PlaceBuildingOrderGenerator.cs @@ -23,6 +23,7 @@ namespace OpenRA.Mods.Common.Orders readonly Actor producer; readonly string building; readonly BuildingInfo buildingInfo; + readonly PlaceBuildingInfo placeBuildingInfo; readonly string race; readonly Sprite buildOk; readonly Sprite buildBlocked; @@ -33,6 +34,7 @@ namespace OpenRA.Mods.Common.Orders public PlaceBuildingOrderGenerator(ProductionQueue queue, string name) { producer = queue.Actor; + placeBuildingInfo = producer.Info.Traits.Get(); building = name; // Clear selection if using Left-Click Orders @@ -155,7 +157,7 @@ namespace OpenRA.Mods.Common.Orders cells.Add(t, isCloseEnough && world.IsCellBuildable(t, buildingInfo) && res.GetResource(t) == null); } - var pal = wr.Palette("terrain"); + var pal = wr.Palette(placeBuildingInfo.Palette); foreach (var c in cells) { var tile = c.Value ? buildOk : buildBlocked; diff --git a/OpenRA.Mods.Common/Traits/Player/PlaceBuilding.cs b/OpenRA.Mods.Common/Traits/Player/PlaceBuilding.cs index aa4c0c3a2e..91d118f0de 100644 --- a/OpenRA.Mods.Common/Traits/Player/PlaceBuilding.cs +++ b/OpenRA.Mods.Common/Traits/Player/PlaceBuilding.cs @@ -16,7 +16,11 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Allows to execute build orders.", " Attach this to the player actor.")] - class PlaceBuildingInfo : TraitInfo { } + class PlaceBuildingInfo : TraitInfo + { + [Desc("Palette to use for rendering the placement sprite.")] + public readonly string Palette = "terrain"; + } class PlaceBuilding : IResolveOrder { diff --git a/mods/ts/rules/player.yaml b/mods/ts/rules/player.yaml index 5c3388ca5e..9485fc988a 100644 --- a/mods/ts/rules/player.yaml +++ b/mods/ts/rules/player.yaml @@ -35,6 +35,7 @@ Player: SpeedUp: True RequireOwner: false PlaceBuilding: + Palette: ra SupportPowerManager: ScriptTriggers: MissionObjectives: diff --git a/mods/ts/sequences/misc.yaml b/mods/ts/sequences/misc.yaml index f8e2820a59..fad83cdc02 100644 --- a/mods/ts/sequences/misc.yaml +++ b/mods/ts/sequences/misc.yaml @@ -1,18 +1,11 @@ overlay: Defaults: - Start: 1 Offset: 0, -12 build-valid-snow: place - Start: 0 build-valid-temperat: place - Start: 0 build-invalid: place + Start: 1 target-select: place - target-valid-desert: place - target-valid-interior: place - target-valid-snow: place - target-valid-temperat: place - target-invalid: place poweroff: offline: poweroff