EMS Academy
Training scenarios run on a mannequin patient and graded against the protocol, so a new medic can learn the job without practising on a real player.
EMS Tablet โ EMS Academy
๐งช What a scenario is
The mannequin is built with the exact same patient model as a real casualty. Every treatment, tool, drug and test behaves identically, there is no separate training code path to learn.
Nothing a trainee does is billed, recorded, paid or held against them. The run ends in a graded debrief and nothing else.
| Where | Inside a hospital zone |
| Supplies | The kit must be carried, but nothing is used up |
| Cooldown between runs | 15 seconds |
| A run is abandoned after | 15 minutes |
| Pass mark | 70 |
| Distinction | 90 |
freeSupplies means a trainee still has to actually own a tourniquet to apply one, they just keep it afterwards. Training does not drain your department's stock.
๐ฏ Guided or Exam
Every scenario can be run two ways. The choice is on the scenario card.
| Guided | Exam | |
|---|---|---|
| The protocol | On screen, ticked off as you work it | Hidden until the debrief |
| Timer | On screen | Hidden |
| Graded | Yes | Yes |
| Sets a record | No | Yes |
| Pays XP | No | Yes |
Guided puts the protocol in the top-right corner and ticks each step off the moment you perform it, with the time it landed. A step done after its time limit ticks amber and is marked late, the same half-marks rule the grader uses. This is how someone learns a scenario they have never seen.
Exam is the real test: a one-line brief and nothing else until it is over.
The tablet highlights Guided until you have passed a scenario, then highlights Exam. Learn it, then prove it.
Mistakes are never shown live, even in Guided, flagging a wrong drug as you give it would give away the trap instead of teaching it. They appear in the debrief.
Set Config.Academy.guided = false to remove the choice and run everything as an exam.
๐ The scenarios
| Scenario | Difficulty | Target time | Steps |
|---|---|---|---|
| Diabetic Emergency | 1 | 2:00 | 3 |
| Arterial Bleed | 1 | 3:00 | 5 |
| Anaphylaxis | 2 | 2:30 | 5 |
| Opioid Overdose | 2 | 3:00 | 4 |
| Fall From Height | 2 | 4:00 | 6 |
| Cardiac Arrest | 3 | 4:00 | 4 |
| Gunshot Wound, Chest | 3 | 5:00 | 6 |
Each one builds a real patient. Fall From Height spawns an open leg fracture with bleeding, a concussion and a neck fracture, and the protocol expects you to palpate and collar the neck before you splint the leg.
๐ How the grade works
Each step carries a weight, and the weights are normalised, they do not have to add up to 100.
| Step done | Full marks |
| Step done after its time limit | Half marks |
| Step missed | Nothing |
| Mistake | Fixed penalty subtracted |
| Patient dies | Score capped below the pass mark, whatever else you did |
Mistakes
Mistakes are specific, and some only count when done in the wrong order:
| Scenario | Mistake | Penalty |
|---|---|---|
| Diabetic Emergency | Insulin given to a hypoglycaemic patient | โ40 |
| Opioid Overdose | Another opioid given to an overdose | โ30 |
| Cardiac Arrest | Revive kit used instead of working the arrest | โ25 |
| Anaphylaxis | Opioid given to a patient who cannot breathe | โ20 |
| Arterial Bleed | Sutured a wound that was still bleeding | โ20 |
| Gunshot Wound | Opioid given before the bleeding was controlled | โ20 |
| Fall From Height | Splinted a limb that had not been assessed | โ10 |
| Cardiac Arrest | Shocked a rhythm that cannot be shocked | โ5 |
Giving morphine for the pain is correct in the gunshot scenario, but only after the chest is packed. Order matters as much as the treatment.
๐ The debrief
When you choose Finish on the mannequin, the run is graded and the debrief opens:
- The score, and whether it is a pass, a distinction, or needs work
- Your time against the scenario's target
- The protocol in order, each step marked done, late or missed, with the second it happened
- Every mistake, with what it was
- XP earned and whether you beat your personal best
The protocol is the teaching part, a failed run shows exactly which step was skipped and where the time went.
๐ Records and XP
| First pass of a scenario | 60 XP |
| Repeat passes | Nothing |
| Leaderboard | Best 10 scores per scenario |
| Guided runs | Never recorded, never paid |
The tablet shows your best score, best time and attempt count per scenario, and a cleared counter across all of them.
Set leaderboard = 0 to turn the board off entirely.
โถ๏ธ Running one
- Open EMS Tablet โ EMS Academy inside a hospital.
- Pick a scenario, read the brief, choose Guided or Exam.
- The tablet closes and the mannequin spawns in front of you.
- Work it like a real patient, target the mannequin for Patient Care.
- Target the mannequin and choose Finish to be graded, or Abort to bin the run.
Only one scenario at a time, per medic. Walk away and forget about it and the run is abandoned after 15 minutes.
๐ Permission
Needs the training permission.
โ๏ธ Tuning
| Setting | Default |
|---|---|
requireHospital | true |
guided | true |
freeSupplies | true |
cooldown | 15s |
timeLimit | 900s |
passScore / distinctionScore | 70 / 90 |
xpFirstClear | 60 |
leaderboard | 10 |
Scenarios, steps, weights, time limits and mistakes all live in shared/config/academy.lua.
Writing your own
A scenario is a patient plus a protocol. Add injuries, diseases, a starting state and a rhythm exactly as an AI callout does, then list the steps in the order they should be worked:
steps = {
{ id = 'control', label = 'Control the bleeding before anything else',
ref = 'tourniquet', zone = 'rleg', weight = 40, within = 60 },
{ id = 'vitals', label = 'Take a pulse and a blood pressure',
any = { 'tool:pulse_oximeter', 'tool:bp_cuff' }, weight = 15 },
}| Field | |
|---|---|
ref | A treatment id, med:<id>, tool:<id>, test:<id> or a procedure id |
any | Matches when any one of these was done |
zone | Only counts on that body part |
weight | Share of the grade |
within | Seconds for full marks, half marks after |
label | Shown as the Guided checklist item and in the debrief |
Write each label as an instruction a trainee can follow without naming the answer. It is the live checklist text in a Guided run, so "Reverse it with naloxone" teaches, while "Give the drug" does not.