# Room 48: Ogres' Bedroom

This is the ogres' upstairs bedroom in the cottage. The room features a large bed that dominates the space, a locked door leading to the hallway, windows looking out to the forest, a mirror, and various furniture. The player can find an axe leaning against the right wall. Most significantly, this room contains the ogress (giantess) who will chase and capture the player if they linger too long. The bed animation differs based on whether both ogres are present. Players must grab the axe and escape quickly before the ogress catches them.

## Look Description

"You have entered the ogres' upstairs bedroom where a huge bed dominates the place. In the left wall, you notice a closed door. %s"

## Interactions

| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look under bed` / `look <under/bed` | "There is nothing under the bed." |
| TODO | Look | `look bed` | "The large bed occupies most of the room." |
| TODO | Look | `look in chest` / `look in dresser` / `look in drawer` / `look <in/chest,dresser,drawer` | "No. It's private." |
| TODO | Look | `look chest` / `look dresser` / `look drawer` | "It must hold the ogre's and ogress' clothes." |
| TODO | Look | `look carpet` | "A bear rug lies on the floor by the bed." |
| TODO | Look | `look window` (when in position) | "You see the forest out the window." |
| TODO | Look | `look stair` / `look stairs` | "The stairs lead downward." |
| TODO | Look | `look barrel` | "There is nothing of importance in the barrel." |
| TODO | Look | `look mirror` (when in position) | "You look in the mirror and see the reflection of a poor, but beautiful, peasant girl." |
| TODO | Look | `look door` (when key owned) | "The door is closed. From behind it, you hear a soft clucking sound." |
| TODO | Look | `look door` (when key not owned) | "You see a solid, wooden door." |
| TODO | Look | `look wall` | "There is nothing of importance on the walls." |
| TODO | Look | `look dirt` / `look down` / `look <down` | "There is nothing of interest on the floor." |
| TODO | Look | `look around` / `look room` / `look bedroom` / `look cottage` / `look [<around,at][/room,bedroom,cottage]` | "You have entered the ogres' upstairs bedroom where a huge bed dominates the place. In the left wall, you notice a closed door." |
| TODO | Get | `get ax` / `get axe` | Picks up axe if in room and player is close enough, awards 2 points |
| TODO | Get | `get ax` (already have it) | "You already have it." |
| TODO | Action | `sleep` / `lay in bed` / `lay on bed` / `get in bed` / `lay [<in,on,down][/bed]` | "You don't have time for that!" |
| TODO | Action | `open chest` / `open dresser` / `open drawer` | "No. It's private." |
| TODO | Action | `open window` (when in position) | "The windows don't open." |
| TODO | Action | `open door` (when in position) | "You can't. The door is locked." |
| TODO | Action | `unlatch door` (when in position) | "You can't. It's locked and you don't have the key." |
| TODO | Action | `break door` (when in position) | "You could never do that." |
| TODO | Action | `bang door` (when in position and key owned) | "You knock on the door, but receive no answer. You hear a soft, clucking from behind the door." |
| TODO | Action | `bang door` (when in position and key not owned) | "You knock on the door, but receive no answer." |
| TODO | Look | `look giantess` / `look ogress` (when chase active) | "You don't want to mess with this ogress. You'd better get out of here!" |
| TODO | Talk | `converse giantess` / `converse ogress` / `talk giantess` / `talk ogress` (when chase active) | "This is no time for conversation!" |
| TODO | Action | `kill giantess` / `kill ogress` (when chase active) | "You have no way of killing a giant ogress!" |
| TODO | Get | `get giantess` / `get ogress` / `capture giantess` / `capture ogress` (when chase active) | "That's ridiculous!" |
| TODO | Inventory | `deliver` / `give` (when chase active) | "You don't want to get that close to the ogress!" |

## Scripts

| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Interaction | ogressChase | Automatic on room entry (delayed based on time of day) | Ogress enters from left, announces she sees player, begins chasing. If caught, displays death message and sets game over flag |
| TODO | Background | playMusic | Called by ogressChase state changes | Controls chase music (sound 10) and catch music (sound 11) based on chase phase |

## Technical Notes

- **Room Number**: 48
- **Picture**: 48
- **Region**: 602
- **Exits**: East→49 (via control area $0040)
- **Music**: Ogress chase theme (sound 10), Ogress catch theme (sound 11)

### State Variables

| Variable | Values | Description |
|----------|--------|-------------|
| `ogress_chase_started` | `true`, `false` | Set to true when ogress chase begins (global204 = 1) |
| `ogress_caught_player` | `true`, `false` | Set to true when ogress catches player (global127 = 1) |
| `axe_taken` | `true`, `false` | Set to true when player picks up axe (global182 = 1) |
| `both_ogres_present` | `true`, `false` | Controls bed animation - true if both ogres in bed (global100) |
| `has_key` | `true`, `false` | Whether player has the key (item 33) |
| `has_axe` | `true`, `false` | Whether player has the axe (item 16) |

### Additional Technical Details

- Room uses region 602 for shared logic
- Axe (item 16) is positioned at 243,124 when in room
- Door requires key (item 33) to unlock
- Ogress enters from position 0,0 and moves to 64,138 before chasing
- If player is at position x < 135 and y > 128, ogress takes alternate path
- Ogress uses view 245 when chasing, view 48 when catching
- Player is hidden and game over is triggered when caught
- Death message appears in dialog with special formatting (67 -1 10 parameters)
- The bed shows different cel (animated vs static) based on global100 flag
- Two windows at different positions player can look out of
