From: miniduikboot Date: Sun, 21 Jul 2024 21:16:16 +0000 (+0200) Subject: Set RoleWhenAlive when set to a Ghost role X-Git-Tag: v1.10.0~7^2~11 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=372ed8511fb9cd5bbc9ac2781357e3f9e75a29b3;p=rhonda%2Fimpostor.git Set RoleWhenAlive when set to a Ghost role --- diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs index 92020de..ff8d9bc 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs @@ -384,6 +384,13 @@ namespace Impostor.Server.Net.Inner.Objects } Rpc44SetRole.Deserialize(reader, out var role, out var _); + + if (role is RoleTypes.ImpostorGhost or RoleTypes.CrewmateGhost or RoleTypes.GuardianAngel) + { + PlayerInfo.RoleWhenAlive = PlayerInfo.RoleType; + PlayerInfo.IsDead = true; + } + PlayerInfo.RoleType = role; if (Game.GameState == GameStates.Starting && Game.Players.All(clientPlayer => clientPlayer.Character?.PlayerInfo.RoleType != null))