diff --git a/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs b/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs index 0dd0291183..823cfc91af 100644 --- a/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/ChronoshiftPower.cs @@ -124,7 +124,7 @@ namespace OpenRA.Mods.RA public IEnumerable RenderAfterWorld(WorldRenderer wr, World world) { var xy = wr.Viewport.ViewToWorld(Viewport.LastMousePos); - var targetUnits = power.UnitsInRange(xy); + var targetUnits = power.UnitsInRange(xy).Where(a => !world.FogObscures(a)); foreach (var unit in targetUnits) if (manager.self.Owner.Shroud.IsTargetable(unit)) diff --git a/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs b/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs index b33a1261d0..e0ba5b4003 100644 --- a/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs +++ b/OpenRA.Mods.RA/SupportPowers/IronCurtainPower.cs @@ -101,7 +101,8 @@ namespace OpenRA.Mods.RA public IEnumerable RenderAfterWorld(WorldRenderer wr, World world) { var xy = wr.Viewport.ViewToWorld(Viewport.LastMousePos); - foreach (var unit in power.UnitsInRange(xy)) + var targetUnits = power.UnitsInRange(xy).Where(a => a.Owner.Stances[power.self.Owner] == Stance.Ally); + foreach (var unit in targetUnits) yield return new SelectionBoxRenderable(unit, Color.Red); } @@ -116,7 +117,7 @@ namespace OpenRA.Mods.RA public string GetCursor(World world, CPos xy, MouseInput mi) { - return power.UnitsInRange(xy).Any() ? "ability" : "move-blocked"; + return power.UnitsInRange(xy).Any(a => a.Owner.Stances[power.self.Owner] == Stance.Ally) ? "ability" : "move-blocked"; } } }