]> git.deb.at Git - rhonda/impostor.git/commitdiff
Set RoleWhenAlive when set to a Ghost role
authorminiduikboot <mini@duikbo.at>
Sun, 21 Jul 2024 21:16:16 +0000 (23:16 +0200)
committerminiduikboot <mini@duikbo.at>
Tue, 20 Aug 2024 19:41:38 +0000 (21:41 +0200)
src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.cs

index 92020de438b2f058dd6e5a1667021e8af8cdf85e..ff8d9bc87b3a42520689fcb826bee4ad5ea27e4f 100644 (file)
@@ -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))