Фикс TTS радио для боргов (#1846)
This commit is contained in:
parent
ddcd54d8e0
commit
1cbba05078
3 changed files with 5 additions and 12 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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<EntityUid>(); // Sunrise-TTS
|
||||
var radioQuery = EntityQueryEnumerator<ActiveRadioComponent, TransformComponent>();
|
||||
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}");
|
||||
|
|
|
|||
|
|
@ -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<EntityUid> Receivers); // Sunrise-TTS
|
||||
public readonly record struct RadioReceiveEvent(string Message, EntityUid MessageSource, RadioChannelPrototype Channel, EntityUid RadioSource, MsgChatMessage ChatMsg);
|
||||
|
||||
/// <summary>
|
||||
/// Use this event to cancel sending message per receiver
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue