diff --git a/Content.Server/Chat/Managers/ChatManager.cs b/Content.Server/Chat/Managers/ChatManager.cs index 3ff5d56d3b..81d4bd0005 100644 --- a/Content.Server/Chat/Managers/ChatManager.cs +++ b/Content.Server/Chat/Managers/ChatManager.cs @@ -193,7 +193,7 @@ namespace Content.Server.Chat.Managers ("adminChannelName", Loc.GetString("chat-manager-admin-discord-channel-name")), ("playerName", sender), ("message", FormattedMessage.EscapeText(message))); - ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, EntityUid.Invalid, false, true, admins.Select(p => p.ConnectedClient)); + ChatMessageToMany(ChatChannel.Admin, message, wrappedMessage, EntityUid.Invalid, false, false, admins.Select(p => p.ConnectedClient)); var asayEventMessage = new UtkaChatEventMessage() { diff --git a/Content.Server/White/TTS/TTSSystem.cs b/Content.Server/White/TTS/TTSSystem.cs index 6d9a609f57..14f7676bf9 100644 --- a/Content.Server/White/TTS/TTSSystem.cs +++ b/Content.Server/White/TTS/TTSSystem.cs @@ -53,7 +53,7 @@ public sealed partial class TTSSystem : EntitySystem var soundData = await GenerateTTS(ev.Uid, ev.Text, protoVoice.Speaker); if (soundData != null) - RaiseNetworkEvent(new PlayTTSEvent(GetNetEntity(ev.Uid), soundData), Filter.SinglePlayer(session)); + RaiseNetworkEvent(new PlayTTSEvent(GetNetEntity(ev.Uid), soundData), Filter.SinglePlayer(session), false); } private async void OnEntitySpoke(EntityUid uid, TTSComponent component, EntitySpokeEvent args) @@ -85,7 +85,7 @@ public sealed partial class TTSSystem : EntitySystem // Say if (args.ObfuscatedMessage is null) { - RaiseNetworkEvent(ttsEvent, Filter.Pvs(uid)); + RaiseNetworkEvent(ttsEvent, Filter.Pvs(uid), false); return; } @@ -107,6 +107,8 @@ public sealed partial class TTSSystem : EntitySystem var xformQuery = GetEntityQuery(); var sourcePos = _xforms.GetWorldPosition(xformQuery.GetComponent(uid), xformQuery); var receptions = Filter.Pvs(uid).Recipients; + + foreach (var session in receptions) { if (!session.AttachedEntity.HasValue) @@ -116,7 +118,18 @@ public sealed partial class TTSSystem : EntitySystem if (distance > (ChatSystem.VoiceRange * ChatSystem.VoiceRange)) continue; - RaiseNetworkEvent(distance > ChatSystem.WhisperClearRange ? obfTtsEvent : ttsEvent, session); + EntityEventArgs actualEvent; + + if (distance > ChatSystem.WhisperClearRange) + { + actualEvent = obfTtsEvent; + } + else + { + actualEvent = ttsEvent; + } + + RaiseNetworkEvent(actualEvent, Filter.SinglePlayer(session), false); } }