diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs index ad0a0a902..4ce267c3f 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/Elimination/EliminationGamemode.cs @@ -182,9 +182,10 @@ public override void StartRound(string[] arguments = null) "\n- Tracked grids:" + trackedGrids); } + protected bool _setWinnerFromArgs = false; public override void StopRound() { - bool setWinnerFromArgs = false; + _setWinnerFromArgs = false; foreach (var arg in Arguments) { if (arg.StartsWith("win")) @@ -194,12 +195,12 @@ public override void StopRound() long.TryParse(arg.Remove(0, 3), out factionId); _winningFaction = MyAPIGateway.Session.Factions.TryGetFactionById(factionId); - setWinnerFromArgs = true; + _setWinnerFromArgs = true; break; } } - if (!setWinnerFromArgs && MyAPIGateway.Session.IsServer) + if (!_setWinnerFromArgs && MyAPIGateway.Session.IsServer) { Arguments = Arguments.Concat(new[] { $"win{_winningFaction?.FactionId ?? -1}" }).ToArray(); } diff --git a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs index 1b2922307..14eac3484 100644 --- a/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs +++ b/Gamemode Mods/StarCore SUGMA Gamemodes/Data/Scripts/SUGMA/GameModes/KingOfTheHill/KOTHGamemode.cs @@ -59,8 +59,10 @@ public override void StartRound(string[] arguments = null) public override void StopRound() { base.StopRound(); + if (!_setWinnerFromArgs) + _winningFaction = ControlPoint._zoneOwner; - SUGMA_SessionComponent.I.GetComponent("KOTHHud")?.MatchEnded(ControlPoint._zoneOwner); + SUGMA_SessionComponent.I.GetComponent("KOTHHud")?.MatchEnded(_winningFaction); SUGMA_SessionComponent.I.UnregisterComponent("KOTHHud"); ControlPoint = null;