Reference

Medical settings

Injuries and treatment: the body parts, injury types, treatments and how likely an injury is. Every field is optional; a field left out keeps the game's default. Several mods can supply one: they apply in load order, later fields winning (per key for parts, severities, injuries and treatments; an injury or treatment given again replaces the old one). See Injuries and treatment.

Content type
medical
Files
data/medical.json
Shape
One settings object (a file may hold the object itself)
Patch target
medical:<id>, for example medical:core.medical
In the base game
1 record
Guide
Injuries and treatment

Fields#

Indented fields belong to the field above them. [] marks the items of a list. A field that is not required may be left out; the default is used.

FieldTypeRequiredDefaultNotes
ididYesNamespaced id, e.g. "core.player.rory-calder"
partsmap (key: value)
parts.<key>objectYesA body part's name, what an injury there does, and the mark an aggravated one leaves.
parts.<key>.nametext
parts.<key>.effectsobjectWhat an injured part does to your game at moderate severity (minor and serious scale it, see severities). Percentages are how much worse.
parts.<key>.effects.scoringnumber, 0 to 30% wider on trebles and singles.
parts.<key>.effects.doublesnumber, 0 to 30% wider on doubles and the bull.
parts.<key>.effects.rhythmnumber, 0 to 60% streakier: tempo and rhythm come and go more.
parts.<key>.effects.staminanumber, 0 to 60% faster in-match fatigue.
parts.<key>.effects.eyesightnumber, 0 to 20Eyesight points lost on the oche.
parts.<key>.effects.composurenumber, 0 to 20Composure points lost on the oche (it's on your mind).
parts.<key>.effects.fatigueFloornumber, 0 to 0.6Fatigue never drops below this while it lasts.
parts.<key>.effects.trainingnumber, 0 to 1Share of training gains lost.
parts.<key>.wearobjectAggravating it (playing on and making it worse) costs this attribute for good.
parts.<key>.wear.attributeone of the optionsYesOptions: scoring, finishing, checkoutKnowledge, consistency, tempoControl, bullAccuracy, composure, resilience, crowdHandling, concentration, stamina, fitness, eyesight.
parts.<key>.wear.pointsnumber, 0 to 5Yes
severitiesmap (key: value)How each severity scales a part's effects, the weeks to heal, and the healing speed.
severities.<key>objectYes
severities.<key>.effectsnumber, 0 to 5
severities.<key>.weeksnumber, 0.1 to 5
severities.<key>.recoverynumber, 0.1 to 3
riskobjectHow likely an injury is, week by week.
risk.basenumber, 0 to 0.1Everyday wear, per week, for an average 30-year-old.
risk.fitnessnumber, 0 to 0.05Fitness 50 is neutral; each point below adds this share (above, takes it off).
risk.ageFromwhole number, 16 to 60Age wear starts to add up from...
risk.perYearnumber, 0 to 0.3...adding this share per year.
risk.overtrainHoursnumber, 0 to 60Practice hours a week (not counting rest) before it's over-training...
risk.perHournumber, 0 to 0.02...each hour over adds this chance.
risk.fatigueFromnumber, 0 to 1Fatigue from which the body is more fragile, and the extra share at full fatigue.
risk.fatiguenumber, 0 to 3
risk.tirednumber, 0 to 0.1A tired workload adds this chance (overloaded and burnout strains are in load.json).
risk.graceWeekswhole number, 0 to 52Weeks after an injury clears before everyday wear can bring another.
risk.maxnumber, 0 to 0.3Never above this chance a week.
risk.reinjurynumber, 0 to 10Coming back early: the same part is this much more likely to go again...
risk.reinjuryWeekswhole number, 0 to 52...for this many weeks.
rehabobject
rehab.returnAtnumber, 0.3 to 0.95Healed share at which you're fit to play again (the return-to-play call).
rehab.tapernumber, 0 to 1Share of an injury's effects that fade as it heals.
rehab.setbacknumber, 0 to 1Healed share lost when it gets worse.
defaultsmap (key: value)The treatment you start on for each severity until you choose.
strainmap (key: value)
sitOutidNamespaced id, e.g. "core.player.rory-calder"
injuriesmap (key: value)
injuries.<key>objectYesA kind of injury: where it is, how long it takes and who gets it.
injuries.<key>.nametextYesAs the physio says it, e.g. "Rotator cuff strain"
injuries.<key>.partone of the optionsYesOptions: shoulder, elbow, wrist, back, knee, foot, eyes.
injuries.<key>.weeksone of several shapesYesWeeks to heal at moderate severity with plain rest (minor and serious scale it).
Shape 1: whole number, 1 to 52
Shape 2: pair [whole number, 1 to 52, whole number, 1 to 52]
injuries.<key>.severityobjectHow likely each severity is when it happens (default 6 / 3 / 1).
injuries.<key>.severity.minornumber, at least 0
injuries.<key>.severity.moderatenumber, at least 0
injuries.<key>.severity.seriousnumber, at least 0
injuries.<key>.weightnumber, at least 01How often it's this one, among injuries with the same cause.
injuries.<key>.ageWeightnumber, -1 to 10Extra weight per year of age over 30 (− for injuries of the young).
injuries.<key>.causeslist, at least 1 item["wear"]
injuries.<key>.aitrue or falsetrueComputer players in the living world can get it too (default true).
injuries.<key>.descriptiontext
treatmentsmap (key: value)
treatments.<key>objectYesA way of treating an injury: what it costs, how fast it heals and whether you play.
treatments.<key>.nametextYes
treatments.<key>.descriptiontext
treatments.<key>.costwhole number, 0 to 100,0000Paid once, when you start it.
treatments.<key>.weeklywhole number, 0 to 10,0000Paid each week while it lasts.
treatments.<key>.physioFreetrue or falsefalseA physio on your staff does it: no weekly cost.
treatments.<key>.sitOuttrue or falsefalseYou miss events while on it (entries refunded).
treatments.<key>.recoverynumber, 0 to 51Healing speed (1 = plain rest).
treatments.<key>.bitenumber, 0 to 21How hard the injury bites while on it (1 = in full).
treatments.<key>.aggravationnumber, 0 to 0.50Chance each week you play on it that it gets worse (a physio lowers it).
treatments.<key>.severitieslistOnly for these severities / parts (default any).
treatments.<key>.partslist
treatments.<key>.safeReturntrue or falsefalseComing back from it carries no extra risk of doing it again.
treatments.<key>.orderwhole number0Where it sits in the list (lower first).

Example#

A record from the base game’s data/medical.json, shortened.

{
  "id": "core.medical",
  "strain": {
    "minor": "core.injury.overuse",
    "moderate": "core.injury.worn-shoulder"
  },
  "sitOut": "core.treatment.rest",
  "parts": {
    "shoulder": {
      "name": "Throwing shoulder",
      "effects": {
        "scoring": 3,
        "doubles": 2.5,
        "stamina": 15,
        "training": 0.5
      },
      "wear": {
        "attribute": "stamina",
        "points": 1
      }
    },
    "elbow": {
      "name": "Throwing elbow",
      "effects": {
        "scoring": 3,
        "doubles": 2,
        "rhythm": 20,
        "training": 0.5
      }
    },
    "wrist": {
      "name": "Throwing wrist",
      "effects": {
        "scoring": 2,
        "doubles": 4,
        "rhythm": 12,
        "training": 0.5
      }
    },
    "back": {
      "name": "Back",
      "effects": {
        "scoring": 1.5,
        "doubles": 1.5,
        "stamina": 20,
        "fatigueFloor": 0.2,
        "composure": 1,
        "training": 0.6
      },
      "wear": {
        "attribute": "fitness",
        "points": 1
      }
    },
    "knee": {
      "name": "Knee",
      "effects": {
        "stamina": 15,
        "rhythm": 6,
        "fatigueFloor": 0.15,
        "training": 0.3
      },
      "wear": {
        "attribute": "fitness",
        "points": 1
      }
    },
    "foot": {
      "name": "Foot and ankle",
      "effects": {
        "stamina": 12,
        "rhythm": 8,
        "fatigueFloor": 0.1,
        "training": 0.25
      }
    },
    "eyes": {
      "name": "Eyes",
      "effects": {
        "eyesight": 10,
        "doubles": 1.5,
        "composure": 1,
        "training": 0.1
      },
      "wear": {
        "attribute": "eyesight",
        "points": 1
      }
    }
  },
  "severities": {
    "minor": {
      "effects": 0.6,
      "weeks": 0.5,
      "recovery": 1
    },
    "moderate": {
      "effects": 1,
      "weeks": 1,
      "recovery": 1
    },
    "serious": {
      "effects": 1.7,
      "weeks": 2.2,
      "recovery": 0.8
    }
  },
  "risk": {
    "base": 0.005,
    "fitness": 0.012,
    "ageFrom": 30,
    "perYear": 0.05,
    "overtrainHours": 24,
    "perHour": 0.0015,
    "fatigueFrom": 0.5,
    "fatigue": 0.6,
    "tired": 0.004,
    "graceWeeks": 8,
    "max": 0.06,
    "reinjury": 2.5,
    "reinjuryWeeks": 8
  },
  "rehab": {
    "returnAt": 0.75,
    "taper": 0.6,
    "setback": 0.25
  },
  "defaults": {
    "minor": "core.treatment.manage",
    "moderate": "core.treatment.rest",
    "serious": "core.treatment.rest"
  },
  "injuries": {
    "core.injury.rotator-cuff": {
      "name": "Rotator cuff strain",
      "part": "shoulder",
      "weeks": [
        2,
        4
      ],
      "weight": 3,
      "ageWeight": 0.05,
      "causes": [
        "wear",
        "training",
        /* … 1 more */
      ]
    },
    "core.injury.tennis-elbow": {
      "name": "Tennis elbow",
      "part": "elbow",
      "weeks": [
        3,
        5
      ],
      "weight": 2,
      "ageWeight": 0.03,
      "causes": [
        "training",
        "wear"
      ]
    },
    "core.injury.wrist-tendon": {
      "name": "Wrist tendon strain",
      "part": "wrist",
      "weeks": [
        2,
        3
      ],
      "weight": 3,
      "causes": [
        "training",
        "wear",
        /* … 1 more */
      ]
    },
    "core.injury.lower-back": {
      "name": "Lower back strain",
      "part": "back",
      "weeks": [
        1,
        3
      ],
      "weight": 3,
      "ageWeight": 0.06,
      "causes": [
        "wear",
        "load"
      ]
    },
    "core.injury.slipped-disc": {
      "name": "Slipped disc",
      "part": "back",
      "weeks": [
        4,
        7
      ],
      "weight": 0.4,
      "ageWeight": 0.05,
      "severity": {
        "minor": 0,
        "moderate": 2,
        "serious": 3
      }
    },
    "core.injury.knee-tendinitis": {
      "name": "Knee tendinitis",
      "part": "knee",
      "weeks": [
        2,
        4
      ],
      "weight": 1.5,
      "ageWeight": 0.05,
      "causes": [
        "wear",
        "load"
      ]
    },
    "core.injury.plantar-fasciitis": {
      "name": "Plantar fasciitis",
      "part": "foot",
      "weeks": [
        3,
        6
      ],
      "weight": 1,
      "ageWeight": 0.03,
      "causes": [
        "wear",
        "load"
      ]
    },
    "core.injury.twisted-ankle": {
      "name": "Twisted ankle",
      "part": "foot",
      "weeks": [
        1,
        3
      ],
      "weight": 1,
      "ageWeight": -0.02
    },
    "core.injury.eye-strain": {
      "name": "Eye strain",
      "part": "eyes",
      "weeks": [
        1,
        2
      ],
      "weight": 1,
      "ageWeight": 0.08,
      "causes": [
        "wear",
        "training",
        /* … 1 more */
      ],
      "severity": {
        "minor": 8,
        "moderate": 2,
        "serious": 0
      }
    },
    "core.injury.overuse": {
      "name": "Overuse strain",
      "part": "elbow",
      "weeks": [
        1,
        2
      ],
      "causes": [
        "load"
      ],
      "ai": false
    },
    "core.injury.worn-shoulder": {
      "name": "Worn-out shoulder",
      "part": "shoulder",
      "weeks": [
        2,
        4
      ],
      "causes": [
        "load"
      ],
      "ai": false
    }
  },
  "treatments": {
    "core.treatment.optician": {
      "name": "Optician: new prescription",
      "description": "An eye test and fresh lenses. Quick, cheap and you keep playing.",
      "cost": 150,
      "recovery": 3,
      "bite": 0.5,
      "parts": [
        "eyes"
      ],
      "safeReturn": true,
      "order": 5
    },
    "core.treatment.manage": {
      "name": "Manage it and play on",
      "description": "Ice, strapping and lighter practice. You keep playing, but it heals slowly and can flare up.",
      "recovery": 0.7,
      "aggravation": 0.06,
      "order": 10
    },
    "core.treatment.injection": {
      "name": "Take medicine",
      "description": "Masks the pain so you play close to your best, but it heals slower and hides the warning signs.",
      "cost": 300,
      "recovery": 0.5,
      "bite": 0.4,
      "aggravation": 0.12,
      "severities": [
        "minor",
        "moderate"
      ],
      "parts": [
        "shoulder",
        "elbow",
        /* … 4 more */
      ],
      "order": 20
    },
    "core.treatment.physio": {
      "name": "Physio programme",
      "description": "Rest with treatment and rehab sessions: back sooner. Free with a physio on your team.",
      "weekly": 140,
      "physioFree": true,
      "sitOut": true,
      "recovery": 1.5,
      "order": 30
    },
    "core.treatment.specialist": {
      "name": "Specialist and rehab plan",
      "description": "Scans, a proper diagnosis and a structured plan. Expensive, but quick and you come back without the worry of doing it again.",
      "cost": 650,
      "sitOut": true,
      "recovery": 1.8,
      "severities": [
        "moderate",
        "serious"
      ],
      "safeReturn": true,
      "order": 35
    },
    "core.treatment.rest": {
      "name": "Complete rest",
      "description": "The darts go in a drawer until it heals. Free, but you miss events.",
      "sitOut": true,
      "recovery": 1.1,
      "order": 40
    },
    "core.treatment.surgery": {
      "name": "Surgery",
      "description": "Fix it properly. The biggest bill, but the fastest way back from a serious injury, and for good.",
      "cost": 3500,
      "sitOut": true,
      "recovery": 2,
      "severities": [
        "serious"
      ],
      "parts": [
        "shoulder",
        "elbow",
        /* … 4 more */
      ],
      "safeReturn": true,
      "order": 45
    }
  }
}

Written for Darts Player Simulator 0.50.32. Built from the game's own schemas and its base pack.