# DiseaseEffect

> Kinbarrow modding reference — content tree `4a103dcdb658a75a`, version `0.2.0+main.e011511f4`.

[Effects and mechanisms](https://kinbarrow.com/modding/latest/mechanisms.md)

Used by [DiseaseDef](https://kinbarrow.com/modding/latest/disease-def.md#disease-effect).

This is a nested shape inside a content file. The catalog explains context validation and links real RON examples.

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.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `check_penalty` | `int32` | default `0` | A signed modifier folded into ability checks while afflicted (Sight Rot's −1, its −1→−5 escalation LEDGERED). 0 = none. |
| `condition` | `string` | optional | 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. |
| `exhaustion` | `uint8` | default `0` | Exhaustion levels inflicted at contraction — the Sewer Plague / Cackle Fever "one level of exhaustion." 0 = none. |


