A few medical fixes. (#22022)

- Pneumalin no longer fixes damage on robotic lungs.
- Fixed augments not processing. This means that HUD augments are fixed
as well.
  - Fixed health analyzers displaying damage between 0 and 1 as 'none'.

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2026-03-12 20:04:12 +00:00
committed by GitHub
co-authored by Matt Atlas
parent cbc219e7de
commit 6c23b4ca76
5 changed files with 68 additions and 8 deletions
@@ -49,7 +49,6 @@
..()
STOP_PROCESSING(SSprocessing, src)
target.internal_organs |= src
affected.internal_organs |= src
target.internal_organs_by_name[organ_tag] = src
@@ -48,10 +48,10 @@
if(selected_hud == "disabled")
selected_hud = SEC_HUDTYPE
to_chat(user, "You activate \the [src].")
to_chat(user, SPAN_NOTICE("You activate \the [src]."))
else
selected_hud = "disabled"
to_chat(user, "You deactivate \the [src].")
to_chat(user, SPAN_NOTICE("You deactivate \the [src]."))
/obj/item/organ/internal/augment/eye_sensors/security/process()
..()
@@ -67,6 +67,7 @@
active_hud = "disabled"
else
active_hud = "disabled"
/obj/item/organ/internal/augment/eye_sensors/medical
name = "integrated medical HUD sensors"
action_button_name = "Toggle Medical Sensors"
@@ -76,10 +77,10 @@
if(selected_hud == "disabled")
selected_hud = MED_HUDTYPE
to_chat(user, "You activate \the [src].")
to_chat(user, SPAN_NOTICE("You activate \the [src]."))
else
selected_hud = "disabled"
to_chat(user, "You deactivate \the [src].")
to_chat(user, SPAN_NOTICE("You deactivate \the [src]."))
/obj/item/organ/internal/augment/eye_sensors/medical/process()
..()
@@ -1615,13 +1615,13 @@
/singleton/reagent/pneumalin/affect_breathe(var/mob/living/carbon/human/H, var/alien, var/removed, var/datum/reagents/holder)
H.adjustOxyLoss(removed) //Every unit heals 1 oxy damage
H.add_chemical_effect(CE_PNEUMOTOXIC, -removed * 1.5)
H.remove_chemical_effect(CE_PNEUMOTOXIC, removed * 1.5)
H.add_chemical_effect(CE_PULSE, -1)
var/obj/item/organ/internal/lungs/L = H.internal_organs_by_name[BP_LUNGS]
if(istype(L) && !BP_IS_ROBOTIC(L))
L.rescued = FALSE
L.damage = max(L.damage - (removed * 1.5), 0)
L.heal_damage(removed * 1.5)
. = ..()