# ExpectedBlock

> Kinbarrow modding reference — content tree `b2f73c2ab65ff925`, version `0.2.0+main.a22009f4c`.

One creature's PRINTED stat block (`expected/npc_blocks.srd.ron`) — the book's own AC, HP, attacks and XP, transcribed so a test can re-derive every one of them from the archetype's primitives. This is not content the game loads to play: it is the proof that the creature files transcribe the SRD faithfully (data/README.md "Derivations").

**Note on syntax:** these files are RON, not JSON. The shapes below are exact,
but punctuation follows RON — read a real `data/*.ron` file alongside.

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ac` | `uint32` | required | The printed armor class. |
| `attacks` | `ExpectedAttack[]` | required | The printed attack lines. |
| `hp_avg` | `uint32` | required | The printed average hit points. |
| `hp_formula` | `string` | required | The printed HP formula ("2d8+2"). |
| `npc` | `string` | required | Creature id, boot-resolved. |
| `passive_perception` | `uint32` | required | The printed passive Perception. |
| `skills` | `[Skill, int32][]` | required | The printed skill bonuses. |
| `speed_ft` | `uint32` | required | The printed speed in feet (the human assumption). |
| `xp` | `uint32` | required | The printed XP. |

## Nested shapes

<a id="expected-attack"></a>

### ExpectedAttack

One PRINTED attack line from a creature's stat block — the book's own to-hit and damage, transcribed so the derivation lock can re-roll them from the archetype's gear and abilities. A row of the verification corpus, not gear a creature carries.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `damage` | `string` | required | The printed damage string (e.g. "1d6+1"). |
| `damage_avg` | `uint32` | required | The printed damage average. |
| `kind` | `string` | required | A `tables/damage_kinds.srd.ron` id. |
| `to_hit` | `int32` | required | The printed to-hit bonus. |
| `versatile` | `string` | optional | Two-handed damage string (a spear); absent = not versatile. |
| `versatile_avg` | `integer` | optional | The two-handed damage average; absent = not versatile. |
| `weapon` | `string` | required | Weapon id, boot-resolved. |

<a id="skill"></a>

### Skill

An open, validated Skill id interned from authored data.


