diff --git a/OpenRA.Mods.Common/Activities/Move/AttackMoveActivity.cs b/OpenRA.Mods.Common/Activities/Move/AttackMoveActivity.cs index d3033739a6..6c873dd121 100644 --- a/OpenRA.Mods.Common/Activities/Move/AttackMoveActivity.cs +++ b/OpenRA.Mods.Common/Activities/Move/AttackMoveActivity.cs @@ -43,10 +43,10 @@ namespace OpenRA.Mods.Common.Activities if (conditionManager == null || attackMove == null) return; - if (!isAssaultMove && !string.IsNullOrEmpty(attackMove.Info.AttackMoveScanCondition)) - token = conditionManager.GrantCondition(self, attackMove.Info.AttackMoveScanCondition); - else if (isAssaultMove && !string.IsNullOrEmpty(attackMove.Info.AssaultMoveScanCondition)) - token = conditionManager.GrantCondition(self, attackMove.Info.AssaultMoveScanCondition); + if (!isAssaultMove && !string.IsNullOrEmpty(attackMove.Info.AttackMoveCondition)) + token = conditionManager.GrantCondition(self, attackMove.Info.AttackMoveCondition); + else if (isAssaultMove && !string.IsNullOrEmpty(attackMove.Info.AssaultMoveCondition)) + token = conditionManager.GrantCondition(self, attackMove.Info.AssaultMoveCondition); } public override Activity Tick(Actor self) diff --git a/OpenRA.Mods.Common/Traits/AttackMove.cs b/OpenRA.Mods.Common/Traits/AttackMove.cs index 4a1a85b6e9..dc4893a411 100644 --- a/OpenRA.Mods.Common/Traits/AttackMove.cs +++ b/OpenRA.Mods.Common/Traits/AttackMove.cs @@ -25,12 +25,12 @@ namespace OpenRA.Mods.Common.Traits [VoiceReference] public readonly string Voice = "Action"; [GrantedConditionReference] - [Desc("The condition to grant to self while scanning for targets during an attack-move.")] - public readonly string AttackMoveScanCondition = null; + [Desc("The condition to grant to self while an attack-move is active.")] + public readonly string AttackMoveCondition = null; [GrantedConditionReference] - [Desc("The condition to grant to self while scanning for targets during an assault-move.")] - public readonly string AssaultMoveScanCondition = null; + [Desc("The condition to grant to self while an assault-move is active.")] + public readonly string AssaultMoveCondition = null; [Desc("Can the actor be ordered to move in to shroud?")] public readonly bool MoveIntoShroud = true; diff --git a/OpenRA.Mods.Common/UpdateRules/Rules/20190314/RenameAttackMoveConditions.cs b/OpenRA.Mods.Common/UpdateRules/Rules/20190314/RenameAttackMoveConditions.cs new file mode 100644 index 0000000000..b01c8c22e3 --- /dev/null +++ b/OpenRA.Mods.Common/UpdateRules/Rules/20190314/RenameAttackMoveConditions.cs @@ -0,0 +1,43 @@ +#region Copyright & License Information +/* + * Copyright 2007-2019 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 RenameAttackMoveConditions : UpdateRule + { + public override string Name { get { return "Rename AttackMove *ScanConditions"; } } + public override string Description + { + get + { + return "AttackMove's AttackMoveScanCondition and AssaultMoveScanCondition\n" + + "now remain active while attacking, and are have been renamed to\n" + + "AttackMoveCondition and AssaultMoveCondition to reflect this.\n"; + } + } + + public override IEnumerable UpdateActorNode(ModData modData, MiniYamlNode actorNode) + { + foreach (var at in actorNode.ChildrenMatching("AttackMove")) + { + foreach (var node in at.ChildrenMatching("AttackMoveScanCondition")) + node.RenameKey("AttackMoveCondition"); + + foreach (var node in at.ChildrenMatching("AssaultMoveScanCondition")) + node.RenameKey("AssaultMoveCondition"); + } + + yield break; + } + } +} diff --git a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs index 30b8a9b6ba..64e892dbf0 100644 --- a/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs +++ b/OpenRA.Mods.Common/UpdateRules/UpdatePath.cs @@ -125,6 +125,7 @@ namespace OpenRA.Mods.Common.UpdateRules new ReplaceSpecialMoveConsiderations(), new RefactorHarvesterIdle(), new SplitHarvesterSpriteBody(), + new RenameAttackMoveConditions(), }) }; diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index 4475fd0ba4..3961262a67 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -199,7 +199,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^AutoTargetAir: AutoTarget: @@ -226,7 +226,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^AcceptsCloakCrate: Cloak: diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index 4543a4f08f..322f1befda 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -140,7 +140,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^AutoTargetAll: AutoTarget: @@ -161,7 +161,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^Vehicle: Inherits@1: ^ExistsInWorld diff --git a/mods/ra/rules/campaign-rules.yaml b/mods/ra/rules/campaign-rules.yaml index 87c39f7229..6bf80d453f 100644 --- a/mods/ra/rules/campaign-rules.yaml +++ b/mods/ra/rules/campaign-rules.yaml @@ -41,7 +41,7 @@ E7.noautotarget: -AutoTargetPriority@DEFAULT: -AutoTargetPriority@ATTACKANYTHING: AttackMove: - -AssaultMoveScanCondition: + -AssaultMoveCondition: RenderSprites: Image: E7 diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index edfe0c4f19..5d41aeb187 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -195,7 +195,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^AutoTargetAir: AutoTarget: @@ -222,7 +222,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^GlobalBounty: GrantConditionOnPrerequisite@GLOBALBOUNTY: diff --git a/mods/ra/rules/infantry.yaml b/mods/ra/rules/infantry.yaml index 58d866012e..3fea4e2ebb 100644 --- a/mods/ra/rules/infantry.yaml +++ b/mods/ra/rules/infantry.yaml @@ -32,7 +32,7 @@ DOG: Armament: Weapon: DogJaw ReloadingCondition: attack-cooldown - -AttackFrontal: + -AttackFrontal: AttackLeap: Voice: Attack PauseOnCondition: attacking || attack-cooldown diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 6d68dcef1e..3950378180 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -150,7 +150,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^AutoTargetAir: AutoTarget: @@ -177,7 +177,7 @@ AutoTargetPriority@ATTACKANYTHING: RequiresCondition: stance-attackanything || assault-move AttackMove: - AssaultMoveScanCondition: assault-move + AssaultMoveCondition: assault-move ^2x1Shape: HitShape: