From 97b4509607bdab0c4cab1ce4c6adefbdf348016d Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 22 Apr 2015 23:15:09 +1200 Subject: [PATCH 1/2] Remove deprecated Buildable.Owner field. --- OpenRA.Mods.Common/Traits/Buildable.cs | 3 --- .../Traits/Player/ProductionQueue.cs | 15 +++------------ 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Buildable.cs b/OpenRA.Mods.Common/Traits/Buildable.cs index cbb711bdc7..82a2a5c67a 100644 --- a/OpenRA.Mods.Common/Traits/Buildable.cs +++ b/OpenRA.Mods.Common/Traits/Buildable.cs @@ -21,9 +21,6 @@ namespace OpenRA.Mods.Common.Traits "and by the ProvidesCustomPrerequisite trait.")] public readonly string[] Prerequisites = { }; - [Desc("Restrict production to a specific race(s). **Deprecated**: Use race-specific prerequisites instead.")] - public readonly string[] Owner = { }; - [Desc("Production queue(s) that can produce this.")] public readonly string[] Queue = { }; diff --git a/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs b/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs index 56802e74df..7f05ee84e8 100644 --- a/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs +++ b/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs @@ -26,9 +26,6 @@ namespace OpenRA.Mods.Common.Traits [Desc("Group queues from separate buildings together into the same tab.")] public readonly string Group = null; - [Desc("Filter buildable items based on their Owner.")] - public readonly bool RequireOwner = true; - [Desc("Only enable this queue for certain factions")] public readonly string[] Race = { }; @@ -155,14 +152,8 @@ namespace OpenRA.Mods.Common.Traits { var bi = a.Traits.Get(); - // Can our race build this by satisfying normal prerequisites? - var buildable = !Info.RequireOwner || bi.Owner.Contains(Race); - - // Checks if Prerequisites want to hide the Actor from buildQueue if they are false - produceable.Add(a, new ProductionState { Visible = buildable }); - - if (buildable) - ttc.Add(a.Name, bi.Prerequisites, bi.BuildLimit, this); + produceable.Add(a, new ProductionState()); + ttc.Add(a.Name, bi.Prerequisites, bi.BuildLimit, this); } } @@ -391,7 +382,7 @@ namespace OpenRA.Mods.Common.Traits public class ProductionState { - public bool Visible = false; + public bool Visible = true; public bool Buildable = false; } From d255a3989edb743bd94291525916966a3cff28ed Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 26 Apr 2015 01:29:59 +1200 Subject: [PATCH 2/2] Upgrade mod rules. --- .../UtilityCommands/UpgradeRules.cs | 18 +++++++++++++++++- mods/cnc/rules/structures.yaml | 6 ------ mods/d2k/rules/player.yaml | 7 +------ mods/ra/maps/bomber-john/map.yaml | 2 -- mods/ra/maps/desert-shellmap/map.yaml | 1 - mods/ra/rules/player.yaml | 6 ------ mods/ts/rules/player.yaml | 5 ----- 7 files changed, 18 insertions(+), 27 deletions(-) diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index eea3551efc..fb6435802d 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -872,10 +872,26 @@ namespace OpenRA.Mods.Common.UtilityCommands } } - if (engineVersion < 201504277) + if (engineVersion < 20150427) if (node.Key.StartsWith("WithRotor")) node.Value.Nodes.RemoveAll(p => p.Key == "Id"); + if (engineVersion < 20150430) + { + if (node.Key.StartsWith("ProductionQueue@") || node.Key.StartsWith("ClassicProductionQueue@")) + node.Value.Nodes.RemoveAll(n => n.Key == "RequireOwner"); + + if (node.Key == "Buildable") + { + var removed = node.Value.Nodes.RemoveAll(n => n.Key == "Owner"); + if (removed > 0) + { + Console.WriteLine("The 'Owner' field has been removed."); + Console.WriteLine("Please use prerequisites instead."); + } + } + } + UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1); } } diff --git a/mods/cnc/rules/structures.yaml b/mods/cnc/rules/structures.yaml index 2d4acb8695..848d7f2fe1 100644 --- a/mods/cnc/rules/structures.yaml +++ b/mods/cnc/rules/structures.yaml @@ -24,7 +24,6 @@ FACT: ProductionQueue@GDIBuilding: Type: Building.GDI Race: gdi - RequireOwner: false Group: Building BuildSpeed: .4 LowPowerSlowdown: 2 @@ -33,7 +32,6 @@ FACT: ProductionQueue@NodBuilding: Type: Building.Nod Race: nod - RequireOwner: false Group: Building BuildSpeed: .4 LowPowerSlowdown: 2 @@ -42,7 +40,6 @@ FACT: ProductionQueue@GDIDefense: Type: Defence.GDI Race: gdi - RequireOwner: false Group: Defence BuildSpeed: .4 LowPowerSlowdown: 3 @@ -51,7 +48,6 @@ FACT: ProductionQueue@NodDefense: Type: Defence.Nod Race: nod - RequireOwner: false Group: Defence BuildSpeed: .4 LowPowerSlowdown: 3 @@ -413,14 +409,12 @@ HPAD: Type: Aircraft.GDI Race: gdi Group: Aircraft - RequireOwner: false BuildSpeed: .4 LowPowerSlowdown: 3 ProductionQueue@Nod: Type: Aircraft.Nod Race: nod Group: Aircraft - RequireOwner: false BuildSpeed: .4 LowPowerSlowdown: 3 ProductionBar@GDI: diff --git a/mods/d2k/rules/player.yaml b/mods/d2k/rules/player.yaml index 4779cbd49f..3daa890a8c 100644 --- a/mods/d2k/rules/player.yaml +++ b/mods/d2k/rules/player.yaml @@ -6,24 +6,20 @@ Player: QueuedAudio: Building ReadyAudio: BuildingReady BlockedAudio: NoRoom - RequireOwner: false ClassicProductionQueue@Infantry: Type: Infantry LowPowerSlowdown: 2 BlockedAudio: NoRoom - RequireOwner: false ClassicProductionQueue@Vehicle: Type: Vehicle LowPowerSlowdown: 3 QueuedAudio: Building BlockedAudio: NoRoom - RequireOwner: false ClassicProductionQueue@Armor: Type: Armor LowPowerSlowdown: 3 QueuedAudio: Building BlockedAudio: NoRoom - RequireOwner: false ClassicProductionQueue@Starport: Type: Starport BuildSpeed: .2 @@ -31,13 +27,11 @@ Player: BlockedAudio: NoRoom QueuedAudio: OrderPlaced ReadyAudio: - RequireOwner: false ClassicProductionQueue@Aircraft: Type: Aircraft LowPowerSlowdown: 3 QueuedAudio: Building BlockedAudio: NoRoom - RequireOwner: false PlaceBuilding: SupportPowerManager: ScriptTriggers: @@ -74,3 +68,4 @@ Player: Prerequisites: techlevel.low, techlevel.medium, techlevel.high, techlevel.superweapons EnemyWatcher: HarvesterInsurance: + diff --git a/mods/ra/maps/bomber-john/map.yaml b/mods/ra/maps/bomber-john/map.yaml index 11b1e83a34..3edbff3ab2 100644 --- a/mods/ra/maps/bomber-john/map.yaml +++ b/mods/ra/maps/bomber-john/map.yaml @@ -813,7 +813,6 @@ Rules: Queue: Vehicle BuildPaletteOrder: 30 Prerequisites: fix - Owner: allies Valued: Cost: 800 Tooltip: @@ -886,7 +885,6 @@ Rules: Buildable: Queue: Building BuildPaletteOrder: 30 - Owner: allies, soviet Valued: Cost: 30 Health: diff --git a/mods/ra/maps/desert-shellmap/map.yaml b/mods/ra/maps/desert-shellmap/map.yaml index 474b37963b..17f11e28a8 100644 --- a/mods/ra/maps/desert-shellmap/map.yaml +++ b/mods/ra/maps/desert-shellmap/map.yaml @@ -1325,7 +1325,6 @@ Rules: InitialUnits: e1, e1, e2, e3, e4 Ant: Buildable: - Owner: soviet Prerequisites: barr Health: HP: 200 diff --git a/mods/ra/rules/player.yaml b/mods/ra/rules/player.yaml index 34b56d4772..f0ae82564b 100644 --- a/mods/ra/rules/player.yaml +++ b/mods/ra/rules/player.yaml @@ -7,7 +7,6 @@ Player: QueuedAudio: Building ReadyAudio: ConstructionComplete SpeedUp: True - RequireOwner: false ClassicProductionQueue@Defense: Type: Defense BuildSpeed: .4 @@ -15,31 +14,26 @@ Player: QueuedAudio: Building ReadyAudio: ConstructionComplete SpeedUp: True - RequireOwner: false ClassicProductionQueue@Vehicle: Type: Vehicle BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false ClassicProductionQueue@Infantry: Type: Infantry BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false ClassicProductionQueue@Ship: Type: Ship BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false ClassicProductionQueue@Aircraft: Type: Aircraft BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false PlaceBuilding: SupportPowerManager: ScriptTriggers: diff --git a/mods/ts/rules/player.yaml b/mods/ts/rules/player.yaml index 9485fc988a..c3b0dcf18b 100644 --- a/mods/ts/rules/player.yaml +++ b/mods/ts/rules/player.yaml @@ -7,7 +7,6 @@ Player: QueuedAudio: Building ReadyAudio: ConstructionComplete SpeedUp: True - RequireOwner: false ClassicProductionQueue@Defense: Type: Defense BuildSpeed: .4 @@ -15,25 +14,21 @@ Player: QueuedAudio: Building ReadyAudio: ConstructionComplete SpeedUp: True - RequireOwner: false ClassicProductionQueue@Vehicle: Type: Vehicle BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false ClassicProductionQueue@Infantry: Type: Infantry BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false ClassicProductionQueue@Air: Type: Air BuildSpeed: .4 LowPowerSlowdown: 3 SpeedUp: True - RequireOwner: false PlaceBuilding: Palette: ra SupportPowerManager: