Files
kq4-decompile/rooms/kq4-099-transitional-room.md
2026-02-20 10:16:03 -08:00

48 lines
2.4 KiB
Markdown

# Room 099: Transitional Room
This is a simple transitional room that automatically moves the player to room 25 after a brief delay. The player enters from the left side and walks across the screen while a timer counts down. This appears to be the game's opening sequence, transitioning from the Sierra logo/intro to the main starting area (room 25).
## Look Description
This room has no interactive elements or distinct look description. It serves purely as a transitional space where the player character automatically walks across the screen before the game advances to the starting room (25). The lack of a handleEvent method means no player interactions are possible in this room.
## Interactions
This room has no interactions defined. The player cannot look at, get, or interact with anything in this room.
## Scripts
| Status | Behavior Type | Name | Trigger | Behavior |
|--------|--------------|------|---------|----------|
| TODO | Background | AutoWalk | Room initialization | Player enters at position (20, 99) and automatically walks to (300, 100) using MoveTo motion and Fwd cycle |
| TODO | Background | TimerTransition | After global222 > local0 | Tracks frames elapsed (global222), adjusts game speed (global223), and transitions to room 25 when timer expires |
## Technical Notes
- **Room Number**: 99
- **Picture**: 991
- **Style**: $0006 (fade effect)
- **Exits**: Automatic transition to room 25 after timer expires
### State Variables
| Variable | Values | Description |
|----------|--------|-------------|
| `global222` | incrementing counter | Tracks number of frames since entering the room |
| `local0` | computed value (60 + initial time) | Threshold value for timer; set on first frame |
| `global223` | 0, 1, 2 | Controls game speed during transition: 0 (fast) for first 30 frames, 1 (medium) for frames 30-60, 2 (normal) after 60 frames |
### Timing Logic
The transition timing works as follows:
1. On first frame (global222 = 1): local0 is set to current time + 60
2. Each subsequent frame: global222 increments
3. When current time exceeds local0: transition to room 25
4. During transition: game speed changes based on how much time has passed (affects animation smoothness)
### Room Differences
This room is nearly identical to room 98, differing only in the destination room:
- Room 98 transitions to room 698 after the intro animation
- Room 99 transitions to room 25 (the starting area with the brook/beach)