Voice mask (#10458)

This commit is contained in:
Flipp Syder
2022-09-28 19:22:27 -07:00
committed by GitHub
parent 336e9ee609
commit 0385f1387c
18 changed files with 357 additions and 7 deletions

View File

@@ -259,12 +259,15 @@ public sealed partial class ChatSystem : SharedChatSystem
return;
}
var nameEv = new TransformSpeakerNameEvent(source, Name(source));
RaiseLocalEvent(source, nameEv);
message = TransformSpeech(source, message);
if (message.Length == 0)
return;
var messageWrap = Loc.GetString("chat-manager-entity-say-wrap-message",
("entityName", Name(source)));
("entityName", nameEv.Name));
SendInVoiceRange(ChatChannel.Local, message, messageWrap, source, hideChat);
_listener.PingListeners(source, message, null);
@@ -295,8 +298,12 @@ public sealed partial class ChatSystem : SharedChatSystem
var transformSource = Transform(source);
var sourceCoords = transformSource.Coordinates;
var nameEv = new TransformSpeakerNameEvent(source, Name(source));
RaiseLocalEvent(source, nameEv);
var messageWrap = Loc.GetString("chat-manager-entity-whisper-wrap-message",
("entityName", Name(source)));
("entityName", nameEv.Name));
var xforms = GetEntityQuery<TransformComponent>();
var ghosts = GetEntityQuery<GhostComponent>();
@@ -530,6 +537,18 @@ public sealed partial class ChatSystem : SharedChatSystem
#endregion
}
public sealed class TransformSpeakerNameEvent : EntityEventArgs
{
public EntityUid Sender;
public string Name;
public TransformSpeakerNameEvent(EntityUid sender, string name)
{
Sender = sender;
Name = name;
}
}
/// <summary>
/// Raised broadcast in order to transform speech.
/// </summary>