diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index b9e740c30ab..90d837c0ff8 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -558,7 +558,7 @@ var/obj/item/ID = new id(H) imprint_idcard(H, ID) if(personal_computer?.card_slot) - addtimer(CALLBACK(src, PROC_REF(register_pda), personal_computer, ID), 2 SECOND) + addtimer(CALLBACK(src, PROC_REF(register_pda), personal_computer, ID), 2 SECOND, TIMER_STOPPABLE | TIMER_DELETE_ME) else H.equip_or_collect(ID, slot_wear_id) @@ -658,7 +658,7 @@ C.access = get_id_access(H) C.rank = get_id_rank(H) C.assignment = get_id_assignment(H) - addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, set_id_info), C), 1 SECOND) // Delay a moment to allow an icon update to happen. + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, set_id_info), C), 1 SECOND, TIMER_STOPPABLE | TIMER_DELETE_ME) // Delay a moment to allow an icon update to happen. if(H.mind && H.mind.initial_account) C.associated_account_number = H.mind.initial_account.account_number diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 3a5dd35cd5c..9ddb20ceda6 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -183,7 +183,10 @@ /obj/item/card/id/Destroy() QDEL_NULL(chat_user) mob_id = null - . = ..() + access = null + front = null + side = null + return ..() /obj/item/card/id/examine(mob/user, distance, is_adjacent, infix, suffix, show_extended) . = ..() diff --git a/code/modules/effects/sparks/visuals.dm b/code/modules/effects/sparks/visuals.dm index 19b13e1e302..ebed170b4c6 100644 --- a/code/modules/effects/sparks/visuals.dm +++ b/code/modules/effects/sparks/visuals.dm @@ -21,7 +21,7 @@ /obj/effect/visual/sparks/start(var/direction) if (direction) - addtimer(CALLBACK(src, PROC_REF(do_step), direction), 5) + addtimer(CALLBACK(src, PROC_REF(do_step), direction), 5, TIMER_STOPPABLE | TIMER_DELETE_ME) /obj/effect/visual/sparks/proc/do_step(direction) step(src, direction) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 45661ae21a7..423a897f266 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -74,7 +74,6 @@ /mob/living/silicon/Destroy() GLOB.silicon_mob_list -= src QDEL_NULL(computer) - QDEL_NULL(computer) QDEL_NULL(id_card) QDEL_NULL(common_radio) for(var/datum/alarm_handler/AH in SSalarm.all_handlers) diff --git a/html/changelogs/hellfirejag-id-card-hard-del.yml b/html/changelogs/hellfirejag-id-card-hard-del.yml new file mode 100644 index 00000000000..7e4c8818ec3 --- /dev/null +++ b/html/changelogs/hellfirejag-id-card-hard-del.yml @@ -0,0 +1,4 @@ +author: Hellfirejag +delete-after: True +changes: + - bugfix: "Fixed a hard del related to ID cards."