Room notes, sorted completions, inventory mgmt, view mode, dispatch
1. Room-specific notes: SPC G n adds timestamped note to current room, displayed in where-am-i and find-room output. SPC G N shows all. 2. Alphabetical sorting in all completing-read candidate lists. 3. Inventory management: SPC G v prefix — remove/modify gear, weapons (including ammo tracking), injuries, conditions, armor, tiny items. 4. UX: alien-rpg-view-mode with local keys (m/w/t/s/d/r/p/f/n/N/SPC/?), dispatch command (SPC G SPC) lists all commands, help (SPC G ?). Refactored room info display into shared alien-rpg--insert-room-info. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
25
CLAUDE.md
25
CLAUDE.md
@@ -8,7 +8,7 @@ Accessible tabletop RPG gaming engine for the Alien RPG space station USCSS CETO
|
||||
|
||||
## Architecture
|
||||
|
||||
**alien-rpg.el** (main engine, ~1370 lines, lexical-binding):
|
||||
**alien-rpg.el** (main engine, ~1660 lines, lexical-binding):
|
||||
|
||||
- **Data**: `alien-rpg-rooms` (112 rooms as connection graph), `alien-rpg-decks` (10 decks A-J), `alien-rpg-character` (mutable during session), `alien-rpg-state` (mutable, auto-saved). Station name in `alien-rpg-station-name`.
|
||||
- **Room IDs**: ASCII slugs (e.g., `B-ridici-stredisko`). Display names use Czech diacritics (`Řídící středisko`).
|
||||
@@ -18,7 +18,12 @@ Accessible tabletop RPG gaming engine for the Alien RPG space station USCSS CETO
|
||||
- **No průlez rooms**: Průlezy (hatches between decks) are NOT separate rooms. They are direct connections between the rooms they physically sit in. Cross-deck connections noted in room `:desc`.
|
||||
- **Dice calculator**: `SPC G r` — black base dice (attribute + skill) + yellow stress dice. Player rolls physical dice.
|
||||
- **Weapons/Armor**: Structured plists — weapons: `(:name :modifier :damage :range :ammo :weight)`, armor: `(:name :level :weight)`.
|
||||
- **State**: Health, stress, resolve, story-points, injuries, conditions, weapons, armor, gear, tiny-items, notes. Auto-saves via `alien-rpg--autosave`. No buddy/rival/xp (not used in this campaign).
|
||||
- **State**: Health, stress, resolve, story-points, injuries, conditions, weapons, armor, gear, tiny-items, notes, room-notes. Auto-saves via `alien-rpg--autosave`. No buddy/rival/xp (not used in this campaign).
|
||||
- **Room notes**: Per-room notes stored as alist `((room-id note1 note2 ...) ...)` in `:room-notes`. Timestamped. Displayed in `where-am-i` and `find-room` output.
|
||||
- **Sorting**: All `completing-read` candidate lists sorted alphabetically via `alien-rpg--sort-candidates`.
|
||||
- **View mode**: `alien-rpg-view-mode` (derived from `special-mode`) applied to `*Alien RPG*` buffer with local keybindings.
|
||||
- **Dispatch**: `alien-rpg-dispatch` lists all commands in completing-read for discoverability.
|
||||
- **Inventory management**: Commands to remove/modify gear, weapons (including ammo), injuries, conditions, armor, tiny items.
|
||||
- **Character**: prof. Héctor Navarre, biochemický inženýr, 74 let. Attributes and skills editable via `SPC G e`.
|
||||
- **Output**: All commands output to `*Alien RPG*` buffer via `switch-to-buffer` (not `pop-to-buffer` — avoids Doom popup behavior that confuses screen readers).
|
||||
|
||||
@@ -26,6 +31,8 @@ Accessible tabletop RPG gaming engine for the Alien RPG space station USCSS CETO
|
||||
|
||||
| Key | Command | Function |
|
||||
|-----|---------|----------|
|
||||
| `SPC` | Dispatch | `alien-rpg-dispatch` |
|
||||
| `?` | Nápověda | `alien-rpg-help` |
|
||||
| `w` | Kde jsem | `alien-rpg-where-am-i` |
|
||||
| `m` | Přesun | `alien-rpg-move` |
|
||||
| `t` | Teleport | `alien-rpg-teleport` |
|
||||
@@ -45,10 +52,20 @@ Accessible tabletop RPG gaming engine for the Alien RPG space station USCSS CETO
|
||||
| `W` | Zbraň | `alien-rpg-add-weapon` |
|
||||
| `a` | Brnění | `alien-rpg-add-armor` |
|
||||
| `c` | Stav/condition | `alien-rpg-add-condition` |
|
||||
| `n` | Poznámka | `alien-rpg-add-note` |
|
||||
| `N` | Poznámky | `alien-rpg-show-notes` |
|
||||
| `n` | Poznámka k místnosti | `alien-rpg-add-room-note` |
|
||||
| `N` | Poznámky | `alien-rpg-show-room-notes` |
|
||||
| `x` | Globální poznámka | `alien-rpg-add-note` |
|
||||
| `q` | Uložit | `alien-rpg-save-state` |
|
||||
| `Q` | Načíst | `alien-rpg-load-state` |
|
||||
| `v g` | Spravovat výbavu | `alien-rpg-manage-gear` |
|
||||
| `v w` | Spravovat zbraně | `alien-rpg-manage-weapon` |
|
||||
| `v a` | Spravovat brnění | `alien-rpg-manage-armor` |
|
||||
| `v j` | Spravovat zranění | `alien-rpg-manage-injury` |
|
||||
| `v c` | Spravovat podmínky | `alien-rpg-manage-condition` |
|
||||
| `v t` | Spravovat drobné věci | `alien-rpg-manage-tiny-items` |
|
||||
|
||||
**Local keybindings** (in `*Alien RPG*` buffer via `alien-rpg-view-mode`):
|
||||
`m` přesun, `w` kde jsem, `t` teleport, `s` stav, `d` paluba, `r` kostky, `f` místnost, `p` cesta, `n` poznámka k místnosti, `N` poznámky, `SPC` dispatch, `?` nápověda, `q` zavřít.
|
||||
|
||||
**Reference docs** (org-mode, Czech):
|
||||
- `paluby/paluba-{A..J}.org` + `paluba-GH.org` — deck descriptions
|
||||
|
||||
Reference in New Issue
Block a user