Files
mudserver/world/classes/CLASSES.md
AI Agent e5e7057650 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
2026-03-14 16:40:09 -06:00

2.0 KiB
Raw Permalink Blame History

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.tomlclass: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)

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)

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