Make common netspeak get replaced in the chat (#20180)
* added more slang to the sanitization manager * idk why this file is here * Added new sanitization accent * No longer is an acccent, instead is a dictionary * Reverted back to a system similar to before, added the new netspeak from the dictionary * Added some new words to the chat san * Added (wdym --> what do you mean) to the chatsan * merge conflict * removed boolvalue * remove space * Upcoming * Added MF and ETC to chatsan :)) * upcoming * added FYI and WYD to speech-chatsan.ftl * Made the chatsan accent string a const string with [ValidatePrototypeId<AccentPrototype>] * forgot the ';' :((( * fixed error throw [AccentPrototype] --> [ReplacementAccentPrototype]
This commit is contained in:
@@ -54,6 +54,7 @@ public sealed class ChatSanitizationManager : IChatSanitizationManager
|
|||||||
{ "._.", "chatsan-surprised" },
|
{ "._.", "chatsan-surprised" },
|
||||||
{ ".-.", "chatsan-confused" },
|
{ ".-.", "chatsan-confused" },
|
||||||
{ "-_-", "chatsan-unimpressed" },
|
{ "-_-", "chatsan-unimpressed" },
|
||||||
|
{ "smh", "chatsan-unimpressed" },
|
||||||
{ "o/", "chatsan-waves" },
|
{ "o/", "chatsan-waves" },
|
||||||
{ "^^/", "chatsan-waves" },
|
{ "^^/", "chatsan-waves" },
|
||||||
{ ":/", "chatsan-uncertain" },
|
{ ":/", "chatsan-uncertain" },
|
||||||
@@ -66,10 +67,11 @@ public sealed class ChatSanitizationManager : IChatSanitizationManager
|
|||||||
{ "lel.", "chatsan-laughs" },
|
{ "lel.", "chatsan-laughs" },
|
||||||
{ "kek", "chatsan-laughs" },
|
{ "kek", "chatsan-laughs" },
|
||||||
{ "kek.", "chatsan-laughs" },
|
{ "kek.", "chatsan-laughs" },
|
||||||
|
{ "rofl", "chatsan-laughs" },
|
||||||
{ "o7", "chatsan-salutes" },
|
{ "o7", "chatsan-salutes" },
|
||||||
{ ";_;7", "chatsan-tearfully-salutes"},
|
{ ";_;7", "chatsan-tearfully-salutes"},
|
||||||
{ "idk", "chatsan-shrugs" },
|
{ "idk", "chatsan-shrugs" },
|
||||||
{ "idk.", "chatsan-shrugs" }
|
{ "idk.", "chatsan-shrugs" },
|
||||||
};
|
};
|
||||||
|
|
||||||
private bool _doSanitize;
|
private bool _doSanitize;
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Content.Server.Speech.EntitySystems;
|
||||||
|
using Content.Server.Speech.Components;
|
||||||
using Content.Server.Administration.Logs;
|
using Content.Server.Administration.Logs;
|
||||||
using Content.Server.Administration.Managers;
|
using Content.Server.Administration.Managers;
|
||||||
using Content.Server.Chat.Managers;
|
using Content.Server.Chat.Managers;
|
||||||
@@ -53,6 +55,7 @@ public sealed partial class ChatSystem : SharedChatSystem
|
|||||||
[Dependency] private readonly MobStateSystem _mobStateSystem = default!;
|
[Dependency] private readonly MobStateSystem _mobStateSystem = default!;
|
||||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||||
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
|
[Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
|
||||||
|
[Dependency] private readonly ReplacementAccentSystem _wordreplacement = default!;
|
||||||
|
|
||||||
public const int VoiceRange = 10; // how far voice goes in world units
|
public const int VoiceRange = 10; // how far voice goes in world units
|
||||||
public const int WhisperClearRange = 2; // how far whisper goes while still being understandable, in world units
|
public const int WhisperClearRange = 2; // how far whisper goes while still being understandable, in world units
|
||||||
@@ -690,6 +693,8 @@ public sealed partial class ChatSystem : SharedChatSystem
|
|||||||
private string SanitizeInGameICMessage(EntityUid source, string message, out string? emoteStr, bool capitalize = true, bool punctuate = false, bool capitalizeTheWordI = true)
|
private string SanitizeInGameICMessage(EntityUid source, string message, out string? emoteStr, bool capitalize = true, bool punctuate = false, bool capitalizeTheWordI = true)
|
||||||
{
|
{
|
||||||
var newMessage = message.Trim();
|
var newMessage = message.Trim();
|
||||||
|
newMessage = SanitizeMessageReplaceWords(newMessage);
|
||||||
|
|
||||||
if (capitalize)
|
if (capitalize)
|
||||||
newMessage = SanitizeMessageCapital(newMessage);
|
newMessage = SanitizeMessageCapital(newMessage);
|
||||||
if (capitalizeTheWordI)
|
if (capitalizeTheWordI)
|
||||||
@@ -737,6 +742,20 @@ public sealed partial class ChatSystem : SharedChatSystem
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ValidatePrototypeId<ReplacementAccentPrototype>]
|
||||||
|
public const string ChatSanitize_Accent = "chatsanitize";
|
||||||
|
|
||||||
|
public string SanitizeMessageReplaceWords(string message)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(message)) return message;
|
||||||
|
|
||||||
|
var msg = message;
|
||||||
|
|
||||||
|
msg = _wordreplacement.ApplyReplacements(msg, ChatSanitize_Accent);
|
||||||
|
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns list of players and ranges for all players withing some range. Also returns observers with a range of -1.
|
/// Returns list of players and ranges for all players withing some range. Also returns observers with a range of -1.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
116
Resources/Locale/en-US/speech/speech-chatsan.ftl
Normal file
116
Resources/Locale/en-US/speech/speech-chatsan.ftl
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
chatsan-word-1 = omg
|
||||||
|
chatsan-replacement-1 = oh my god
|
||||||
|
|
||||||
|
chatsan-word-2 = omfg
|
||||||
|
chatsan-replacement-2 = oh my fucking god
|
||||||
|
|
||||||
|
chatsan-word-3 = ong
|
||||||
|
chatsan-replacement-3 = on god
|
||||||
|
|
||||||
|
chatsan-word-4 = wtf
|
||||||
|
chatsan-replacement-4 = what the fuck
|
||||||
|
|
||||||
|
chatsan-word-5 = ffs
|
||||||
|
chatsan-replacement-5 = for fuck's sake
|
||||||
|
|
||||||
|
chatsan-word-6 = tf
|
||||||
|
chatsan-replacement-6 = the fuck
|
||||||
|
|
||||||
|
chatsan-word-7 = afaik
|
||||||
|
chatsan-replacement-7 = as far as i know
|
||||||
|
|
||||||
|
chatsan-word-8 = ik
|
||||||
|
chatsan-replacement-8 = i know
|
||||||
|
|
||||||
|
chatsan-word-9 = ikr
|
||||||
|
chatsan-replacement-9 = i know, right
|
||||||
|
|
||||||
|
chatsan-word-10 = idc
|
||||||
|
chatsan-replacement-10 = i don't care
|
||||||
|
|
||||||
|
chatsan-word-12 = tbh
|
||||||
|
chatsan-replacement-12 = to be honest
|
||||||
|
|
||||||
|
chatsan-word-13 = u
|
||||||
|
chatsan-replacement-13 = you
|
||||||
|
|
||||||
|
chatsan-word-14 = ur
|
||||||
|
chatsan-replacement-14 = your
|
||||||
|
|
||||||
|
chatsan-word-15 = mk
|
||||||
|
chatsan-replacement-15 = mmm, okay
|
||||||
|
|
||||||
|
chatsan-word-16 = iirc
|
||||||
|
chatsan-replacement-16 = if i remember correctly
|
||||||
|
|
||||||
|
chatsan-word-17 = np
|
||||||
|
chatsan-replacement-17 = no problem
|
||||||
|
|
||||||
|
chatsan-word-18 = omw
|
||||||
|
chatsan-replacement-18 = on my way
|
||||||
|
|
||||||
|
chatsan-word-19 = nvm
|
||||||
|
chatsan-replacement-19 = nevermind
|
||||||
|
|
||||||
|
chatsan-word-20 = imo
|
||||||
|
chatsan-replacement-20 = in my opinion
|
||||||
|
|
||||||
|
chatsan-word-21 = pls
|
||||||
|
chatsan-word-22 = plz
|
||||||
|
chatsan-word-23 = plox
|
||||||
|
chatsan-replacement-please = please
|
||||||
|
|
||||||
|
chatsan-word-24 = fr
|
||||||
|
chatsan-replacement-24 = for real
|
||||||
|
|
||||||
|
chatsan-word-25 = brb
|
||||||
|
chatsan-replacement-25 = be right back
|
||||||
|
|
||||||
|
chatsan-word-26 = btw
|
||||||
|
chatsan-replacement-26 = by the way
|
||||||
|
|
||||||
|
chatsan-word-27 = jk
|
||||||
|
chatsan-replacement-27 = just kidding
|
||||||
|
|
||||||
|
chatsan-word-28 = thx
|
||||||
|
chatsan-replacement-28 = thanks
|
||||||
|
|
||||||
|
chatsan-word-29 = ty
|
||||||
|
chatsan-replacement-29 = thank you
|
||||||
|
|
||||||
|
chatsan-word-30 = afk
|
||||||
|
chatsan-replacement-30 = ssd
|
||||||
|
|
||||||
|
chatsan-word-31 = stfu
|
||||||
|
chatsan-replacement-31 = shut the fuck up
|
||||||
|
|
||||||
|
chatsan-word-32 = gtg
|
||||||
|
chatsan-replacement-32 = got to go
|
||||||
|
|
||||||
|
chatsan-word-33 = gl
|
||||||
|
chatsan-replacement-33 = good luck
|
||||||
|
|
||||||
|
chatsan-word-34 = hbu
|
||||||
|
chatsan-replacement-34 = how about you
|
||||||
|
|
||||||
|
chatsan-word-35 = hmu
|
||||||
|
chatsan-replacement-35 = hit me up
|
||||||
|
|
||||||
|
chatsan-word-36 = gtfo
|
||||||
|
chatsan-replacement-36 = get the fuck out
|
||||||
|
|
||||||
|
chatsan-word-37 = wdym
|
||||||
|
chatsan-replacement-37 = what do you mean
|
||||||
|
|
||||||
|
chatsan-word-38 = mf
|
||||||
|
chatsan-replacement-38 = motherfucker
|
||||||
|
|
||||||
|
chatsan-word-39 = etc
|
||||||
|
chatsan-word-40 = etc.
|
||||||
|
chatsan-replacement-etcetera = etcetera
|
||||||
|
|
||||||
|
chatsan-word-41 = fyi
|
||||||
|
chatsan-replacement-41 = for your information
|
||||||
|
|
||||||
|
chatsan-word-42 = wyd
|
||||||
|
chatsan-replacement-42 = what you doing
|
||||||
@@ -490,4 +490,49 @@
|
|||||||
accent-archaic-replaced-231: accent-archaic-replacement-231
|
accent-archaic-replaced-231: accent-archaic-replacement-231
|
||||||
accent-archaic-replaced-232: accent-archaic-replacement-232
|
accent-archaic-replaced-232: accent-archaic-replacement-232
|
||||||
|
|
||||||
|
# For the chat sanitization system
|
||||||
|
- type: accent
|
||||||
|
id: chatsanitize
|
||||||
|
wordReplacements:
|
||||||
|
chatsan-word-1: chatsan-replacement-1
|
||||||
|
chatsan-word-2: chatsan-replacement-2
|
||||||
|
chatsan-word-3: chatsan-replacement-3
|
||||||
|
chatsan-word-4: chatsan-replacement-4
|
||||||
|
chatsan-word-5: chatsan-replacement-5
|
||||||
|
chatsan-word-6: chatsan-replacement-6
|
||||||
|
chatsan-word-7: chatsan-replacement-7
|
||||||
|
chatsan-word-8: chatsan-replacement-8
|
||||||
|
chatsan-word-9: chatsan-replacement-9
|
||||||
|
chatsan-word-10: chatsan-replacement-10
|
||||||
|
chatsan-word-11: chatsan-replacement-11
|
||||||
|
chatsan-word-12: chatsan-replacement-12
|
||||||
|
chatsan-word-13: chatsan-replacement-13
|
||||||
|
chatsan-word-14: chatsan-replacement-14
|
||||||
|
chatsan-word-15: chatsan-replacement-15
|
||||||
|
chatsan-word-16: chatsan-replacement-16
|
||||||
|
chatsan-word-17: chatsan-replacement-17
|
||||||
|
chatsan-word-18: chatsan-replacement-18
|
||||||
|
chatsan-word-19: chatsan-replacement-19
|
||||||
|
chatsan-word-20: chatsan-replacement-20
|
||||||
|
chatsan-word-21: chatsan-replacement-please
|
||||||
|
chatsan-word-22: chatsan-replacement-please
|
||||||
|
chatsan-word-23: chatsan-replacement-please
|
||||||
|
chatsan-word-24: chatsan-replacement-24
|
||||||
|
chatsan-word-25: chatsan-replacement-25
|
||||||
|
chatsan-word-26: chatsan-replacement-26
|
||||||
|
chatsan-word-27: chatsan-replacement-27
|
||||||
|
chatsan-word-28: chatsan-replacement-28
|
||||||
|
chatsan-word-29: chatsan-replacement-29
|
||||||
|
chatsan-word-30: chatsan-replacement-30
|
||||||
|
chatsan-word-31: chatsan-replacement-31
|
||||||
|
chatsan-word-32: chatsan-replacement-32
|
||||||
|
chatsan-word-33: chatsan-replacement-33
|
||||||
|
chatsan-word-34: chatsan-replacement-34
|
||||||
|
chatsan-word-35: chatsan-replacement-35
|
||||||
|
chatsan-word-36: chatsan-replacement-36
|
||||||
|
chatsan-word-37: chatsan-replacement-37
|
||||||
|
chatsan-word-38: chatsan-replacement-38
|
||||||
|
chatsan-word-39: chatsan-replacement-etcetera
|
||||||
|
chatsan-word-40: chatsan-replacement-etcetera
|
||||||
|
chatsan-word-41: chatsan-replacement-41
|
||||||
|
chatsan-word-42: chatsan-replacement-42
|
||||||
|
|||||||
Reference in New Issue
Block a user