give item GC fixes (#19686)

This commit is contained in:
SteelSlayer
2022-11-15 19:46:14 +01:00
committed by GitHub
parent 47c944a1f5
commit 0a2190f3e1
+4 -6
View File
@@ -72,8 +72,8 @@
..()
holder.mouse_pointer_icon = 'icons/mouse_icons/give_item.dmi'
to_chat(holder, "<span class='info'>You can now left click on someone to give them your held item.</span>")
RegisterSignal(holder.mob.get_active_hand(), list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), /datum/proc/signal_qdel)
RegisterSignal(holder.mob, list(SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), /datum/proc/signal_qdel)
RegisterSignal(holder.mob.get_active_hand(), list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(signal_qdel))
RegisterSignal(holder.mob, list(SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), PROC_REF(signal_qdel))
/datum/click_intercept/give/Destroy(force = FALSE, ...)
@@ -133,11 +133,9 @@
giver.apply_status_effect(STATUS_EFFECT_OFFERING_ITEM, receiver_UID, item_UID)
add_overlay(icon(I.icon, I.icon_state, SOUTH))
add_overlay("alert_flash")
RegisterSignal(I, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(cancel_give))
RegisterSignal(giver, list(SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), PROC_REF(cancel_give))
// If either of these atoms are deleted, we need to cancel everything. Also saves having to do null checks before interacting with these atoms.
RegisterSignal(I, COMSIG_PARENT_QDELETING, /datum/proc/signal_qdel)
RegisterSignal(giver, COMSIG_PARENT_QDELETING, /datum/proc/signal_qdel)
RegisterSignal(I, list(COMSIG_PARENT_QDELETING, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED), PROC_REF(cancel_give))
RegisterSignal(giver, list(COMSIG_PARENT_QDELETING, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), COMSIG_CARBON_SWAP_HANDS), PROC_REF(cancel_give))
/obj/screen/alert/take_item/Destroy()