MothAccentSystem.cs 810 B

12345678910111213141516171819202122232425262728
  1. using System.Text.RegularExpressions;
  2. using Content.Server.Speech.Components;
  3. namespace Content.Server.Speech.EntitySystems;
  4. public sealed class MothAccentSystem : EntitySystem
  5. {
  6. private static readonly Regex RegexLowerBuzz = new Regex("z{1,3}");
  7. private static readonly Regex RegexUpperBuzz = new Regex("Z{1,3}");
  8. public override void Initialize()
  9. {
  10. base.Initialize();
  11. SubscribeLocalEvent<MothAccentComponent, AccentGetEvent>(OnAccent);
  12. }
  13. private void OnAccent(EntityUid uid, MothAccentComponent component, AccentGetEvent args)
  14. {
  15. var message = args.Message;
  16. // buzzz
  17. message = RegexLowerBuzz.Replace(message, "zzz");
  18. // buZZZ
  19. message = RegexUpperBuzz.Replace(message, "ZZZ");
  20. args.Message = message;
  21. }
  22. }