diff --git a/OpenRA.Game/Network/UnitOrders.cs b/OpenRA.Game/Network/UnitOrders.cs index 123069da7c..e70a62d027 100755 --- a/OpenRA.Game/Network/UnitOrders.cs +++ b/OpenRA.Game/Network/UnitOrders.cs @@ -213,6 +213,7 @@ namespace OpenRA.Network var oldStance = p.Stances[target]; p.Stances[target] = s; target.Shroud.UpdatePlayerStance(w, p, oldStance, s); + p.Shroud.UpdatePlayerStance(w, target, oldStance, s); foreach (var nsc in w.ActorsWithTrait()) nsc.Trait.StanceChanged(nsc.Actor, p, target, oldStance, s); diff --git a/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs index 7066f80c25..13798ceb3e 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/LobbyLogic.cs @@ -225,8 +225,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic if (fragileAlliance != null) { fragileAlliance.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.FragileAlliances; - fragileAlliance.IsDisabled = () => !Game.IsHost || gameStarting || orderManager.LocalClient == null - || orderManager.LocalClient.IsReady || TeamGame; // only available in FFA + fragileAlliance.IsDisabled = () => !Game.IsHost || gameStarting + || orderManager.LocalClient == null || orderManager.LocalClient.IsReady; fragileAlliance.OnClick = () => orderManager.IssueOrder(Order.Command( "fragilealliance {0}".F(!orderManager.LobbyInfo.GlobalSettings.FragileAlliances))); }; @@ -597,9 +597,6 @@ namespace OpenRA.Mods.RA.Widgets.Logic while (Players.Children.Count > idx) Players.RemoveChild(Players.Children[idx]); - - if (orderManager.LobbyInfo.GlobalSettings.FragileAlliances && TeamGame) - orderManager.IssueOrder(Order.Command("fragilealliance false")); // No back-stabbing in Team games. } void CycleReady()