diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 8c0f61bb1d..c3b70bbee8 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] @@ -59,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 diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 0b48b68e31..5d9010a7bd 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -608,18 +608,18 @@ 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 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.