Progress on documentation

This commit is contained in:
2026-02-20 14:00:40 -08:00
parent d59cf82ab3
commit f421a8e436
413 changed files with 1681 additions and 109 deletions

View File

@@ -0,0 +1,81 @@
# Room 58: Tower Organ Room
This is the interior of a dusty tower containing a large pipe organ. The room features spiral stairs descending downward, a bench in front of the organ, and a hidden drawer within the organ that contains a skeleton key. Players can sit at the organ and play it using sheet music, which triggers a special event that reveals the hidden drawer. There is also a hole in the floor that leads to the staircase below (Room 61), and players can fall through the floor if they step on a weak area.
## Look Description
"A dusty, old pipe organ sits in the center of the tower room."
## Interactions
| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look` / `look around` / `look room` / `look tower` | "A dusty, old pipe organ sits in the center of the tower room." |
| TODO | Look | `look <down` / `look stair` | "The tower stairs spiral steeply downward." |
| TODO | Look | `look behind organ` | "There is nothing but dust behind the old organ." |
| TODO | Look | `look in organ` | "You see nothing in the organ." |
| TODO | Look | `look organ` | "Dust and cobwebs cover the old organ." |
| TODO | Look | `look bench` | "There is a bench in front of the old organ." |
| TODO | Look | `look wall` | "There is nothing of importance on the walls." |
| TODO | Look | `look dirt` / `look <down` | "There is nothing of interest on the floor." |
| TODO | Look | `look drawer` | [varies based on state - see Technical Notes] |
| TODO | Action | `move bench` | "There's no need to move the bench." |
| TODO | Inventory | `play/use music<sheet` (at organ with sheet music) | "You find it difficult to read the old sheet music, but you attempt it anyway." (Print 58 12) |
| TODO | Inventory | `play/use music<sheet` (not at organ) | "What music?" (Print 58 13) |
| TODO | Inventory | `play/use music<sheet` (at organ without sheet music) | "You are not sitting at the organ." (Print 58 14) |
| TODO | Action | `play/use organ` / `play/use music` / `play` (at organ with sheet music) | "You can only remember one 'oldie, but goodie.'" (Print 58 15) |
| TODO | Action | `play/use organ` / `play/use music` / `play` (not at organ) | "You're not sitting at the organ." (Print 58 16) |
| TODO | Action | `sit` / `sit organ` / `sit bench` (at organ) | "You are already." (Print 58 17) |
| TODO | Action | `sit` / `sit organ` / `sit bench` (on bench) | "It would be better to move to the inside of the bench." (Print 58 18) |
| TODO | Action | `sit` / `sit organ` / `sit bench` (elsewhere) | "That won't work." (Print 800 1) |
| TODO | Action | `get<up` / `stand` / `stand<up` / `exit organ` / `exit bench` (when seated at organ) | Stand up from organ |
| TODO | Action | `get<up` / `stand` / `stand<up` / `exit organ` / `exit bench` (when not seated) | "You are already standing." (Print 58 19) |
| TODO | Inventory | `get/key` (drawer open, key present) | "You take the skeleton key from the drawer." (Print 58 20) |
| TODO | Inventory | `get/key` (drawer open, key already taken) | "What key?" (Print 58 21) |
| TODO | Inventory | `get/key` (drawer closed) | "What key?" (Print 58 21) |
| TODO | Action | `close drawer` (drawer open) | "There's no need to close the drawer." (Print 58 22) |
| TODO | Action | `close drawer` (drawer closed) | "You don't see a drawer." (Print 58 23) |
| TODO | Action | `open drawer` (drawer open) | "The drawer is already open." (Print 58 24) |
| TODO | Action | `open drawer` (drawer closed) | "You don't see a drawer." (Print 58 23) |
| TODO | Action | `open bench` | "The bench doesn't open." (Print 58 25) |
| TODO | Action | `find drawer` (drawer open) | "You already found it." (Print 58 26) |
| TODO | Action | `find drawer` (drawer closed) | "Drawer? What drawer?" (Print 58 27) |
## Scripts
| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Interaction | playOrgan | Playing sheet music at organ | Plays organ music (sound 56), then reveals hidden drawer in organ, awards 4 points, shows drawer animation |
| TODO | Interaction | sitOrgan | Player types `sit` while near organ | Player moves to organ, sits down at organ bench, switches to view 58 (sitting animation) |
| TODO | Interaction | standOrgan | Player types `stand`/`get up` while seated | Player stands up from organ, returns to normal view (view 4) |
| TODO | Background | fallHole | Player steps on weak floor area (control $0004) | Player falls through floor with animation sequence, passes through room 61, ends up in Room 66 (dungeon cell) |
## Technical Notes
- **Room Number**: 58
- **Picture**: 58
- **Region**: 603 (shared tower region)
- **Exits**: Down→61 (via stairs or falling through hole)
- **Music**: Organ music (sound 57, plays when revealing drawer)
### State Variables
| Variable | Values | Description |
|----------|--------|-------------|
| `global193` | `0`, `non-zero` | Tracks whether organ drawer has been opened (0 = closed, 1+ = open) |
| `local1` | `0`, `1` | Local copy of drawer state (derived from global193) |
| `local3` | `0`, `1` | Tracks whether skeleton key is in drawer (1 = key present, 0 = key taken) |
| `global182` | `0`, `1` | Tracks whether player has obtained skeleton key |
| `global127` | `0`, `1` | Set after falling through hole (triggers special death sequence in Room 66) |
### Additional Technical Details
- Inventory item 20 is the skeleton key
- Inventory item 26 is the sheet music
- The organ drawer is hidden and only revealed when the player plays the organ with sheet music
- Player must sit at the organ (in rect 129,121 to 195,126) to play it
- The hole in the floor (control $0040) leads to Room 61 (staircase below)
- Falling through weak floor (control $0004) triggers the fallHole script which eventually leads to Room 66
- Player view 58 is used when sitting at the organ
- View 44 is used for falling animation, view 42 for the dungeon sequence
- The drawer look response varies: "You see a skeleton key in the drawer" (key present), "You see an empty drawer" (key taken), or "What drawer?" (drawer not yet revealed)