Updates the health analyzer to use TGUI (#22421)

- rscadd: "Health analyzers now use a TGUI instead of outputting to the
chat."
- rscadd: "The handheld health analyzer now take 1.5 seconds to scan a
person."
- rscadd: "It is now possible to pull up the last scan on the handheld
health analyzer."
- rscdel: "It is no longer possible to switch limb mode on the handheld
health analyzer."

Beyond the above, device levels were added, primarily as a concept
though it is not implemented in full, so all the ingame health analyzers
still show the same data as before.

<img width="520" height="620" alt="image"
src="https://github.com/user-attachments/assets/b718300b-b377-4e1f-82ab-4d4d73560e34"
/>
<img width="520" height="620" alt="image"
src="https://github.com/user-attachments/assets/cbe2236e-4eca-4ab1-9dea-9fc058933e0f"
/>
<img width="520" height="620" alt="image"
src="https://github.com/user-attachments/assets/84010edb-867e-4062-a6ec-d2629e2fa625"
/>
<img width="520" height="620" alt="image"
src="https://github.com/user-attachments/assets/8b1b85d4-3a53-46c3-b63e-1e78d5797176"
/>
This commit is contained in:
Casper3667
2026-05-18 21:46:09 +00:00
committed by GitHub
parent 48e73588cc
commit 95dac4990d
18 changed files with 555 additions and 314 deletions
@@ -166,12 +166,11 @@
eject_item()
/obj/item/modular_computer/attack(mob/living/target_mob, mob/living/user, target_zone)
var/sound_scan = FALSE
if(last_scan <= world.time - 20) //Spam limiter.
last_scan = world.time
sound_scan = TRUE
if(scan_mode == SCANNER_MEDICAL)
health_scan_mob(target_mob, user, TRUE, sound_scan = sound_scan)
var/datum/component/health_analyzer/h_analyzer = src.GetComponent(/datum/component/health_analyzer)
if(!h_analyzer)
return
h_analyzer.attack(target_mob, user)
/obj/item/modular_computer/afterattack(atom/A, mob/user, proximity_flag, click_parameters)
. = ..()