diff --git a/OpenRA.Mods.Common/Activities/Air/FlyAttack.cs b/OpenRA.Mods.Common/Activities/Air/FlyAttack.cs index ade6867341..ef20515a01 100644 --- a/OpenRA.Mods.Common/Activities/Air/FlyAttack.cs +++ b/OpenRA.Mods.Common/Activities/Air/FlyAttack.cs @@ -23,13 +23,14 @@ namespace OpenRA.Mods.Common.Activities readonly AttackPlane attackPlane; readonly IEnumerable ammoPools; Activity inner; - int ticksUntilTurn = 50; + int ticksUntilTurn; public FlyAttack(Actor self, Target target) { this.target = target; attackPlane = self.TraitOrDefault(); ammoPools = self.TraitsImplementing(); + ticksUntilTurn = attackPlane.AttackPlaneInfo.AttackTurnDelay; } public override Activity Tick(Actor self) diff --git a/OpenRA.Mods.Common/Traits/Air/AttackPlane.cs b/OpenRA.Mods.Common/Traits/Air/AttackPlane.cs index 26f89f4df6..9a29479cbc 100644 --- a/OpenRA.Mods.Common/Traits/Air/AttackPlane.cs +++ b/OpenRA.Mods.Common/Traits/Air/AttackPlane.cs @@ -16,13 +16,21 @@ namespace OpenRA.Mods.Common.Traits { public class AttackPlaneInfo : AttackFrontalInfo { + [Desc("Delay, in game ticks, before turning to attack.")] + public readonly int AttackTurnDelay = 50; + public override object Create(ActorInitializer init) { return new AttackPlane(init.Self, this); } } public class AttackPlane : AttackFrontal { + public readonly AttackPlaneInfo AttackPlaneInfo; + public AttackPlane(Actor self, AttackPlaneInfo info) - : base(self, info) { } + : base(self, info) + { + AttackPlaneInfo = info; + } public override Activity GetAttackActivity(Actor self, Target newTarget, bool allowMove) {