fix observer ghost spawn error (#35253)

This commit is contained in:
Errant
2025-02-18 13:28:54 +01:00
committed by GitHub
parent d171057680
commit 834e11a482

View File

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