# Room 61: Tower Stairs

This is the interior spiral staircase of the stone tower in the old house. The room consists of narrow, steep steps that wind upward to the top of the tower and downward to the cellar. Players can look at the stairs, walls, and surrounding features, but there are no objects to interact with. Walking on the stairs triggers a dangerous falling sequence that transports the player to the cellar room.

## Look Description

"The steps spiral steeply up the stone tower of this old house."

## Interactions

| Status | Behavior Type | Command | Response |
|--------|--------------|---------|----------|
| TODO | Look | `look stair` / `look stairs` / `look step` / `look steps` | "The steps in this tower are steep and narrow. Be careful!" |
| TODO | Look | `look down` / `look <down` | "Don't look down!" |
| TODO | Look | `look wall` | "You don't see anything of interest on the walls." |
| TODO | Look | `look up` / `look <up` | "You're almost to the top!" |
| TODO | Look | `look around` / `look room` / `look tower` | "The steps spiral steeply up the stone tower of this old house." |

## Scripts

| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Interaction | fallStairs | Walking on control area $0004 (stair area) while no other script is running | Plays falling sound, changes player to falling view (44), animates player tumbling down the stairs, transitions to Room 66 (cellar), plays landing sequence with screen shake, sets `global127 = 1` to indicate fall occurred |
| TODO | Background | myLooper | Continuous when player is on control area $0200 (climbing area) | Adjusts player's loop direction based on heading: heading 335-25 (north/up) sets loop 2, heading 155-205 (south/down) sets loop 3, heading 26-154 (west) sets loop 0, other headings set loop 1 |

## Technical Notes

- **Room Number**: 61
- **Picture**: 61
- **Region**: 603 (Tower)
- **Exits**: Down→66 (Cellar), Up→58 (Top of Tower)
- **Music**: Sound 51 (fall sound)

### State Variables

| Variable | Values | Description |
|----------|--------|-------------|
| `global101` | `1` | Set to 1 on room init |
| `global127` | `0`, `1` | Set to 1 when player completes the fallStairs script |
| `local0` | - | Stores return value from Print call in fallStairs state 0 |

### Additional Technical Details

- Room uses Region 603 for tower-related logic
- Entry from Room 66 positions player at coordinates (111, 171) with view 4, loop 0, xStep 2, yStep 1
- Entry from Room 58 positions player at coordinates (155, 44) with view 4, xStep 4, yStep 2
- When player y > 130 and not on fallStairs script, looper is disabled
- Control areas: $0040 = exit to room 66 (down), $0020 = exit to room 58 (up), $0004 = fall trigger area, $0200 = climbing area (enables looper)
- fallStairs script changes room picture to 66 during fall animation sequence
