Fix winstate logic for cooperative games

This commit is contained in:
Oliver Brakmann
2016-03-20 23:14:36 +01:00
parent 0192919501
commit 5d2445a234

View File

@@ -214,8 +214,13 @@ namespace OpenRA.Mods.Common.Traits
} }
if (Info.EarlyGameOver) if (Info.EarlyGameOver)
{
foreach (var p in enemies) foreach (var p in enemies)
p.PlayerActor.Trait<MissionObjectives>().ForceDefeat(p); {
p.WinState = WinState.Won;
p.World.OnPlayerWinStateChanged(p);
}
}
} }
} }
else else
@@ -224,12 +229,14 @@ namespace OpenRA.Mods.Common.Traits
player.World.OnPlayerWinStateChanged(player); player.World.OnPlayerWinStateChanged(player);
if (Info.EarlyGameOver) if (Info.EarlyGameOver)
{
foreach (var p in enemies) foreach (var p in enemies)
{ {
p.WinState = WinState.Won; p.WinState = WinState.Won;
p.World.OnPlayerWinStateChanged(p); p.World.OnPlayerWinStateChanged(p);
} }
} }
}
CheckIfGameIsOver(player); CheckIfGameIsOver(player);
} }