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")