Files
kq4-decompile/rooms/kq4-025-beach-at-river-delta.md
2026-02-20 10:16:03 -08:00

3.8 KiB

Room 25: Beach at River Delta

This is a coastal scene where a river from the east meets the blue ocean. The room features animated water effects showing waves near the river's mouth and along the beach. Players can look at the brook, grass, and surrounding area. The primary interactive element is drinking from the river, which triggers a swimming animation sequence when the player is in normal form and positioned correctly near the water. Entry positions vary based on the player's current transformation state.

Look Description

"A river, coming from the east, spills into the blue ocean before you. A lonely beach edges the ocean. From atop the bluff, a lovely meadow stretches eastward."

Interactions

Status Behavior Type Command Response
TODO Look look /brook "The cold water of the river contrasts sharply with the warmer ocean water as the two converge."
TODO Look look /grass "Eastward, you see a pretty green meadow."
TODO Look look [around] / look [room] / look [beach] "A river, coming from the east, spills into the blue ocean before you. A lonely beach edges the ocean. From atop the bluff, a lovely meadow stretches eastward."
TODO Action drink [water] / get drink (If in water zone in normal form: "Ahhh! It tastes good!" with swimming animation. If not in normal form: "You're not close enough." If in water zone but not normal form: "You're not close enough.")

Scripts

Status Behavior Type Name Trigger Behavior
TODO Interaction riverActions Player types drink water while in water zone and in normal form Plays drinking animation: player switches to swimming view (21), pauses with message "Ahhh! It tastes good!", plays recovery animation, returns to normal walking view. If player is not in normal form (global105 != 0), prints "You're not close enough."
TODO Background waveActions Continuous on room entry Animates wave props (wave1, wave2) in sequence: cycles through cel frames, hides and shows waves in loop for continuous water effect

Technical Notes

  • Room Number: 25
  • Picture: 25
  • Region: 504, 501, 503, 506 (applied via setRegions)
  • Exits: North→19 (bluff/meadow), South→1, East→26, West→31
  • Music: (Sound 25 - if applicable)
  • Overlay: Picture 125 shown when global100 is true

State Variables

Variable Values Description
global100 true, false Controls whether overlay picture 125 is displayed
global105 0, 1, 2, 3, 4 Player transformation state (0 = normal form, 1-4 = various transformed states like swimming, frog, etc.)
global106 Various Secondary transformation tracking variable
gEgoViewer Script or 0 Stores player's current viewer script before entering water
local1 Bitmask Control area detection for water zone

Additional Technical Details

  • Synonyms defined: brook = brook = brook
  • Wave Props: wave1 (position 177, 74), wave2 (position 164, 116) - animated water effects at river mouth
  • Additional Props: newProp (position 254, 182), newProp_2 (position 226, 164) - extra water animations
  • Player entry positions are adjusted based on global105 (transformation state) and gPrevRoomNum
  • Player must be in normal form (global105 = 0) to drink from the river
  • Player must be within coordinates 185-319 (x) and 150-180 (y) to interact with water
  • The riverActions script saves the current player script (gGEgoScript), sets a temporary script, performs the drinking animation, then restores the original script and viewer
  • Control area bits checked: $0008, $0800, $0002, $0200 - various water/terrain detection flags