Word replacement accent system (#15086)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user