mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-31 07:57:47 +01:00
security. Updated operating tables to search for adjacent computers, rather than using an ID. Switched back to the old bodybag sprites. Slightly updated the Oddy destroyed sprites, and updated the changelog. Revision: r3547 Author: petethegoat
82 lines
2.4 KiB
Plaintext
82 lines
2.4 KiB
Plaintext
/obj/machinery/computer/operating
|
|
name = "Operating Computer"
|
|
density = 1
|
|
anchored = 1.0
|
|
desc = "Used to monitor status of people being operated on."
|
|
icon_state = "operating"
|
|
circuit = "/obj/item/weapon/circuitboard/operating"
|
|
var
|
|
mob/living/carbon/human/victim = null
|
|
obj/machinery/optable/table = null
|
|
|
|
/obj/machinery/computer/operating/New()
|
|
..()
|
|
for(dir in list(NORTH,EAST,SOUTH,WEST))
|
|
table = locate(/obj/machinery/optable, get_step(src, dir))
|
|
if (!isnull(table))
|
|
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/proc/interact(mob/user)
|
|
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
|
|
if (!istype(user, /mob/living/silicon))
|
|
user.machine = null
|
|
user << browse(null, "window=op")
|
|
return
|
|
|
|
user.machine = src
|
|
var/dat = "<HEAD><TITLE>Operating Computer</TITLE><META HTTP-EQUIV='Refresh' CONTENT='10'></HEAD><BODY>\n"
|
|
dat += "<A HREF='?src=\ref[user];mach_close=op'>Close</A><br><br>" //| <A HREF='?src=\ref[user];update=1'>Update</A>"
|
|
if(src.table && (src.table.check_victim()))
|
|
src.victim = src.table.victim
|
|
dat += {"
|
|
<B>Patient Information:</B><BR>
|
|
<BR>
|
|
<B>Name:</B> [src.victim.real_name]<BR>
|
|
<B>Age:</B> [src.victim.age]<BR>
|
|
<B>Blood Type:</B> [src.victim.dna.b_type]<BR>
|
|
<BR>
|
|
<B>Health:</B> [src.victim.health]<BR>
|
|
<B>Brute Damage:</B> [src.victim.getBruteLoss()]<BR>
|
|
<B>Toxins Damage:</B> [src.victim.getToxLoss()]<BR>
|
|
<B>Fire Damage:</B> [src.victim.getFireLoss()]<BR>
|
|
<B>Suffocation Damage:</B> [src.victim.getOxyLoss()]<BR>
|
|
<B>Patient Status:</B> [src.victim.stat ? "Non-Responsive" : "Stable"]<BR>
|
|
"}
|
|
else
|
|
src.victim = null
|
|
dat += {"
|
|
<B>Patient Information:</B><BR>
|
|
<BR>
|
|
<B>No Patient Detected</B>
|
|
"}
|
|
user << browse(dat, "window=op")
|
|
onclose(user, "op")
|
|
|
|
|
|
/obj/machinery/computer/operating/Topic(href, href_list)
|
|
if(..())
|
|
return
|
|
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
|
|
usr.machine = src
|
|
return
|
|
|
|
|
|
/obj/machinery/computer/operating/process()
|
|
if(!(stat & (NOPOWER|BROKEN)) )
|
|
use_power(500)
|
|
|
|
src.updateDialog() |