Word replacement accent system (#15086)

This commit is contained in:
Kara
2023-04-03 19:50:37 -07:00
committed by GitHub
parent f8f318def8
commit 18df657fb6
11 changed files with 338 additions and 150 deletions

View File

@@ -8,6 +8,7 @@ namespace Content.Server.Speech.EntitySystems;
public sealed class MobsterAccentSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ReplacementAccentSystem _replacement = default!;
private static readonly Dictionary<string, string> DirectReplacements = new()
{
@@ -43,12 +44,8 @@ public sealed class MobsterAccentSystem : EntitySystem
// Do text manipulations first
// Then prefix/suffix funnyies
var msg = message;
foreach (var (first, replace) in DirectReplacements)
{
msg = Regex.Replace(msg, $@"(?<!\w){first}(?!\w)", replace, RegexOptions.IgnoreCase);
}
// direct word replacements
var msg = _replacement.ApplyReplacements(message, "mobster");
// thinking -> thinkin'
// king -> king