diff --git a/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs b/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs index d53c54b8b7..3fae88b03e 100644 --- a/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs +++ b/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs @@ -43,12 +43,12 @@ namespace OpenRA.Mods.Common.Activities if (IsCanceled) return NextActivity; - if (dest == null || Reservable.IsReserved(dest)) + if (dest == null || dest.IsDead || Reservable.IsReserved(dest)) dest = ChooseHelipad(self); var initialFacing = heli.Info.InitialFacing; - if (dest == null) + if (dest == null || dest.IsDead) { var rearmBuildings = heli.Info.RearmBuildings; var nearestHpad = self.World.ActorsHavingTrait() diff --git a/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs b/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs index 7ba8274df2..3c5e47cd9b 100644 --- a/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs +++ b/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs @@ -49,7 +49,7 @@ namespace OpenRA.Mods.Common.Activities void Calculate(Actor self) { - if (dest == null || Reservable.IsReserved(dest)) + if (dest == null || dest.IsDead || Reservable.IsReserved(dest)) dest = ChooseAirfield(self, true); if (dest == null) @@ -116,7 +116,7 @@ namespace OpenRA.Mods.Common.Activities if (!isCalculated) Calculate(self); - if (dest == null) + if (dest == null || dest.IsDead) { var nearestAfld = ChooseAirfield(self, false);