78 lines
5.9 KiB
Markdown
78 lines
5.9 KiB
Markdown
# Room 10: Forest Path
|
|
|
|
This is a forest path room in King's Quest IV connecting multiple areas of the game world. The room features a dense pine forest surrounding the player, with a cottage visible in the distance to the north. An ogre may randomly appear and chase the player, representing a dangerous encounter. Birds fly in the sky overhead. The room serves as a transit hub connecting the eastern and western regions of the game map.
|
|
|
|
## Look Description
|
|
|
|
"A thick forest of pine trees surrounds you. You see a house in the distance to the north."
|
|
|
|
## Interactions
|
|
|
|
| Status | Behavior Type | Command | Response |
|
|
|--------|--------------|---------|----------|
|
|
| TODO | Look | `look cottage` | "It's too far in the distance to see it clearly." |
|
|
| TODO | Look | `look around` / `look room` | "A thick forest of pine trees surrounds you. You see a house in the distance to the north." |
|
|
| TODO | Look | `look /boulder` | "There are rocks here and there." (from Region 508) |
|
|
| TODO | Look | `look /dirt` / `look down` | "You see nothing of importance on the ground." (from Region 508) |
|
|
| TODO | Look | `look /grass` | "Pine needles, among the grass, crunch beneath your feet as you walk through the forest." (from Region 508) |
|
|
| TODO | Look | `look /bush` | "You don't see many shrubs here." (from Region 508) |
|
|
| TODO | Look | `look /flora` | "Mostly, you see pine trees." (from Region 508) |
|
|
| TODO | Look | `look /blossom` | "You don't notice many flowers here." (from Region 508) |
|
|
| TODO | Look | `look /forest` | "A forest of pine trees encircles you." (from Region 508) |
|
|
| TODO | Look | `look /crow` / `look /bird` | If raven present: "The raven doesn't look to be a friendly bird at all!" / If not: "You see small birds here and there." (from Region 508) |
|
|
| TODO | Action | `climb /boulder` | "You don't like to climb rocks." (from Region 508) |
|
|
| TODO | Get | `get /blossom` | "There aren't many flowers to pick!" (from Region 508) |
|
|
| TODO | Action | `climb /forest` | "It is difficult to climb trees while wearing that dress!" (from Region 508) |
|
|
| TODO | Talk | `converse /crow` | If raven present: "Caw, caw!" / If not: "Cheep, cheep!" (from Region 508) |
|
|
| TODO | Action | `get/capture /crow` / `get/capture /bird` | If raven present: "You wouldn't want it even if you COULD get it!" / If not: "Cheep, cheep!" (from Region 508) |
|
|
| TODO | Action | `kiss /crow` / `kiss /bird` | If raven present: "Not this bird!" / If not: "Cheep, cheep!" (from Region 508) |
|
|
| TODO | Look | `look /giant` (when ogre present) | "The ogre looks MEAN!! Better get out of there...FAST!!" (from Region 517) |
|
|
| TODO | Talk | `converse` (when ogre present) | "This is no time for conversation!" (from Region 517) |
|
|
| TODO | Action | `kill /giant` (when ogre present) | "You have no way of killing a giant ogre!" (from Region 517) |
|
|
| TODO | Action | `get/capture /giant` (when ogre present) | "That's ridiculous!" (from Region 517) |
|
|
| TODO | Action | `kiss` (when ogre present) | "He wouldn't like it, and neither would you!" (from Region 517) |
|
|
| TODO | Inventory | `deliver [item]` (when ogre present and item owned) | "You don't want to get that close to the ogre!" (from Region 517) |
|
|
| TODO | Inventory | `deliver [item]` (when ogre present and item not owned) | "You don't have it." (from Region 517) |
|
|
|
|
## Scripts
|
|
|
|
| Status | Behavior Type | Name | Trigger | Behavior |
|
|
|--------|--------------|------|---------|----------|
|
|
| TODO | Interaction | ogreActions | Random chance on room entry OR entering from room 4 without item 33 | Creates ogre actor that chases player; plays ogre theme music; ogre catches player and displays death message; sets game over state |
|
|
| TODO | Background | bird1Actions | Random chance (50%) on room entry when global100 is false | Creates animated bird in sky (view 342, loop 5), cycles between animation frames with random delays |
|
|
| TODO | Background | bird2Actions | Random chance (50%) on room entry when global100 is false | Creates second animated bird in sky (view 342, loop 4), cycles between animation frames with random delays |
|
|
| TODO | Background | ravenActions (from Region 508) | Random chance (20%) on room init | Creates raven actor that flies across screen, disposes after reaching destination |
|
|
|
|
## Technical Notes
|
|
|
|
- **Room Number**: 10
|
|
- **Picture**: 10
|
|
- **Region**: 508 (Forest Region), 517 (Ogre's Region)
|
|
- **Exits**: North→4, South→16, East→11, West→9
|
|
- **Music**: Ogre theme (sound #5, looping when ogre present)
|
|
|
|
### State Variables
|
|
|
|
| Variable | Values | Description |
|
|
|----------|--------|-------------|
|
|
| `global101` | `0` | Set to 0 on room init |
|
|
| `global189` | `0`, `1` | Ogre encounter state flag (set to 1 during chase) |
|
|
| `global165` | `4`, `5` | Ogre state tracking - 4 triggers new encounter, 5 prevents immediate re-encounter |
|
|
| `global100` | `true`, `false` | Whether overlay picture 110 is active (birds suppressed when true) |
|
|
| `local2` | `0`, `1` | Ogre encounter initialized flag |
|
|
| `ogre_present` | `true`, `false` | Whether gNewAct (ogre) exists in the cast |
|
|
|
|
### Additional Technical Details
|
|
|
|
- Synonyms defined in Ogre's Region: `kiss` = `embrace`, `giant` = `giant` = `giant` = `giant` = `man` = `giant`
|
|
- Entry from room 16 (south) positions player at y=187 with x constrained to minimum 63
|
|
- Entry from room 4 (north) positions player at horizon+2 (y=74) with x constrained to minimum 200
|
|
- Ogre uses view 250 for walking, view 78 for catching animation, view 79 for departing
|
|
- Ogre has custom movement: xStep 6, yStep 2 with Walk cycle and Avoid for pathfinding
|
|
- Random ogre spawn: 40% chance if not arriving from room 4 and no current ogre
|
|
- Guaranteed ogre spawn: 100% when arriving from room 4 without item 33
|
|
- Birds only spawn when global100 is false (overlay not active)
|
|
- Bird 1 uses view 342 loop 5, Bird 2 uses view 342 loop 4
|
|
- Room clears timers with dispose: 84 on exit
|
|
- When ogre catches player: ego is hidden, ogre plays catch animation, plays scream sound (#6), game over triggered (global127 = 1)
|