Armor
One piece of armor from the SRD table (tables/armor.srd52.ron): what it costs and how it contributes to AC — a base plus capped Dexterity for body armor, a flat bonus for a shield. recipes and quality_overrides are OURS, as they are for weapons.
| Field | Type | Required | Description |
|---|---|---|---|
| ac | ArmorClass | required | How the piece contributes to AC (base + capped Dex, or a flat shield bonus). |
| category | ArmorCategory | required | The SRD armor category (light/medium/heavy/shield). |
| doff | ArmorEquipCost | optional | Cost to doff this armor or shield. |
| don | ArmorEquipCost | optional | Cost to don this armor or shield. |
| id | string | required | Authored id. |
| name | string | required | Authored name. |
| quality_overrides | TierEffects[] | optional | Per-item quality-profile overrides; absent = the class profile. |
| recipes | Recipe[] | required | The armor's crafting recipes (ORIGINAL content, not SRD). |
| stealth_disadvantage | boolean | required | True = imposes disadvantage on Stealth checks. |
| str_min | integer | optional | Minimum Strength score to wear without a speed penalty; absent = none. |
| training_required_for_ac | boolean | default false | A shield grants its AC bonus only to a creature trained with shields. |
| weight_lb | double | required | Weight in pounds. |
Nested shapes
Every shape Armor closes over, so this page stands alone.
Ability
An open, validated Ability id interned from authored data.
ArmorCategory
The SRD armor categories — light/medium/heavy body armor and the shield.
Light
Select the light behavior.
Medium
Select the medium behavior.
Heavy
Select the heavy behavior.
Shield
Select the shield behavior.
ArmorClass
How a piece of armor contributes to AC: body armor's base + a capped Dexterity, or a flat bonus (a shield).
Base
Body armor: a base AC plus a [DexMod]-capped Dexterity contribution.
| Field | Type | Required | Description |
|---|---|---|---|
| base | uint32 | required | |
| dex | DexMod | required |
Bonus
A flat AC bonus added on top (a shield's +2).
Carries uint32.
ArmorEquipCost
The action economy required to put on or remove armor.
Seconds
A continuous duration in seconds.
Carries uint32.
UtilizeAction
One Utilize action.
CraftTier
The tool-proficiency ladder — one ladder, two homes (this IS the engine's TradeTier).
Apprentice
Select the apprentice behavior.
Journeyman
Select the journeyman behavior.
Master
Select the master behavior.
DexMod
The wearer's Dex modifier contribution.
Full
Select the full behavior.
Max2
Select the max2 behavior.
None
Select the none behavior.
QualityTier
The seven quality tiers (semantic — engine code branches on it).
Trash
Select the trash behavior.
Poor
Select the poor behavior.
Normal
Select the normal behavior.
Good
Select the good behavior.
Excellent
Select the excellent behavior.
Masterwork
Select the masterwork behavior.
Legendary
Select the legendary behavior.
Recipe
A recipe embedded on a good/weapon/armor. Craftable IS having recipes — there is no craftable flag (data/README.md).
| Field | Type | Required | Description |
|---|---|---|---|
| ability | Ability | optional | The ability whose mod feeds output; absent = untrained extraction. |
| building | string | required | The building TYPE that produces this good (a |
| forbids_terrain | string[] | default [] | The exclusion half of the terrain GATE (see |
| hours | uint32 | required | Labour hours one batch takes. |
| inputs | [RecipeInput, uint32][] | required | The (input, qty) pairs consumed per batch — boot-resolved. EMPTY = raw extraction (nature's own yield): such a recipe names WHERE and HOW FAST a raw is won, carries no |
| rate | double | required | Units per worked hour, before the work multiplier. The recipe carries it, so production truth lives in one place. |
| requires_terrain | string[] | default [] | Terrain GATE: this recipe is wired only at venues whose town bears every |
| strike | Strike | optional | The face's RARE find: each produced unit has |
| terrain_mods | [string, double][] | default [] | Terrain-tag rate MODIFIERS: the effective production rate at a venue is |
| tier | CraftTier | required | The tool-proficiency floor to run this recipe. |
| tool | string | optional | A goods/ id (e.g. "smiths_tools"); absent = bare hands. |
| yield | uint32 | required | Units the batch yields: one run of |
RecipeInput
A recipe input: a SPECIFIC good (process inputs) or ANY material of a class (constructive inputs — the family wall).
Good
A SPECIFIC good by id — the exact material a process consumes.
Carries string.
Class
ANY good of a material CLASS by id — the constructive input (the family wall): whichever member of the class is on hand.
Carries string.
Strike
A strike table entry: the rare good and its per-unit odds.
| Field | Type | Required | Description |
|---|---|---|---|
| good | string | required | The rare good struck — a goods/ id, boot-resolved. |
| mods | [string, double][] | default [] | Terrain-tag odds MODIFIERS, the |
| odds | double | required | Per-unit chance (0..1) of striking |
TierEffects
One rung of the seven-tier quality ladder: what an item of this tier is worth and how it performs, as deltas off the Normal baseline. A class-wide row in a QualityProfile, or a single item's override of one.
| Field | Type | Required | Description |
|---|---|---|---|
| ac_delta | integer | optional | AC delta at this tier (armor); absent = n/a. |
| attack_delta | integer | optional | Attack-roll delta at this tier (weapons); absent = n/a. |
| damage_delta | integer | optional | Damage delta at this tier (weapons); absent = n/a. |
| dc_delta | integer | optional | Lock DC delta vs the Normal DC 10 base at this tier (locks); absent = n/a. |
| integrity_factor | number | optional | Max-integrity multiplier (the |
| tier | QualityTier | required | The quality tier this row describes. |
| value_factor | double | required | Worth multiplier at this tier (every class). |
| work_factor | number | optional | Work-output multiplier at this tier (tools); absent = n/a. |