CatStation/Content.Shared/Speech/EntitySystems/LizardAccentSystem.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

29 lines
1 KiB
C#

using System.Text.RegularExpressions;
using Content.Shared.Speech.Components;
namespace Content.Shared.Speech.EntitySystems;
public sealed class LizardAccentSystem : RelayAccentSystem<LizardAccentComponent>
{
private static readonly Regex RegexLowerS = new("s+");
private static readonly Regex RegexUpperS = new("S+");
private static readonly Regex RegexInternalX = new(@"(\w)x");
private static readonly Regex RegexLowerEndX = new(@"\bx([\-|r|R]|\b)");
private static readonly Regex RegexUpperEndX = new(@"\bX([\-|r|R]|\b)");
public override string Accentuate(string message, Entity<LizardAccentComponent>? ent = null)
{
// hissss
message = RegexLowerS.Replace(message, "sss");
// hiSSS
message = RegexUpperS.Replace(message, "SSS");
// ekssit
message = RegexInternalX.Replace(message, "$1kss");
// ecks
message = RegexLowerEndX.Replace(message, "ecks$1");
// eckS
message = RegexUpperEndX.Replace(message, "ECKS$1");
return message;
}
}