Fix suicide logs (#31661)

Make suicide logs include the username, as well as the character(where possible)
This commit is contained in:
nikthechampiongr
2024-08-31 08:26:52 +00:00
committed by GitHub
parent f22db1fa1b
commit 99db9ea39d
2 changed files with 20 additions and 5 deletions

View File

@@ -46,7 +46,15 @@ public sealed class SuicideSystem : EntitySystem
if (!TryComp<MobStateComponent>(victim, out var mobState) || _mobState.IsDead(victim, mobState))
return false;
_adminLogger.Add(LogType.Mind, $"{EntityManager.ToPrettyString(victim):player} is attempting to suicide");
ICommonSession? session = null;
if (TryComp<ActorComponent>(victim, out var actor))
session = actor.PlayerSession;
var suicideGhostEvent = new SuicideGhostEvent(victim);
RaiseLocalEvent(victim, suicideGhostEvent);
// Suicide is considered a fail if the user wasn't able to ghost
@@ -54,11 +62,18 @@ public sealed class SuicideSystem : EntitySystem
if (!suicideGhostEvent.Handled || _tagSystem.HasTag(victim, "CannotSuicide"))
return false;
_adminLogger.Add(LogType.Mind, $"{EntityManager.ToPrettyString(victim):player} is attempting to suicide");
var suicideEvent = new SuicideEvent(victim);
RaiseLocalEvent(victim, suicideEvent);
// Since the player is already dead the log will not contain their username.
if (session != null)
{
_adminLogger.Add(LogType.Mind, $"{session:player} suicided.");
}
else
{
_adminLogger.Add(LogType.Mind, $"{EntityManager.ToPrettyString(victim):player} suicided.");
}
return true;
}

View File

@@ -571,14 +571,14 @@ namespace Content.Server.Ghost
}
}
if (playerEntity != null)
_adminLogger.Add(LogType.Mind, $"{EntityManager.ToPrettyString(playerEntity.Value):player} ghosted{(!canReturn ? " (non-returnable)" : "")}");
var ghost = SpawnGhost((mindId, mind), position, canReturn);
if (ghost == null)
return false;
if (playerEntity != null)
_adminLogger.Add(LogType.Mind, $"{EntityManager.ToPrettyString(playerEntity.Value):player} ghosted{(!canReturn ? " (non-returnable)" : "")}");
return true;
}
}