diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 5aaadab0078..4d1546bca0e 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -360,8 +360,8 @@ var/obj/item/paper/P = new /obj/item/paper(loc) playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE) var/name = occupant ? occupant.name : "Unknown" - P.info = "
Body Scan - [name]

" - P.info += "Time of scan: [station_time_timestamp()]

" + P.info = "
Patient: [name]
" + P.info += "
Time of scan: [station_time_timestamp()]

" P.info += "[generate_printing_text()]" P.info += "

Notes:
" P.name = "Body Scan - [name]" @@ -380,8 +380,39 @@ if(1) t1 = "Unconscious" else - t1 = "*dead*" - dat += "[occupant.health > 50 ? "" : ""]\tHealth %: [occupant.health], ([t1])
" + t1 = "*Dead*" + dat += "[occupant.health > 50 ? "" : ""]\tHealth: [occupant.health]% ([t1])
" + + var/extra_font = null + + var/blood_percent = round((occupant.blood_volume / BLOOD_VOLUME_NORMAL) * 100, 1) + + extra_font = (occupant.blood_volume > 448 ? "" : "") + dat += "[extra_font]\tBlood Level: [blood_percent]% ([occupant.blood_volume] units)
" + + extra_font = (occupant.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT && occupant.bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT ? "" : "") + dat += "[extra_font]\tBody Temperature: [occupant.bodytemperature-T0C]°C ([occupant.bodytemperature*1.8-459.67]°F)
" + + extra_font = (occupant.getBruteLoss() < 60 ? "" : "") + dat += "[extra_font]\tBrute Damage: [occupant.getBruteLoss()]
" + + extra_font = (occupant.getOxyLoss() < 60 ? "" : "") + dat += "[extra_font]\tRespiratory Damage: [occupant.getOxyLoss()]
" + + extra_font = (occupant.getToxLoss() < 60 ? "" : "") + dat += "[extra_font]\tToxin Damage: [occupant.getToxLoss()]
" + + extra_font = (occupant.getFireLoss() < 60 ? "" : "") + dat += "[extra_font]\tBurn Severity: [occupant.getFireLoss()]
" + + extra_font = (occupant.radiation < 10 ? "" : "") + dat += "[extra_font]\tRadiation Level: [occupant.radiation] rads
" + + extra_font = (occupant.getCloneLoss() < 1 ? "" : "") + dat += "[extra_font]\tCellular Tissue Damage: [occupant.getCloneLoss()]
" + + extra_font = (occupant.getBrainLoss() < 1 ? "" : "") + dat += "[extra_font]\tApprox. Brain Damage: [occupant.getBrainLoss()]
" var/found_disease = FALSE for(var/thing in occupant.viruses) @@ -391,151 +422,111 @@ found_disease = TRUE break if(found_disease) - dat += "Disease detected in occupant.
" + dat += "Disease detected in occupant.
" - var/extra_font = null - extra_font = (occupant.getBruteLoss() < 60 ? "" : "") - dat += "[extra_font]\t-Brute Damage %: [occupant.getBruteLoss()]
" - - extra_font = (occupant.getOxyLoss() < 60 ? "" : "") - dat += "[extra_font]\t-Respiratory Damage %: [occupant.getOxyLoss()]
" - - extra_font = (occupant.getToxLoss() < 60 ? "" : "") - dat += "[extra_font]\t-Toxin Content %: [occupant.getToxLoss()]
" - - extra_font = (occupant.getFireLoss() < 60 ? "" : "") - dat += "[extra_font]\t-Burn Severity %: [occupant.getFireLoss()]
" - - extra_font = (occupant.radiation < 10 ?"" : "") - dat += "[extra_font]\tRadiation Level %: [occupant.radiation]
" - - extra_font = (occupant.getCloneLoss() < 1 ?"" : "") - dat += "[extra_font]\tGenetic Tissue Damage %: [occupant.getCloneLoss()]
" - - extra_font = (occupant.getBrainLoss() < 1 ?"" : "") - dat += "[extra_font]\tApprox. Brain Damage %: [occupant.getBrainLoss()]
" - - dat += "Inebriation Severity: [round(occupant.get_drunkenness() / 10)] seconds
" - dat += "Body Temperature: [occupant.bodytemperature-T0C]°C ([occupant.bodytemperature*1.8-459.67]°F)
" + if(HAS_TRAIT(occupant, TRAIT_BLIND)) + dat += "Cataracts detected.
" + if(HAS_TRAIT(occupant, TRAIT_COLORBLIND)) + dat += "Photoreceptor abnormalities detected.
" + if(HAS_TRAIT(occupant, TRAIT_NEARSIGHT)) + dat += "Retinal misalignment detected.
" dat += "
" - - var/blood_percent = round((occupant.blood_volume / BLOOD_VOLUME_NORMAL) * 100, 1) - - extra_font = (occupant.blood_volume > 448 ? "" : "") - dat += "[extra_font]\tBlood Level %: [blood_percent] ([occupant.blood_volume] units)
" - - if(occupant.reagents) - dat += "Epinephrine units: [occupant.reagents.get_reagent_amount("Epinephrine")] units
" - dat += "Ether: [occupant.reagents.get_reagent_amount("ether")] units
" - - extra_font = (occupant.reagents.get_reagent_amount("silver_sulfadiazine") < 30 ? "" : "") - dat += "[extra_font]\tSilver Sulfadiazine: [occupant.reagents.get_reagent_amount("silver_sulfadiazine")]
" - - extra_font = (occupant.reagents.get_reagent_amount("styptic_powder") < 30 ? "" : "") - dat += "[extra_font]\tStyptic Powder: [occupant.reagents.get_reagent_amount("styptic_powder")] units
" - - extra_font = (occupant.reagents.get_reagent_amount("salbutamol") < 30 ? "" : "") - dat += "[extra_font]\tSalbutamol: [occupant.reagents.get_reagent_amount("salbutamol")] units
" - - dat += "
" + dat += "
" dat += "" - dat += "" - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" + dat += "" dat += "" for(var/obj/item/organ/external/e in occupant.bodyparts) dat += "" - var/AN = "" - var/open = "" - var/infected = "" - var/dead = "" - var/robot = "" - var/imp = "" - var/bled = "" - var/splint = "" - var/internal_bleeding = "" - var/burn_wound = "" - var/ointment = "" - var/lung_ruptured = "" + var/list/ailments = list() + if(e.status & ORGAN_INT_BLEEDING) - internal_bleeding = "
Internal bleeding" + ailments |= "Internal Bleeding" if(istype(e, /obj/item/organ/external/chest) && occupant.is_lung_ruptured()) - lung_ruptured = "Lung ruptured:" + ailments |= "Lung Ruptured" if(e.status & ORGAN_SPLINTED) - splint = "Splinted:" + ailments |= "Splinted" if(e.status & ORGAN_BROKEN) - AN = "[e.broken_description]:" + ailments |= "[e.broken_description]" if(e.status & ORGAN_SALVED) - ointment = "Salved:" + ailments |= "Salved" if(e.status & ORGAN_BURNT) - burn_wound = "Critical Burn:" + ailments |= "Critical Burn" if(e.status & ORGAN_DEAD) - dead = "DEAD:" + ailments |= "Dead" if(e.is_robotic()) - robot = "Robotic:" + ailments |= "Robotic" if(e.open) - open = "Open:" + ailments |= "Open" switch(e.germ_level) if(INFECTION_LEVEL_ONE to INFECTION_LEVEL_ONE + 200) - infected = "Mild Infection:" + ailments |= "Mild Infection" if(INFECTION_LEVEL_ONE + 200 to INFECTION_LEVEL_ONE + 300) - infected = "Mild Infection+:" + ailments |= "Mild Infection+" if(INFECTION_LEVEL_ONE + 300 to INFECTION_LEVEL_ONE + 400) - infected = "Mild Infection++:" + ailments |= "Mild Infection++" if(INFECTION_LEVEL_TWO to INFECTION_LEVEL_TWO + 200) - infected = "Acute Infection:" + ailments |= "Acute Infection" if(INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300) - infected = "Acute Infection+:" + ailments |= "Acute Infection+" if(INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_TWO + 399) - infected = "Acute Infection++:" + ailments |= "Acute Infection++" if(INFECTION_LEVEL_TWO + 400 to INFINITY) - infected = "Septic:" + ailments |= "Septic" var/unknown_body = 0 for(var/I in e.embedded_objects) unknown_body++ if(unknown_body || e.hidden) - imp += "Unknown body present:" - if(!AN && !open && !infected && !imp) - AN = "None:" - dat += "" - dat += "" - for(var/obj/item/organ/internal/i in occupant.internal_organs) - var/mech = i.desc - var/infection = "None" - var/dead = "" - if(i.status & ORGAN_DEAD) - dead = "DEAD:" - switch(i.germ_level) - if(1 to INFECTION_LEVEL_ONE + 200) - infection = "Mild Infection:" - if(INFECTION_LEVEL_ONE + 200 to INFECTION_LEVEL_ONE + 300) - infection = "Mild Infection+:" - if(INFECTION_LEVEL_ONE + 300 to INFECTION_LEVEL_ONE + 400) - infection = "Mild Infection++:" - if(INFECTION_LEVEL_TWO to INFECTION_LEVEL_TWO + 200) - infection = "Acute Infection:" - if(INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300) - infection = "Acute Infection+:" - if(INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_TWO + 399) - infection = "Acute Infection++:" - if(INFECTION_LEVEL_TWO + 400 to INFINITY) - infection = "Septic:" + ailments |= "Unknown body present" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" + dat += "" dat += "" dat += "
OrganBurn DamageBrute DamageOther WoundsBody PartBurn DamageBrute DamageInjuries
[e.name][e.burn_dam][e.brute_dam][robot][bled][AN][splint][burn_wound][ointment][open][infected][imp][internal_bleeding][lung_ruptured][dead]
[i.name]N/A[i.damage][infection]:[mech][dead][e.name][e.burn_dam][e.brute_dam][jointext(ailments, "
")]
" - if(HAS_TRAIT(occupant, TRAIT_BLIND)) - dat += "Cataracts detected.
" - if(HAS_TRAIT(occupant, TRAIT_COLORBLIND)) - dat += "Photoreceptor abnormalities detected.
" - if(HAS_TRAIT(occupant, TRAIT_NEARSIGHT)) - dat += "Retinal misalignment detected.
" + dat += "
" + + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + + for(var/obj/item/organ/internal/i in occupant.internal_organs) + var/list/ailments = list() + + if(i.status & ORGAN_DEAD) + ailments |= "Dead" + switch(i.germ_level) + if(1 to INFECTION_LEVEL_ONE + 200) + ailments |= "Mild Infection" + if(INFECTION_LEVEL_ONE + 200 to INFECTION_LEVEL_ONE + 300) + ailments |= "Mild Infection+" + if(INFECTION_LEVEL_ONE + 300 to INFECTION_LEVEL_ONE + 400) + ailments |= "Mild Infection++" + if(INFECTION_LEVEL_TWO to INFECTION_LEVEL_TWO + 200) + ailments |= "Acute Infection" + if(INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300) + ailments |= "Acute Infection+" + if(INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_TWO + 399) + ailments |= "Acute Infection++" + if(INFECTION_LEVEL_TWO + 400 to INFINITY) + ailments |= "Septic" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "
OrganDamageInjuries
[i.name][i.damage][jointext(ailments, "
")]
" + else dat += "[src] is empty."