public void TrySendInGameOOCMessage(EntityUid source, string message, InGameOOCChatType type, bool hideChat, IConsoleShell?shell = null, IPlayerSession?player = null) { if (!CanSendInGame(message, shell, player)) { return; } // It doesn't make any sense for a non-player to send in-game OOC messages, whereas non-players may be sending // in-game IC messages. if (player?.AttachedEntity is not { Valid : true } entity || source != entity) { return; } message = SanitizeInGameOOCMessage(message); switch (type) { case InGameOOCChatType.Dead: SendDeadChat(source, player, message, hideChat); break; case InGameOOCChatType.Looc: SendLOOC(source, player, message, hideChat); break; } }
public void TrySendInGameOOCMessage(EntityUid source, string message, InGameOOCChatType type, bool hideChat, IConsoleShell?shell = null, IPlayerSession?player = null) { if (!CanSendInGame(message, shell, player)) { return; } // It doesn't make any sense for a non-player to send in-game OOC messages, whereas non-players may be sending // in-game IC messages. if (player?.AttachedEntity is not { Valid : true } entity || source != entity) { return; } message = SanitizeInGameOOCMessage(message); var sendType = type; // If dead player LOOC is disabled, unless you are an aghost, send dead messages to dead chat if (!_adminManager.IsAdmin(player) && !_deadLoocEnabled && (HasComp <GhostComponent>(source) || _mobStateSystem.IsDead(source))) { sendType = InGameOOCChatType.Dead; } switch (sendType) { case InGameOOCChatType.Dead: SendDeadChat(source, player, message, hideChat); break; case InGameOOCChatType.Looc: SendLOOC(source, player, message, hideChat); break; } }