mud/docs/how
Jared Miller 6344c09275
Restructure combat moves: single-word commands with variant args
The DREAMBOOK always described "punch right/left [target]" as one command
with a direction argument, but the implementation had separate TOML files
and multi-word command names that the dispatcher couldn't reach (it only
matches the first word). Aliases like "pr" also couldn't pass targets
because the shared handler tried to re-derive the move from args.

Changes:
- Merge punch_left/right, dodge_left/right, parry_high/low into single
  TOML files with [variants] sections
- Add command/variant fields to CombatMove for tracking move families
- load_move() now returns list[CombatMove], expanding variants
- Handlers bound to moves via closures at registration time:
  variant handler for base commands (punch → parses direction from args),
  direct handler for aliases and simple moves (pr → move already known)
- Core logic in do_attack/do_defend takes a resolved move
- Combat doc rewritten as rst with architecture details
- Simplify mud.tin aliases (pr/pl/etc are built-in MUD commands now)
2026-02-08 00:20:52 -05:00
..
architecture-plan.txt Update architecture plan opening to reflect current progress 2026-02-07 23:50:32 -05:00
combat.rst Restructure combat moves: single-word commands with variant args 2026-02-08 00:20:52 -05:00
commands.txt Update commands doc with combat, content, and editor sections 2026-02-07 23:50:55 -05:00
dsls.md Add research on various mu* dsls 2026-02-07 19:31:38 -05:00
mud-ecosystem.txt Add research on graphicmud 2026-02-07 15:39:36 -05:00
mudlib-landscape.txt Add research on graphicmud 2026-02-07 15:39:36 -05:00
persistence.txt Add persistence documentation 2026-02-07 21:42:19 -05:00
terrain-generation.txt Move notes to docs/how, docs/why, docs/lessons 2026-02-07 13:31:02 -05:00
things-and-building.rst Convert things-and-building doc to rst 2026-02-07 23:39:45 -05:00