Medical
A patient is stabilised once every treatment in their condition's treatments list has been given.
Conditions
Config.Medical = {
assessTime = 4000, -- ms to assess a patient
conditions = {
gunshot = {
label = 'Gunshot wound', severity = 'critical', pose = 'writhe',
treatments = { 'tourniquet', 'bandage', 'oxygen' },
vitals = { hr = { 125, 150 }, sys = { 75, 95 }, spo2 = { 88, 94 }, rr = { 24, 32 } }, avpu = 'Pain',
},
-- ...
},
}| Field | Meaning |
|---|---|
label | Shown in the patient status |
severity | minor, serious or critical |
pose | How the patient lies: writhe, unconscious or sitting |
treatments | Treatment ids needed to stabilise them |
vitals | Ranges for heart rate, systolic blood pressure, SpO₂ and breathing rate |
avpu | Responsiveness: Alert, Verbal, Pain or Unresponsive |
Built-in conditions: laceration, fracture, head_trauma, gunshot, burns, overdose, cardiac, stab_wound, spinal_injury, hypoglycemia, crush_injury, panic, smoke.
Treatments
treatments = {
bandage = { label = 'Pressure bandage', icon = 'droplet', time = 6000, anim = 'kneel' },
cpr = { label = 'CPR', icon = 'heart-pulse', time = 9000, anim = 'cpr' },
-- ...
},| Field | Meaning |
|---|---|
label | Shown in the treatment menu |
icon | A Lucide icon name |
time | How long it takes, in ms |
anim | kneel, cpr or standing |
Built-in treatments: bandage, tourniquet, splint, collar, burn_dressing, painkiller, naloxone, oxygen, cpr, glucometer, oral_glucose.
CPR
cpr = {
successChance = 35, -- % per CPR cycle to regain a pulse
guaranteedAfter = 4, -- regain a pulse at the latest on this cycle
},Adding a condition
- Add it to
conditionswith the treatments it needs. - Add patient lines for it under
Config.Dialogue.answers.injuredinconfig_dialogue.lua(otherwise thedefaultlines are used). - Use it in a scenario with
ctx:SpawnPatient(coords, model, 'your_condition').