Add an update rules for the ShakeOnDeath fix
This commit is contained in:
@@ -578,6 +578,7 @@
|
|||||||
<Compile Include="Traits\World\WeatherOverlay.cs" />
|
<Compile Include="Traits\World\WeatherOverlay.cs" />
|
||||||
<Compile Include="Traits\World\ActorSpawnManager.cs" />
|
<Compile Include="Traits\World\ActorSpawnManager.cs" />
|
||||||
<Compile Include="Traits\ActorSpawner.cs" />
|
<Compile Include="Traits\ActorSpawner.cs" />
|
||||||
|
<Compile Include="UpdateRules\Rules\ChangeIntensityToDuration.cs" />
|
||||||
<Compile Include="UpdateRules\Rules\IgnoreAbstractActors.cs" />
|
<Compile Include="UpdateRules\Rules\IgnoreAbstractActors.cs" />
|
||||||
<Compile Include="UtilityCommands\CheckYaml.cs" />
|
<Compile Include="UtilityCommands\CheckYaml.cs" />
|
||||||
<Compile Include="UtilityCommands\ConvertPngToShpCommand.cs" />
|
<Compile Include="UtilityCommands\ConvertPngToShpCommand.cs" />
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2018 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 ChangeIntensityToDuration : UpdateRule
|
||||||
|
{
|
||||||
|
public override string Name { get { return "Add a 'Duration' parameter to 'ShakeOnDeath'."; } }
|
||||||
|
public override string Description
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return "The 'Intensity' parameter on 'ShakeOnDeath' has been used as duration\n" +
|
||||||
|
"by accident. A new 'Duration' parameter was added to fix that.\n" +
|
||||||
|
"Definitions of 'Intensity' will be automatically renamed to 'Duration'.\n" +
|
||||||
|
"The old 'Intensity' parameter will now change the intensity as intended.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override IEnumerable<string> UpdateActorNode(ModData modData, MiniYamlNode actorNode)
|
||||||
|
{
|
||||||
|
foreach (var sod in actorNode.ChildrenMatching("ShakeOnDeath"))
|
||||||
|
{
|
||||||
|
var intensity = sod.LastChildMatching("Intensity");
|
||||||
|
if (intensity == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
intensity.RenameKeyPreservingSuffix("Duration");
|
||||||
|
}
|
||||||
|
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -46,6 +46,7 @@ namespace OpenRA.Mods.Common.UpdateRules
|
|||||||
new DefineSoundDefaults(),
|
new DefineSoundDefaults(),
|
||||||
new RenameWormSpawner(),
|
new RenameWormSpawner(),
|
||||||
new RemoveWithReloadingSpriteTurret(),
|
new RemoveWithReloadingSpriteTurret(),
|
||||||
|
new ChangeIntensityToDuration(),
|
||||||
new IgnoreAbstractActors(),
|
new IgnoreAbstractActors(),
|
||||||
new AddEditorPlayer(),
|
new AddEditorPlayer(),
|
||||||
new RemovePaletteFromCurrentTileset(),
|
new RemovePaletteFromCurrentTileset(),
|
||||||
|
|||||||
Reference in New Issue
Block a user