Files
Aurora.3/code/game/machinery/computer/Operating.dm
2020-09-14 11:00:14 +02:00

79 lines
2.3 KiB
Plaintext

//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/operating
name = "patient monitoring console"
desc = "A console that displays information on the status of the patient on an adjacent operating table."
density = TRUE
anchored = TRUE
light_color = LIGHT_COLOR_CYAN
icon_screen = "crew"
circuit = /obj/item/circuitboard/operating
var/mob/living/carbon/human/victim = null
var/obj/machinery/optable/table = null
/obj/machinery/computer/operating/Initialize()
. = ..()
for(dir in list(NORTH,EAST,SOUTH,WEST))
table = locate(/obj/machinery/optable, get_step(src, dir))
if (table)
table.computer = src
break
/obj/machinery/computer/operating/attack_ai(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
interact(user)
/obj/machinery/computer/operating/attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
interact(user)
/obj/machinery/computer/operating/interact(mob/user)
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
if (!istype(user, /mob/living/silicon))
user.unset_machine()
user << browse(null, "window=op")
return
user.set_machine(src)
var/dat = "<HEAD><TITLE>Operating Computer</TITLE><META HTTP-EQUIV='Refresh' CONTENT='10'></HEAD><BODY>\n"
if(src.table && (src.table.check_victim()))
src.victim = src.table.victim
var/brain_result = victim.get_brain_status()
if(victim.isFBP())
brain_result = "<span class='danger'>N/A</span>"
dat += {"
<B>Patient Information:</B><BR>
Brain Activity: <b>[brain_result]</b><br>
Pulse: <b>[victim.get_pulse(GETPULSE_TOOL)]</b><br>
BP: <b>[victim.get_blood_pressure()]</b><br>
Blood Oxygenation: <b>[victim.get_blood_oxygenation()]</b><br>
"}
else
src.victim = null
dat += {"
<B>Patient Information:</B><BR>
<BR>
<B>No Patient Detected</B>
"}
var/datum/browser/op_win = new(user, "op", capitalize_first_letters(name), 200, 200)
op_win.set_content(dat)
op_win.open()
/obj/machinery/computer/operating/Topic(href, href_list)
if(..())
return 1
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
usr.set_machine(src)
return
/obj/machinery/computer/operating/machinery_process()
if(operable())
src.updateDialog()