diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/SpawnActorPower.cs b/OpenRA.Mods.Common/Traits/SupportPowers/SpawnActorPower.cs index 038dfc2eb1..a642366785 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/SpawnActorPower.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/SpawnActorPower.cs @@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Traits public readonly string EffectImage = null; [SequenceReference("EffectImage")] - public readonly string EffectSequence = "idle"; + public readonly string EffectSequence = null; [PaletteReference] public readonly string EffectPalette = null; diff --git a/OpenRA.Mods.Common/UpdateRules/Rules/SpawnActorPowerDefaultEffect.cs b/OpenRA.Mods.Common/UpdateRules/Rules/SpawnActorPowerDefaultEffect.cs new file mode 100644 index 0000000000..44b6839db0 --- /dev/null +++ b/OpenRA.Mods.Common/UpdateRules/Rules/SpawnActorPowerDefaultEffect.cs @@ -0,0 +1,39 @@ +#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 +{ + class SpawnActorPowerDefaultEffect : UpdateRule + { + public override string Name { get { return "Set SpawnActorPower EffectSequence to it's previous default value."; } } + public override string Description + { + get + { + return "The 'EffectSequence' of 'SpawnActorPower' is unset by default."; + } + } + + public override IEnumerable UpdateActorNode(ModData modData, MiniYamlNode actorNode) + { + foreach (var spawnActorPower in actorNode.ChildrenMatching("SpawnActorPower")) + { + var effectNode = spawnActorPower.LastChildMatching("EffectSequence"); + if (effectNode == null) + spawnActorPower.AddNode("EffectSequence", "idle"); + } + + yield break; + } + } +} diff --git a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs index 832d0e23cc..d144a2098c 100644 --- a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs +++ b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs @@ -82,7 +82,8 @@ namespace OpenRA.Mods.Common.UpdateRules new ModernizeDecorationTraits(), new RenameInfiltrationNotifications(), new MoveClassicFacingFudge(), - new RenameWithNukeLaunch() + new RenameWithNukeLaunch(), + new SpawnActorPowerDefaultEffect(), }) }; diff --git a/mods/ra/rules/misc.yaml b/mods/ra/rules/misc.yaml index 11071e42d1..5e6139429d 100644 --- a/mods/ra/rules/misc.yaml +++ b/mods/ra/rules/misc.yaml @@ -339,6 +339,7 @@ powerproxy.sonarpulse: EffectImage: moveflsh EffectPalette: moveflash SupportPowerPaletteOrder: 80 + EffectSequence: idle powerproxy.paratroopers: AlwaysVisible: