| 12345678910111213141516171819202122232425262728293031323334353637 |
- using System.Text.RegularExpressions;
- using Content.Server.Speech.Components;
- namespace Content.Server.Speech.EntitySystems;
- public sealed class LizardAccentSystem : EntitySystem
- {
- 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 void Initialize()
- {
- base.Initialize();
- SubscribeLocalEvent<LizardAccentComponent, AccentGetEvent>(OnAccent);
- }
- private void OnAccent(EntityUid uid, LizardAccentComponent component, AccentGetEvent args)
- {
- var message = args.Message;
- // 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");
- args.Message = message;
- }
- }
|