muh immursion

This commit is contained in:
Letter N
2020-07-08 15:59:44 +08:00
parent 45a3c47608
commit f757e54db9
3 changed files with 34 additions and 0 deletions

View File

@@ -414,3 +414,20 @@
continue
runnable_modes[M] = probabilities[M.config_tag]
return runnable_modes
/datum/controller/configuration/proc/LoadChatFilter()
var/list/in_character_filter = list()
if(!fexists("[directory]/in_character_filter.txt"))
return
log_config("Loading config file in_character_filter.txt...")
for(var/line in world.file2list("[directory]/in_character_filter.txt"))
if(!line)
continue
if(findtextEx(line,"#",1,2))
continue
in_character_filter += REGEX_QUOTE(line)
ic_filter_regex = in_character_filter.len ? regex("\\b([jointext(in_character_filter, "|")])\\b", "i") : null
syncChatRegexes()

View File

@@ -88,11 +88,21 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
var/static/list/one_character_prefix = list(MODE_HEADSET = TRUE, MODE_ROBOT = TRUE, MODE_WHISPER = TRUE)
var/ic_blocked = FALSE
if(client && !forced && config.ic_filter_regex && findtext(message, config.ic_filter_regex))
//The filter doesn't act on the sanitized message, but the raw message.
ic_blocked = TRUE
if(sanitize)
message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN))
if(!message || message == "")
return
if(ic_blocked)
//The filter warning message shows the sanitized message though.
to_chat(src, "<span class='warning'>That message contained a word prohibited in IC chat! Consider reviewing the server rules.\n<span replaceRegex='show_filtered_ic_chat'>\"[message]\"</span></span>")
return
var/datum/saymode/saymode = SSradio.saymodes[talk_key]
var/message_mode = get_message_mode(message)
var/original_message = message

View File

@@ -0,0 +1,7 @@
###############################################################################################
# Words that will block in character chat messages from sending. #
# Case is not important. Commented-out examples are listed below, just remove the "#". #
###############################################################################################
#lol
#omg
#wtf