using System.Text.RegularExpressions; using Content.Server.Speech.Components; namespace Content.Server.Speech.EntitySystems; public sealed class SouthernAccentSystem : EntitySystem { private static readonly Regex RegexIng = new(@"ing\b"); private static readonly Regex RegexAnd = new(@"\band\b"); private static readonly Regex RegexDve = new("d've"); [Dependency] private readonly ReplacementAccentSystem _replacement = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnAccent); } private void OnAccent(EntityUid uid, SouthernAccentComponent component, AccentGetEvent args) { var message = args.Message; message = _replacement.ApplyReplacements(message, "southern"); //They shoulda started runnin' an' hidin' from me! message = RegexIng.Replace(message, "in'"); message = RegexAnd.Replace(message, "an'"); message = RegexDve.Replace(message, "da"); args.Message = message; } };