From 37afd6094eb6bfefbde21151745cbf9ff63ceff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sun, 5 Mar 2023 11:36:01 +0100 Subject: [PATCH] Rename GiveMcvCrateAction to GiveBaseBuilderCrateAction. --- .../Traits/Crates/GiveMcvCrateAction.cs | 12 ++++---- .../Rules/20221203/RenameMcvCrateAction.cs | 30 +++++++++++++++++++ OpenRA.Mods.Common/UpdateRules/UpdatePath.cs | 1 + mods/cnc/rules/misc.yaml | 2 +- mods/d2k/rules/misc.yaml | 2 +- mods/ra/maps/fort-lonestar/rules.yaml | 2 +- mods/ra/rules/misc.yaml | 2 +- mods/ts/rules/misc.yaml | 2 +- 8 files changed, 42 insertions(+), 11 deletions(-) create mode 100644 OpenRA.Mods.Common/UpdateRules/Rules/20221203/RenameMcvCrateAction.cs diff --git a/OpenRA.Mods.Common/Traits/Crates/GiveMcvCrateAction.cs b/OpenRA.Mods.Common/Traits/Crates/GiveMcvCrateAction.cs index cd3554500f..0a42380c40 100644 --- a/OpenRA.Mods.Common/Traits/Crates/GiveMcvCrateAction.cs +++ b/OpenRA.Mods.Common/Traits/Crates/GiveMcvCrateAction.cs @@ -14,18 +14,18 @@ using System.Linq; namespace OpenRA.Mods.Common.Traits { [Desc("Spawns units when collected.", "Adjust selection shares when player has no base.")] - class GiveMcvCrateActionInfo : GiveUnitCrateActionInfo + class GiveBaseBuilderCrateActionInfo : GiveUnitCrateActionInfo { - [Desc("The selection shares to use if the collector has no base.")] + [Desc("The selection shares to use if the collector has no actor with `" + nameof(BaseBuilding) + ".")] public readonly int NoBaseSelectionShares = 1000; - public override object Create(ActorInitializer init) { return new GiveMcvCrateAction(init.Self, this); } + public override object Create(ActorInitializer init) { return new GiveBaseBuilderCrateAction(init.Self, this); } } - class GiveMcvCrateAction : GiveUnitCrateAction + class GiveBaseBuilderCrateAction : GiveUnitCrateAction { - readonly GiveMcvCrateActionInfo info; - public GiveMcvCrateAction(Actor self, GiveMcvCrateActionInfo info) + readonly GiveBaseBuilderCrateActionInfo info; + public GiveBaseBuilderCrateAction(Actor self, GiveBaseBuilderCrateActionInfo info) : base(self, info) { this.info = info; diff --git a/OpenRA.Mods.Common/UpdateRules/Rules/20221203/RenameMcvCrateAction.cs b/OpenRA.Mods.Common/UpdateRules/Rules/20221203/RenameMcvCrateAction.cs new file mode 100644 index 0000000000..b1247c2f2c --- /dev/null +++ b/OpenRA.Mods.Common/UpdateRules/Rules/20221203/RenameMcvCrateAction.cs @@ -0,0 +1,30 @@ +#region Copyright & License Information +/* + * Copyright (c) The OpenRA Developers and Contributors + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. For more + * information, see COPYING. + */ +#endregion + +using System.Collections.Generic; + +namespace OpenRA.Mods.Common.UpdateRules.Rules +{ + public class RenameMcvCrateAction : UpdateRule + { + public override string Name => "Rename 'GiveMcvCrateAction' to 'GiveBaseBuilderCrateAction'."; + + public override string Description => "The 'GiveMcvCrateAction' has been renamed to 'GiveBaseBuilderCrateAction'."; + + public override IEnumerable UpdateActorNode(ModData modData, MiniYamlNode actorNode) + { + foreach (var node in actorNode.ChildrenMatching("GiveMcvCrateAction")) + node.RenameKey("GiveBaseBuilderCrateAction"); + + yield break; + } + } +} diff --git a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs index e1b438b741..4d147fc582 100644 --- a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs +++ b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs @@ -94,6 +94,7 @@ namespace OpenRA.Mods.Common.UpdateRules new RenameEngineerRepair(), new ProductionTabsWidgetAddTabButtonCollection(), new RemoveTSRefinery(), + new RenameMcvCrateAction(), }) }; diff --git a/mods/cnc/rules/misc.yaml b/mods/cnc/rules/misc.yaml index b8760d1139..0112eab9c9 100644 --- a/mods/cnc/rules/misc.yaml +++ b/mods/cnc/rules/misc.yaml @@ -20,7 +20,7 @@ CRATE: SelectionShares: 5 Sequence: cloak Condition: cloak-crate-collected - GiveMcvCrateAction: + GiveBaseBuilderCrateAction: SelectionShares: 0 NoBaseSelectionShares: 50 Units: mcv diff --git a/mods/d2k/rules/misc.yaml b/mods/d2k/rules/misc.yaml index d342f8c755..2d6d5b65d6 100644 --- a/mods/d2k/rules/misc.yaml +++ b/mods/d2k/rules/misc.yaml @@ -125,7 +125,7 @@ crate: Units: deviator ValidFactions: ordos Prerequisites: techlevel.high, heavy_factory, research_centre - GiveMcvCrateAction: + GiveBaseBuilderCrateAction: SelectionShares: 0 NoBaseSelectionShares: 9001 Units: mcv diff --git a/mods/ra/maps/fort-lonestar/rules.yaml b/mods/ra/maps/fort-lonestar/rules.yaml index fc4dea3bd0..443f3e15dd 100644 --- a/mods/ra/maps/fort-lonestar/rules.yaml +++ b/mods/ra/maps/fort-lonestar/rules.yaml @@ -87,7 +87,7 @@ FORTCRATE: ExplodeCrateAction@bigboom: Weapon: SCUD SelectionShares: 5 - GiveMcvCrateAction: + GiveBaseBuilderCrateAction: SelectionShares: 0 NoBaseSelectionShares: 1000 Units: mobiletent diff --git a/mods/ra/rules/misc.yaml b/mods/ra/rules/misc.yaml index dfe232be30..fa6907fd82 100644 --- a/mods/ra/rules/misc.yaml +++ b/mods/ra/rules/misc.yaml @@ -44,7 +44,7 @@ CRATE: MaxAmount: 5 MinAmount: 1 MaxDuplicateValue: 1500 - GiveMcvCrateAction: + GiveBaseBuilderCrateAction: SelectionShares: 0 NoBaseSelectionShares: 100 Units: mcv diff --git a/mods/ts/rules/misc.yaml b/mods/ts/rules/misc.yaml index e5cc6aa9a4..bda7bf923f 100644 --- a/mods/ts/rules/misc.yaml +++ b/mods/ts/rules/misc.yaml @@ -93,7 +93,7 @@ CRATE: RevealMapCrateAction: SelectionShares: 1 Sequence: reveal-map - GiveMcvCrateAction: + GiveBaseBuilderCrateAction: SelectionShares: 0 NoBaseSelectionShares: 100 Units: mcv