Guide
Injuries and treatment
An injury sits on a body part, and each part hurts a different part of your game. It heals week by week at a speed set by the treatment you choose and your physio. You can rest it (and miss events), or play on through it at the risk of making it worse. The Medical panel on your profile shows each injury: what it does to your game, how far it has healed, when you'll be fit, and the treatments you can switch between. New injuries, setbacks and the "fit to play?" call also arrive in the inbox with the choices.
Everything is tunable in data/medical.json: one settings object (or an array of them). The editor schema is the medical settings reference. Every field is optional: a field you leave out keeps the game's default. Several mods can supply one. They apply in load order, and later fields win (per key for parts, severities, injuries and treatments. An injury or treatment given again replaces the old one whole). Like load settings, medical settings follow the installed packs in existing saves too.
Body parts#
parts has one entry per part: shoulder, elbow, wrist, back, knee, foot, eyes. Each has a name, its effects at moderate severity, and optionally wear: the mark it leaves if you make it worse by playing on it.
| Effect | Meaning | In the throw model |
|---|---|---|
scoring | % wider on trebles and singles | The kit scoring lever |
doubles | % wider on doubles and the bull | The kit doubles lever |
rhythm | % streakier: tempo and rhythm come and go more | The kit consistency lever |
stamina | % faster in-match fatigue | The kit stamina lever |
eyesight | Eyesight points lost on the oche | Eyesight, as eyewear adds it |
composure | Composure points lost on the oche | Composure, as a heavy workload takes |
fatigueFloor | Fatigue never drops below this | Starting fatigue |
training | Share of training gains lost (0.5 = half) | Training gains |
The game's parts:
| Part | Default effects | Wear (if aggravated) |
|---|---|---|
shoulder | scoring 3, doubles 2.5, stamina 15, training 0.5 | Stamina −1 |
elbow | scoring 3, doubles 2, rhythm 20, training 0.5 | |
wrist | scoring 2, doubles 4, rhythm 12, training 0.5 | |
back | scoring 1.5, doubles 1.5, stamina 20, fatigue floor 0.2, composure 1, training 0.6 | Fitness −1 |
knee | stamina 15, rhythm 6, fatigue floor 0.15, training 0.3 | Fitness −1 |
foot | stamina 12, rhythm 8, fatigue floor 0.1, training 0.25 | |
eyes | eyesight 10, doubles 1.5, composure 1, training 0.1 | Eyesight −1 |
severities scales them: effects (× the part's effects), weeks (× the injury type's weeks) and recovery (× the healing speed). Defaults: minor 0.6 / 0.5 / 1, moderate 1 / 1 / 1, serious 1.7 / 2.2 / 0.8.
As an injury heals its effects fade: by rehab.taper (default 0.6) of them at fully healed, so a wrist that's 80% better bites about half as hard as a fresh one.
Injuries only touch the injured player: nobody else's throw changes, so the calibration targets are untouched.
Injury types#
injuries maps an id to an injury type:
| Field | Meaning | Default |
|---|---|---|
name | As the physio says it ("Tennis elbow") | required |
part | The body part | required |
weeks | Weeks to heal at moderate severity with plain rest (a number or [min, max]) | required |
severity | Weights for minor, moderate, serious when it happens | 6 / 3 / 1 |
weight | How often it's this one, among types with the same cause | 1 |
ageWeight | Extra weight per year of age over 30 (− for injuries of the young) | 0 |
causes | Which of wear, training, load can bring it on | ["wear"] |
ai | Computer players in the living world can get it too | true |
description | A line for the Mod Studio |
Eye types are also likelier the poorer your Eyesight (up to twice as likely at Eyesight 20), and Eyesight itself declines from 36 (see the development rules), so eye trouble is mostly a veteran's problem.
{
"id": "acme.medical",
"injuries": {
"acme.injury.trigger-finger": {
"name": "Trigger finger",
"part": "wrist",
"weeks": [2, 4],
"weight": 1,
"ageWeight": 0.04,
"causes": ["training", "wear"]
}
}
}Treatments#
treatments maps an id to a treatment. The inbox and the Medical panel list the ones that suit the injury, by order.
| Field | Meaning | Default |
|---|---|---|
name | As it appears in the list | required |
description | A line explaining the trade-off | |
cost | Paid once, when you start it | 0 |
weekly | Paid each week while it lasts | 0 |
physioFree | A physio on your staff does it: no weekly cost | false |
sitOut | You miss events while on it (entries refunded; league nights still go ahead) | false |
recovery | Healing speed (1 = plain rest) | 1 |
bite | How hard the injury bites while on it (0.4 = 40% of its effects) | 1 |
aggravation | Chance each week you play on it that it gets worse | 0 |
severities | Only for these severities | any |
parts | Only for these parts | any |
safeReturn | Coming back from it carries no extra risk of doing it again | false |
order | Where it sits in the list | 0 |
The game's treatments:
| Treatment | Cost | Rest? | Speed | Other |
|---|---|---|---|---|
| Optician: new prescription (eyes) | £150 | No | 3 | Bites half as hard; safe return |
| Manage it and play on | Free | No | 0.7 | 6% a week it gets worse |
| Take medicine | £300 | No | 0.5 | Bites 40%; 12% a week it gets worse; not serious |
| Physio programme | £140/wk (free with a physio) | Yes | 1.5 | |
| Specialist and rehab plan | £650 | Yes | 1.8 | Moderate and serious; safe return |
| Complete rest | Free | Yes | 1.1 | |
| Surgery | £3,500 | Yes | 2 | Serious only; safe return |
defaults sets the treatment you start on for each severity until you choose (minor: core.treatment.manage, moderate and serious: core.treatment.rest). A story can ask for rest or play instead (its sitOut).
strain says which injury a strain from the workload is: { "minor": "core.injury.overuse", "moderate": "core.injury.worn-shoulder" } in the core pack. The injury's own name and body part are used. sitOut is the treatment that means sitting out (core.treatment.rest).
Healing, setbacks and coming back#
Each week an injury heals recovery × the severity's recovery × (1 + your team's injuryRecovery hook) ÷ its weeks. On a treatment you play on, it may get worse instead: the treatment's aggravation, more for a moderate (×1.2) or serious (×1.5) injury and the more matches you played that week, less by your team's injuryChance hook. A setback costs rehab.setback (default 0.25) of the healing, makes it one step more severe and leaves the part's wear mark.
Resting, once it's rehab.returnAt healed (default 75%) the physio asks whether you want to play now or finish the rehab. Come back before it's fully healed (then or any time from the Medical panel) on a treatment without safeReturn, and for risk.reinjuryWeeks after it clears everyday wear is risk.reinjury times as likely, mostly to that same part.
A decision you leave alone never blocks the week: the treatment marked "for now" carries on.
How likely an injury is#
On top of stories and the workload's strains (Travel load and burnout, overloaded and burnout), each week without an injury rolls for one from three causes:
| Cause | Chance a week |
|---|---|
wear | risk.base × Fitness (each point under 50 adds risk.fitness, each over takes it off) × age (each year over risk.ageFrom adds risk.perYear) |
training | Each practice hour a week (rest not counted) over risk.overtrainHours adds risk.perHour |
load | risk.tired while your workload is tired or worse |
Both wear and training grow when you're tired: by up to risk.fatigue (default 60%) as fatigue goes from risk.fatigueFrom (0.5) to full. The total is capped at risk.max a week. For risk.graceWeeks (default 8) after an injury clears, everyday wear leaves you be. A physio's injuryChance hook may catch it early: one step milder, and a minor one never happens.
| Setting | Default | Meaning |
|---|---|---|
base | 0.005 | Everyday wear a week for a fit-enough 30-year-old |
fitness | 0.012 | Per Fitness point from 50 |
ageFrom | 30 | |
perYear | 0.05 | |
overtrainHours | 24 | The default plan is 14 hours of practice |
perHour | 0.0015 | |
fatigueFrom | 0.5 | |
fatigue | 0.6 | |
tired | 0.004 | |
graceWeeks | 8 | |
max | 0.06 | |
reinjury | 2.5 | |
reinjuryWeeks | 8 |
The game's tuning: a 30-year-old with average Fitness and a sensible plan picks up an injury from everyday wear about once every four seasons, most of them minor; stories (a twinge in the wrist, a bad back) and a heavy schedule bring the total to roughly one a season. A 40-year-old with Fitness 35 who practises 30 hours a week gets about three and a half times as many from wear and over-training.
{
"id": "acme.gentle-medical",
"risk": { "base": 0.003, "overtrainHours": 28 },
"treatments": {
"core.treatment.physio": {
"name": "Physio programme",
"weekly": 90,
"physioFree": true,
"sitOut": true,
"recovery": 1.5,
"order": 30
}
}
}The living world#
Generated computer players get injuries from the same types (those with "ai": true): their weekly chance is the world's form.injuryChance (The living world) × the same wear factor (Fitness and age), and they're out for as long as the type and severity take to rest (at least two weeks). Named players never are.
Stories#
The injury story action (Stories) starts an injury through all of this: give it a part (or an injury type id) and weeks. Stories can check "injured": true / false.
Old saves#
A career from before treatment keeps any story injury it was carrying: it becomes an injury on the part its label names, healing to the same date, and picks up the medical settings from the installed packs.