From 47e3cd346fcf4c8787c988fcd8683a858d6f5c97 Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Wed, 27 Nov 2019 16:36:19 -0500 Subject: [PATCH 1/3] Fixes codewords and MKUltra enthrall hearing. --- code/modules/antagonists/traitor/datum_traitor.dm | 2 ++ modular_citadel/code/datums/status_effects/chems.dm | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 8c0f61bb1d..2219522e30 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -23,6 +23,7 @@ owner.special_role = special_role if(give_objectives) forge_traitor_objectives() + RegisterSignal(owner.current, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) finalize_traitor() ..() @@ -48,6 +49,7 @@ A.verbs -= /mob/living/silicon/ai/proc/choose_modules A.malf_picker.remove_malf_verbs(A) qdel(A.malf_picker) + UnregisterSignal(owner.current, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) /datum/antagonist/traitor/proc/handle_hearing(datum/source, list/hearing_args) var/message = hearing_args[HEARING_MESSAGE] diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 0b48b68e31..a13d8b6261 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -608,13 +608,13 @@ UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL) -/datum/status_effect/chem/enthrall/proc/owner_hear(var/hearer, message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) +/datum/status_effect/chem/enthrall/proc/owner_hear(datum/source, list/hearing_args) if(owner.client?.prefs.lewdchem == FALSE) return if (cTriggered > 0) return var/mob/living/carbon/C = owner - raw_message = lowertext(raw_message) + var/raw_message = lowertext(hearing_args[HEARING_RAW_MESSAGE]) for (var/trigger in customTriggers) var/cached_trigger = lowertext(trigger) if (findtext(raw_message, cached_trigger))//if trigger1 is the message From de43339d564f65099e57080c1968a9479948b3d8 Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Wed, 27 Nov 2019 16:42:28 -0500 Subject: [PATCH 2/3] made it actually compile --- modular_citadel/code/datums/status_effects/chems.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index a13d8b6261..5d9010a7bd 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -619,7 +619,7 @@ var/cached_trigger = lowertext(trigger) if (findtext(raw_message, cached_trigger))//if trigger1 is the message cTriggered = 5 //Stops triggerparties and as a result, stops servercrashes. - log_game("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been triggered with [cached_trigger] from [speaker] saying: \"[message]\". (their master being [master] ckey: [enthrallID].)") + log_game("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been triggered with [cached_trigger] from [hearing_args[HEARING_SPEAKER]] saying: \"[hearing_args[HEARING_MESSAGE]]\". (their master being [master] ckey: [enthrallID].)") //Speak (Forces player to talk) if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2 @@ -656,7 +656,7 @@ C.adjustArousalLoss(10) to_chat(C, "You feel a surge of arousal!") else - C.throw_at(get_step_towards(speaker,C), 3, 1) //cut this if it's too hard to get working + C.throw_at(get_step_towards(hearing_args[HEARING_SPEAKER],C), 3, 1) //cut this if it's too hard to get working //kneel (knockdown) else if (lowertext(customTriggers[trigger]) == "kneel")//as close to kneeling as you can get, I suppose. From 6a13801c1a112d0594d051b39fda0c3eb8f02f70 Mon Sep 17 00:00:00 2001 From: GrayRachnid Date: Wed, 27 Nov 2019 18:34:36 -0500 Subject: [PATCH 3/3] I assume this is what ghommie meant --- code/modules/antagonists/traitor/datum_traitor.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 2219522e30..c3b70bbee8 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -61,7 +61,6 @@ if(!silent && owner.current) to_chat(owner.current," You are no longer the [special_role]! ") owner.special_role = null - ..() /datum/antagonist/traitor/proc/add_objective(datum/objective/O) objectives += O