Add lizard accent (#7096)

This commit is contained in:
Alex Evgrashin
2022-03-13 07:23:43 +03:00
committed by GitHub
parent c7074ed5f7
commit 7addda4e0e
4 changed files with 43 additions and 0 deletions

View File

@@ -303,6 +303,7 @@ namespace Content.Client.Entry
"Spreader",
"GrowingKudzu",
"MonkeyAccent",
"LizardAccent",
"ReplacementAccent",
"ResistLocker",
"IgniteOnCollide",

View File

@@ -0,0 +1,10 @@
namespace Content.Server.Speech.Components;
/// <summary>
/// Hiss!
/// </summary>
[RegisterComponent]
public sealed class LizardAccentComponent : Component
{
}

View File

@@ -0,0 +1,31 @@
using System.Text.RegularExpressions;
using Content.Server.Speech.Components;
namespace Content.Server.Speech.EntitySystems;
public sealed class LizardAccentSystem : EntitySystem
{
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 = Regex.Replace(message, "s+", "sss");
// hiSSS
message = Regex.Replace(message, "S+", "SSS");
// ekssit
message = Regex.Replace(message, @"(\w)x", "$1kss");
// ecks
message = Regex.Replace(message, @"\bx([\-|r|R]|\b)", "ecks$1");
// eckS
message = Regex.Replace(message, @"\bX([\-|r|R]|\b)", "ECKS$1");
args.Message = message;
}
}

View File

@@ -109,6 +109,7 @@
- type: Body
template: HumanoidTemplate
preset: HumanPreset
- type: LizardAccent
- type: entity
save: false