using System.Text.RegularExpressions; using Content.Server.Chat.Managers; using Content.Server.Speech.Components; using Robust.Shared.GameObjects; using Robust.Shared.IoC; namespace Content.Server.Speech { public class AccentSystem : EntitySystem { [Dependency] private readonly IChatManager _chatManager = default!; public static readonly Regex SentenceRegex = new(@"(?<=[\.!\?])", RegexOptions.Compiled); public override void Initialize() { _chatManager.RegisterChatTransform(AccentHandler); } public string AccentHandler(EntityUid playerUid, string message) { var accentEvent = new AccentGetEvent(playerUid, message); RaiseLocalEvent(playerUid, accentEvent); return accentEvent.Message; } } public class AccentGetEvent : EntityEventArgs { /// /// The entity to apply the accent to. /// public EntityUid Entity { get; } /// /// The message to apply the accent transformation to. /// Modify this to apply the accent. /// public string Message { get; set; } public AccentGetEvent(EntityUid entity, string message) { Entity = entity; Message = message; } } }