RaceDef
races/<id>.srd.ron — one per file; stem == id.
| Field | Type | Required | Description |
|---|---|---|---|
| age_adult | uint32 | required | Age of adulthood, in years. |
| age_lifespan | uint32 | required | Typical lifespan, in years. |
| alignment_bias | AlignmentBias | required | The race's alignment tendency (OURS, not the SRD's). |
| asi | any[][] | required | Fixed racial ability bumps. |
| asi_choice | AsiChoice | optional | A player-assigned bump (half-elf's "two others +1"); absent = none. |
| blindsight | integer | optional | SRD special senses in FEET of radius — blindsight (perceive without sight), tremorsense (locate a grounded creature), truesight (see the invisible, and in darkness). Stamped onto the soul at compose ( |
| creature_type | string | optional | The race's creature type: a |
| darkvision | boolean | required | SRD darkvision: the soul reads darkness as dim and dim as bright ( |
| id | string | required | |
| immunities | string[] | default [] | SRD damage immunities — damage-kind ids, stamped at compose ( |
| languages | string[] | default [] | SRD known languages — |
| name | string | required | |
| resistances | string[] | default [] | SRD damage resistances (dwarf poison, tiefling fire) — damage-kind ids, stamped onto the soul at compose ( |
| size | Size | required | The race's creature size. |
| source | Source | required | |
| speed | uint32 | required | Walking speed in feet — the composition source of NPC speed. |
| subraces | SubraceDef[] | required | The race's subraces (the SRD one-per-race picks). |
| traits | string[] | default [] | SRD racial traits WITH an engine substrate — ids resolving against the engine's implemented registry ( |
| tremorsense | integer | optional | Tremorsense radius in feet; absent = none. |
| truesight | integer | optional | Truesight radius in feet; absent = none. |
| vulnerabilities | string[] | default [] | SRD damage vulnerabilities — damage-kind ids, stamped at compose ( |
Nested shapes
Every shape RaceDef 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].
StrDexConIntWisChaAlignmentBias
OURS, not the SRD's — the alignment-tendency distillation.
| Field | Type | Required | Description |
|---|---|---|---|
| ethic | double | required | Law↔chaos tendency (−1..+1). |
| moral | double | required | Good↔evil tendency (−1..+1). |
AsiChoice
| Field | Type | Required | Description |
|---|---|---|---|
| amount | int32 | required | The bump each chosen ability gets. |
| count | uint32 | required | How many abilities the choice raises (half-elf's two). |
Breath
A Breath Weapon's DATA: its damage KIND and the SAVE ability its area throw asks — the two axes that vary by draconic ancestry (a red dragonborn's fire on a Dex save, a silver's cold on a Con save). The area is the archetypal 15-ft cone for every ancestry (the SRD's per-ancestry line/cone split is LEDGERED — the shape reads the same to the bubble's area_targets); dice scale by level and the DC derives from Con, both at assemble, so neither rides the data.
| Field | Type | Required | Description |
|---|---|---|---|
| kind | string | required | A |
| save | Ability | required | The saving-throw ability every creature caught in the cone rolls. |
Size
Creature size — the full SRD ladder (Tiny..Gargantuan). Races span Small/Medium; the bestiary's monsters reach the rest, and the hit die swings by it (combat::srd::hit_die).
TinySmallMediumLargeHugeGargantuanSource
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.
SubraceDef
One subrace of a race — the SRD's one-per-race pick (hill dwarf, high elf, lightfoot, rock gnome) and the dragonborn's draconic ancestry distilled to the same shape (a required in-race choice granting mechanics). Chosen in the character creator; generation still composes the base race only (the ledger row stands).
| Field | Type | Required | Description |
|---|---|---|---|
| asi | any[][] | required | Fixed ability bumps the subrace grants. |
| breath | Breath | optional | The draconic ancestry's Breath Weapon — the activated racial action the subrace ledgered. Absent = the subrace has none (the dwarf/elf/gnome subraces, and every base race): stamped onto the soul at compose only where present, so the sim is byte-identical without it. |
| id | string | required | |
| name | string | required | |
| resistances | string[] | default [] | SRD damage resistances the subrace adds (draconic ancestry's acid/ lightning/fire/poison/cold) — damage-kind ids, unioned with the base race's at compose ( |