From 702f787899283a0c021ef301ae59db8184c38c42 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sun, 1 May 2011 15:16:28 +1200 Subject: [PATCH] fix entering helicopters --- OpenRA.Mods.RA/Activities/MoveAdjacentTo.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Activities/MoveAdjacentTo.cs b/OpenRA.Mods.RA/Activities/MoveAdjacentTo.cs index 00c5ff8986..5a05037a9c 100755 --- a/OpenRA.Mods.RA/Activities/MoveAdjacentTo.cs +++ b/OpenRA.Mods.RA/Activities/MoveAdjacentTo.cs @@ -8,9 +8,11 @@ */ #endregion +using System.Linq; using OpenRA.Mods.RA.Move; using OpenRA.Traits; using OpenRA.Traits.Activities; +using OpenRA.FileFormats; namespace OpenRA.Mods.RA.Activities { @@ -28,13 +30,20 @@ namespace OpenRA.Mods.RA.Activities if( IsCanceled || target.Destroyed || !target.IsInWorld) return NextActivity; var mobile = self.Trait(); + + var cells = target.Trait().OccupiedCells().ToArray(); + if (cells.Length == 0) + cells = new OpenRA.FileFormats.Pair[] { + Pair.New(target.Location, SubCell.FullCell) }; + var ps1 = new PathSearch( self.World, mobile.Info ) { checkForBlocked = true, heuristic = location => 0, inReverse = true }; - foreach( var cell in target.Trait().OccupiedCells() ) + + foreach( var cell in cells ) { ps1.AddInitialCell( cell.First ); if( ( mobile.toCell - cell.First ).LengthSquared <= 2 )