From 1cbba05078d5da77ea5c369a452383f17d39bcd9 Mon Sep 17 00:00:00 2001 From: Kot <1192090+koteq@users.noreply.github.com> Date: Fri, 18 Apr 2025 05:04:37 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20TTS=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B4=D0=B8=D0=BE=20=D0=B4=D0=BB=D1=8F=20=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=B3=D0=BE=D0=B2=20(#1846)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Server/Radio/EntitySystems/HeadsetSystem.cs | 9 --------- Content.Server/Radio/EntitySystems/RadioSystem.cs | 6 ++++-- Content.Server/Radio/RadioEvent.cs | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Content.Server/Radio/EntitySystems/HeadsetSystem.cs b/Content.Server/Radio/EntitySystems/HeadsetSystem.cs index f554c0c2c5..fe327b175b 100644 --- a/Content.Server/Radio/EntitySystems/HeadsetSystem.cs +++ b/Content.Server/Radio/EntitySystems/HeadsetSystem.cs @@ -100,17 +100,8 @@ public sealed class HeadsetSystem : SharedHeadsetSystem private void OnHeadsetReceive(EntityUid uid, HeadsetComponent component, ref RadioReceiveEvent args) { - // Sunrise-TTS-Start - var actorUid = Transform(uid).ParentUid; if (TryComp(Transform(uid).ParentUid, out ActorComponent? actor)) - { _netMan.ServerSendMessage(args.ChatMsg, actor.PlayerSession.Channel); - if (actorUid != args.MessageSource && TryComp(args.MessageSource, out TTSComponent? _)) - { - args.Receivers.Add(actorUid); - } - } - // Sunrise-TTS-End } private void OnEmpPulse(EntityUid uid, HeadsetComponent component, ref EmpPulseEvent args) diff --git a/Content.Server/Radio/EntitySystems/RadioSystem.cs b/Content.Server/Radio/EntitySystems/RadioSystem.cs index 387a2dcbda..5ef84d4354 100644 --- a/Content.Server/Radio/EntitySystems/RadioSystem.cs +++ b/Content.Server/Radio/EntitySystems/RadioSystem.cs @@ -142,7 +142,7 @@ public sealed class RadioSystem : EntitySystem NetEntity.Invalid, null); var chatMsg = new MsgChatMessage { Message = chat }; - var ev = new RadioReceiveEvent(FormattedMessage.RemoveMarkupPermissive(message), messageSource, channel, radioSource, chatMsg, []); // Sunrise-TTS + var ev = new RadioReceiveEvent(FormattedMessage.RemoveMarkupPermissive(message), messageSource, channel, radioSource, chatMsg); var sendAttemptEv = new RadioSendAttemptEvent(channel, radioSource); RaiseLocalEvent(ref sendAttemptEv); @@ -153,6 +153,7 @@ public sealed class RadioSystem : EntitySystem var hasActiveServer = HasActiveServer(sourceMapId, channel.ID); var sourceServerExempt = _exemptQuery.HasComp(radioSource); + var receivers = new List(); // Sunrise-TTS var radioQuery = EntityQueryEnumerator(); while (canSend && radioQuery.MoveNext(out var receiver, out var radio, out var transform)) { @@ -180,9 +181,10 @@ public sealed class RadioSystem : EntitySystem // send the message RaiseLocalEvent(receiver, ref ev); + receivers.Add(receiver); // Sunrise-TTS } - RaiseLocalEvent(new RadioSpokeEvent(messageSource, message, ev.Receivers.ToArray())); // Sunrise-TTS + RaiseLocalEvent(new RadioSpokeEvent(messageSource, message, receivers.ToArray())); // Sunrise-TTS if (name != Name(messageSource)) _adminLogger.Add(LogType.Chat, LogImpact.Low, $"Radio message from {ToPrettyString(messageSource):user} as {name} on {channel.LocalizedName}: {message}"); diff --git a/Content.Server/Radio/RadioEvent.cs b/Content.Server/Radio/RadioEvent.cs index e52c8f3923..fafa66674e 100644 --- a/Content.Server/Radio/RadioEvent.cs +++ b/Content.Server/Radio/RadioEvent.cs @@ -4,7 +4,7 @@ using Content.Shared.Radio; namespace Content.Server.Radio; [ByRefEvent] -public readonly record struct RadioReceiveEvent(string Message, EntityUid MessageSource, RadioChannelPrototype Channel, EntityUid RadioSource, MsgChatMessage ChatMsg, List Receivers); // Sunrise-TTS +public readonly record struct RadioReceiveEvent(string Message, EntityUid MessageSource, RadioChannelPrototype Channel, EntityUid RadioSource, MsgChatMessage ChatMsg); /// /// Use this event to cancel sending message per receiver