diff --git a/tgui/packages/tgui/interfaces/HealthScan.jsx b/tgui/packages/tgui/interfaces/HealthScan.jsx
index e1f020e6bafa..de42c3ee617f 100644
--- a/tgui/packages/tgui/interfaces/HealthScan.jsx
+++ b/tgui/packages/tgui/interfaces/HealthScan.jsx
@@ -13,7 +13,46 @@ import {
} from '../components';
import { Window } from '../layouts';
+const sectionWidth = 35;
+
export const HealthScan = (props) => {
+ const { act, data } = useBackend();
+ const {
+ detail_level,
+ species,
+ has_chemicals,
+ diseases,
+ advice,
+ limbs_damaged,
+ damaged_organs,
+ } = data;
+
+ const bodyscanner = detail_level >= 1;
+ const Synthetic = species === 'Synthetic';
+ const theme = Synthetic ? 'hackerman' : bodyscanner ? 'ntos' : 'default';
+
+ return (
+
+
+
+
+
+ {has_chemicals ? : null}
+
+ {diseases ? : null}
+ {advice ? : null}
+
+
+ {limbs_damaged ? : null}
+ {damaged_organs?.length && bodyscanner ? : null}
+
+
+
+
+ );
+};
+
+const Patient = (props) => {
const { act, data } = useBackend();
const {
patient_mob,
@@ -51,16 +90,6 @@ export const HealthScan = (props) => {
holocard,
} = data;
- const bloodpct = blood_amount / 560;
-
- const healthanalyser = detail_level < 1;
- const bodyscanner = detail_level >= 1;
- const ghostscan = detail_level >= 2;
-
- const Synthetic = species === 'Synthetic';
-
- const theme = Synthetic ? 'hackerman' : bodyscanner ? 'ntos' : 'default';
-
let holocard_message;
if (holocard === 'red') {
holocard_message = 'Patient needs life-saving treatment.';
@@ -73,216 +102,240 @@ export const HealthScan = (props) => {
} else {
holocard_message = 'Patient has no active holocard.';
}
+
+ const ghostscan = detail_level >= 2;
+
return (
-
-
-
- {hugged && ghostscan ? (
-
- Patient has been implanted with an alien embryo!
-
- ) : null}
- {dead ? Patient is deceased! : null}
- {ssd ? (
-
- {ssd}
-
- ) : null}
-
-
- {health >= 0 ? (
-
- {health}% healthy
-
- ) : (
-
- {health}% healthy
-
- )}
-
- {dead ? (
-
-
- {permadead
- ? heart_broken
- ? 'Myocardial rupture, surgical intervention required'
- : 'Permanently deceased'
- : Synthetic
- ? 'Central power system shutdown, reboot with a reset key possible'
- : 'Cardiac arrest, defibrillation possible'}
-
-
- ) : null}
-
-
-
- Brute:{' '}
-
- {total_brute}
-
-
+
+ {hugged && ghostscan ? (
+
+ Patient has been implanted with an alien embryo!
+
+ ) : null}
+ {dead ? Patient is deceased! : null}
+ {ssd ? (
+
+ {ssd}
+
+ ) : null}
+
+
+ {health >= 0 ? (
+
+ {health}% healthy
+
+ ) : (
+
+ {health}% healthy
+
+ )}
+
+ {dead ? (
+
+
+ {permadead
+ ? heart_broken
+ ? 'Myocardial rupture, surgical intervention required'
+ : 'Permanently deceased'
+ : Synthetic
+ ? 'Central power system shutdown, reboot with a reset key possible'
+ : 'Cardiac arrest, defibrillation possible'}
+
+
+ ) : null}
+
+
+
+ Brute:{' '}
+
+ {total_brute}
-
-
-
- Burn:{' '}
-
- {total_burn}
-
-
+
+
+
+
+
+ Burn:{' '}
+
+ {total_burn}
-
-
-
- Toxin:{' '}
-
- {toxin}
-
-
+
+
+
+
+
+ Toxin:{' '}
+
+ {toxin}
-
-
-
- Oxygen:{' '}
-
- {oxy}
-
-
+
+
+
+
+
+ Oxygen:{' '}
+
+ {oxy}
-
- {!!clone && (
-
-
- Clone:{' '}
-
- {clone}
-
-
+
+
+
+ {!!clone && (
+
+
+ Clone:{' '}
+
+ {clone}
- )}
-
-
-
- {holocard_message}
-
+
+
+ )}
+
+
+
+ {holocard_message}
+
-
-
-
-
- {limbs_damaged ? : null}
- {has_chemicals ? : null}
- {damaged_organs?.length && bodyscanner ? : null}
- {diseases ? (
-
-
- {diseases.map((disease) => (
-
-
- Type : {disease.type}, possible cure : {disease.cure}
-
-
-
-
- Stage:{disease.stage}/{disease.max_stage}
-
-
-
- ))}
-
-
- ) : null}
-
-
- {has_blood ? (
-
- 0.9 ? 'green' : bloodpct > 0.7 ? 'orange' : 'red'
- }
- >
- {Math.round(blood_amount / 5.6)}%, {blood_amount}cl
-
-
- ) : null}
-
- {body_temperature}
-
- {pulse}
-
- {implants ||
- hugged ||
- core_fracture ||
- (lung_ruptured && bodyscanner) ? (
-
- ) : null}
- {implants && detail_level !== 1 ? (
-
- {implants} embedded object{implants > 1 ? 's' : ''} detected!
- {healthanalyser ? ' Advanced scanner required for location.' : ''}
-
- ) : null}
- {(implants || hugged) && detail_level === 1 ? (
-
- {implants + (hugged ? 1 : 0)} unknown bod
- {implants + (hugged ? 1 : 0) > 1 ? 'ies' : 'y'} detected!
-
- ) : null}
- {lung_ruptured && bodyscanner ? (
- Ruptured lung detected!
- ) : null}
- {core_fracture && healthanalyser ? (
-
- Bone fractures detected! Advanced scanner required for location.
-
- ) : null}
-
- {advice ? (
-
-
- {advice.map((advice) => (
-
-
-
-
- {advice.advice}
-
-
- ))}
-
-
+
+
+
+
+ );
+};
+
+const Misc = (props) => {
+ const { data } = useBackend();
+ const {
+ blood_type,
+ blood_amount,
+ has_blood,
+ body_temperature,
+ pulse,
+ implants,
+ core_fracture,
+ lung_ruptured,
+ hugged,
+ detail_level,
+ } = data;
+ const bloodpct = blood_amount / 560;
+ const healthanalyser = detail_level < 1;
+ const bodyscanner = detail_level >= 1;
+ return (
+
+
+ {has_blood ? (
+
+ 0.9 ? 'green' : bloodpct > 0.7 ? 'orange' : 'red'
+ }
+ >
+ {Math.round(blood_amount / 5.6)}%, {blood_amount}cl
+
+
) : null}
-
-
+
+ {body_temperature}
+
+ {pulse}
+
+ {implants || hugged || core_fracture || (lung_ruptured && bodyscanner) ? (
+
+ ) : null}
+ {implants && detail_level !== 1 ? (
+
+ {implants} embedded object{implants > 1 ? 's' : ''} detected!
+ {healthanalyser ? ' Advanced scanner required for location.' : ''}
+
+ ) : null}
+ {(implants || hugged) && detail_level === 1 ? (
+
+ {implants + (hugged ? 1 : 0)} unknown bod
+ {implants + (hugged ? 1 : 0) > 1 ? 'ies' : 'y'} detected!
+
+ ) : null}
+ {lung_ruptured && bodyscanner ? (
+ Ruptured lung detected!
+ ) : null}
+ {core_fracture && healthanalyser ? (
+
+ Bone fractures detected! Advanced scanner required for location.
+
+ ) : null}
+
+ );
+};
+
+const Diseases = (props) => {
+ const { data } = useBackend();
+ const { diseases } = data;
+ return (
+
+
+ {diseases.map((disease) => (
+
+
+ Type : {disease.type}, possible cure : {disease.cure}
+
+
+
+
+ Stage:{disease.stage}/{disease.max_stage}
+
+
+
+ ))}
+
+
+ );
+};
+
+const MedicalAdvice = (props) => {
+ const { data } = useBackend();
+ const { advice } = data;
+ return (
+
+
+ {advice.map((advice) => (
+
+
+
+
+ {advice.advice}
+
+
+ ))}
+
+
);
};
@@ -340,7 +393,7 @@ const ScannerLimbs = (props) => {
});
return (
-
+
@@ -461,7 +514,7 @@ const ScannerOrgans = (props) => {
const { damaged_organs } = data;
return (
-
+
{damaged_organs.map((organ) => (