Files

39 lines
1.2 KiB
C#
Raw Permalink Normal View History

2022-03-13 07:23:43 +03:00
using System.Text.RegularExpressions;
using Content.Server.Speech.Components;
using Content.Shared.Speech;
2022-03-13 07:23:43 +03:00
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)");
2022-03-13 07:23:43 +03:00
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");
2022-03-13 07:23:43 +03:00
// hiSSS
message = RegexUpperS.Replace(message, "SSS");
2022-03-13 07:23:43 +03:00
// ekssit
message = RegexInternalX.Replace(message, "$1kss");
2022-03-13 07:23:43 +03:00
// ecks
message = RegexLowerEndX.Replace(message, "ecks$1");
2022-03-13 07:23:43 +03:00
// eckS
message = RegexUpperEndX.Replace(message, "ECKS$1");
2022-03-13 07:23:43 +03:00
args.Message = message;
}
}