Files
kq4-decompile/rooms/kq4-053-seven-dwarfs-bedroom.md
2026-02-20 10:16:03 -08:00

4.6 KiB

Room 53: Seven Dwarfs' Bedroom

High-Level Summary

Room 53 is the upstairs bedroom in the Seven Dwarfs' cottage. This room contains seven small beds, one for each dwarf, along with various furniture including a chest of drawers, mirror, and window. The room initially contains significant clutter (dirty clothes and mess) that can be cleaned by the player. A dwarf patrols the room and will chase the player out if they linger too long. The room connects to the main floor via stairs leading to room 54.

Look Description

"You have entered the small upstairs bedroom of the Seven Dwarfs."

Interactions

Status Behavior Type Command Response
TODO Look /bed "There are seven little beds." (Print 53 1)
TODO Look /stair "The narrow stairs lead downward." (Print 53 2)
TODO Look <under/bed "There is nothing under the beds." (Print 53 3)
TODO Look /window "You see the forest out the window." (Print 53 4) - only if player in rect 211,125,271,146
TODO Look <in/chest,dresser,drawer "No. It's private." (Print 53 5)
TODO Look /chest,dresser "The dwarfs share one chest of drawers." (Print 53 6)
TODO Look /mirror "You look in the mirror and see the reflection of a poor, but beautiful, peasant girl." (Print 53 7) - only if player in rect 217,142,295,161
TODO Look /shelf "Quit being a snoop, Rosella!" (Print 53 8)
TODO Look /wall "There is nothing of importance on the walls." (Print 53 9)
TODO Look /dirt or <down "There is nothing interesting on the floor." (Print 53 10)
TODO Look /carpet,carpet "A nice braided rug lies on the floor." (Print 53 11)
TODO Look look[<around][/room] Dynamic: "My goodness, these dwarfs are sloppy!" if not cleaned, empty if cleaned (Print 53 12)
TODO Action clean/room or clean[/!*] Triggers cleanBedroom script if room not clean, else "The house is nice and clean now." (Print 53 0)
TODO Action create/bed or dust,sweep[/room,dirt,furniture] "The house needs more than that!" (Print 53 13) if room clean, otherwise "The house needs more than that!"
TODO Action close,close/drawer,dresser,chest "You can't. It's too full of dirty, messy, dwarf clothes." (Print 53 14)
TODO Action open/chest,dresser,drawer "No. It's private." (Print 53 5)
TODO Action get<in,on/bed or sleep,lay[<down,on,in] "You have better things to do." (Print 53 15)

Scripts

Status Behavior Type Name Trigger Behavior
TODO Interaction cleanBedroom Player enters "clean room" command Player animates through a choreographed cleaning sequence, walking to each area and using a cleaning view (63) to remove clutter items (newView_6 through newView_24). Progresses through 19 states disposing of different clutter objects. Sets global115 when complete.
TODO Background chaseEgo Player remains in room for 60+ seconds (state 0) Dwarf (newAct using view 290) approaches player if they linger in the center area (rect 95,127,241,145). Prints "Oh, oh! You've been caught trespassing!" (Print 53 16) and forces player to room 54.

Technical Notes

  • Room Number: 53
  • Picture: 53
  • Region: 601 (DwarfHouse)
  • Exits: East→54 (edge trigger at control area $0040)
  • Music: Sound 62 (dwarf house ambient, played via region 601)

State Variables

Variable Values Description
global102 0, 1 Room cleanliness state - 0 = dirty/messy, 1 = cleaned
global115 0, 1 Cleaning in progress flag - 1 when cleanBedroom script is running
global122 0, 1 Dwarf chase triggered - prevents re-triggering during chase sequence
global189 0, 1 Region 601 initialization flag
global204 0, 1 Script state tracking for cleanBedroom
global205 0, 1 Script state tracking for chaseEgo
global228 string Message buffer for dynamic look description

Clutter Objects

The room contains numerous dirt/mess view objects (views 675, 676) that are disposed of during the cleaning sequence:

  • newView_6 through newView_17: Loop 0-2 of view 676 (various floor clutter)
  • newView_18 through newView_24: Loop 0 of view 675 (bedroom items)
  • newView: View 676 loop 0 cel 0
  • newView_2 through newView_5: Additional clutter items

Entry Conditions

  • Player enters from room 54 or new game (gPrevRoomNum = 54 or 0): Positioned at 72,131 with view 4
  • Edge trigger at east side (control $0040) transitions to room 54