Files
kq4-decompile/rooms/kq4-056-seven-dwarfs-diamond-mine-west.md
2026-02-20 10:16:03 -08:00

4.3 KiB

Room 56: Seven Dwarfs' Diamond Mine (West)

This is the western section of the Seven Dwarfs' diamond mine. The room contains working dwarfs, a bucket full of diamonds, and a dwarf who will give the player a lantern in exchange for returning a lost pouch of diamonds. The room has different visual states depending on whether the player has found the pouch and whether they've returned it to receive the lantern.

Look Description

"One dwarf appears to be idling by the diamond bucket."

Interactions

Status Behavior Type Command Response
TODO Look look / look around / look room / look mine / look diamond mine "One dwarf appears to be idling by the diamond bucket."
TODO Look look dwarf "You see the busy little dwarfs hard at work within the diamond mine. The diamonds flash and sparkle from the earthen walls."
TODO Look look bucket "You see a bucket brim full of sparkling diamonds."
TODO Talk talk dwarf / converse dwarf (near dwarf, has pouch, no lantern) Triggers answer1 script with dialogue sequence
TODO Talk talk dwarf / converse dwarf (not near dwarf or no pouch) "You attempt to talk with the dwarf by the bucket again, but he only ignores you. You get the message."
TODO Action kiss dwarf / kiss (near dwarf) "You attempt to kiss the dwarf, but he seems embarrassed by it."
TODO Action deliver pouch / return pouch / deliver diamond / return diamond (has pouch, no lantern, near dwarf) Triggers handOff script - dwarf accepts pouch, gives lantern, awards 3 points
TODO Action deliver pouch / return pouch / deliver diamond / return diamond (not near dwarf) "The dwarf is not interested."
TODO Action deliver pouch / return pouch / deliver diamond / return diamond (doesn't have pouch) "The dwarf is not interested."
TODO Get get bucket / rob bucket "The bucket is not yours, Rosella!"
TODO Get get lantern / rob lantern "You were raised better than that!"

Scripts

Status Behavior Type Name Trigger Behavior
TODO Background dwarvesMove Continuous Controls dwarf character animations - randomly selects from 6 different movement/animation sequences for the working dwarfs
TODO Background sparkle Continuous when diamonds_visible = true Randomly selects one of 4 diamond sparkle props, plays sparkle animation cycle, repeats continuously
TODO Interaction answer1 Talking to dwarf with pouch but no lantern Displays multi-line dialogue sequence where dwarf explains player shouldn't be in mine, then offers lantern in exchange for pouch
TODO Interaction handOff Delivering pouch to dwarf while near bucket Stops dwarf animations, hides sparkle effects, shows dwarf accepting pouch animation, awards 3 points, gives player lantern (item 3), then resumes dwarf work animations

Technical Notes

  • Room Number: 56
  • Picture: 56
  • Style: $0010
  • Region: 600 (Diamond Mine)
  • Exits: West→55
  • Music: Dwarf theme (sound #30, looping via region)

State Variables

Variable Values Description
diamonds_visible true, false Whether diamond sparkles are visible (global223)
has_pouch true, false Player has pouch of diamonds (item 1)
has_lantern true, false Player has received lantern from dwarf (item 3)
pouch_returned true, false Player has returned pouch to dwarf (controls room visuals and available interactions)

Additional Technical Details

  • Room uses Region 600 for shared diamond mine interactions
  • Room has different visuals based on inventory state:
    • With pouch (item 1): Dwarf by bucket appears with different animation
    • Without pouch: Different dwarf positions, no pouch on dwarf
    • With lantern (item 3): Lantern visible on dwarf
    • Without lantern: No lantern shown on dwarf
  • When delivering pouch to dwarf, player receives lantern and 3 points are awarded
  • Player enters at position (65, 139) from east (Room 55)
  • Edge detection returns player to Room 55 if they go too far east (onControl $0040)
  • Global101 is set to 1 on room entry (purpose unclear - may be initialization flag)