# Room 044: Inside Whale

This room takes place inside the belly of a giant whale. The player has been swallowed and must find a way to escape before succumbing to the noxious fumes. The room contains a skeleton of an unlucky sailor named "James" resting on boat wreckage, floating debris, and various whale anatomy features. The player must use the peacock feather to tickle the whale's throat to trigger a sneeze and escape back to the ocean.

## Look Description

"Horrors! You have been swallowed by a huge whale!"
"PHEW!! This place stinks!"

## Interactions

| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look[<up,around,at][/room,whale]` | "Horrors! You have been swallowed by a huge whale!" + "PHEW!! This place stinks!" (Print 44 0, 1) |
| TODO | Look | `look/skeleton,james,man,person` | "The skeleton of an unlucky man (let's call him James), rests atop the wreckage of a small boat." (Print 44 17) |
| TODO | Look | `look/fish` | "Bits and pieces of fish are everywhere." (Print 44 10) |
| TODO | Look | `look/boat` | "There's nothing in the old boat. It didn't help 'James' and it won't help you." (Print 44 11, 13) |
| TODO | Look | `look[<under]/water` | "There is nothing of interest under the seawater." (Print 44 12) |
| TODO | Look | `look/water` (bottle present) | "You notice a bottle floating in the seawater of the whale's stomach." (Print 44 18) |
| TODO | Look | `look/water` (bottle taken) | "Seawater floats in the whale's stomach." (Print 44 19) |
| TODO | Look | `look/belly` | "This is a disgusting place to be! Seawater, dead fish, junk...you name it...float around in here. Hopefully, your fate will not be the same as poor 'James' lying over there." (Print 44 13) |
| TODO | Look | `look/tongue` | "This is the biggest tongue you have ever seen! It's also extremely slippery, slimy, and bumpy. Ugh!" (Print 44 14) |
| TODO | Look | `look/esophagus,lips,molar` | "The whale's throat and mouth are enormous! Huge teeth, a great tongue, and yes...even a large uvula. What's that?, you say. Well, suffice it to say, it looks like a big punching bag and hangs down from the top of the throat. See, you learn something new every day!" (Print 44 15) |
| TODO | Look | `look/uvula` | "Yes, that's a big uvula, all right!" (Print 44 16) |
| TODO | Get | `get,look<in/skeleton,man,person,james` | "There is nothing of importance with the skeleton." (Print 44 2) |
| TODO | Get | `get,capture/fish` or `fish` | "Not here." (Print 44 3) |
| TODO | Get | `get,drink[/drink,water]` | "NO!!" (Print 44 4) |
| TODO | Get | `get/boat` | "This old boat won't help you." (Print 44 5) |
| TODO | Get | `get/bottle` (bottle present, close enough) | "Ok." (Print 44 6) - bottle picked up, global182 set |
| TODO | Get | `get/bottle` (bottle present, too far) | "You can't get that yet." (Print 800 1) |
| TODO | Get | `get/bottle` (already has bottle) | "You already have it." (Print 44 7) |
| TODO | Get | `get/bottle` (no bottle present) | "What bottle?" (Print 44 8) |
| TODO | Action | `light,ignite,create,begin/fire` or `light/fire` | "You couldn't start a fire in here as it's too wet." (Print 44 9) |
| TODO | Action | `hit/molar` (y < 82) | "You strike the whale's teeth...but nothing happens." (Print 44 20) |
| TODO | Action | `hit/molar` (y >= 82) | "You can't get that yet." (Print 800 1) |
| TODO | Action | `hit/tongue` | "You strike the whale's tongue...but nothing happens." (Print 44 21) |
| TODO | Action | `hit/uvula,esophagus` (in rect 140,71 to 178,86) | "You strike the large uvula (punching bag-looking thing)...but nothing happens." (Print 44 22) |
| TODO | Action | `hit/uvula,esophagus` (outside rect) | "You can't get that yet." (Print 800 1) |
| TODO | Action | `climb` | "Go ahead. Try it." (Print 44 23) |
| TODO | Action | `open,force/lips` | "You're not strong enough to do that." (Print 44 27) |
| TODO | Action | `tickle` (has peacock feather, in correct position) | Triggers escape sequence - whale sneezes player out to room 31 (Print 44 30) |
| TODO | Action | `tickle` (has peacock feather, wrong position) | "Not here!" (Print 44 28) |
| TODO | Action | `tickle` (no peacock feather) | "With what?" (Print 44 29) |
| TODO | Talk | `call,help` or `save/me` | "You scream, holler, and shout for help until your throat is hoarse; but to no avail." (Print 44 24) |
| TODO | Talk | `escape` | "How could you open the whale's mouth?" (Print 44 25) |
| TODO | Action | `bathe` | "You really want to swim here?!" (Print 44 26) |

## Scripts

| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Background | deadTimer | On room entry - timer starts immediately | Counts down and triggers player death from noxious whale fumes. If player has peacock feather (item 8), timer is 4 seconds; otherwise 2 seconds. After timer expires, player dies with message about fumes (Print 44 31) |
| TODO | Background | inWhale | Continuous - attached as viewer to ego | Monitors player position and terrain type to switch views: view 8 (shallow water), view 7 (medium depth), view 6 (deep water), view 53 (exit zone - triggers escape sequence). Handles transitions between swimming states |
| TODO | Interaction | slide | Player enters exit zone (control area $0004) while no script running and timer not active and inWhale state <= 0 | Plays falling animation sequence, transitions player back to whale's mouth (view 52, 19) then re-enables inWhale viewer |
| TODO | Interaction | tickle | Player uses tickle command with peacock feather in correct position (rect 140,71 to 178,86) | Plays tickle animation with feather, displays escape message, awards 5 score points, sets global189 to 0, and transports player to room 31 |

## Technical Notes

- **Room Number**: 44
- **Picture**: 44
- **Style**: $0008
- **Exits**: Room 31 (back to ocean) - achieved via tickle escape sequence
- **Music**: Sound 51 (fallSound)

### State Variables

| Variable | Values | Description |
|----------|--------|-------------|
| `global101` | 1 | Room initialization flag - set to 1 on entry |
| `global183` | 1 | Whale interior flag - set to 1 to indicate player is inside whale |
| `global189` | 0, 1 | Escape state flag - 1 = still in whale, 0 = escaped |
| `global182` | 0, 1 | Bottle collected flag - set to 1 when bottle is picked up |
| `global127` | 1 | Death flag - set to 1 when player dies from whale fumes |
| `local3` | 0+ | Dead timer tick counter |

### Player View States

| View | Meaning |
|------|---------|
| 8 | Swimming in shallow water |
| 7 | Swimming in medium depth |
| 6 | Swimming in deep water |
| 53 | Near exit/escape zone |
| 52 | Falling animation |
| 19 | Ejected from whale |
| 51 | Tickle animation |
| 73 | Death animation |

### Control Areas

| Hex Value | Meaning |
|-----------|---------|
| $0004 | Exit zone - triggers slide/return sequence |
| $0200 | Shallow water |
| $0008 | Medium depth water |
| $0800 | Deep water |
| $0001 | Exit/escape zone |

### Inventory Items

| Item # | Name | Purpose |
|--------|------|---------|
| 8 | Peacock feather | Used to tickle whale's throat to escape |
| 31 | Bottle | Collectible item in whale's stomach |
