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,94 @@
# Room 87: East End of Hallway
## High-Level Summary
Room 87 is the east end of a hallway in Lolotte's castle. The room features a plain wooden door leading to the castle interior, a table with a candelabra, and three dancing goons (if not hostile) or one hostile henchman (if hostile state triggered). The room connects to rooms 86 (west), 84 (south), and 88 (north). The player can encounter Lolotte's henchmen here, who may chase the player if they get too close after the henchman has become hostile.
## Look Description
"This is the east end of the hallway."
## Interactions
| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look[<around>][/!*]` / `look[<around>]/room,castle,hall` | "This is the east end of the hallway." (Print 87 0) |
| TODO | Look | `look/goon` | "Lolotte's goons are not appealing at all! Besides having an unnatural pallor to their skin, they are creepy little creatures who fly upon wings that resemble those of bats." (Print 87 1) |
| TODO | Look | `look/door` | "It's a plain wooden door." (Print 87 2) |
| TODO | Look | `look/table` | "There is a candelabra on the table, from which dim candle light sheds." (Print 87 3) |
| TODO | Look | `look/candelabra` / `look/candle` | "Candle light flickers from the candelabra." (Print 87 4) |
| TODO | Look | `look/wall` | "There is nothing of importance on the walls." (Print 87 5) |
| TODO | Look | `look/dirt` / `look[<down]` | "There is nothing of importance on the floor." (Print 87 6) |
| TODO | Talk | `talk/goon` / `talk/man` | (If global169: "It's not for you." Print 87 7) / (Else: "There's nobody there..." Print 87 8) |
| TODO | Get | `get/candelabra` / `get/candle` | "It is already open." (Print 87 9) |
| TODO | Action | `bang/door` | (If in rect 111 118 140 123: "It already is." Print 87 10) / (Else: "You're not close enough." Print 800 1) |
| TODO | Action | `open/door` | (If door cel != 0: "It is already open." Print 87 11) / (If not in rect: "You're not close enough." Print 800 1) / (Else: animate door open, play door sound) |
| TODO | Action | `close/door` | "Why don't you just open it?" (Print 87 12) |
| TODO | Action | `unlatch/door` | (If in rect: "Why don't you just open it?" Print 87 13) / (Else: "You're not close enough." Print 800 1) |
| TODO | Talk | `converse/goon` / `converse/man` | "Lolotte's henchmen must not speak, as you only hear them utter guttural sounds." (Print 87 14) |
| TODO | Action | `get/goon` / `get/man` / `capture/goon` / `capture/man` | "Why would you want one?!" (Print 87 15) |
| TODO | Action | `kiss/goon` / `kiss/man` | "That's an AWFUL thought!" (Print 87 16) |
| TODO | Inventory | `deliver/goon` / `deliver/man` / `give/goon` / `give/man` | "The henchmen are not interested in your offering." (Print 87 17) |
## Region Interactions (regBFCastle - Region 604)
| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Inventory | `blow/whistle` | (If has whistle (item 27): "That is not a good idea now." Print 604 0) / (Else: play default whistle sound) |
| TODO | Look | `look/wall` | "There is nothing of interest on the walls." (Print 604 1) |
| TODO | Talk | `converse/goon` / `converse/man` / `converse[/goon,man]` | (If henchman present and global169 and not global175: if close enough trigger chase, else "You are not close enough." Print 604 2) / (Else: "Lolotte's henchmen must not speak, as you only hear them utter guttural sounds." Print 604 3) |
| TODO | Look | `look/goon` / `look/man` | (If henchman present and global169 and not global175: "The henchman is asleep." Print 604 5) / (Else: "Lolotte's goons are not appealing at all! Besides having an unnatural pallor to their skin, they are creepy little creatures who fly upon wings that resemble those of bats." Print 604 6) |
| TODO | Action | `awaken/goon` / `awaken/man` | (If henchman present and global169 and not global175: if close enough trigger chase, else "You are not close enough." Print 604 2) / (Else: "They already are." Print 604 7) |
| TODO | Action | `get/goon` / `get/man` / `capture/goon` / `capture/man` | "Why would you want one?!" (Print 604 8) |
| TODO | Action | `kiss/goon` / `kiss/man` | "That's an AWFUL thought!" (Print 604 9) |
| TODO | Inventory | `deliver/goon` / `deliver/man` / `give/goon` / `give/man` | "The henchmen are not interested in your offering." (Print 604 10) |
## Scripts
| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Interaction | `doDoor` | Player opens door (said 'open/door' when door cel = 0 and player in rect 111-118-140-123) | Stops door animation, transitions to room 84 |
| TODO | Interaction | `henchChase` | global169 is true (henchman hostile) and player enters room | Henchman walks toward player, plays chase music, catches player after 4 seconds, transitions to room 81 (game over) |
| TODO | Background | `circleJerk` | When global169 is false (goons not hostile) | Three goons perform a dancing/cycling animation in a circle pattern |
| TODO | Background | `henchChaseReg` | (Region 604) Henchman is hostile and player gets too close (< 20 distance) or random encounter in rooms 91/92 | Henchman chases player, triggers game over if caught |
## Technical Notes
- **Room Number**: 87
- **Picture**: 87
- **Region**: 604 (Black Forest Castle - regBFCastle)
- **Exits**:
- West → Room 86 (control area $0040)
- South → Room 84 (control area $0020)
- North → Room 88 (control area $0010)
- **Music**: Sound 41 (chase music), Sound 42 (catch music)
### State Variables
| Variable | Values | Description |
|----------|--------|-------------|
| `global169` | `0` (false), `1` (true) | Henchman hostile flag - if true, goons become hostile henchman that chases player |
| `global175` | `0` (false), `1` (true) | Henchman chase initiated flag - prevents re-triggering chase |
| `global205` | `0` (false), `1` (true) | Game over triggered by henchman capture |
| `newProp` | Prop instance | Door prop at position (140, 117) - cel indicates open/closed state |
| `newProp_2`, `newProp_3`, `newProp_4` | Prop instances | Animated candelabra candles |
| `newAct` | Actor instance | Either hostile henchman (view 145, loop 4) or dancing goon (view 147) |
| `newAct_2`, `newAct_3` | Actor instances | Additional dancing goons (only when not hostile) |
### Entry Points
- From Room 88 or starting game (room 0): Position at (261, 133), view 4
- From Room 86: Position at (25, 142), view 4
- From Room 84: Position at (131, 124), view 4
### Objects in Room
| Object | View | Position | Description |
|--------|------|----------|-------------|
| Door | 608 | (140, 117) | Plain wooden door - animated open/close |
| Candelabra candles | 633 | (24, 64), (32, 74), (42, 64) | Three animated candlechman/ flames |
| HenGoons | 145/147 | Various | Either hostile henchman (view 145) or three dancing goons (view 147) |
### Inventory Item Reference
- Item 27 = Whistle (used with 'blow/whistle' command in region 604)

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB