diff --git a/code/__DEFINES/devices.dm b/code/__DEFINES/devices.dm index 6b216c799f7..1547e23fdf8 100644 --- a/code/__DEFINES/devices.dm +++ b/code/__DEFINES/devices.dm @@ -9,3 +9,7 @@ /// Used to prevent health analyzers from switching modes when they shouldn't. /// Functions the same as [SCANNER_CONDENSED] #define SCANNER_NO_MODE -1 + +#define SCANPOWER_BASIC 0 +#define SCANPOWER_ADVANCED 1 +#define SCANPOWER_SUPER 2 diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index 473b402e742..d462eb8972c 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -65,7 +65,7 @@ return if (user.ghost_hud_flags & GHOST_HEALTH) - healthscan(user, src, 1, TRUE) + healthscan(user, src, SCANNER_VERBOSE, SCANPOWER_SUPER) if (user.ghost_hud_flags & GHOST_CHEM) chemscan(user, src) diff --git a/code/datums/components/irradiated.dm b/code/datums/components/irradiated.dm index 5415b2576ad..c6619fd1a5b 100644 --- a/code/datums/components/irradiated.dm +++ b/code/datums/components/irradiated.dm @@ -188,7 +188,7 @@ return COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL -/datum/component/irradiated/proc/on_healthscan(datum/source, list/render_list, advanced, mob/user, mode, tochat) +/datum/component/irradiated/proc/on_healthscan(datum/source, list/render_list, scanpower, mob/user, mode, tochat) SIGNAL_HANDLER render_list += "" diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 5b046a6fb67..5c358cacc00 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -501,3 +501,15 @@ /datum/disease/advance/proc/make_visible() visibility_flags &= ~HIDDEN_SCANNER affected_mob.med_hud_set_status() + +/datum/disease/advance/proc/generate_cure_text(cure_count) + var/remedies = list() + for(var/datum/symptom/each_symptom as anything in symptoms) + if(length(remedies) >= cure_count) + break + if(!each_symptom.symptom_cure) + continue + var/datum/reagent/each_cure = each_symptom.symptom_cure + if(!each_symptom.neutered && !(each_cure::name in remedies)) + remedies += each_cure::name + return english_list(remedies, nothing_text = "Nothing") diff --git a/code/datums/status_effects/debuffs/genetic_damage.dm b/code/datums/status_effects/debuffs/genetic_damage.dm index fd96231961d..64663a0c3ae 100644 --- a/code/datums/status_effects/debuffs/genetic_damage.dm +++ b/code/datums/status_effects/debuffs/genetic_damage.dm @@ -46,11 +46,11 @@ qdel(src) return -/datum/status_effect/genetic_damage/proc/on_healthscan(datum/source, list/render_list, advanced, mob/user, mode, tochat) +/datum/status_effect/genetic_damage/proc/on_healthscan(datum/source, list/render_list, scanpower, mob/user, mode, tochat) SIGNAL_HANDLER var/message = "" - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) message = "Genetic damage: [round(total_damage / minimum_before_tox_damage * 100, 0.1)]%" else if(total_damage >= minimum_before_tox_damage) message = "Severe genetic damage detected." diff --git a/code/datums/status_effects/debuffs/hallucination.dm b/code/datums/status_effects/debuffs/hallucination.dm index 7e328618096..09630fada3b 100644 --- a/code/datums/status_effects/debuffs/hallucination.dm +++ b/code/datums/status_effects/debuffs/hallucination.dm @@ -54,10 +54,10 @@ )) /// Signal proc for [COMSIG_LIVING_HEALTHSCAN]. Show we're hallucinating to (advanced) scanners. -/datum/status_effect/hallucination/proc/on_health_scan(datum/source, list/render_list, advanced, mob/user, mode, tochat) +/datum/status_effect/hallucination/proc/on_health_scan(datum/source, list/render_list, scanpower, mob/user, mode, tochat) SIGNAL_HANDLER - if(!advanced) + if(scanpower <= SCANPOWER_BASIC) return render_list += "" render_list += conditional_tooltip("Subject is hallucinating.", "Supply antipsychotic medication, such as [/datum/reagent/medicine/haloperidol::name] or [/datum/reagent/medicine/synaptizine::name].", tochat) diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index 43e19e3248e..a6b6452a0d2 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -239,10 +239,14 @@ var/blood_alcohol = patient.get_blood_alcohol_content() for(var/thing in patient.diseases) //Disease Information - var/datum/disease/D = thing - if(!(D.visibility_flags & HIDDEN_SCANNER)) + var/datum/disease/disease = thing + if(!(disease.visibility_flags & HIDDEN_SCANNER)) sickness = "Warning: Patient is harboring some form of viral disease. Seek further medical attention." - sickness_data = "\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]" + var/cure_text = disease.cure_text + if(istype(disease, /datum/disease/advance)) + var/datum/disease/advance/advanced_disease = disease + cure_text = advanced_disease.generate_cure_text(2) + sickness_data = "\nName: [disease.name].\nType: [disease.spread_text].\nStage: [disease.stage]/[disease.max_stages].\nPossible Cure: [cure_text]" if(patient.can_bleed()) //Blood levels Information blood_name = LOWER_TEXT(blood_type.get_blood_name()) diff --git a/code/game/machinery/wall_vitals.dm b/code/game/machinery/wall_vitals.dm index beb8ecc1d7d..8c4065562b9 100644 --- a/code/game/machinery/wall_vitals.dm +++ b/code/game/machinery/wall_vitals.dm @@ -45,7 +45,7 @@ light_color = LIGHT_COLOR_FAINT_CYAN /// Whether we perform an advanced scan on examine or not - var/advanced = FALSE + var/scanpower = SCANPOWER_BASIC /// If TRUE, also append a chemical scan to the readout var/chemscan = TRUE /// Typepath to spawn when deconstructed @@ -80,7 +80,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/vitals_reader, 32) desc = "A screen that displays the vitals of a patient. \ Performs a more detailed scan of the patient than a basic display." frame = /obj/item/wallframe/status_display/vitals/advanced - advanced = TRUE + scanpower = SCANPOWER_ADVANCED MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/vitals_reader/advanced, 32) @@ -226,7 +226,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/vitals_reader/advanced, 32) else if(HAS_TRAIT(user, TRAIT_DUMB) || !user.can_read(src, reading_check_flags = READING_CHECK_LITERACY, silent = TRUE)) . += span_warning("You try to comprehend the display, but it's too complex for you to understand.") else - . += healthscan(user, patient, mode = SCANNER_CONDENSED, advanced = src.advanced, tochat = FALSE) + . += healthscan(user, patient, mode = SCANNER_CONDENSED, scanpower = src.scanpower, tochat = FALSE) . += chemscan(user, patient, tochat = FALSE) /obj/machinery/vitals_reader/add_context(atom/source, list/context, obj/item/held_item, mob/user) diff --git a/code/game/objects/items/devices/scanners/autopsy_scanner.dm b/code/game/objects/items/devices/scanners/autopsy_scanner.dm index 77a21f3c890..5207e1b22fc 100644 --- a/code/game/objects/items/devices/scanners/autopsy_scanner.dm +++ b/code/game/objects/items/devices/scanners/autopsy_scanner.dm @@ -44,7 +44,7 @@ user.visible_message(span_notice("[user] scans [scanned]'s cadaver.")) to_chat(user, span_deadsay("[icon2html(src, user)] ANALYZING CADAVER.")) - healthscan(user, scanned, advanced = TRUE) + healthscan(user, scanned, scanpower = SCANPOWER_ADVANCED) add_fingerprint(user) @@ -147,8 +147,8 @@ -\ Missing" continue - var/status = organ.get_status_text(advanced = TRUE, add_tooltips = FALSE, colored = FALSE) - var/appendix = organ.get_status_appendix(advanced = TRUE, add_tooltips = FALSE) + var/status = organ.get_status_text(scanpower = SCANPOWER_ADVANCED, add_tooltips = FALSE, colored = FALSE) + var/appendix = organ.get_status_appendix(scanpower = SCANPOWER_ADVANCED, add_tooltips = FALSE) if(!status) status ||= "OK" // otherwise flawless organs have no status reported by default organreport += "\ diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 1f75ec1b4d7..8e823fab54e 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -29,8 +29,8 @@ var/mode = SCANNER_VERBOSE /// HEALTH/WOUND var/scanmode = SCANMODE_HEALTH - /// Advanced health analyzer - var/advanced = FALSE + /// Health analyzing power + var/scanpower = SCANPOWER_BASIC /// If this analyzer will give a bonus to wound treatments apon woundscan. var/give_wound_treatment_bonus = FALSE var/last_scan_text @@ -90,7 +90,7 @@ last_scan_text = floor_text return - if(ispodperson(M) && !advanced) + if(ispodperson(M) && !scanpower <= SCANPOWER_ADVANCED) to_chat(user, span_info("[M]'s biological structure is too complex for the health analyzer.")) return @@ -101,7 +101,7 @@ var/readability_check = user.can_read(src) && !user.is_blind() switch (scanmode) if (SCANMODE_HEALTH) - last_scan_text = healthscan(user, M, mode, advanced, tochat = readability_check) + last_scan_text = healthscan(user, M, mode, scanpower, tochat = readability_check) if((M.health / M.maxHealth) > CLEAN_BILL_OF_HEALTH_RATIO) last_healthy_scanned = WEAKREF(M) else @@ -148,7 +148,7 @@ * advanced - Whether it will give more advanced details, such as husk source. * tochat - Whether to immediately post the result into the chat of the user, otherwise it will return the results. */ -/proc/healthscan(mob/user, mob/living/target, mode = SCANNER_VERBOSE, advanced = FALSE, tochat = TRUE) +/proc/healthscan(mob/user, mob/living/target, mode = SCANNER_VERBOSE, scanpower = SCANPOWER_BASIC, tochat = TRUE) if(user.incapacitated) return @@ -170,14 +170,14 @@ render_list += "[span_info("Analyzing results for [target] ([round_timestamp()]):")]
Overall status: [mob_status]
" - if(!advanced && target.has_reagent(/datum/reagent/inverse/technetium)) - advanced = TRUE + if(!scanpower == SCANPOWER_BASIC && target.has_reagent(/datum/reagent/inverse/technetium)) + scanpower = SCANPOWER_ADVANCED - SEND_SIGNAL(target, COMSIG_LIVING_HEALTHSCAN, render_list, advanced, user, mode, tochat) + SEND_SIGNAL(target, COMSIG_LIVING_HEALTHSCAN, render_list, scanpower, user, mode, tochat) // Husk detection if(HAS_TRAIT(target, TRAIT_HUSK)) - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) if(HAS_TRAIT_FROM(target, TRAIT_HUSK, CHANGELING_DRAIN)) render_list += "Subject has been husked by [conditional_tooltip("desiccation", "Irreparable. Under normal circumstances, revival can only proceed via brain transplant.", tochat)].
" else if(HAS_TRAIT_FROM(target, TRAIT_HUSK, SKELETON_TRAIT)) @@ -191,7 +191,7 @@ render_list += "Subject has been husked.
" if(target.get_stamina_loss()) - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) render_list += "Fatigue level: [target.get_stamina_loss()]%.
" else render_list += "Subject appears to be suffering from fatigue.
" @@ -212,7 +212,7 @@ var/mob/living/carbon/carbontarget = target if(LAZYLEN(carbontarget.quirks)) render_list += "Subject Major Disabilities: [carbontarget.get_quirk_string(FALSE, CAT_QUIRK_MAJOR_DISABILITY, from_scan = TRUE)].
" - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) render_list += "Subject Minor Disabilities: [carbontarget.get_quirk_string(FALSE, CAT_QUIRK_MINOR_DISABILITY, TRUE)].
" // Body part damage report @@ -294,7 +294,7 @@ \ \ \ - [advanced ? "" : ""]\ + [scanpower >= SCANPOWER_ADVANCED ? "" : ""]\ \ " @@ -306,19 +306,19 @@ if(missing_organs[sorted_slot]) render = TRUE toReport += "\ - [advanced ? "" : ""]\ + [scanpower >= SCANPOWER_ADVANCED ? "" : ""]\ " continue if(mode != SCANNER_VERBOSE && !organ.show_on_condensed_scans()) continue - var/status = organ.get_status_text(advanced, tochat) - var/appendix = organ.get_status_appendix(advanced, tochat) + var/status = organ.get_status_text(scanpower, tochat) + var/appendix = organ.get_status_appendix(scanpower, tochat) if(status || appendix) status ||= "OK" // otherwise flawless organs have no status reported by default render = TRUE toReport += "\ \ - [advanced ? "" : ""]\ + [scanpower >= SCANPOWER_ADVANCED ? "" : ""]\ \ " if(appendix) @@ -345,7 +345,7 @@ render_list += "
" //Genetic stability - if(advanced && humantarget.has_dna() && humantarget.dna.stability != initial(humantarget.dna.stability)) + if(scanpower >= SCANPOWER_ADVANCED && humantarget.has_dna() && humantarget.dna.stability != initial(humantarget.dna.stability)) render_list += "Genetic Stability: [humantarget.dna.stability]%.
" //body temperature @@ -446,17 +446,13 @@ var/cure_text if(istype(disease, /datum/disease/advance)) var/datum/disease/advance/advanced_disease = disease - var/remedies = list() - var/remedy_limit = advanced ? 3 : 2 - for(var/datum/symptom/each_symptom as anything in advanced_disease.symptoms) - if(!each_symptom.symptom_cure) - continue - var/datum/reagent/each_cure = each_symptom.symptom_cure - if(!each_symptom.neutered && !(each_cure::name in remedies)) - remedies += each_cure::name - if(length(remedies) >= remedy_limit) - break - cure_text = english_list(remedies, nothing_text = "Nothing") + var/cure_count = 2 + switch(scanpower) + if(SCANPOWER_ADVANCED) + cure_count = 3 + if(SCANPOWER_SUPER) + cure_count = INFINITY + cure_text = advanced_disease.generate_cure_text(cure_count) else cure_text = disease.cure_text render_list += "\ @@ -624,8 +620,14 @@ name = "advanced health analyzer" icon_state = "health_adv" desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy." - advanced = TRUE custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/glass = SHEET_MATERIAL_AMOUNT * 1.25, /datum/material/silver = SHEET_MATERIAL_AMOUNT, /datum/material/gold = SHEET_MATERIAL_AMOUNT * 0.75) + scanpower = SCANPOWER_ADVANCED + +/obj/item/healthanalyzer/super + name = "super health analyzer" + icon_state = "health_super" + desc = "A health scanner for debuggers. Functions the same as ghost healthscans." + scanpower = SCANPOWER_SUPER #define AID_EMOTION_NEUTRAL "neutral" #define AID_EMOTION_HAPPY "happy" @@ -813,11 +815,7 @@ var/disease_cure = disease.cure_text if(istype(disease, /datum/disease/advance)) var/datum/disease/advance/advanced_disease = disease - for(var/datum/symptom/each_symptom as anything in advanced_disease.symptoms) - if(!each_symptom.neutered && each_symptom.symptom_cure) - var/datum/reagent/each_cure = each_symptom.symptom_cure - disease_cure = each_cure::name - break // We only get one + disease_cure = advanced_disease.generate_cure_text(1) render += "Warning: [disease.form] detected
\
Name: [disease.name].
Type: [disease.spread_text].
Stage: [disease.stage]/[disease.max_stages].
Possible Cure: [disease_cure]
\
" diff --git a/code/game/objects/items/devices/scanners/plant_analyzer.dm b/code/game/objects/items/devices/scanners/plant_analyzer.dm index d4a12361a0c..6dfa8e24cf1 100644 --- a/code/game/objects/items/devices/scanners/plant_analyzer.dm +++ b/code/game/objects/items/devices/scanners/plant_analyzer.dm @@ -116,7 +116,7 @@ span_notice("You analyze [scanned_mob]'s vitals.") ) - healthscan(user, scanned_mob, advanced = TRUE) + healthscan(user, scanned_mob, scanpower = SCANPOWER_ADVANCED) add_fingerprint(user) /* diff --git a/code/game/objects/items/storage/boxes/engineering_boxes.dm b/code/game/objects/items/storage/boxes/engineering_boxes.dm index f2f0d43d620..eb981784584 100644 --- a/code/game/objects/items/storage/boxes/engineering_boxes.dm +++ b/code/game/objects/items/storage/boxes/engineering_boxes.dm @@ -30,7 +30,7 @@ /obj/item/disk/tech_disk/debug=1, /obj/item/flashlight/emp/debug=1, /obj/item/geiger_counter=1, - /obj/item/healthanalyzer/advanced=1, + /obj/item/healthanalyzer/super=1, /obj/item/modular_computer/pda/heads/captain=1, /obj/item/pipe_dispenser=1, /obj/item/stack/spacecash/c1000=50, diff --git a/code/modules/mining/lavaland/mining_loot/eye_of_god.dm b/code/modules/mining/lavaland/mining_loot/eye_of_god.dm index 02a539154f6..7951e059238 100644 --- a/code/modules/mining/lavaland/mining_loot/eye_of_god.dm +++ b/code/modules/mining/lavaland/mining_loot/eye_of_god.dm @@ -87,7 +87,7 @@ living_scanned.add_filter("scan", 2, list("type" = "outline", "color" = COLOR_RED, "size" = 1)) addtimer(CALLBACK(living_scanned, TYPE_PROC_REF(/datum, remove_filter), "scan"), 30 SECONDS) - healthscan(living_owner, living_scanned, 1, TRUE) + healthscan(living_owner, living_scanned, SCANNER_VERBOSE, SCANPOWER_ADVANCED) owner.playsound_local(get_turf(owner), 'sound/effects/magic/smoke.ogg', 50, TRUE) owner.balloon_alert(owner, "[living_scanned] scanned") diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 1be8b0590d7..ef4fd7a946b 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -256,7 +256,7 @@ else return span_info("This one is completely devoid of life.") -/obj/item/organ/brain/get_status_appendix(advanced, add_tooltips) +/obj/item/organ/brain/get_status_appendix(scanpower, add_tooltips) var/list/trauma_text for(var/datum/brain_trauma/trauma as anything in traumas) var/trauma_desc = "" diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index 9eba6d6b9f1..53a1e8fc0f0 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -57,6 +57,10 @@ to_chat(owner, span_danger("You feel something tearing its way out of your chest...")) owner.adjust_tox_loss(5 * seconds_per_tick) // Why is this [TOX]? +/obj/item/organ/body_egg/alien_embryo/get_status_appendix(scanpower, add_tooltips) + if(scanpower >= SCANPOWER_SUPER) + return "Stage: [stage]/6" + /// Controls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is. /obj/item/organ/body_egg/alien_embryo/proc/advance_embryo_stage() if(stage >= 6) diff --git a/code/modules/modular_computers/file_system/programs/maintenance/phys_scanner.dm b/code/modules/modular_computers/file_system/programs/maintenance/phys_scanner.dm index 8db2d1ddc54..0a08bcb25ac 100644 --- a/code/modules/modular_computers/file_system/programs/maintenance/phys_scanner.dm +++ b/code/modules/modular_computers/file_system/programs/maintenance/phys_scanner.dm @@ -17,7 +17,7 @@ return var/mob/living/carbon/carbon = tapped_atom carbon.visible_message(span_notice("[user] analyzes [tapped_atom]'s vitals.")) - last_record = healthscan(user, carbon, 1, tochat = FALSE) + last_record = healthscan(user, carbon, SCANNER_VERBOSE, tochat = FALSE) var/datum/tgui/active_ui = SStgui.get_open_ui(user, computer) if(active_ui) active_ui.send_full_update(force = TRUE) diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index 064565b9090..1ac1840418d 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -442,8 +442,8 @@ 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(advanced, add_tooltips, colored = TRUE) - if(advanced && (organ_flags & ORGAN_HAZARDOUS)) +/obj/item/organ/proc/get_status_text(scanpower, add_tooltips, colored = TRUE) + if(scanpower >= SCANPOWER_ADVANCED && (organ_flags & ORGAN_HAZARDOUS)) return conditional_tooltip("[colored ? "" : ""]Harmful Foreign Body[colored ? "" : ""]", "Remove surgically.", add_tooltips) if(organ_flags & ORGAN_EMP) @@ -473,7 +473,7 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) return (organ_flags & (ORGAN_PROMINENT|ORGAN_HAZARDOUS|ORGAN_FAILING|ORGAN_VITAL)) /// Similar to get_status_text, but appends the text after the damage report, for additional status info -/obj/item/organ/proc/get_status_appendix(advanced, add_tooltips) +/obj/item/organ/proc/get_status_appendix(scanpower, add_tooltips) return /** diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm index e1c959891bb..a5882412434 100644 --- a/code/modules/surgery/organs/internal/appendix/_appendix.dm +++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm @@ -118,7 +118,7 @@ REMOVE_TRAIT(owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) owner.med_hud_set_status() -/obj/item/organ/appendix/get_status_text(advanced, add_tooltips, colored) +/obj/item/organ/appendix/get_status_text(scanpower, add_tooltips, colored) if(!(organ_flags & ORGAN_FAILING) && inflamation_stage) return conditional_tooltip("Inflamed", "Remove surgically.", add_tooltips) return ..() diff --git a/code/modules/surgery/organs/internal/ears/_ears.dm b/code/modules/surgery/organs/internal/ears/_ears.dm index 3ab8ebb26a6..16f05dd3d62 100644 --- a/code/modules/surgery/organs/internal/ears/_ears.dm +++ b/code/modules/surgery/organs/internal/ears/_ears.dm @@ -60,10 +60,10 @@ if(!special) ADD_TRAIT(organ_owner, TRAIT_DEAF, NO_EARS) -/obj/item/organ/ears/get_status_appendix(advanced, add_tooltips) +/obj/item/organ/ears/get_status_appendix(scanpower, add_tooltips) if(owner.stat == DEAD || !HAS_TRAIT(owner, TRAIT_DEAF)) return - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) if(HAS_TRAIT_FROM(owner, TRAIT_DEAF, QUIRK_TRAIT)) return conditional_tooltip("Subject is permanently deaf.", "Irreparable under normal circumstances.", add_tooltips) if(HAS_TRAIT_FROM(owner, TRAIT_DEAF, GENETIC_MUTATION)) diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index 79a806b3f3d..dfa710cd4fe 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -269,11 +269,11 @@ #define OFFSET_Y 2 /// Similar to get_status_text, but appends the text after the damage report, for additional status info -/obj/item/organ/eyes/get_status_appendix(advanced, add_tooltips) +/obj/item/organ/eyes/get_status_appendix(scanpower, add_tooltips) if(owner.stat == DEAD || HAS_TRAIT(owner, TRAIT_KNOCKEDOUT)) return if(owner.is_blind()) - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) if(owner.is_blind_from(QUIRK_TRAIT)) return conditional_tooltip("Subject is permanently blind.", "Irreparable under normal circumstances.", add_tooltips) if(owner.is_blind_from(EYE_SCARRING_TRAIT)) @@ -286,7 +286,7 @@ return conditional_tooltip("Subject is blind from eye damage.", "Repair surgically, use medication such as [/datum/reagent/medicine/oculine::name], or protect eyes with a blindfold.", add_tooltips) return "Subject is blind." if(owner.is_nearsighted()) - if(advanced) + if(scanpower >= SCANPOWER_ADVANCED) if(owner.is_nearsighted_from(QUIRK_TRAIT)) return conditional_tooltip("Subject is permanently nearsighted.", "Irreparable under normal circumstances. Prescription glasses will assuage the effects.", add_tooltips) if(owner.is_nearsighted_from(TRAIT_RIGHT_EYE_SCAR) || owner.is_nearsighted_from(TRAIT_LEFT_EYE_SCAR)) diff --git a/code/modules/surgery/organs/internal/heart/_heart.dm b/code/modules/surgery/organs/internal/heart/_heart.dm index f2f7f9484fb..4d4753f884f 100644 --- a/code/modules/surgery/organs/internal/heart/_heart.dm +++ b/code/modules/surgery/organs/internal/heart/_heart.dm @@ -107,7 +107,7 @@ /obj/item/organ/heart/proc/is_beating() return beating -/obj/item/organ/heart/get_status_text(advanced, add_tooltips, colored) +/obj/item/organ/heart/get_status_text(scanpower, add_tooltips, colored) if(owner.has_status_effect(/datum/status_effect/heart_attack)) return conditional_tooltip("Myocardial Infarction", "Apply defibrillation immediately. Similar electric shocks may work in emergencies.", add_tooltips) if((!beating && !(organ_flags & ORGAN_FAILING) && owner.needs_heart() && owner.stat != DEAD)) diff --git a/code/modules/surgery/organs/internal/lungs/_lungs.dm b/code/modules/surgery/organs/internal/lungs/_lungs.dm index 33b4e6b3fcb..bb4f1cd0bb3 100644 --- a/code/modules/surgery/organs/internal/lungs/_lungs.dm +++ b/code/modules/surgery/organs/internal/lungs/_lungs.dm @@ -860,7 +860,7 @@ return span_boldwarning("Your lungs feel extremely tight[HAS_TRAIT(owner, TRAIT_NOBREATH) ? "" : ", and every breath is a struggle"].") return span_boldwarning("It feels extremely tight[HAS_TRAIT(owner, TRAIT_NOBREATH) ? "" : ", and every breath is a struggle"].") -/obj/item/organ/lungs/get_status_appendix(advanced, add_tooltips) +/obj/item/organ/lungs/get_status_appendix(scanpower, add_tooltips) var/initial_pressure_mult = initial(received_pressure_mult) if (received_pressure_mult == initial_pressure_mult) return diff --git a/icons/obj/devices/scanner.dmi b/icons/obj/devices/scanner.dmi index 0bd6b6cd1db..5b7366ed15f 100644 Binary files a/icons/obj/devices/scanner.dmi and b/icons/obj/devices/scanner.dmi differ
Organ:DmgDmgStatus
[missing_organs[sorted_slot]]:--Missing
[capitalize(organ.name)]:[organ.damage > 0 ? ceil(organ.damage) : "0"][organ.damage > 0 ? ceil(organ.damage) : "0"][status]