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

74 lines
5.2 KiB
Markdown

# Room 55: Seven Dwarfs' Diamond Mine
This is the interior of the Seven Dwarfs' diamond mine. The room contains glittering diamonds embedded in the walls, a narrow hazardous path, and the dwarfs themselves who may be either peacefully working or hostile depending on the game state. Players can look at various features but cannot take the diamonds. If the dwarfs are hostile, the player will be forcefully removed from the mine.
## Look Description
"Diamonds glitter and sparkle from the earthen walls of the Seven Dwarfs' diamond mine. Within it, you see the little men busily at work."
## Interactions
| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look door` | "It is a ramshackle wooden door." |
| TODO | Look | `look out` / `look out door` / `look out mine` | "You look out the open door of the diamond mine, but notice nothing." |
| TODO | Look | `look around` / `look room` / `look mine` | "Diamonds glitter and sparkle from the earthen walls of the Seven Dwarfs' diamond mine. Within it, you see the little men busily at work." |
| TODO | Look | `look dwarf` | "You see the Seven Dwarfs toiling away with their picks and shovels, extracting the plentiful diamonds from their underground mine." |
| TODO | Look | `look mine` / `look diamond mine` | "This underground diamond mine belongs to the Seven Dwarfs." |
| TODO | Look | `look boulder` / `look gray boulder` | "Chunks of rock litter the floor of the diamond mine." |
| TODO | Look | `look down dirt` / `look down mine` | "Numerous rock and diamond chunks lie scattered on the mine floor." |
| TODO | Look | `look passageway` / `look mine passageway` | "The passageway of the diamond mine is but a short distance underground." |
| TODO | Look | `look path` | "Be careful on these narrow paths." |
| TODO | Look | `look wall` | "Sparkling diamonds flash and gleam from the mine walls." |
| TODO | Look | `look bucket` | "The bucket is brimming with sparkling diamonds." |
| TODO | Look | `look diamond` | "Sparkling diamonds gleam from the walls and litter the mine floor." |
| TODO | Get | `get boulder` | "You are not interested in the rocks." |
| TODO | Get | `get diamond` | "These diamonds do not belong to you." |
| TODO | Get | `get dwarf` | "You couldn't get the Seven Dwarfs." |
| TODO | Action | `rob diamond` | "You were raised better than that!" |
| TODO | Action | `climb boulder` | "There are no rocks to climb here." |
| TODO | Talk | `talk dwarf` / `talk` | "You endeavor to engage in conversation with the small men, but they are too busy to reply." |
| TODO | Action | `kill dwarf` | "You are NOT a murderous girl, Rosella!" |
| TODO | Action | `kiss dwarf` / `kiss` | "They are working awfully hard. That might distract them." |
| TODO | Action | `hit dwarf` | "You don't want to do that!" |
| TODO | Action | `help dwarf` | "They don't need help." |
| TODO | Inventory | `deliver [item]` / `return [item]` (if owned) | "The dwarfs have everything they need." |
## Scripts
| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Interaction | SendOut | Entering room when `dwarf_state = DWARF_STATE.HOSTILE` | Display hostile encounter message, dwarf approaches player, player is marched to door, sets `player_kicked_out = true`, transport to Room 28 |
| TODO | Interaction | Tripped | Walking on hazardous areas while `dwarf_state = DWARF_STATE.FRIENDLY` | Player falls animation sequence, lands and recovers, returns to normal walking state, sets `on_narrow_path = true` |
| TODO | Background | WalkPath | Continuous while player is on narrow paths | Adjusts player display priority while on path, monitors for tripping hazards, resets state when player leaves path |
| TODO | Background | Watch | Continuous while `dwarf_state = DWARF_STATE.FRIENDLY` | Dwarf plays "watching" animation, pauses between cycles, continuous loop |
| TODO | Background | sparkle | Continuous while `diamonds_visible = true` | Randomly selects one of 4 diamond locations, plays sparkle animation, repeats continuously |
## Technical Notes
- **Room Number**: 55
- **Picture**: 55
- **Region**: 600 (Diamond Mine)
- **Exits**: East→56, West→28 (via door/mine exit)
- **Music**: Dwarf theme (sound #30, looping)
### State Variables
| Variable | Values | Description |
|----------|--------|-------------|
| `dwarf_state` | `DWARF_STATE.FRIENDLY`, `DWARF_STATE.HOSTILE` | Controls dwarf behavior and presence |
| `diamonds_visible` | `true`, `false` | Whether diamond sparkles are visible on walls |
| `room_visited` | `true`, `false` | Set to true when player first enters |
| `player_kicked_out` | `true`, `false` | Set when dwarfs force player to leave |
| `dwarf_music_playing` | `true`, `false` | Background music state |
| `on_narrow_path` | `true`, `false` | Whether player is on hazardous path |
### Additional Technical Details
- Room uses Region 600 for shared diamond mine logic
- Synonyms defined: `path` = `ledge`
- Region synonyms: `dwarf` = `ass` = `dwarf` = `man` = `person`
- Entry from Room 28 uses different starting position than entry from Room 56
- Player must navigate narrow paths with risk of tripping
- The `SendOut` script forces the player to leave if `dwarf_state = DWARF_STATE.HOSTILE`