diff --git a/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs b/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs index 074079546c..4def486404 100644 --- a/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs +++ b/OpenRA.Mods.Common/Traits/Player/MissionObjectives.cs @@ -214,8 +214,13 @@ namespace OpenRA.Mods.Common.Traits } if (Info.EarlyGameOver) + { foreach (var p in enemies) - p.PlayerActor.Trait().ForceDefeat(p); + { + p.WinState = WinState.Won; + p.World.OnPlayerWinStateChanged(p); + } + } } } else @@ -224,11 +229,13 @@ namespace OpenRA.Mods.Common.Traits player.World.OnPlayerWinStateChanged(player); if (Info.EarlyGameOver) + { foreach (var p in enemies) { p.WinState = WinState.Won; p.World.OnPlayerWinStateChanged(p); } + } } CheckIfGameIsOver(player);