# 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)