diff --git a/code/__DEFINES/surgery.dm b/code/__DEFINES/surgery.dm index cada3f9eb21..42e00045761 100644 --- a/code/__DEFINES/surgery.dm +++ b/code/__DEFINES/surgery.dm @@ -26,6 +26,8 @@ #define ORGAN_HIDDEN (1<<9) /// Has the organ already been inserted inside someone #define ORGAN_VIRGIN (1<<10) +/// ALWAYS show this when scanned by advanced scanners, even if it is totally healthy +#define ORGAN_PROMINENT (1<<11) /// Helper to figure out if a limb is organic #define IS_ORGANIC_LIMB(limb) (limb.bodytype & BODYTYPE_ORGANIC) diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 10c301af1c6..c8c76c583e1 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -279,7 +279,7 @@ Status" for(var/obj/item/organ/organ as anything in humantarget.organs) - var/status = organ.get_status_text() + var/status = organ.get_status_text(advanced) if (status != "") render = TRUE toReport += "[organ.name]:\ diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index 960851280e3..29ea5f1e785 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -3,7 +3,7 @@ desc = "A nausea-inducing hunk of twisting flesh and metal." icon = 'icons/obj/antags/abductor.dmi' icon_state = "gland" - organ_flags = ORGAN_ROBOTIC // weird? + organ_flags = ORGAN_ROBOTIC | ORGAN_PROMINENT // weird? /// Shows name of the gland as well as a description of what it does upon examination by abductor scientists and observers. var/abductor_hint = "baseline placebo referencer" diff --git a/code/modules/antagonists/heretic/items/corrupted_organs.dm b/code/modules/antagonists/heretic/items/corrupted_organs.dm index 311e84c8055..3bd3ead7f60 100644 --- a/code/modules/antagonists/heretic/items/corrupted_organs.dm +++ b/code/modules/antagonists/heretic/items/corrupted_organs.dm @@ -2,6 +2,7 @@ /obj/item/organ/internal/eyes/corrupt name = "corrupt orbs" desc = "These eyes have seen something they shouldn't have." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// The override images we are applying var/list/hallucinations @@ -39,6 +40,7 @@ /obj/item/organ/internal/tongue/corrupt name = "corrupt tongue" desc = "This one tells only lies." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /obj/item/organ/internal/tongue/corrupt/Initialize(mapload) . = ..() @@ -65,6 +67,7 @@ /obj/item/organ/internal/liver/corrupt name = "corrupt liver" desc = "After what you've seen you could really go for a drink." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How much extra ingredients to add? var/amount_added = 5 /// What extra ingredients can we add? @@ -108,6 +111,7 @@ /obj/item/organ/internal/stomach/corrupt name = "corrupt stomach" desc = "This parasite demands an unwholesome diet in order to be satisfied." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// Do we have an unholy thirst? var/thirst_satiated = FALSE /// Timer for when we get thirsty again @@ -173,6 +177,7 @@ /obj/item/organ/internal/heart/corrupt name = "corrupt heart" desc = "What corruption is this spreading along with the blood?" + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How long until the next heart? COOLDOWN_DECLARE(hand_cooldown) @@ -192,6 +197,7 @@ /obj/item/organ/internal/lungs/corrupt name = "corrupt lungs" desc = "Some things SHOULD be drowned in tar." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How likely are we not to cough every time we take a breath? var/cough_chance = 15 /// How much gas to emit? @@ -226,6 +232,7 @@ /obj/item/organ/internal/appendix/corrupt name = "corrupt appendix" desc = "What kind of dark, cosmic force is even going to bother to corrupt an appendix?" + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How likely are we to spawn worms? var/worm_chance = 2 diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm index 3e6931917ed..3f678da6910 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm @@ -7,6 +7,7 @@ icon_state = "legion_remains" zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_PARASITE_EGG + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT decay_factor = STANDARD_ORGAN_DECAY * 3 // About 5 minutes outside of a host /// What stage of growth the corruption has reached. var/stage = 0 diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index a3cda722a35..e4bb7dfe769 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -318,18 +318,23 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) replacement.set_organ_damage(damage) /// Called by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine. -/obj/item/organ/proc/get_status_text() - var/status = "" - if(owner.has_reagent(/datum/reagent/inverse/technetium)) - status = "[round((damage/maxHealth)*100, 1)]% damaged." - else if(organ_flags & ORGAN_FAILING) - status = "Non-Functional" - else if(damage > high_threshold) - status = "Severely Damaged" - else if (damage > low_threshold) - status = "Mildly Damaged" +/obj/item/organ/proc/get_status_text(advanced) + if(advanced && (organ_flags & ORGAN_PROMINENT)) + return "Harmful Foreign Body" - return status + if(owner.has_reagent(/datum/reagent/inverse/technetium)) + return "[round((damage/maxHealth)*100, 1)]% damaged." + + if(organ_flags & ORGAN_FAILING) + return "Non-Functional" + + if(damage > high_threshold) + return "Severely Damaged" + + if (damage > low_threshold) + return "Mildly Damaged" + + return "" /// Tries to replace the existing organ on the passed mob with this one, with special handling for replacing a brain without ghosting target /obj/item/organ/proc/replace_into(mob/living/carbon/new_owner) diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm index e5190f1282e..83ed8da84ac 100644 --- a/code/modules/surgery/organs/internal/appendix/_appendix.dm +++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm @@ -87,7 +87,7 @@ ADD_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) organ_owner.med_hud_set_status() -/obj/item/organ/internal/appendix/get_status_text() +/obj/item/organ/internal/appendix/get_status_text(advanced) if((!(organ_flags & ORGAN_FAILING)) && inflamation_stage) return "Inflamed" else