mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-10 02:41:18 +03:00
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 partial 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;
|
|
}
|
|
}
|