made Expand a bit more sensible

This commit is contained in:
Chris Forbes
2010-03-28 16:49:28 +13:00
parent 6b7d824b9b
commit b677f3cb56
2 changed files with 9 additions and 2 deletions

View File

@@ -66,6 +66,8 @@ namespace OpenRA
if (thisCost == float.PositiveInfinity)
return p.Location;
var bi = world.WorldActor.traits.Get<BuildingInfluence>();
foreach( int2 d in directions )
{
@@ -81,8 +83,7 @@ namespace OpenRA
if (costHere == float.PositiveInfinity)
continue;
if (!world.WorldActor.traits.Get<BuildingInfluence>().CanMoveHere(newHere) &&
world.WorldActor.traits.Get<BuildingInfluence>().GetBuildingAt(newHere) != ignoreBuilding)
if (!bi.CanMoveHere(newHere, ignoreBuilding))
continue;
// Replicate real-ra behavior of not being able to enter a cell if there is a mixture of crushable and uncrushable units

View File

@@ -70,4 +70,10 @@ namespace OpenRA.Traits
{
return map.IsInMap(cell) && !blocked[cell.X, cell.Y];
}
public bool CanMoveHere(int2 cell, Actor toIgnore)
{
return map.IsInMap(cell) &&
(!blocked[cell.X, cell.Y] || influence[cell.X, cell.Y] == toIgnore);
}
}}