From 6a3acd751cf3186894914dca82a2b54312ec10c8 Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Wed, 16 Nov 2022 14:09:32 +1100 Subject: [PATCH] Fixes parent call ordering issue in storage attackby. --- .../objects/items/weapons/storage/storage.dm | 39 ++++++++----------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 9901c3976c..5639ca6915 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -422,13 +422,9 @@ //This proc is called when you want to place an item into the storage item. /obj/item/storage/attackby(obj/item/W, mob/user, silent) - . = ..() - if(.) - return - //Robots can't interact with storage items. if(isrobot(user)) - return FALSE + return ..() if(istype(W, /obj/item/lightreplacer)) var/obj/item/lightreplacer/LP = W @@ -446,26 +442,25 @@ to_chat(user, "You inserted [amt_inserted] light\s into \the [LP.name]. You have [LP.uses] light\s remaining.") return TRUE - if(!can_be_inserted(W)) - return FALSE - - if(istype(W, /obj/item/tray)) - var/obj/item/tray/T = W - if(T.calc_carry() > 0) - if(prob(85)) + if(can_be_inserted(W)) + if(istype(W, /obj/item/tray)) + var/obj/item/tray/T = W + if(T.calc_carry() > 0) + if(prob(85)) + if (!silent) + to_chat(user, "The tray won't fit in [src].") + return TRUE + W.forceMove(get_turf(user)) + if ((user.client && user.s_active != src)) + user.client.screen -= W + W.dropped(user) if (!silent) - to_chat(user, "The tray won't fit in [src].") + to_chat(user, "God damn it!") return TRUE - W.forceMove(get_turf(user)) - if ((user.client && user.s_active != src)) - user.client.screen -= W - W.dropped(user) - if (!silent) - to_chat(user, "God damn it!") - return TRUE + W.add_fingerprint(user) + return handle_item_insertion(W, silent) - W.add_fingerprint(user) - return handle_item_insertion(W, silent) + return ..() /obj/item/storage/dropped(mob/user as mob) return