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:
committed by
abcdefg30
parent
9627776318
commit
fea35923f0
@@ -115,7 +115,8 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
var movement = self.Trait<IPositionable>();
|
var movement = self.Trait<IPositionable>();
|
||||||
|
|
||||||
var minefield = GetMinefieldCells(minefieldStart, cell, Info.MinefieldDepth)
|
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();
|
.OrderBy(c => (c - minefieldStart).LengthSquared).ToList();
|
||||||
|
|
||||||
self.QueueActivity(order.Queued, new LayMines(self, minefield));
|
self.QueueActivity(order.Queued, new LayMines(self, minefield));
|
||||||
@@ -236,7 +237,9 @@ namespace OpenRA.Mods.Cnc.Traits
|
|||||||
foreach (var c in minefield)
|
foreach (var c in minefield)
|
||||||
{
|
{
|
||||||
var tile = tileOk;
|
var tile = tileOk;
|
||||||
if (world.FogObscures(c))
|
if (!world.Map.Contains(c))
|
||||||
|
tile = tileBlocked;
|
||||||
|
else if (world.FogObscures(c))
|
||||||
tile = tileUnknown;
|
tile = tileUnknown;
|
||||||
else if (!movement.CanEnterCell(c, null, BlockedByActor.Immovable) || (mobile != null && !mobile.CanStayInCell(c)))
|
else if (!movement.CanEnterCell(c, null, BlockedByActor.Immovable) || (mobile != null && !mobile.CanStayInCell(c)))
|
||||||
tile = tileBlocked;
|
tile = tileBlocked;
|
||||||
|
|||||||
Reference in New Issue
Block a user