Audible emotes (#12708)
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
This commit is contained in:
@@ -52,6 +52,7 @@ public sealed partial class ChatSystem : SharedChatSystem
|
||||
[Dependency] private readonly PopupSystem _popup = default!;
|
||||
[Dependency] private readonly StationSystem _stationSystem = default!;
|
||||
[Dependency] private readonly MobStateSystem _mobStateSystem = default!;
|
||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||
|
||||
public const int VoiceRange = 10; // how far voice goes in world units
|
||||
public const int WhisperRange = 2; // how far whisper goes in world units
|
||||
@@ -63,7 +64,9 @@ public sealed partial class ChatSystem : SharedChatSystem
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
InitializeRadio();
|
||||
InitializeEmotes();
|
||||
_configurationManager.OnValueChanged(CCVars.LoocEnabled, OnLoocEnabledChanged, true);
|
||||
_configurationManager.OnValueChanged(CCVars.DeadLoocEnabled, OnDeadLoocEnabledChanged, true);
|
||||
|
||||
@@ -72,7 +75,9 @@ public sealed partial class ChatSystem : SharedChatSystem
|
||||
|
||||
public override void Shutdown()
|
||||
{
|
||||
base.Shutdown();
|
||||
ShutdownRadio();
|
||||
ShutdownEmotes();
|
||||
_configurationManager.UnsubValueChanged(CCVars.LoocEnabled, OnLoocEnabledChanged);
|
||||
}
|
||||
|
||||
@@ -366,7 +371,8 @@ public sealed partial class ChatSystem : SharedChatSystem
|
||||
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Whisper from {ToPrettyString(source):user}, original: {originalMessage}, transformed: {message}.");
|
||||
}
|
||||
|
||||
private void SendEntityEmote(EntityUid source, string action, bool hideChat, bool hideGlobalGhostChat, string? nameOverride)
|
||||
private void SendEntityEmote(EntityUid source, string action, bool hideChat,
|
||||
bool hideGlobalGhostChat, string? nameOverride, bool checkEmote = true)
|
||||
{
|
||||
if (!_actionBlocker.CanEmote(source)) return;
|
||||
|
||||
@@ -378,6 +384,8 @@ public sealed partial class ChatSystem : SharedChatSystem
|
||||
("entityName", name),
|
||||
("message", FormattedMessage.EscapeText(action)));
|
||||
|
||||
if (checkEmote)
|
||||
TryEmoteChatInput(source, action);
|
||||
SendInVoiceRange(ChatChannel.Emotes, action, wrappedMessage, source, hideChat, hideGlobalGhostChat);
|
||||
_adminLogger.Add(LogType.Chat, LogImpact.Low, $"Emote from {ToPrettyString(source):user}: {action}");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user