From 4452621cd3993029784dbc28e58c863455eb25d2 Mon Sep 17 00:00:00 2001 From: miniduikboot Date: Sun, 23 Jun 2024 00:34:56 +0200 Subject: [PATCH] Reset PlayerInfo on PlayerControl spawn When (re)spawning players get a new player control netobject, which is the perfect moment to discharge them from their former duties and reset their PlayerInfo to a default state: no role, no tasks and not dead. --- src/Impostor.Server/Net/State/Game.Data.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Impostor.Server/Net/State/Game.Data.cs b/src/Impostor.Server/Net/State/Game.Data.cs index 2d33dfb6..3e51ff35 100644 --- a/src/Impostor.Server/Net/State/Game.Data.cs +++ b/src/Impostor.Server/Net/State/Game.Data.cs @@ -402,6 +402,13 @@ namespace Impostor.Server.Net.State { playerInfo.Controller = control; control.PlayerInfo = playerInfo; + + // Reset PlayerInfo + playerInfo.RoleType = null; + playerInfo.RoleWhenAlive = null; + playerInfo.Tasks.Clear(); + playerInfo.IsDead = false; + playerInfo.IsDirty = true; } if (player != null)