diff --git a/Content.Server/GameTicking/GameTicker.Spawning.cs b/Content.Server/GameTicking/GameTicker.Spawning.cs index ed1246f789..a103a19733 100644 --- a/Content.Server/GameTicking/GameTicker.Spawning.cs +++ b/Content.Server/GameTicking/GameTicker.Spawning.cs @@ -359,6 +359,7 @@ namespace Content.Server.GameTicking if (DummyTicker) return; + var makeObserver = false; Entity? mind = player.GetMind(); if (mind == null) { @@ -366,10 +367,13 @@ namespace Content.Server.GameTicking var (mindId, mindComp) = _mind.CreateMind(player.UserId, name); mind = (mindId, mindComp); _mind.SetUserId(mind.Value, player.UserId); - _roles.MindAddRole(mind.Value, "MindRoleObserver"); + makeObserver = true; } var ghost = _ghost.SpawnGhost(mind.Value); + if (makeObserver) + _roles.MindAddRole(mind.Value, "MindRoleObserver"); + _adminLogger.Add(LogType.LateJoin, LogImpact.Low, $"{player.Name} late joined the round as an Observer with {ToPrettyString(ghost):entity}.");