diff --git a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs index c5c2de806d..dad6586097 100644 --- a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs +++ b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs @@ -1239,7 +1239,6 @@ namespace OpenRA.Mods.Common.Traits public class AircraftMoveOrderTargeter : IOrderTargeter { readonly Aircraft aircraft; - readonly BuildingInfluence bi; public string OrderID { get; protected set; } public int OrderPriority { get { return 4; } } @@ -1248,7 +1247,6 @@ namespace OpenRA.Mods.Common.Traits public AircraftMoveOrderTargeter(Aircraft aircraft) { this.aircraft = aircraft; - bi = aircraft.self.World.WorldActor.TraitOrDefault(); OrderID = "Move"; } @@ -1273,8 +1271,10 @@ namespace OpenRA.Mods.Common.Traits // selection for left-mouse orders if (modifiers.HasModifier(TargetModifiers.ForceMove) && aircraft.Info.CanForceLand) { - var building = bi.GetBuildingAt(location); - if (building == null || building.TraitOrDefault() == null || aircraft.CanLand(location, blockedByMobile: false)) + var buildingAtLocation = self.World.ActorMap.GetActorsAt(location) + .Any(a => a.TraitOrDefault() != null && a.TraitOrDefault() != null); + + if (!buildingAtLocation || aircraft.CanLand(location, blockedByMobile: false)) OrderID = "Land"; }