diff --git a/baystation12.dme b/baystation12.dme index 61cc972fe9f..802413560a2 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1262,9 +1262,9 @@ #include "code\modules\surgery\surgery.dm" #include "code\modules\virus2\analyser.dm" #include "code\modules\virus2\antibodies.dm" +#include "code\modules\virus2\centrifuge.dm" #include "code\modules\virus2\curer.dm" #include "code\modules\virus2\disease2.dm" -#include "code\modules\virus2\centrifuge.dm" #include "code\modules\virus2\diseasesplicer.dm" #include "code\modules\virus2\dishincubator.dm" #include "code\modules\virus2\effect.dm" diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 6ee5deff1f0..c6f2f454567 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -127,36 +127,56 @@ /obj/machinery/computer/med_data/Topic(href, href_list) if(..()) return + if (!( data_core.general.Find(src.active1) )) src.active1 = null + if (!( data_core.medical.Find(src.active2) )) src.active2 = null + if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.set_machine(src) + if (href_list["temp"]) src.temp = null + if (href_list["scan"]) if (src.scan) - src.scan.loc = src.loc - src.scan = null + + if(ishuman(usr)) + scan.loc = usr.loc + + if(!usr.get_active_hand()) + usr.put_in_hands(scan) + + scan = null + + else + src.scan.loc = src.loc + src.scan = null + else var/obj/item/I = usr.get_active_hand() if (istype(I, /obj/item/weapon/card/id)) usr.drop_item() I.loc = src src.scan = I + else if (href_list["logout"]) src.authenticated = null src.screen = null src.active1 = null src.active2 = null + else if (href_list["login"]) + if (istype(usr, /mob/living/silicon/ai)) src.active1 = null src.active2 = null src.authenticated = usr.name src.rank = "AI" src.screen = 1 + else if (istype(usr, /mob/living/silicon/robot)) src.active1 = null src.active2 = null @@ -164,13 +184,16 @@ var/mob/living/silicon/robot/R = usr src.rank = R.braintype src.screen = 1 + else if (istype(src.scan, /obj/item/weapon/card/id)) src.active1 = null src.active2 = null + if (src.check_access(src.scan)) src.authenticated = src.scan.registered_name src.rank = src.scan.assignment src.screen = 1 + if (src.authenticated) if(href_list["screen"]) @@ -277,7 +300,7 @@ src.active2.fields["notes"] = t1 if("p_stat") if (istype(src.active1, /datum/data/record)) - src.temp = text("Physical Condition:
\n\t*Deceased*
\n\t*Unconscious*
\n\tActive
\n\tPhysically Unfit
", src, src, src, src) + src.temp = text("Physical Condition:
\n\t*Deceased*
\n\t*SSD*
\n\tActive
\n\tPhysically Unfit
\n\tDisabled
", src, src, src, src, src) if("m_stat") if (istype(src.active1, /datum/data/record)) src.temp = text("Mental Condition:
\n\t*Insane*
\n\t*Unstable*
\n\t*Watch*
\n\tStable
", src, src, src, src) @@ -311,12 +334,14 @@ switch(href_list["p_stat"]) if("deceased") src.active1.fields["p_stat"] = "*Deceased*" - if("unconscious") - src.active1.fields["p_stat"] = "*Unconscious*" + if("ssd") + src.active1.fields["p_stat"] = "*SSD*" if("active") src.active1.fields["p_stat"] = "Active" if("unfit") src.active1.fields["p_stat"] = "Physically Unfit" + if("disabled") + src.active1.fields["p_stat"] = "Disabled" if (href_list["m_stat"]) if (src.active1) @@ -478,7 +503,7 @@ if(4) R.fields["b_type"] = pick("A-", "B-", "AB-", "O-", "A+", "B+", "AB+", "O+") if(5) - R.fields["p_stat"] = pick("*Unconcious*", "Active", "Physically Unfit") + R.fields["p_stat"] = pick("*SSD*", "Active", "Physically Unfit", "Disabled") if(6) R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable") continue