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
29 lines
1 KiB
C#
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;
|
|
}
|
|
}
|