diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 8a6331b5d69..a4ac2ddb6cd 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -79,7 +79,7 @@
door_overlay.overlays += emissive_blocker(door_overlay.icon, door_overlay.icon_state, alpha = door_overlay.alpha) // If we don't do this the door doesn't block emissives and it looks weird.
else if(!opened && has_closed_overlay)
. += "[closed_door_sprite || icon_state]_closed"
-
+
if(opened)
return
@@ -255,7 +255,6 @@
if(enable_door_overlay)
animate_door(TRUE)
update_appearance()
- playsound(loc, close_sound, close_sound_volume, TRUE, -3)
density = TRUE
return TRUE
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 d63ed5eba74..c8074cd4f62 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -39,6 +39,14 @@
if(opened || !istype(W, /obj/item/card/id))
return ..()
+ if(broken)
+ to_chat(user, "The locker appears to be broken.")
+ return
+
+ if(user.loc == src)
+ to_chat(user, "You can't reach the lock from inside.")
+ return
+
if(istype(W, /obj/item/card/id/guest))
to_chat(user, "Invalid identification card.")
return
@@ -47,16 +55,17 @@
if(!I || !I.registered_name)
return
- else if(allowed(user) || !registered_name || (istype(I) && (registered_name == I.registered_name)))
+ 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
- togglelock(user)
+ locked = !locked
+ update_icon()
if(!locked)
registered_name = null
desc = initial(desc)
if(!registered_name && locked)
registered_name = I.registered_name
- desc = "Owned by [I.registered_name]."
+ desc = "Owned by [I.registered_name]."
else
to_chat(user, "Access denied.")