mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
* move-accents-to-shared * Update AccentSystem.cs * Update ListeningSystem.cs * aaaaaa * Update AccentSystem.cs * oh god * aaooao * // * review * fix * Update VocalSystem.cs
30 lines
1.3 KiB
C#
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;
|
|
}
|
|
};
|