Fix building bibs not blocking placement.
This commit is contained in:
@@ -53,8 +53,9 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replacements are enabled and the cell contained at least one (not ignored) actor
|
// Replacements are enabled and the cell contained at least one (not ignored) actor or building bib
|
||||||
if (foundActors)
|
var building = world.WorldActor.Trait<BuildingInfluence>().GetBuildingAt(cell);
|
||||||
|
if (foundActors || building != null)
|
||||||
{
|
{
|
||||||
// The cell contains at least one actor, and none were replaceable
|
// The cell contains at least one actor, and none were replaceable
|
||||||
if (acceptedReplacements == null)
|
if (acceptedReplacements == null)
|
||||||
@@ -68,6 +69,14 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// HACK: To preserve legacy behaviour, AllowInvalidPlacement should display red placement indicators
|
||||||
|
// if (and only if) there is a building or bib in the cell
|
||||||
|
var building = world.WorldActor.Trait<BuildingInfluence>().GetBuildingAt(cell);
|
||||||
|
if (building != null)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Buildings can never be placed on ramps
|
// Buildings can never be placed on ramps
|
||||||
return world.Map.Ramp[cell] == 0 && bi.TerrainTypes.Contains(world.Map.GetTerrainInfo(cell).Type);
|
return world.Map.Ramp[cell] == 0 && bi.TerrainTypes.Contains(world.Map.GetTerrainInfo(cell).Type);
|
||||||
|
|||||||
Reference in New Issue
Block a user