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