diff --git a/OpenRA.Game/Player.cs b/OpenRA.Game/Player.cs index 1805074320..a47894d6e3 100644 --- a/OpenRA.Game/Player.cs +++ b/OpenRA.Game/Player.cs @@ -137,8 +137,8 @@ namespace OpenRA public Dictionary Stances = new Dictionary(); public bool IsAlliedWith(Player p) { - // Observers are considered as allies - return p == null || Stances[p] == Stance.Ally || p.Spectating; + // Observers are considered allies to active combatants + return p == null || Stances[p] == Stance.Ally || (p.Spectating && !NonCombatant); } public void SetStance(Player target, Stance s)