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
@@ -6,9 +6,16 @@
activable = TRUE
cooldown = 8
/obj/item/organ/internal/augment/health_scanner/Initialize()
. = ..()
src.LoadComponent(/datum/component/health_analyzer)
/obj/item/organ/internal/augment/health_scanner/attack_self(var/mob/user)
. = ..()
if(!.)
return FALSE
health_scan_mob(owner, owner, TRUE, TRUE)
var/datum/component/health_analyzer/h_analyzer = src.GetComponent(/datum/component/health_analyzer)
if(!h_analyzer)
return
h_analyzer.health_scan_mob(owner, owner, TRUE, TRUE)
+8 -1
View File
@@ -364,6 +364,10 @@
name = "medical grasper"
action_button_name = "Deploy Mounted Health Scanner"
/obj/item/organ/external/hand/right/autakh/medical/Initialize(mapload)
. = ..()
src.LoadComponent(/datum/component/health_analyzer)
/obj/item/organ/external/hand/right/autakh/medical/refresh_action_button()
. = ..()
if(.)
@@ -399,7 +403,10 @@
owner.last_special = world.time + 50
if(ishuman(G.affecting))
var/mob/living/carbon/human/H = G.affecting
health_scan_mob(H, owner)
var/datum/component/health_analyzer/h_analyzer = src.GetComponent(/datum/component/health_analyzer)
if(!h_analyzer)
return
h_analyzer.health_scan_mob(H, owner)
/obj/item/organ/external/hand/right/autakh/security
name = "security grasper"
+8 -1
View File
@@ -679,6 +679,10 @@
encased = "support frame"
robotize_type = PROSTHETIC_VAURCA
/obj/item/organ/external/hand/right/vaurca/medical/Initialize(mapload)
. = ..()
src.LoadComponent(/datum/component/health_analyzer)
/obj/item/organ/external/hand/right/vaurca/medical/refresh_action_button()
. = ..()
if(.)
@@ -714,4 +718,7 @@
owner.last_special = world.time + 50
if(ishuman(G.affecting))
var/mob/living/carbon/human/H = G.affecting
health_scan_mob(H, owner)
var/datum/component/health_analyzer/h_analyzer = src.GetComponent(/datum/component/health_analyzer)
if(!h_analyzer)
return
h_analyzer.health_scan_mob(H, owner)