CatStation/Content.Shared/Speech/EntitySystems/SouthernAccentSystem.cs
Pok 7a8fab78e3
Move Accents to Shared v2 (#44772)
* move-accents-to-shared

* Update AccentSystem.cs

* Update ListeningSystem.cs

* aaaaaa

* Update AccentSystem.cs

* oh god

* aaooao

* //

* review

* fix

* Update VocalSystem.cs
2026-07-25 22:29:39 +00:00

30 lines
1.3 KiB
C#

using System.Text.RegularExpressions;
using Content.Shared.Speech.Components;
namespace Content.Shared.Speech.EntitySystems;
public sealed partial class SouthernAccentSystem : RelayAccentSystem<SouthernAccentComponent>
{
private static readonly Regex RegexLowerIng = new(@"ing\b");
private static readonly Regex RegexUpperIng = new(@"ING\b");
private static readonly Regex RegexLowerAnd = new(@"\band\b");
private static readonly Regex RegexUpperAnd = new(@"\bAND\b");
private static readonly Regex RegexLowerDve = new(@"d've\b");
private static readonly Regex RegexUpperDve = new(@"D'VE\b");
[Dependency] private ReplacementAccentSystem _replacement = default!;
public override string Accentuate(string message, Entity<SouthernAccentComponent>? ent = null)
{
message = _replacement.ApplyReplacements(message, "southern", ent?.Owner);
//They shoulda started runnin' an' hidin' from me!
message = RegexLowerIng.Replace(message, "in'");
message = RegexUpperIng.Replace(message, "IN'");
message = RegexLowerAnd.Replace(message, "an'");
message = RegexUpperAnd.Replace(message, "AN'");
message = RegexLowerDve.Replace(message, "da");
message = RegexUpperDve.Replace(message, "DA");
return message;
}
};