From 158c4e241e67219c07e3946cad3af84035fd9dec Mon Sep 17 00:00:00 2001 From: SteelSlayer Date: Sat, 6 Jun 2020 09:55:09 -0500 Subject: [PATCH 1/2] fix --- .../crates_lockers/closets/secure/personal.dm | 59 +++++++++---------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 096133b6e0d..769bb6e6df7 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -54,36 +54,33 @@ new /obj/item/storage/backpack/satchel/withwallet( src ) new /obj/item/radio/headset( src ) -/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob, params) - if(src.opened) - if(istype(W, /obj/item/grab)) - src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet - user.drop_item() - if(W) W.forceMove(loc) - else if(istype(W, /obj/item/card/id)) - if(src.broken) - to_chat(user, "It appears to be broken.") - return - var/obj/item/card/id/I = W - if(!I || !I.registered_name) return - if(src == user.loc) - to_chat(user, "You can't reach the lock from inside.") - else if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name))) - //they can open all lockers, or nobody owns this, or they own this locker - src.locked = !( src.locked ) - if(src.locked) - src.icon_state = src.icon_locked - else - src.icon_state = src.icon_closed - registered_name = null - desc = initial(desc) +/obj/structure/closet/secure_closet/personal/attackby(obj/item/W, mob/user, params) + if(broken) + to_chat(user, "It appears to be broken.") + return - if(!src.registered_name && src.locked) - src.registered_name = I.registered_name - src.desc = "Owned by [I.registered_name]." - else - to_chat(user, "Access Denied") - else if((istype(W, /obj/item/card/emag) || istype(W, /obj/item/melee/energy/blade)) && !broken) - emag_act(user) - else + if(!istype(W, /obj/item/card/id)) return ..() + + var/obj/item/card/id/I = W + if(!I || !I.registered_name) + return + + if(src == user.loc) + to_chat(user, "You can't reach the lock from inside.") + + else if(allowed(user) || !registered_name || (istype(I) && (registered_name == I.registered_name))) + //they can open all lockers, or nobody owns this, or they own this locker + locked = !locked + if(locked) + icon_state = icon_locked + else + icon_state = icon_closed + registered_name = null + desc = initial(desc) + + if(!registered_name && locked) + registered_name = I.registered_name + desc = "Owned by [I.registered_name]." + else + to_chat(user, "Access Denied") From 973e53be145dcc6825f21154e2cdfc4a534419c5 Mon Sep 17 00:00:00 2001 From: SteelSlayer Date: Sat, 6 Jun 2020 10:04:46 -0500 Subject: [PATCH 2/2] nevermind this should go after --- .../structures/crates_lockers/closets/secure/personal.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 769bb6e6df7..df7e1384ed9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -55,13 +55,13 @@ new /obj/item/radio/headset( src ) /obj/structure/closet/secure_closet/personal/attackby(obj/item/W, mob/user, params) + if(!istype(W, /obj/item/card/id)) + return ..() + if(broken) to_chat(user, "It appears to be broken.") return - if(!istype(W, /obj/item/card/id)) - return ..() - var/obj/item/card/id/I = W if(!I || !I.registered_name) return