From 94015d475d442b07ba86b75e14a6ae90c0324133 Mon Sep 17 00:00:00 2001 From: js6pak Date: Fri, 6 Jan 2023 19:10:52 +0100 Subject: [PATCH] Mark the game as started only after all players get their role --- src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs | 2 +- src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs index e02f998..b25f244 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs @@ -353,7 +353,7 @@ namespace Impostor.Server.Net.Inner.Objects Rpc44SetRole.Deserialize(reader, out var role); PlayerInfo.RoleType = role; - if (Game.GameState == GameStates.Starting) + if (Game.GameState == GameStates.Starting && Game.Players.All(clientPlayer => clientPlayer.Character?.PlayerInfo.RoleType != null)) { await Game.StartedAsync(); } diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs index 02a079a..751dd27 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerInfo.cs @@ -30,7 +30,7 @@ namespace Impostor.Server.Net.Inner.Objects public PlayerOutfit CurrentOutfit => Outfits[CurrentOutfitType]; - public RoleTypes RoleType { get; internal set; } + public RoleTypes? RoleType { get; internal set; } public bool Disconnected { get; internal set; } -- 2.39.5