From df8035fc9c01f5f492aaeb3bda9fc279e1da2aa2 Mon Sep 17 00:00:00 2001 From: Elizabeth Lavenza Date: Sat, 30 Mar 2024 23:46:33 -0400 Subject: [PATCH] Fix runtime from putting credit holochips into IDs --- code/game/objects/items/credit_holochip.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index b7f7f5f2d1..f548a24d43 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -84,13 +84,18 @@ var/obj/item/card/id/ID = I if(!ID.registered_account) to_chat(user, "[ID] doesn't have a linked account to deposit into!") - return - for(var/obj/item/holochip/money in src.loc.contents) + return STOP_ATTACK_PROC_CHAIN + var/atom/old_loc = loc // The following code can qdel src, which nulls its loc. + if(!old_loc) + ID.attackby(src, user) + return STOP_ATTACK_PROC_CHAIN + for(var/obj/item/holochip/money in old_loc.contents) ID.attackby(money, user) - for(var/obj/item/stack/spacecash/money in src.loc.contents) + for(var/obj/item/stack/spacecash/money in old_loc.contents) ID.attackby(money, user) - for(var/obj/item/coin/money in src.loc.contents) + for(var/obj/item/coin/money in old_loc.contents) ID.attackby(money, user) + return STOP_ATTACK_PROC_CHAIN /obj/item/holochip/AltClick(mob/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))