Files
kq4-decompile/rooms/kq4-003-fountain-pool/kq4-003-fountain-pool.md
2026-02-20 14:00:40 -08:00

6.7 KiB

Room 3: Fountain Pool

High-Level Summary

Room 3 is an outdoor forest clearing featuring a beautiful marble-lined pool with columns. The room serves as a transitional area connecting to rooms 2 (west), 4 (east), 9 (south), and 27 (north). The primary interactive elements include the pool itself (which can be entered for swimming/drinking), marble columns, and steps. Most notably, Cupid randomly appears in this room carrying a golden bow and arrows, which can be obtained through interaction. The room uses region 507 and features a script that handles player falling into the water based on control areas.

Look Description

"The beautiful pool, with its elegant marble columns, has a wonderful setting in these woods. The water looks so cool and inviting; you're almost tempted to jump in."

Interactions

Status Behavior Type Command Response
TODO Look look/room, look/around, look[<around][/!*] "The beautiful pool, with its elegant marble columns, has a wonderful setting in these woods. The water looks so cool and inviting; you're almost tempted to jump in." (Print 3 3) or "The beautiful pool, with its elegant marble columns, has a wonderful setting in these woods." (Print 3 4) - varies by player view
TODO Look look/pool, look/water "The beautiful pool is lined with tall marble columns. Its crystal clear water looks very inviting." (Print 3 1) or "The beautiful pool is lined with tall marble columns." (Print 3 2) - varies by player view
TODO Look look<under,in/water "You see nothing of interest in the water." (Print 3 0)
TODO Look look/column "The marble columns flank the lovely pool." (Print 3 6)
TODO Look look/stair "There are steps at the north end of the pool." (Print 3 10)
TODO Look look/dirt "You see a little golden bow, and two golden arrows, on the ground by the pool." (Print 3 20) if Cupid has arrows, otherwise "You see nothing of importance on the ground." (Print 3 21)
TODO Look look/cupid Various responses based on Cupid's state (local1): 0="Baby Cupid beats his little wings furiously as he flies through the air. In his chubby hands, he carries a golden bow, and two golden arrows." (Print 3 22), 4="Cupid happily splashes and frolics in the clear water of the pool." (Print 3 23), 1/2="Baby Cupid beats his little wings furiously as he flies through the air." (Print 3 24), 3="Oh, oh! You've startled Cupid! He quickly jumps out of the pool and flies away in fear." (Print 3 25), 5="Cupid appears to be getting ready to go swimming." (Print 3 26)
TODO Action enter/bathe, bathe,dive "Just enter the water." (Print 3 8) or "The water is too shallow to swim." (Print 3 9) - varies by player view
TODO Action hop,dive/pool,water "Just do that yourself." (Print 3 12)
TODO Action exit,(climb,get<out) "You're not in the pool." (Print 3 11) or "There are steps at the north end of the pool." (Print 3 10) - varies by player view
TODO Action drink, get/drink "You drink some of the pool water, it quenches your thirst." (Print 3 13) or default message (Print 800 1) - only when in normal form (view 2)
TODO Get get/water "You have no reason to carry water." (Print 3 7)
TODO Get get/arrow,arrow Various responses based on Cupid's state and proximity - can obtain bow and arrows from Cupid
TODO Get rob/arrow "You were taught never to steal!" (Print 3 19)
TODO Get get/cupid "You couldn't get Cupid." (Print 3 29)
TODO Talk talk/cupid, converse Various responses based on Cupid's state and proximity
TODO Talk play/cupid "You might frighten Cupid if you come too close." (Print 3 28)
TODO Talk kiss "You can't get close enough to do that." (Print 3 30)
TODO Inventory deliver (give item to Cupid) "Cupid would not be interested in anything of yours." (Print 3 34)
TODO Action fish<enter, capture/fish, cast/pole "You don't see any fish here." (Print 3 5)

Scripts

Status Behavior Type Name Trigger Behavior
TODO Background fall When player walks into water control area ($0004) while in normal form (view 2) Triggers falling animation into the pool. Changes player view to 17 (falling), plays fallSound (51), then transitions to swimming view (19). Resets after 2 seconds and returns to normal walking.
TODO Background doCupid When player has bow/arrows (item 14 owned by room 202) and random chance (33%) on room entry Manages Cupid's appearance and behavior. Cupid enters from left, may shoot arrows, wanders near pool, can be startled by player proximity causing him to flee. Handles giving bow/arrows to player.
TODO Interaction egoActions Player triggers get arrow action or drinks from pool State 1: Handles player obtaining bow/arrows from Cupid. State 10-13: Handles player drinking from pool animation and text display.

Technical Notes

  • Room Number: 3
  • Picture: 3
  • Region: 507
  • Exits: North→27, South→9, East→4, West→2
  • Music: 9 (theme sound)

State Variables

Variable Values Description
local1 (cupid_state) 0, 1, 2, 3, 4, 5 Cupid's current behavior state: 0=arriving, 1=fleeing away from pool, 2=fleeing toward pool, 3=shooting/fleeing from water, 4=wandering in pool, 5=leaving
local3 (falling) 0, 1 Whether player is currently falling into water
local4 (drank_water) 0, 1 Whether player has drunk from the pool in current session
local5 Timer Timer for fall animation sequence
local6 Timer Timer for Cupid wandering behavior
global100 0, 1 Overlay state (triggers room overlay 103 if true)
global101 0 Initialized to 0, purpose unclear
global182 0, 1 Flag set after obtaining arrows

Synonyms

  • cupid = cupid, man, animal, boy, baby
  • kiss = kiss, embrace

Inventory Items

  • Item 14: Golden bow and arrows (owned by player after obtaining from Cupid)

Control Areas

  • $0004: Water area (triggers fall script when entering in normal form)
  • $0008: Shallow water (changes player view to 7)
  • $0010: Special terrain/feature near water
  • $0200: Another terrain type (changes player view to 6)
  • $0800: Another terrain type (changes player view to 5)

Entry Points

  • From room 2 (west): Player enters at x=1, positioned based on horizon
  • From room 4 (east): Player enters at x=318, positioned based on horizon
  • From room 9 (south): Player enters at y=187
  • From room 27 (north): Player enters at x position preserved, y near horizon+2
  • New game: Player starts at x=98, y=176