diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm index 4c9095fb4df..9625cff53cd 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm @@ -14,6 +14,28 @@ wall_mounted = 0 //never solid (You can always pass over it) health = 200 +/obj/structure/closet/secure_closet/examine(mob/user) + ..() + if(broken || opened || !ishuman(user)) + return //Monkeys don't get a message, nor does anyone ief it's open or emagged + else + user << "Alt-click the locker to [locked ? "unlock" : "lock"] it." + +/obj/structure/closet/secure_closet/AltClick(var/mob/user) + ..() + if(!in_range(src, user)) + return + if(!ishuman(user)) + user << "You have no idea how this thing is supposed to work." + return + if(user.stat || !user.canmove || user.restrained() || broken) + user << "You can't do that right now." + return + if(src.opened) + return + else + togglelock(user) + /obj/structure/closet/secure_closet/can_open() if(src.locked || src.welded) return 0 @@ -101,26 +123,6 @@ /obj/structure/closet/secure_closet/attack_paw(mob/user as mob) return src.attack_hand(user) -/obj/structure/closet/secure_closet/verb/verb_togglelock() - set src in oview(1) // One square distance - set category = "Object" - set name = "Toggle Lock" - - if(!usr.canmove || usr.stat || usr.restrained()) // Don't use it if you're not able to! Checks for stuns, ghost and restrain - return - - if(get_dist(usr, src) != 1) - return - - if(src.broken) - return - - if (ishuman(usr)) - if (!opened) - togglelock(usr) - else - usr << "This mob type can't use this verb." - /obj/structure/closet/secure_closet/update_icon()//Putting the welded stuff in updateicon() so it's easy to overwrite for special cases (Fridges, cabinets, and whatnot) overlays.Cut() if(!opened) diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index e16c312e45c..02fc5c460f7 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -11,19 +11,31 @@ src.flipped=0 ..() - verb/flip() + verb/flipcap() set category = "Object" set name = "Flip cap" - set src in usr - if(usr.canmove && !usr.stat && !usr.restrained()) - src.flipped = !src.flipped - if(src.flipped) - icon_state = "[item_color]soft_flipped" - usr << "You flip the hat backwards." - else - icon_state = "[item_color]soft" - usr << "You flip the hat back in normal position." - usr.update_inv_head(0) //so our mob-overlays update + + flip(usr) + + +/obj/item/clothing/head/soft/AltClick(var/mob/user) + flip(user) + + +/obj/item/clothing/head/soft/proc/flip(var/mob/user) + if(user.canmove && !user.stat && !user.restrained()) + src.flipped = !src.flipped + if(src.flipped) + icon_state = "[item_color]soft_flipped" + user << "You flip the hat backwards." + else + icon_state = "[item_color]soft" + user << "You flip the hat back in normal position." + usr.update_inv_head(0) //so our mob-overlays update + +/obj/item/clothing/head/soft/examine(mob/user) + ..() + user << "Alt-click the cap to flip it [flipped ? "forwards" : "backwards"]." /obj/item/clothing/head/soft/red name = "red cap" diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index d5ed2dc454a..da10a0170de 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -15,10 +15,17 @@ /obj/item/clothing/mask/breath/attack_self(var/mob/user) adjustmask(user) +/obj/item/clothing/mask/breath/AltClick(var/mob/user) + adjustmask(user) + +/obj/item/clothing/mask/breath/examine(mob/user) + ..() + user << "Alt-click [src] to adjust it." + /obj/item/clothing/mask/breath/medical desc = "A close-fitting sterile mask that can be connected to an air supply." name = "medical mask" icon_state = "medical" item_state = "m_mask" permeability_coefficient = 0.01 - put_on_delay = 10 \ No newline at end of file + put_on_delay = 10 diff --git a/html/changelogs/Xhuis-LockerAltClick.yml b/html/changelogs/Xhuis-LockerAltClick.yml new file mode 100644 index 00000000000..e54cd4ba7b7 --- /dev/null +++ b/html/changelogs/Xhuis-LockerAltClick.yml @@ -0,0 +1,5 @@ +author: Xhuis +delete-after: true + +changes: + - rscadd: "Allows alt-clicking to adjust breath masks, flip caps, and unlock/lock closets."