From 96263d47c51d19ed0f03ad3ea88c3d1f8e8da671 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 4 Aug 2019 23:40:54 +0100 Subject: [PATCH] Restore target line display for allied players and spectators. Change behaviour to require the force-display modifier to reduce visual noise. --- OpenRA.Mods.Common/Traits/Render/DrawLineToTarget.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Render/DrawLineToTarget.cs b/OpenRA.Mods.Common/Traits/Render/DrawLineToTarget.cs index 05054167b3..964a68b955 100644 --- a/OpenRA.Mods.Common/Traits/Render/DrawLineToTarget.cs +++ b/OpenRA.Mods.Common/Traits/Render/DrawLineToTarget.cs @@ -42,23 +42,25 @@ namespace OpenRA.Mods.Common.Traits this.info = info; } - public void ShowTargetLines(Actor a) + public void ShowTargetLines(Actor self) { - if (a.IsIdle) + // Target lines are only automatically shown for the owning player + // Spectators and allies must use the force-display modifier + if (self.IsIdle || self.Owner != self.World.LocalPlayer) return; // Reset the order line timeout. lifetime = info.Delay; } - void INotifySelected.Selected(Actor a) + void INotifySelected.Selected(Actor self) { - ShowTargetLines(a); + ShowTargetLines(self); } IEnumerable IRenderAboveShroudWhenSelected.RenderAboveShroud(Actor self, WorldRenderer wr) { - if (self.Owner != self.World.LocalPlayer) + if (!self.Owner.IsAlliedWith(self.World.LocalPlayer)) yield break; // Players want to see the lines when in waypoint mode.