KINBARROW modding reference
v0.2.0+main.c05ef2b dataset 45d0fe274f851548

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
incubation_daysuint32required

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

namestringrequired
recoveryDiseaseRecoveryrequired

The long-rest recovery save track.

sourceSourcerequired

Nested shapes

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

Ability

The six ability scores (SRD 5.1). The engine's own stats::Ability is the runtime type; this is the data-layer mirror, bridged by [Ability::engine].

StrDexConIntWisCha

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 — the System Reference Document, the shipped baseline.

Original

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

Personal

A player's own transcription or third-party content in a mod tree — provenance stays honest without borrowing the base tree's markers. Never used by shipped files.