From 5083cb6fcf570e2e1930eb947a4ec558ebd4a330 Mon Sep 17 00:00:00 2001 From: dragomagol <66640614+dragomagol@users.noreply.github.com> Date: Thu, 17 Dec 2020 20:12:34 -0800 Subject: [PATCH] prevent phobias being triggered by words you don't understand (#55580) --- code/__DEFINES/dcs/signals.dm | 2 +- code/datums/brain_damage/phobia.dm | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index eed39a5acb4..2a7405fa0b0 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -289,7 +289,7 @@ #define COMSIG_MOVABLE_HEAR "movable_hear" #define HEARING_MESSAGE 1 #define HEARING_SPEAKER 2 -// #define HEARING_LANGUAGE 3 + #define HEARING_LANGUAGE 3 #define HEARING_RAW_MESSAGE 4 /* #define HEARING_RADIO_FREQ 5 #define HEARING_SPANS 6 diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index dd8b4c60a1a..cbdb1d7d24f 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -78,6 +78,8 @@ return if(HAS_TRAIT(owner, TRAIT_FEARLESS)) return + if(!owner.has_language(hearing_args[HEARING_LANGUAGE])) //can't be triggered if you don't know the language + return if(trigger_regex.Find(hearing_args[HEARING_RAW_MESSAGE]) != 0) addtimer(CALLBACK(src, .proc/freak_out, null, trigger_regex.group[2]), 10) //to react AFTER the chat message hearing_args[HEARING_RAW_MESSAGE] = trigger_regex.Replace(hearing_args[HEARING_RAW_MESSAGE], "$2$3")