fixed attack causing units to vanish

This commit is contained in:
Chris Forbes
2009-10-27 17:58:57 +13:00
parent 0e32b5ca18
commit 58f9347cb7
2 changed files with 6 additions and 12 deletions

View File

@@ -113,6 +113,8 @@ namespace OpenRa.Game
pathNode = cellInfo[ pathNode.X, pathNode.Y ].Path;
}
ret.Add(pathNode - offset);
return ret;
}

View File

@@ -136,17 +136,9 @@ namespace OpenRa.Game.Traits
public MoveTo(Actor target, int range)
{
this.getPath = (self, mobile) =>
{
var p = Game.pathFinder.FindUnitPathToRange(
self.Location, target.Location,
mobile.GetMovementType(), range);
if (p.Count == 1 && self.Location == p[0])
return new List<int2>(); /* hackety hack... Mobile doesn't like degenerate paths much */
return p;
};
this.getPath = (self, mobile) => Game.pathFinder.FindUnitPathToRange(
self.Location, target.Location,
mobile.GetMovementType(), range);
this.destination = null;
}
@@ -170,7 +162,7 @@ namespace OpenRa.Game.Traits
return;
}
if (path == null) path = getPath(self, mobile);
if (path == null) path = getPath(self, mobile).TakeWhile(a => a != self.Location).ToList();
if (path.Count == 0)
{