diff --git a/code/datums/components/speechmod.dm b/code/datums/components/speechmod.dm index 45b2a691268..e6d39faf57c 100644 --- a/code/datums/components/speechmod.dm +++ b/code/datums/components/speechmod.dm @@ -50,10 +50,13 @@ targeted = owner.loc RegisterSignal(targeted, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) - RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_unequipped)) - RegisterSignal(parent, COMSIG_ORGAN_IMPLANTED, PROC_REF(on_implanted)) - RegisterSignal(parent, COMSIG_ORGAN_REMOVED, PROC_REF(on_removed)) + if (isorgan(parent)) + RegisterSignal(parent, COMSIG_ORGAN_IMPLANTED, PROC_REF(on_implanted)) + RegisterSignal(parent, COMSIG_ORGAN_REMOVED, PROC_REF(on_removed)) + else + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_unequipped)) + /datum/component/speechmod/proc/handle_speech(datum/source, list/speech_args) SIGNAL_HANDLER