From 42ebe301d71f58aa34085c23d2503912f1f90921 Mon Sep 17 00:00:00 2001 From: Toastical <20125180+Toastical@users.noreply.github.com> Date: Wed, 18 Jun 2025 23:57:01 +0300 Subject: [PATCH] migrated autopsy scanner + added print cooldown (#29565) --- code/game/objects/items/devices/autopsy.dm | 57 +++++++++++++++------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/devices/autopsy.dm b/code/game/objects/items/devices/autopsy.dm index 95103656f61..d609471ff33 100644 --- a/code/game/objects/items/devices/autopsy.dm +++ b/code/game/objects/items/devices/autopsy.dm @@ -1,3 +1,5 @@ +#define PRINT_TIMER 5 SECONDS + /obj/item/autopsy_scanner name = "autopsy scanner" desc = "Extracts information on wounds." @@ -13,6 +15,8 @@ var/target_UID = null var/timeofdeath = null var/target_rank = null + STATIC_COOLDOWN_DECLARE(print_cooldown) + new_attack_chain = TRUE /obj/item/autopsy_scanner/Destroy() QDEL_LIST_ASSOC_VAL(wdata) @@ -72,23 +76,39 @@ if(Adjacent(user)) . += "You can use a pen on it to quickly write a coroner's report." -/obj/item/autopsy_scanner/attackby__legacy__attackchain(obj/item/P, mob/user) - if(!is_pen(P)) +/obj/item/autopsy_scanner/item_interaction(mob/living/user, obj/item/used, list/modifiers) + if(!is_pen(used)) return ..() + if(!COOLDOWN_FINISHED(src, print_cooldown)) + to_chat(user, "[src] is busy, try again in a few seconds.") + return ITEM_INTERACT_COMPLETE + var/dead_name = tgui_input_text(user, "Insert name of deceased individual", default = target_name, title = "Coroner's Report", max_length = 60) var/rank = tgui_input_text(user, "Insert rank of deceased individual", default = target_rank, title = "Coroner's Report", max_length = 60) var/tod = tgui_input_text(user, "Insert time of death", default = station_time_timestamp("hh:mm", timeofdeath), title = "Coroner's Report", max_length = 60) var/cause = tgui_input_text(user, "Insert cause of death", title = "Coroner's Report", max_length = 60) var/chems = tgui_input_text(user, "Insert any chemical traces", multiline = TRUE, title = "Coroner's Report") var/notes = tgui_input_text(user, "Insert any relevant notes", multiline = TRUE, title = "Coroner's Report") + + COOLDOWN_START(src, print_cooldown, PRINT_TIMER) var/obj/item/paper/R = new(user.loc) R.name = "Official Coroner's Report - [dead_name]" R.info = "