101 lines
5.1 KiB
C#
101 lines
5.1 KiB
C#
#region Copyright & License Information
|
|
/*
|
|
* Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
|
|
* 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 RenameStances : UpdateRule
|
|
{
|
|
public override string Name => "Renamed player 'Stances' to 'Relationships'.";
|
|
|
|
public override string Description =>
|
|
"'Stances' in regards to a player have been renamed to 'Relationships'.\n" +
|
|
"The yaml values did not change.";
|
|
|
|
readonly (string TraitName, string OldName, string NewName)[] traits =
|
|
{
|
|
("Disguise", "ValidStances", "ValidRelationships"),
|
|
("Infiltrates", "ValidStances", "ValidRelationships"),
|
|
("AcceptsDeliveredCash", "ValidStances", "ValidRelationships"),
|
|
("AcceptsDeliveredExperience", "ValidStances", "ValidRelationships"),
|
|
("Armament", "TargetStances", "TargetRelationships"),
|
|
("Armament", "ForceTargetStances", "ForceTargetRelationships"),
|
|
("AutoTargetPriority", "ValidStances", "ValidRelationships"),
|
|
("CaptureManagerBotModule", "CapturableStances", "CapturableRelationships"),
|
|
("Capturable", "ValidStances", "ValidRelationships"),
|
|
("Captures", "PlayerExperienceStances", "PlayerExperienceRelationships"),
|
|
("ProximityExternalCondition", "ValidStances", "ValidRelationships"),
|
|
("CreatesShroud", "ValidStances", "ValidRelationships"),
|
|
("Demolition", "TargetStances", "TargetRelationships"),
|
|
("Demolition", "ForceTargetStances", "ForceTargetRelationships"),
|
|
("EngineerRepair", "ValidStances", "ValidRelationships"),
|
|
("GivesBounty", "ValidStances", "ValidRelationships"),
|
|
("GivesExperience", "ValidStances", "ValidRelationships"),
|
|
("JamsMissiles", "DeflectionStances", "DeflectionRelationships"),
|
|
("FrozenUnderFog", "AlwaysVisibleStances", "AlwaysVisibleRelationships"),
|
|
("HiddenUnderShroud", "AlwaysVisibleStances", "AlwaysVisibleRelationships"),
|
|
("HiddenUnderFog", "AlwaysVisibleStances", "AlwaysVisibleRelationships"),
|
|
("AppearsOnRadar", "ValidStances", "ValidRelationships"),
|
|
("CashTricklerBar", "DisplayStances", "DisplayRelationships"),
|
|
("SupportPowerChargeBar", "DisplayStances", "DisplayRelationships"),
|
|
("WithAmmoPipsDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithCargoPipsDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithHarvesterPipsDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithNameTagDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithResourceStoragePipsDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithTextDecoration", "ValidStances", "ValidRelationships"),
|
|
("WithRangeCircle", "ValidStances", "ValidRelationships"),
|
|
("RevealOnDeath", "RevealForStances", "RevealForRelationships"),
|
|
("RevealOnFire", "RevealForStancesRelativeToTarget", "RevealForRelationships"),
|
|
("RevealsMap", "ValidStances", "ValidRelationships"),
|
|
("RevealsShroud", "ValidStances", "ValidRelationships"),
|
|
("VoiceAnnouncement", "ValidStances", "ValidRelationships"),
|
|
("GrantExternalConditionPower", "ValidStances", "ValidRelationships"),
|
|
("NukePower", "CameraStances", "CameraRelationships"),
|
|
("NukePower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("AttackOrderPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("ChronoshiftPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("DropPodsPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("GpsPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("GrantPrerequisiteChargeDrainPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("IonCannonPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("AirstrikePower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("GrantExternalConditionPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("ParatroopersPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("ProduceActorPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("SpawnActorPower", "DisplayTimerStances", "DisplayTimerRelationships"),
|
|
("TooltipDescription", "ValidStances", "ValidRelationships")
|
|
};
|
|
|
|
public override IEnumerable<string> UpdateActorNode(ModData modData, MiniYamlNode actorNode)
|
|
{
|
|
foreach (var field in traits)
|
|
foreach (var traitNode in actorNode.ChildrenMatching(field.TraitName))
|
|
traitNode.RenameChildrenMatching(field.OldName, field.NewName);
|
|
|
|
yield break;
|
|
}
|
|
|
|
public override IEnumerable<string> UpdateWeaponNode(ModData modData, MiniYamlNode weaponNode)
|
|
{
|
|
foreach (var projectileNode in weaponNode.ChildrenMatching("Projectile"))
|
|
projectileNode.RenameChildrenMatching("ValidBounceBlockerStances", "ValidBounceBlockerRelationships");
|
|
|
|
foreach (var warheadNode in weaponNode.ChildrenMatching("Warhead"))
|
|
warheadNode.RenameChildrenMatching("ValidStances", "ValidRelationships");
|
|
|
|
yield break;
|
|
}
|
|
}
|
|
}
|