don't show cloaked units that are not your own, on the minimap
This commit is contained in:
@@ -144,7 +144,7 @@ namespace OpenRA
|
|||||||
world.IsCellBuildable(t, building.WaterBound, toIgnore));
|
world.IsCellBuildable(t, building.WaterBound, toIgnore));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsVisible(this Actor a)
|
public static bool IsVisible(this Actor a) /* must never be relied on in synced code! */
|
||||||
{
|
{
|
||||||
if (a.World.LocalPlayer != null && a.World.LocalPlayer.Shroud.Disabled)
|
if (a.World.LocalPlayer != null && a.World.LocalPlayer.Shroud.Disabled)
|
||||||
return true;
|
return true;
|
||||||
@@ -157,6 +157,10 @@ namespace OpenRA
|
|||||||
if (huf != null && !huf.IsVisible(a))
|
if (huf != null && !huf.IsVisible(a))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
var cloak = a.traits.GetOrDefault<Cloak>();
|
||||||
|
if (cloak != null && cloak.Cloaked && a.Owner != a.World.LocalPlayer)
|
||||||
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,20 +193,7 @@ namespace OpenRA
|
|||||||
|
|
||||||
static int2 ClampToWorld( this World world, int2 xy )
|
static int2 ClampToWorld( this World world, int2 xy )
|
||||||
{
|
{
|
||||||
var mapStart = world.Map.TopLeft;
|
return int2.Min(world.Map.BottomRight, int2.Max(world.Map.TopLeft, xy));
|
||||||
// TODO: Revist this and fix properly
|
|
||||||
var mapEnd = world.Map.BottomRight;
|
|
||||||
if( xy.X < mapStart.X )
|
|
||||||
xy.X = mapStart.X;
|
|
||||||
if( xy.X > mapEnd.X )
|
|
||||||
xy.X = mapEnd.X;
|
|
||||||
|
|
||||||
if( xy.Y < mapStart.Y )
|
|
||||||
xy.Y = mapStart.Y;
|
|
||||||
if( xy.Y > mapEnd.Y )
|
|
||||||
xy.Y = mapEnd.Y;
|
|
||||||
|
|
||||||
return xy;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int2 ChooseRandomEdgeCell(this World w)
|
public static int2 ChooseRandomEdgeCell(this World w)
|
||||||
|
|||||||
Reference in New Issue
Block a user