Add TOML reference docs for all world data types

- world/MANIFEST.md: manifest.toml and directory layout
- world/races/RACES.md: race schema (stats, body, natural, resistances, etc.)
- world/classes/CLASSES.md: class schema (base_stats, growth, hidden, guild)
- world/guilds/GUILDS.md: guild schema and [growth]
- world/spells/SPELLS.md: spell schema and types
- world/town/REGION.md: region.toml
- world/town/rooms/ROOMS.md: room schema and exits
- world/town/npcs/NPCS.md: NPC schema, race/class resolution
- world/town/objects/OBJECTS.md: object schema and [stats]

Made-with: Cursor
This commit is contained in:
AI Agent
2026-03-14 16:40:09 -06:00
parent 7b6829b1e8
commit e5e7057650
9 changed files with 588 additions and 0 deletions

64
world/classes/CLASSES.md Normal file
View File

@@ -0,0 +1,64 @@
# Class TOML Reference
Each file in `world/classes/` defines one class. The filename (without `.toml`) becomes the class ID with prefix `class:` (e.g. `warrior.toml``class:warrior`).
## Top-level fields
| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `name` | string | Yes | — | Display name of the class. |
| `description` | string | Yes | — | Short description shown in chargen. |
| `hidden` | boolean | No | `false` | If `true`, the class does not appear in character creation. Use for NPC-only classes (e.g. Peasant, Creature). |
| `guild` | string | No | — | Guild ID (e.g. `"guild:warriors_guild"`). If set, new characters who choose this class automatically join this guild at level 1 and receive that guilds base mana/endurance. |
## `[base_stats]` — Starting stats at level 1
| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `max_hp` | integer | No | `0` | Base maximum HP before race/stat modifiers. |
| `attack` | integer | No | `0` | Base attack before modifiers. |
| `defense` | integer | No | `0` | Base defense before modifiers. |
## `[growth]` — Per-level gains
| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `hp_per_level` | integer | No | `0` | HP added each level. |
| `attack_per_level` | integer | No | `0` | Attack added each level. |
| `defense_per_level` | integer | No | `0` | Defense added each level. |
## Minimal example (hidden NPC class)
```toml
name = "Peasant"
description = "A common folk with no particular training."
hidden = true
[base_stats]
max_hp = 50
attack = 4
defense = 4
[growth]
hp_per_level = 5
attack_per_level = 1
defense_per_level = 1
```
## Example with guild (playable class)
```toml
name = "Warrior"
description = "Masters of arms and armor."
guild = "guild:warriors_guild"
[base_stats]
max_hp = 120
attack = 14
defense = 12
[growth]
hp_per_level = 15
attack_per_level = 3
defense_per_level = 2
```