From f5807f5f3b4aa2f424e333ec3f933785f76985a0 Mon Sep 17 00:00:00 2001 From: Curtis S Date: Sun, 23 Oct 2011 14:53:33 -0600 Subject: [PATCH] Fix #1230: crash when no hpad owned by player --- OpenRA.Mods.RA/Air/HeliReturn.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenRA.Mods.RA/Air/HeliReturn.cs b/OpenRA.Mods.RA/Air/HeliReturn.cs index c272660216..3ece3fd027 100755 --- a/OpenRA.Mods.RA/Air/HeliReturn.cs +++ b/OpenRA.Mods.RA/Air/HeliReturn.cs @@ -37,10 +37,12 @@ namespace OpenRA.Mods.RA.Air var nearestHpad = self.World.ActorsWithTrait() .Where(a => a.Actor.Owner == self.Owner && rearmBuildings.Contains(a.Actor.Info.Name)) .Select(a => a.Actor) - .ClosestTo(self.CenterLocation); - - self.CancelActivity(); - return Util.SequenceActivities(new HeliFly(Util.CenterOfCell(nearestHpad.Location))); + .ClosestTo(self.CenterLocation); + + if (nearestHpad == null) + return Util.SequenceActivities(new Turn(initialFacing), new HeliLand(true), NextActivity); + else + return Util.SequenceActivities(new HeliFly(Util.CenterOfCell(nearestHpad.Location))); } var res = dest.TraitOrDefault();