Add lizard accent (#7096)
This commit is contained in:
@@ -303,6 +303,7 @@ namespace Content.Client.Entry
|
||||
"Spreader",
|
||||
"GrowingKudzu",
|
||||
"MonkeyAccent",
|
||||
"LizardAccent",
|
||||
"ReplacementAccent",
|
||||
"ResistLocker",
|
||||
"IgniteOnCollide",
|
||||
|
||||
10
Content.Server/Speech/Components/LizardAccentComponent.cs
Normal file
10
Content.Server/Speech/Components/LizardAccentComponent.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace Content.Server.Speech.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Hiss!
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed class LizardAccentComponent : Component
|
||||
{
|
||||
|
||||
}
|
||||
31
Content.Server/Speech/EntitySystems/LizardAccentSystem.cs
Normal file
31
Content.Server/Speech/EntitySystems/LizardAccentSystem.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -109,6 +109,7 @@
|
||||
- type: Body
|
||||
template: HumanoidTemplate
|
||||
preset: HumanPreset
|
||||
- type: LizardAccent
|
||||
|
||||
- type: entity
|
||||
save: false
|
||||
|
||||
Reference in New Issue
Block a user