Kartik Scripts

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.

WhereInside a hospital zone
SuppliesThe kit must be carried, but nothing is used up
Cooldown between runs15 seconds
A run is abandoned after15 minutes
Pass mark70
Distinction90

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.

GuidedExam
The protocolOn screen, ticked off as you work itHidden until the debrief
TimerOn screenHidden
GradedYesYes
Sets a recordNoYes
Pays XPNoYes

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

ScenarioDifficultyTarget timeSteps
Diabetic Emergency12:003
Arterial Bleed13:005
Anaphylaxis22:305
Opioid Overdose23:004
Fall From Height24:006
Cardiac Arrest34:004
Gunshot Wound, Chest35:006

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 doneFull marks
Step done after its time limitHalf marks
Step missedNothing
MistakeFixed penalty subtracted
Patient diesScore capped below the pass mark, whatever else you did

Mistakes

Mistakes are specific, and some only count when done in the wrong order:

ScenarioMistakePenalty
Diabetic EmergencyInsulin given to a hypoglycaemic patientโˆ’40
Opioid OverdoseAnother opioid given to an overdoseโˆ’30
Cardiac ArrestRevive kit used instead of working the arrestโˆ’25
AnaphylaxisOpioid given to a patient who cannot breatheโˆ’20
Arterial BleedSutured a wound that was still bleedingโˆ’20
Gunshot WoundOpioid given before the bleeding was controlledโˆ’20
Fall From HeightSplinted a limb that had not been assessedโˆ’10
Cardiac ArrestShocked 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 scenario60 XP
Repeat passesNothing
LeaderboardBest 10 scores per scenario
Guided runsNever 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

  1. Open EMS Tablet โ†’ EMS Academy inside a hospital.
  2. Pick a scenario, read the brief, choose Guided or Exam.
  3. The tablet closes and the mannequin spawns in front of you.
  4. Work it like a real patient, target the mannequin for Patient Care.
  5. 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

SettingDefault
requireHospitaltrue
guidedtrue
freeSuppliestrue
cooldown15s
timeLimit900s
passScore / distinctionScore70 / 90
xpFirstClear60
leaderboard10

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
refA treatment id, med:<id>, tool:<id>, test:<id> or a procedure id
anyMatches when any one of these was done
zoneOnly counts on that body part
weightShare of the grade
withinSeconds for full marks, half marks after
labelShown 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.

On this page