Add an update rule for the removal of AttackFrontal's FacingTolerance

This commit is contained in:
abcdefg30
2022-01-07 02:44:20 +01:00
committed by abcdefg30
parent 889425ab0f
commit e685731b33
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
#region Copyright & License Information
/*
* Copyright 2007-2022 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 AttackFrontalFacingTolerance : UpdateRule
{
public override string Name => "Adds the old default value for AttackFrontal's FacingTolerance.";
public override string Description => "The tolerance for the attack angle was defined twice on AttackFrontal. This override has to be defined in the rules now.";
public override IEnumerable<string> UpdateActorNode(ModData modData, MiniYamlNode actorNode)
{
foreach (var attackFrontal in actorNode.ChildrenMatching("AttackFrontal", includeRemovals: false))
{
var facingTolerance = attackFrontal.LastChildMatching("FacingTolerance");
if (facingTolerance != null)
continue;
var facingToleranceNode = new MiniYamlNode("FacingTolerance", FieldSaver.FormatValue(WAngle.Zero));
attackFrontal.AddNode(facingToleranceNode);
}
yield break;
}
}
}

View File

@@ -90,6 +90,7 @@ namespace OpenRA.Mods.Common.UpdateRules
new UnhardcodeSquadManager(),
new RenameSupportPowerDescription(),
new AttackBomberFacingTolerance(),
new AttackFrontalFacingTolerance(),
new RenameCloakTypes(),
})
};