# Room 56: Diamond Mine

Room 56 is the Seven Dwarfs' underground diamond mine, accessible from the cavern entrance in room 55. The room features multiple animated dwarves working at the mine, with one dwarf standing by a bucket full of diamonds who serves as the primary NPC interaction. The player can return lost diamonds to the dwarves in exchange for a lantern, which is required for exploring other dark areas of the game.

## Look Description

"You see the busy little dwarfs hard at work within the diamond mine. The diamonds flash and sparkle from the earthen walls."

## Interactions

| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look[<around]` / `look/room` / `look/mine[<diamond]` | "You see the busy little dwarfs hard at work within the diamond mine. The diamonds flash and sparkle from the earthen walls." (Print 56 2) |
| TODO | Look | `look/dwarf` | "One dwarf appears to be idling by the diamond bucket." (Print 56 3) |
| TODO | Look | `look/bucket` | "You see a bucket brim full of sparkling diamonds." (Print 56 4) |
| TODO | Look | `look/dwarf` (region) | "You see the Seven Dwarfs toiling away with their picks and shovels, extracting the plentiful diamonds from their underground mine." (Print 600 0) |
| TODO | Look | `look/mine[<diamond]` (region) | "This underground diamond mine belongs to the Seven Dwarfs." (Print 600 1) |
| TODO | Look | `look/boulder[<gray]` (region) | "Chunks of rock litter the floor of the diamond mine." (Print 600 2) |
| TODO | Look | `look/dirt[<mine]` (region) | "Numerous rock and diamond chunks lie scattered on the mine floor." (Print 600 3) |
| TODO | Look | `look/passageway[<mine]` (region) | "The passageway of the diamond mine is but a short distance underground." (Print 600 4) |
| TODO | Look | `look/path` (region) | "Be careful on these narrow paths." (Print 600 5) |
| TODO | Look | `look/wall` (region) | "Sparkling diamonds flash and gleam from the mine walls." (Print 600 6) |
| TODO | Look | `look/bucket` (region) | "The bucket is brimming with sparkling diamonds." (Print 600 7) |
| TODO | Look | `look/diamond` (region) | "Sparkling diamonds gleam from the walls and litter the mine floor." (Print 600 8) |
| TODO | Talk | `converse/dwarf` (when close to dwarf at bucket) | Triggers dialogue if player has pouch but not lantern |
| TODO | Talk | `converse/dwarf` (region) | "You endeavor to engage in conversation with the small men, but they are too busy to reply." (Print 600 14) |
| TODO | Talk | `converse[/!*]` (when close) | Triggers dialogue if player has pouch but not lantern |
| TODO | Talk | `converse[/!*]` (region) | "You endeavor to engage in conversation with the small men, but they are too busy to reply." (Print 600 14) |
| TODO | Action | `kiss/dwarf` / `kiss[/!*]` (when close) | "You attempt to kiss the dwarf, but he seems embarrassed by it." (Print 56 6) |
| TODO | Action | `kiss/dwarf` (region) | "They are working awfully hard. That might distract them." (Print 600 16) |
| TODO | Action | `kill/dwarf` (region) | "You are NOT a murderous girl, Rosella!" (Print 600 15) |
| TODO | Action | `hit/dwarf` (region) | "You are NOT a murderous girl, Rosella!" (Print 600 17) |
| TODO | Action | `help/dwarf` (region) | "They don't need help." (Print 600 18) |
| TODO | Action | `get,rob/bucket` | "The bucket is not yours, Rosella!" (Print 56 7) |
| TODO | Action | `rob/lantern` | "You were raised better than that!" (Print 56 8) |
| TODO | Get | `get/boulder` (region) | "You are not interested in the rocks." (Print 600 9) |
| TODO | Get | `get/diamond` (region) | "These diamonds do not belong to you." (Print 600 10) |
| TODO | Get | `get/dwarf` (region) | "You couldn't get the Seven Dwarfs." (Print 600 11) |
| TODO | Get | `rob/diamond` (region) | "These diamonds do not belong to you." (Print 600 12) |
| TODO | Get | `climb/boulder` (region) | "There are no rocks to climb here." (Print 600 13) |
| TODO | Inventory | `deliver,return/pouch,diamond[/dwarf]` / `deliver,return/dwarf/pouch,diamond` | Returns diamonds to dwarf if player has pouch and doesn't have lantern; triggers handOff script to receive lantern |
| TODO | Inventory | `deliver,return` (region) | "The dwarfs have everything they need." (Print 600 19) |

## Scripts

| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|---------|
| TODO | Background | `dwarvesMove` | Auto-started on room init | Controls dwarf animations - randomly selects from 6 different movement/animation patterns, looping continuously |
| TODO | Background | `sparkle` | Triggered when global223 is true (time-based) | Randomly animates one of 4 sparkle props to simulate diamonds glittering |
| TODO | Interaction | `answer1` | Player talks to dwarf (converse/dwarf) when close and has pouch but not lantern | Multi-state dialogue: dwarf first greets player, then expresses concern, then becomes perturbed |
| TODO | Interaction | `handOff` | Player delivers pouch/diamonds to dwarf at correct position | Triggers sequence: dwarves stop moving, sparkle stops, dwarf animation changes, player receives lantern (item 3), score increases by 3, dwarf gives dialogue about taking lantern and leaving |

## Technical Notes

- **Room Number**: 56
- **Picture**: 56
- **Region**: 600 (Diamond Mine Region)
- **Exits**: West → Room 55 (entrance cavern)
- **Music**: Sound 30 (dwarfMusic) - plays when in room
- **Style**: $0010 (default)

### State Variables

| Variable | Values | Description |
|----------|--------|-------------|
| `gEgo has: 1` | true/false | Player has the diamond pouch (obtained from room 54) |
| `gEgo has: 3` | true/false | Player has the lantern (obtained from dwarf in this room) |
| `global223` | true/false | Time-based flag controlling diamond sparkle animations (true during certain game periods) |
| `global101` | 1 | Set to 1 on room init |

### Room-Specific Variables

| Variable | Values | Description |
|----------|--------|-------------|
| `newAct_4` | Actor/View | Main dwarf by the diamond bucket |
| `newAct_5` | Actor | Secondary dwarf animation (moves above bucket dwarf) |
| `newAct`, `newAct_2`, `newAct_3` | Actors | Additional dwarf animations in the mine |
| `newProp`, `newProp_2`, `newProp_3`, `newProp_4` | Props | Sparkle effects for diamonds |
| `newView` | View | Extra element shown when player doesn't have lantern (item 3) |

### Inventory Item Requirements

- **Item 1**: Diamond pouch (pouch containing diamonds)
- **Item 3**: Lantern (reward for returning diamonds)

### Entry Conditions

- Player enters from room 55 (west)
- Position reset to x=65, y=139 on entry
- Dwarves animate differently based on whether player has the pouch (item 1)
- Sparkle props only appear when global223 is true

### Region Synonyms

The following synonyms are defined in region 600:
- `dwarf` = `ass dwarf man person`

### Control Areas

- Edge detection: If player moves to x position with control area $0040, automatically returns to room 55
