diff --git a/OpenRA.Game/Traits/Activities/HeliAttack.cs b/OpenRA.Game/Traits/Activities/HeliAttack.cs index 6b3360cbc3..5ef0fd1686 100644 --- a/OpenRA.Game/Traits/Activities/HeliAttack.cs +++ b/OpenRA.Game/Traits/Activities/HeliAttack.cs @@ -27,8 +27,6 @@ namespace OpenRA.Traits.Activities class HeliAttack : IActivity { Actor target; - const int CruiseAltitude = 20; - const int AvoidDist = 80; public HeliAttack( Actor target ) { this.target = target; } public IActivity NextActivity { get; set; } @@ -44,9 +42,10 @@ namespace OpenRA.Traits.Activities var unit = self.traits.Get(); - if (unit.Altitude != CruiseAltitude) + var info = self.Info.Traits.Get(); + if (unit.Altitude != info.CruiseAltitude) { - unit.Altitude += Math.Sign(CruiseAltitude - unit.Altitude); + unit.Altitude += Math.Sign(info.CruiseAltitude - unit.Altitude); return this; } @@ -61,7 +60,7 @@ namespace OpenRA.Traits.Activities if (!float2.WithinEpsilon(float2.Zero, dist, range * Game.CellSize)) self.CenterLocation += (rawSpeed / dist.Length) * dist; - var otherHelis = self.World.FindUnitsInCircle(self.CenterLocation, AvoidDist) + var otherHelis = self.World.FindUnitsInCircle(self.CenterLocation, info.IdealSeparation) .Where(a => a.traits.Contains()); var f = otherHelis diff --git a/OpenRA.Game/Traits/Activities/HeliFly.cs b/OpenRA.Game/Traits/Activities/HeliFly.cs index 52a173e6ba..60c4598568 100644 --- a/OpenRA.Game/Traits/Activities/HeliFly.cs +++ b/OpenRA.Game/Traits/Activities/HeliFly.cs @@ -25,7 +25,6 @@ namespace OpenRA.Traits.Activities { class HeliFly : IActivity { - const int CruiseAltitude = 20; readonly float2 Dest; public HeliFly(float2 dest) { @@ -41,10 +40,11 @@ namespace OpenRA.Traits.Activities return NextActivity; var unit = self.traits.Get(); + var info = self.Info.Traits.Get(); - if (unit.Altitude != CruiseAltitude) + if (unit.Altitude != info.CruiseAltitude) { - unit.Altitude += Math.Sign(CruiseAltitude - unit.Altitude); + unit.Altitude += Math.Sign(info.CruiseAltitude - unit.Altitude); return this; } diff --git a/OpenRA.Game/Traits/Helicopter.cs b/OpenRA.Game/Traits/Helicopter.cs index cbee8caf75..05ff6d5f31 100644 --- a/OpenRA.Game/Traits/Helicopter.cs +++ b/OpenRA.Game/Traits/Helicopter.cs @@ -29,6 +29,8 @@ namespace OpenRA.Traits { public readonly string[] RepairBuildings = { "fix" }; public readonly string[] RearmBuildings = { "hpad" }; + public readonly int CruiseAltitude = 20; + public readonly int IdealSeparation = 80; public object Create(Actor self) { return new Helicopter(self); } }