# Room 60: Bedroom This is the player's bedroom in the haunted castle tower. The room features a bed, window with view, fireplace, carpet, chest/dresser, chandelier, and a ladder leading up to an attic (room 63). A ghost/fishwife NPC appears in the room under specific quest conditions. The player can climb the ladder to reach the attic or exit through the window area to room 68. ## Look Description "You are in a small but comfortable bedroom. Through the window you can see the castle grounds. A bed occupies one corner, and a ladder leads up through a trapdoor in the ceiling." ## Interactions | Status | Behavior Type | Command | Response | |--------|--------------|---------|----------| | TODO | Look | `look` / `look around` / `look room` | "[Look room description]" (Print 60 0) | | TODO | Look | `look` (when ghost present) | "[Ghost description]" (Print 60 1, conditional on global134==3) | | TODO | Look | `look under bed` | "[Under bed description]" (Print 60 2) | | TODO | Look | `look bed` | "[Bed description]" (Print 60 3) | | TODO | Look | `look window` (when near window) | "[Window description]" (Print 60 4) | | TODO | Look | `look window` (when far from window) | "[Not near window message]" (Print 800 1) | | TODO | Look | `look fireplace` | "[Fireplace description]" (Print 60 5) | | TODO | Look | `look carpet` | "[Carpet description]" (Print 60 6) | | TODO | Look | `look in chest` / `look in dresser` / `look in drawer` | "[Container contents]" (Print 60 7) | | TODO | Look | `look chandelier` | "[Chandelier description]" (Print 60 8) | | TODO | Look | `look chest` / `look dresser` | "[Furniture description]" (Print 60 9) | | TODO | Look | `look wall` | "[Wall description]" (Print 60 10) | | TODO | Look | `look dirt` / `look down` | "[Floor description]" (Print 60 11) | | TODO | Look | `look ceiling` (with ladder) | "[Ceiling with ladder]" (Print 60 12) | | TODO | Look | `look ceiling` (without ladder) | "[Ceiling without ladder]" (Print 60 13) | | TODO | Look | `look in trapdoor` / `look up trapdoor` (with ladder) | "[Trapdoor open]" (Print 60 14) | | TODO | Look | `look in trapdoor` / `look up trapdoor` (without ladder) | "[Trapdoor closed]" (Print 60 15) | | TODO | Look | `look up` (with ladder) | "[Looking up at open trapdoor]" (Print 60 16) | | TODO | Look | `look up` (without ladder) | "[Nothing to look up at]" (proc0_15) | | TODO | Look | `look ladder` (with ladder visible) | "[Ladder description]" (Print 60 17) | | TODO | Look | `look ladder` (without ladder) | "[No ladder visible]" (Print 60 18) | | TODO | Look | `look trapdoor` (with ladder) | "[Open trapdoor]" (Print 60 19) | | TODO | Look | `look trapdoor` (without ladder) | "[Closed trapdoor]" (Print 60 20) | | TODO | Action | `open trapdoor` (with ladder) | "[Already open]" (Print 60 21) | | TODO | Action | `open trapdoor` (without ladder) | "[Opens trapdoor]" (Print 60 22) | | TODO | Action | `close trapdoor` (with ladder) | "[Closes trapdoor]" (Print 60 23) | | TODO | Action | `close trapdoor` (without ladder) | "[Already closed]" (Print 60 24) | | TODO | Action | `open chest` / `open dresser` / `open drawer` | "[Container already open]" (Print 60 7) | | TODO | Action | `lay in bed` / `sleep in bed` / `get in bed` | "[Cannot sleep now]" (Print 60 25) | | TODO | Action | `climb ladder` (with ladder, near ladder, below top) | "[Climb ladder to attic]" (triggers climbLadder script) | | TODO | Action | `climb ladder` (with ladder, not close enough) | "[Not near ladder]" (Print 800 1) | | TODO | Action | `climb ladder` (with ladder, at top) | "[Already at top]" (Print 60 26) | | TODO | Action | `climb ladder` (without ladder) | "[No ladder]" (Print 60 27) | | TODO | Action | `climb` | "[Climb what?]" (Print 60 28) | | TODO | Action | `move` | "[Cannot move that]" (Print 60 29) | | TODO | Look | `look ghost` / `look fishwife` (when ghost present) | "[Ghost description]" (Print 60 1) | | TODO | Look | `look chair` (when ghost present) | "[Chair description]" (Print 60 30) | | TODO | Talk | `talk ghost` / `talk fishwife` / `talk` (when ghost present) | "[Ghost dialogue]" (Print 60 31) | | TODO | Action | `get ghost` / `get fishwife` (when ghost present) | "[Cannot take ghost]" (Print 60 32) | | TODO | Action | `get/capture ghost` / `get/capture fishwife` (when ghost present) | "[Cannot capture ghost]" (Print 60 33) | | TODO | Action | `kill ghost` / `kill fishwife` (when ghost present) | "[Cannot kill ghost]" (Print 60 34) | | TODO | Action | `kiss ghost` / `kiss fishwife` / `kiss` (when ghost present) | "[Ghost reaction]" (Print 60 35) | | TODO | Action | `help ghost` / `help fishwife` (when ghost present) | "[Ghost help response]" (Print 60 36) | | TODO | Inventory | `deliver [item]` (to ghost, when near and has item) | "[Gift accepted - wedding ring]" (Print 60 37, +2 score, clears ghost) | | TODO | Inventory | `deliver [item]` (to ghost, wrong item) | "[Ghost rejects item]" (Print 60 38) | | TODO | Inventory | `deliver [item]` (when not near ghost) | "[Not near ghost]" (Print 800 1) | ## Scripts | Status | Behavior Type | Name | Trigger | Behavior | |--------|--------------|------|---------|----------| | TODO | Interaction | climbLadder | Player types `climb ladder` when ladder is visible and player is positioned below/at ladder | Disables actor collisions, moves ego to ladder position (161,140), plays climbing view animation (view 77, loop 0), moves ego up to position (161,48), sets climbing state (global204=0, global205=1), then transports to Room 63 (attic) | | TODO | Interaction | climbDown | Entering room from Room 63 (attic) via `gPrevRoomNum == 68` check | Plays descending animation (view 77, loop 1 in reverse), moves ego from trapdoor position down to floor (161,140), restores normal view (view 4, loop 3), resets climbing state (global205=0), enables actor collisions | ## Technical Notes - **Room Number**: 60 - **Picture**: 60 - **Region**: 603 (Haunted House - controls ghost appearance) - **Exits**: East→68 (through window/control area), Up→63 (via ladder when visible) - **Synonyms**: `room` = `bedroom` ### State Variables | Variable | Values | Description | |----------|--------|-------------| | `global100` | `true`, `false` | Controls ghost/fishwife visibility in room | | `global134` | Various values | Quest progression state - ladder appears when > 4; ghost appears when == 3 | | `global133` | Room number | Current room number - compared to trigger ghost interactions | | `global225` | `1` | Ghost quest active flag - when == 1 enables ghost interactions | | `local1` | `0`, `1` | Ladder/trapdoor state - set to 1 when global134 > 4 (ladder visible) | | `global204` | `0`, `1` | Climbing state - set to 0 when climbing up | | `global205` | `0`, `1` | Climbing flag - set to 1 when ascending, 0 when on ground | | `newView` | View object | Ladder upper portion (view 529, loop 1) | | `newView_2` | View object | Ladder lower portion (view 529, loop 0) | ### Additional Technical Details - Room applies Region 603 in init for haunted house logic - When global100 is true: displays ghost visual elements (view 648, prop 536 with animation) - When global134 > 4: loads and displays ladder views (529), sets local1 = 1 - Entry from Room 68 positions ego at (68,159) with view 4 (falling/descending) - Entry from other rooms positions ego at (161,59) with view 77, triggers climbDown script - Exit to Room 68 triggered by control area $0040 (window/door area) - Ghost interactions only active when: global134==3 AND global225==1 AND global100==true - Giving item 28 (wedding ring) to ghost: removes item, awards 2 points, calls proc0_10 to clear ghost - Ladder climb checks: player must be within distance 10 of ladder and at or below ladder's Y position