diff options
Diffstat (limited to 'building_guide/bank.md')
| -rw-r--r-- | building_guide/bank.md | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/building_guide/bank.md b/building_guide/bank.md index acf9954..a6eb97f 100644 --- a/building_guide/bank.md +++ b/building_guide/bank.md @@ -39,25 +39,7 @@ objects: | `browse` / `list` | Show bank contents | | `leave` | Exit bank interface | -## Implementation - -### Session State - -`StateBank` (defined in `internal/net/server.go`) is the session state for the bank interface. Input is routed through `handleBankInput` in `internal/game/cmd_bank.go`. - -### Player Storage - -Bank items are stored in the `Player.Bank` field (`map[int]*InventorySlot`), saved in character YAML. Bank slots are sequential and reuse freed slots. There is no slot limit. - -### Command Dispatch - -- `bank` is classified as `ClassActive` in `classifyCommand()` -- `bank` case in `executeCommand()` calls `doBank(sess)` -- `doUse()` checks for `"bank"` or `"bank booth"` targets and routes to `doBank()` -- `doBank()` checks for a `bank_booth` object in the current room -- `handleBankInput()` dispatches deposit/withdraw/browse/leave commands - -### Data Files +## Data files | File | Purpose | |------|---------| @@ -65,3 +47,6 @@ Bank items are stored in the `Player.Bank` field (`map[int]*InventorySlot`), sav | `data/help/bank.yaml` | Help topic for the bank system | Default bank booth locations: Town Square (room 1), Forge (room 12). + +Engine internals (session state, storage layout, command dispatch) are +documented in [../dev_guide/bank.md](../dev_guide/bank.md). |
