# Room 23: Forest Path with Cottage

This is an outdoor forest scene with a river flowing westward and a cottage visible in the distance. The room features a robin bird that appears when the player has the magic berry (item 19). The bird can be observed pulling an earthworm from the ground, then flying away and leaving the worm behind. The player can pick up the earthworm after the bird departs. The room also contains hazard zones that trigger falling animations when the player walks on them.

## Look Description

"You are walking through a forest thick with pine trees. A nearby river rushes westward from the distant mountain range. In the distance, you see a large house."

## Interactions

| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look` / `look around` / `look room` | "You are walking through a forest thick with pine trees. A nearby river rushes westward from the distant mountain range. In the distance, you see a large house." |
| TODO | Look | `look cottage` / `look house` | "It's too far in the distance to see it clearly." |
| TODO | Look | `look robin` / `look bird` | (If bird present and in state 0: "A pretty robin pulls hungrily at a long earthworm." Otherwise: "You see a bird flying away.") |
| TODO | Look | `look crow` | (Unhandled - returns unclaimed) |
| TODO | Look | `look earthworm` | (If bird present and has berry and in state 0: "A pretty robin pulls hungrily at a long earthworm." If worm already taken: "You see a fat worm wiggling on the ground." If player has worm: Shows worm inventory. Otherwise: "You don't see one here.") |
| TODO | Look | `look dirt` | (If worm taken: "You see a fat worm wiggling on the ground." If bird present and in state 0: "A pretty robin pulls hungrily at a long earthworm." Otherwise: "You see nothing of importance.") |
| TODO | Talk | `talk robin` / `talk bird` | (If in state 0: "Cheep, cheep!" Otherwise: "Not now.") |
| TODO | Action | `kill robin` / `kill bird` | "Not a little robin!" |
| TODO | Action | `capture robin` / `capture bird` / `get robin` / `get bird` / `kiss robin` / `kiss bird` | (If bird present: "You're not close enough." Otherwise: "You don't see one here.") |
| TODO | Action | `help robin` / `help bird` | "How can you do that, Rosella?" |
| TODO | Inventory | `deliver` (when bird present) | "The robin can't understand." |
| TODO | Inventory | `deliver` (when no bird) | "There's no one here." |
| TODO | Action | `capture earthworm` / `get earthworm` | (If worm present and close enough: Picks up worm, worm disappears from ground. Otherwise: "You can't do that now.") |

## Scripts

| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Background | fallSouth | Walking on south control zone ($0004) | Plays fall sound, animates player falling south, plays dizzy sequence, returns player to normal |
| TODO | Background | fallRed | Walking on red control zone ($0010) | Plays fall sound, animates player falling, plays dizzy sequence, returns player to normal |
| TODO | Background | shortFall | Walking on short fall zone ($1000) | Plays fall sound, shorter fall animation sequence, dizzy, returns to normal |
| TODO | Interaction | birdActions | Bird present and player within 30 pixels while bird in loop 2 | Bird switches to flying animation, spawns worm prop on ground, flies away to the north and exits screen |
| TODO | Interaction | wormActions | Triggered by birdActions when bird leaves | After delay, worm moves to player's inventory. Player receives worm and 2 score points |

## Technical Notes

- **Room Number**: 23
- **Picture**: 23
- **Exits**: North→17, East→24, South→29, West→22
- **Music**: Not specified

### State Variables

| Variable | Values | Description |
|----------|--------|-------------|
| `global101` | `0` | Reset on room entry |
| `global100` | Any | If true, room uses overlay picture 123 |
| `global182` | `0`, `1` | Set to 1 when worm is obtained |
| `birdActions.state` | `0`, `1`, `2`, `3`, `4` | Bird behavior state: 0=present with worm, 1-3=flying away, 4=disposed |
| `worm_in_inventory` | `true`, `false` | Whether player has picked up the worm (item 19 moves between room 23 and ego) |

### Additional Technical Details

- Regions applied: 508, 501, 512
- Item 19 is the earthworm (starts with player if owned by 206, can be moved to room 23 when bird drops it, then to ego when picked up)
- Robin appears 50% of the time when player has the magic berry (item 19 owned by player)
- Worm appears in room after bird flies away (state 2)
- Bird spawns at position (275, 158), flies to (182, 51), then exits to (20, -6)
- Worm spawns at bird position minus offset when bird starts flying
- Fall triggers use control zone bitmasks: $0010 (red), $0004 (south), $1000 (short)
- Horizon is set to 74
- Sound 51 = fall sound, Sound 80 = dizzy sound
