Minefield now shows red when out of map bounds and Minelayer now does not get stuck at edge of map

Made it impossible to detect enemy units again

Fix whitespace
This commit is contained in:
Ian T. Jacobsen
2020-05-14 17:15:36 +02:00
committed by abcdefg30
parent 9627776318
commit fea35923f0

View File

@@ -115,7 +115,8 @@ namespace OpenRA.Mods.Cnc.Traits
var movement = self.Trait<IPositionable>();
var minefield = GetMinefieldCells(minefieldStart, cell, Info.MinefieldDepth)
.Where(c => movement.CanEnterCell(c, null, BlockedByActor.Immovable) || !self.Owner.Shroud.IsVisible(c))
.Where(c => movement.CanEnterCell(c, null, BlockedByActor.Immovable)
|| (!self.Owner.Shroud.IsVisible(c) && self.World.Map.Contains(c)))
.OrderBy(c => (c - minefieldStart).LengthSquared).ToList();
self.QueueActivity(order.Queued, new LayMines(self, minefield));
@@ -236,7 +237,9 @@ namespace OpenRA.Mods.Cnc.Traits
foreach (var c in minefield)
{
var tile = tileOk;
if (world.FogObscures(c))
if (!world.Map.Contains(c))
tile = tileBlocked;
else if (world.FogObscures(c))
tile = tileUnknown;
else if (!movement.CanEnterCell(c, null, BlockedByActor.Immovable) || (mobile != null && !mobile.CanStayInCell(c)))
tile = tileBlocked;