diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index a94acfea4e..ae396b2131 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -224,25 +224,6 @@ namespace OpenRA AfterGameStart(); } - public static Stance ChooseInitialStance(Player p, Player q) - { - if (p == q) return Stance.Ally; - - // Hack: All map players are neutral wrt everyone else - if (p.Index < 0 || q.Index < 0) return Stance.Neutral; - - var pc = GetClientForPlayer(p); - var qc = GetClientForPlayer(q); - - return pc.Team != 0 && pc.Team == qc.Team - ? Stance.Ally : Stance.Enemy; - } - - static Session.Client GetClientForPlayer(Player p) - { - return LobbyInfo.Clients.Single(c => c.Index == p.Index); - } - public static void DispatchMouseInput(MouseInputEvent ev, MouseEventArgs e, Modifiers modifierKeys) { int sync = world.SyncHash(); diff --git a/OpenRA.Mods.RA/CreateMPPlayers.cs b/OpenRA.Mods.RA/CreateMPPlayers.cs index bc2d6754a7..aaae2f6bed 100644 --- a/OpenRA.Mods.RA/CreateMPPlayers.cs +++ b/OpenRA.Mods.RA/CreateMPPlayers.cs @@ -6,10 +6,11 @@ * as published by the Free Software Foundation. For more information, * see LICENSE. */ -#endregion - -using System.Collections.Generic; -using System.Linq; +#endregion + +using System.Collections.Generic; +using System.Linq; +using OpenRA.Network; using OpenRA.Traits; namespace OpenRA.Mods.RA @@ -32,8 +33,27 @@ namespace OpenRA.Mods.RA foreach (var q in w.players.Values) { if (!p.Stances.ContainsKey(q)) - p.Stances[q] = Game.ChooseInitialStance(p, q); + p.Stances[q] = ChooseInitialStance(p, q); } + } + + static Stance ChooseInitialStance(Player p, Player q) + { + if (p == q) return Stance.Ally; + + // Hack: All map players are neutral wrt everyone else + if (p.Index < 0 || q.Index < 0) return Stance.Neutral; + + var pc = GetClientForPlayer(p); + var qc = GetClientForPlayer(q); + + return pc.Team != 0 && pc.Team == qc.Team + ? Stance.Ally : Stance.Enemy; + } + + static Session.Client GetClientForPlayer(Player p) + { + return Game.LobbyInfo.Clients.Single(c => c.Index == p.Index); } } }