No echo from handheld radio (#27046)

I found the echo from my own radio very annoying.

(cherry picked from commit 9378688ffc15fc5ffbbf6d1a4b9ce61a2a813c20)
This commit is contained in:
SkaldetSkaeg 2024-04-26 14:34:20 +07:00 committed by null
parent 56e17441ce
commit 5c696acf9e
No known key found for this signature in database
GPG Key ID: 212F05528FD678BE
3 changed files with 5 additions and 2 deletions

View File

@ -201,6 +201,9 @@ public sealed class RadioDeviceSystem : EntitySystem
private void OnReceiveRadio(EntityUid uid, RadioSpeakerComponent component, ref RadioReceiveEvent args)
{
if (uid == args.RadioSource)
return;
var nameEv = new TransformSpeakerNameEvent(args.MessageSource, Name(args.MessageSource));
RaiseLocalEvent(args.MessageSource, nameEv);

View File

@ -116,7 +116,7 @@ public sealed class RadioSystem : EntitySystem
NetEntity.Invalid,
null);
var chatMsg = new MsgChatMessage { Message = chat };
var ev = new RadioReceiveEvent(message, messageSource, channel, chatMsg);
var ev = new RadioReceiveEvent(message, messageSource, channel, radioSource, chatMsg);
var sendAttemptEv = new RadioSendAttemptEvent(channel, radioSource);
RaiseLocalEvent(ref sendAttemptEv);

View File

@ -4,7 +4,7 @@ using Content.Shared.Radio;
namespace Content.Server.Radio;
[ByRefEvent]
public readonly record struct RadioReceiveEvent(string Message, EntityUid MessageSource, RadioChannelPrototype Channel, MsgChatMessage ChatMsg);
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