Replaces some ore box, sleeper, and body scanner verbs with click combinations (#20085)

* Replaces some verbs with alt-click and alt-shift-click

* ryan's review
This commit is contained in:
GDN
2023-01-13 09:28:59 -06:00
committed by GitHub
parent 748405409d
commit 9e7d8b23ea
3 changed files with 41 additions and 32 deletions
+13 -9
View File
@@ -6,6 +6,7 @@
/obj/machinery/sleeper
name = "sleeper"
desc = "Injects chemicals into the bloodstream of the occupant, can remove chemicals from the bloodstream of the occupant through dialysis."
icon = 'icons/obj/cryogenic2.dmi'
icon_state = "sleeper-open"
var/base_icon = "sleeper"
@@ -30,6 +31,11 @@
light_color = LIGHT_COLOR_CYAN
/obj/machinery/sleeper/examine(mob/user)
. = ..()
if(Adjacent(user))
. += "<span class='notice'>You can <b>Alt-Click</b> to eject the current occupant.</span>"
/obj/machinery/sleeper/detailed_examine()
return "The sleeper allows you to clean the blood by means of dialysis, and to administer medication in a controlled environment.<br>\
<br>\
@@ -39,7 +45,7 @@
<br>\
You can also inject common medicines directly into their bloodstream.\
<br>\
Right-click the cell and click 'Eject Occupant' to remove them. You can enter the cell yourself by right clicking and selecting 'Enter Sleeper'. \
Alt-Click the sleeper to remove them. You can enter the cell yourself by right clicking and selecting 'Enter Sleeper'. \
Note that you cannot control the sleeper while inside of it."
/obj/machinery/sleeper/power_change()
@@ -459,19 +465,17 @@
else
to_chat(user, "There's no occupant in the sleeper!")
/obj/machinery/sleeper/verb/eject()
set name = "Eject Sleeper"
set category = "Object"
set src in oview(1)
if(usr.default_can_use_topic(src) != STATUS_INTERACTIVE)
/obj/machinery/sleeper/AltClick(mob/user)
if(issilicon(user))
eject()
return
if(usr.incapacitated()) //are you cuffed, dying, lying, stunned or other
if(!Adjacent(user) || !ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return
eject()
/obj/machinery/sleeper/proc/eject(mob/user)
go_out()
add_fingerprint(usr)
return
/obj/machinery/sleeper/verb/remove_beaker()
set name = "Remove Beaker"
+16 -9
View File
@@ -1,5 +1,6 @@
/obj/machinery/bodyscanner
name = "body scanner"
desc = "A sophisticated device which reports most internal and external injuries."
icon = 'icons/obj/cryogenic2.dmi'
icon_state = "bodyscanner-open"
density = TRUE
@@ -11,13 +12,17 @@
var/mob/living/carbon/human/occupant
var/known_implants = list(/obj/item/implant/chem, /obj/item/implant/death_alarm, /obj/item/implant/mindshield, /obj/item/implant/tracking, /obj/item/implant/health)
/obj/machinery/bodyscanner/examine(mob/user)
. = ..()
if(Adjacent(user))
. += "<span class='notice'>You can <b>Alt-Click</b> to eject the current occupant.</span>"
/obj/machinery/bodyscanner/detailed_examine()
return "The advanced scanner detects and reports internal injuries such as bone fractures, internal bleeding, and organ damage. \
This is useful if you are about to perform surgery.<br>\
<br>\
Click your target and drag them onto the scanner to place them inside. Click the body scanner in order to operate it. \
Right-click the scanner and click 'Eject Occupant' to remove them. You can enter the scanner yourself in a similar way, using the 'Enter Body Scanner' \
verb."
Alt-Click to remove them, or use the eject button in the interface."
/obj/machinery/bodyscanner/Destroy()
@@ -167,15 +172,17 @@
return FALSE //maybe they should be able to get out with cuffs, but whatever
go_out()
/obj/machinery/bodyscanner/verb/eject()
set src in oview(1)
set category = "Object"
set name = "Eject Body Scanner"
if(usr.incapacitated())
/obj/machinery/bodyscanner/AltClick(mob/user)
if(issilicon(user))
eject()
return
if(!Adjacent(user) || !ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return
eject()
/obj/machinery/bodyscanner/proc/eject(mob/user)
go_out()
add_fingerprint(usr)
add_fingerprint(user)
/obj/machinery/bodyscanner/proc/go_out()
if(!occupant)
+12 -14
View File
@@ -78,26 +78,24 @@
O.forceMove(loc)
CHECK_TICK
/obj/structure/ore_box/examine(mob/user)
. = ..()
if(Adjacent(user))
. += "<span class='notice'>You can <b>Alt-Shift-Click</b> to empty the ore box.</span>"
/obj/structure/ore_box/onTransitZ()
return
/obj/structure/ore_box/verb/empty_box()
set name = "Empty Ore Box"
set category = "Object"
set src in view(1)
if(usr.incapacitated())
/obj/structure/ore_box/AltShiftClick(mob/user)
if(!Adjacent(user) || !ishuman(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
to_chat(user, "You cannot interact with the ore box.")
return
if(!Adjacent(usr))
to_chat(usr, "You cannot reach the ore box.")
return
add_fingerprint(user)
add_fingerprint(usr)
if(contents.len < 1)
to_chat(usr, "<span class='warning'>The ore box is empty.</span>")
if(length(contents) < 1)
to_chat(user, "<span class='warning'>The ore box is empty.</span>")
return
dump_box_contents()
to_chat(usr, "<span class='notice'>You empty the ore box.</span>")
to_chat(user, "<span class='notice'>You empty the ore box.</span>")