diff --git a/code/datums/traits/_trait.dm b/code/datums/traits/_trait.dm index 1b51d6a190..a0090a94fa 100644 --- a/code/datums/traits/_trait.dm +++ b/code/datums/traits/_trait.dm @@ -56,6 +56,7 @@ /datum/trait/process() if(QDELETED(trait_holder)) + trait_holder = null qdel(src) return if(trait_holder.stat == DEAD) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 8d161db9d5..dcaa4f4545 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -61,7 +61,7 @@ var/list/family_name = splittext(trait_holder.real_name, " ") heirloom.name = "\improper [family_name[family_name.len]] family [heirloom.name]" -/datum/trait/family_heirloom/process() +/datum/trait/family_heirloom/on_process() if(heirloom in trait_holder.GetAllContents()) trait_holder.SendSignal(COMSIG_CLEAR_MOOD_EVENT, "family_heirloom_missing") trait_holder.SendSignal(COMSIG_ADD_MOOD_EVENT, "family_heirloom", /datum/mood_event/family_heirloom)