KINBARROW modding reference
v0.2.0+main.e011511f4 dataset 4a103dcdb658a75a

DiseaseDef

diseases/<id>.srd.ron — one disease per file; stem == id (the OPEN one-file-per-entity collection, the traps/feats/spells precedent). A disease is the SRD "Diseases" substrate: a CONTRACTION save that resists catching it, an INCUBATION delay before it takes hold, an EFFECT while afflicted (composed onto the exhaustion track / the conditions catalog / the ability-check seam), and a RECOVERY save track that throws it off — mirroring the exhaustion track's shape (a stored prop, absent-means-healthy, effects wired into existing seams, a periodic long-rest resolution).

The DCs, dice, and save cadences are the SRD's; the primitives (which ability, the effect composition) are authored. A disease that afflicts nothing is refused by the validator. The real exposure VECTORS (a diseased bite, contaminated water/filth, a trap) are DEFERRED — contraction enters via a disease::contract/try_contract call, so worldgen infects no one and the season soak is byte-identical (sim-neutral by construction).

FieldTypeRequiredDescription
contractionDiseaseSaverequired

The save that RESISTS contracting it (usually Con) — a success shrugs off exposure, a failure catches the disease.

effectDiseaseEffectrequired

The disease's effect while afflicted.

idstringrequired

Authored id.

incubation_daysuint32required

Days between exposure and the disease taking hold — its effects and its recovery saves begin only after incubation elapses (disease::incubated).

namestringrequired

Authored name.

recoveryDiseaseRecoveryrequired

The long-rest recovery save track.

sourceSourcerequired

Authored source.

Nested shapes

Every shape DiseaseDef closes over, so this page stands alone.

Ability

An open, validated Ability id interned from authored data.

DiseaseEffect

A disease's EFFECT while afflicted — a BUNDLE of primitives, each composing with an EXISTING seam (the ledger-don't-fake rule): exhaustion levels INFLICTED at contraction (composed through the exhaustion track, so the whole penalty ladder — checks, speed, the L4 hit-point-maximum halving, death — lands for free); a condition id afflicted while diseased (the conditions catalog — the persistent OUT-OF-COMBAT condition timer's bubble consumption is LEDGERED, so disease::afflicted_condition REPORTS it, the trap-condition precedent); and a check_penalty folded into stats::ability_check (the attack-roll fold is LEDGERED — bubble-locality). A disease that afflicts NOTHING (no exhaustion, no condition, no penalty) has no consumer and is refused by the validator (the substrate-or-refuse rule). Every field serde-defaults, so a disease names only the effects it carries.

FieldTypeRequiredDescription
check_penaltyint32default 0

A signed modifier folded into ability checks while afflicted (Sight Rot's −1, its −1→−5 escalation LEDGERED). 0 = none.

conditionstringoptional

A conditions/ id afflicted while diseased — Sight Rot's blindness. Reported by disease::afflicted_condition; the durable bubble read is LEDGERED (the trap-condition precedent). Absent = none.

exhaustionuint8default 0

Exhaustion levels inflicted at contraction — the Sewer Plague / Cackle Fever "one level of exhaustion." 0 = none.

DiseaseRecovery

A disease's RECOVERY rule — the SRD "at the end of each long rest, a DC N Con save; a number of successes ends it" shape: successes CONSECUTIVE successful saves of ability (usually Con) vs dc throw the affliction off (disease::tick_recovery, on the long rest — the exhaustion-recovery cadence). A FAILED save resets the success streak (the "M failures worsen it" clause — the escalating-severity worsen, and the herb/magical cures Sight Rot specifically needs, are LEDGERED). dc is u32 (≥ 0 by type); successes must be ≥ 1 (0 would never cure) — both validator-checked.

FieldTypeRequiredDescription
abilityAbilityrequired

The recovery save ability (usually Con).

dcuint32required

The save DC (≥ 0 by type).

successesuint32required

Consecutive successful saves that throw the disease off (≥ 1).

DiseaseSave

A saving throw a disease demands — the CONTRACTION save that resists catching it: an ability (usually Con) vs a DC. The DC is u32, so it is ≥ 0 by type (the trap-DC precedent — the "save DCs ≥ 0" invariant). The real exposure VECTORS (a diseased bite, contaminated water, a trap) are DEFERRED — a disease::contract/try_contract call is the door tests exercise now (the exhaustion-source ledger precedent).

FieldTypeRequiredDescription
abilityAbilityrequired

The saving-throw ability (usually Con).

dcuint32required

The save DC (≥ 0 by type).

Source

Every file's top-level value carries source.

Srd51

SRD 5.1 — retained nonconflicting catalogue material.

Srd52

SRD 5.2.1 — the 2024-revision System Reference Document, the same CC-BY-4.0 grant as 5.1 and the current rules chassis. Its files carry the .srd52.ron suffix so provenance reads off the path; see data/README.md for which document rules a given value.

Original

Original content authored for this game (not from the SRD).

Phb2024

Material transcribed from the 2024 Player's Handbook. This source is not redistributable by this project and belongs in a phb2024 mod.

Dmg2024

Material transcribed from the 2024 Dungeon Master's Guide. This source is not redistributable by this project and belongs in a dmg2024 mod.

Mm2024

Material transcribed from the 2024 Monster Manual. This source is not redistributable by this project and belongs in an mm2024 mod.

Tce

Material transcribed from Tasha's Cauldron of Everything. This source is not redistributable by this project and belongs in a tce mod.

Xge

Material transcribed from Xanathar's Guide to Everything. This source is not redistributable by this project and belongs in an xge mod.