diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index ad43e11106..40bff7c76e 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -3,11 +3,14 @@ #define EXTERNAL_BLEEDING 0x4 #define SERIOUS_EXTERNAL_DAMAGE 0x8 #define SERIOUS_INTERNAL_DAMAGE 0x10 -#define RADIATION_DAMAGE 0x20 -#define TOXIN_DAMAGE 0x40 -#define OXY_DAMAGE 0x80 -#define HUSKED_BODY 0x100 -#define WEIRD_ORGANS 0x200 //CHOMPedit malignant +#define ACUTE_RADIATION_DOSE 0x20 +#define CHRONIC_RADIATION_DOSE 0x40 +#define TOXIN_DAMAGE 0x80 +#define OXY_DAMAGE 0x100 +#define HUSKED_BODY 0x200 +#define INFECTION 0x400 +#define VIRUS 0x800 +#define WEIRD_ORGANS 0x1000 //CHOMPedit malignant /obj/machinery/medical_kiosk name = "medical kiosk" @@ -121,12 +124,16 @@ problems |= INTERNAL_BLEEDING else problems |= EXTERNAL_BLEEDING + if(E.germ_level >= INFECTION_LEVEL_ONE) //Do NOT check for the germ_level on the mob, it'll be innacurate. + problems |= INFECTION for(var/obj/item/organ/internal/I in user) if(I.status & (ORGAN_BROKEN|ORGAN_DEAD|ORGAN_DESTROYED)) problems |= SERIOUS_INTERNAL_DAMAGE if(I.status & ORGAN_BLEEDING) problems |= INTERNAL_BLEEDING + if(I.germ_level >= INFECTION_LEVEL_ONE) //Do NOT check for the germ_level on the mob, it'll be innacurate. + problems |= INFECTION //CHOMPedit begin- malignants if(istype(I,/obj/item/organ/internal/malignant)) problems |= WEIRD_ORGANS @@ -140,9 +147,15 @@ if(user.getOxyLoss() > 0) problems |= OXY_DAMAGE if(user.radiation > 0) - problems |= RADIATION_DAMAGE + problems |= ACUTE_RADIATION_DOSE + if(user.accumulated_rads > 0) + problems |= CHRONIC_RADIATION_DOSE if(user.getFireLoss() > 40 || user.getBruteLoss() > 40) problems |= SERIOUS_EXTERNAL_DAMAGE + if(ishuman(user)) + var/mob/living/carbon/human/our_user = user + if(our_user.has_virus()) + problems |= VIRUS if(!problems) if(user.getHalLoss() > 0) @@ -151,18 +164,30 @@ return "
" + span_notice("No anatomical issues detected.") var/problem_text = "" + //Let's do this list from 'most severe' to 'least severe' + if(problems & INTERNAL_BLEEDING) //Will kill you quick and you NEED medical treatment. + problem_text += "
" + span_bolddanger("Internal bleeding detected - seek medical attention immediately!") + if(problems & INFECTION) //Will kill you quick and you NEED medical treatment. + problem_text += "
" + span_bolddanger("Infection detected - see a medical professional immediately!") + if(problems & BROKEN_BONES) problem_text += "
" + span_warning("Broken bones detected - see a medical professional and move as little as possible.") - if(problems & INTERNAL_BLEEDING) - problem_text += "
" + span_danger("Internal bleeding detected - seek medical attention, ASAP!") if(problems & EXTERNAL_BLEEDING) - problem_text += "
" + span_warning("External bleeding detected - advising pressure with cloth and bandaging.") + problem_text += "
" + span_warning("External bleeding detected - advising pressure with cloth and bandaging or direct pressure until medical staff can assist.") + if(problems & SERIOUS_EXTERNAL_DAMAGE) problem_text += "
" + span_danger("Severe anatomical damage detected - seek medical attention.") if(problems & SERIOUS_INTERNAL_DAMAGE) problem_text += "
" + span_danger("Severe internal damage detected - seek medical attention.") - if(problems & RADIATION_DAMAGE) - problem_text += "
" + span_danger("Exposure to ionizing radiation detected - seek medical attention.") + + if(problems & ACUTE_RADIATION_DOSE) + problem_text += "
" + span_danger("Acute exposure to ionizing radiation detected - seek medical attention.") + else if(problems & CHRONIC_RADIATION_DOSE) //We don't care about telling them about chronic rads if they have acute rads! + problem_text += "
" + span_warning("Chronic Exposure to ionizing radiation detected - medical attention is advises.") + + if(problems & VIRUS) + problem_text += "
" + span_boldwarning("Viral illness detected - seek out medical attention and quarantine from others!") + if(problems & TOXIN_DAMAGE) problem_text += "
" + span_warning("Exposure to toxic materials detected - induce vomiting if you have consumed anything recently.") if(problems & OXY_DAMAGE) @@ -197,8 +222,11 @@ #undef EXTERNAL_BLEEDING #undef SERIOUS_EXTERNAL_DAMAGE #undef SERIOUS_INTERNAL_DAMAGE -#undef RADIATION_DAMAGE +#undef ACUTE_RADIATION_DOSE +#undef CHRONIC_RADIATION_DOSE #undef TOXIN_DAMAGE #undef OXY_DAMAGE #undef HUSKED_BODY +#undef INFECTION +#undef VIRUS #undef WEIRD_ORGANS // CHOMPedit - malignants