From 5f079f246343489ed3fb32f1544cf04d866a2801 Mon Sep 17 00:00:00 2001 From: atlimit8 Date: Sat, 1 Aug 2015 22:07:48 -0500 Subject: [PATCH] Add MinAirborneAltitude to Aircraft trait to set airborne threshold --- OpenRA.Mods.Common/Traits/Air/Aircraft.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs index 57a146b5f3..bf9b8a076d 100644 --- a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs +++ b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs @@ -35,6 +35,9 @@ namespace OpenRA.Mods.Common.Traits public readonly int InitialFacing = 0; public readonly int ROT = 255; public readonly int Speed = 1; + + [Desc("Minimum altitude where this aircraft is considered airborne")] + public readonly int MinAirborneAltitude = 1; public readonly string[] LandableTerrainTypes = { }; [Desc("Can the actor be ordered to move in to shroud?")] @@ -229,7 +232,7 @@ namespace OpenRA.Mods.Common.Traits { self.World.ScreenMap.Update(self); self.World.ActorMap.UpdatePosition(self, this); - IsAirborne = self.World.Map.DistanceAboveTerrain(CenterPosition).Length > 0; + IsAirborne = self.World.Map.DistanceAboveTerrain(CenterPosition).Length >= info.MinAirborneAltitude; } } @@ -246,7 +249,7 @@ namespace OpenRA.Mods.Common.Traits self.World.ActorMap.AddInfluence(self, this); self.World.ActorMap.AddPosition(self, this); self.World.ScreenMap.Add(self); - if (self.World.Map.DistanceAboveTerrain(CenterPosition).Length > 0) + if (self.World.Map.DistanceAboveTerrain(CenterPosition).Length >= info.MinAirborneAltitude) IsAirborne = true; }