Files
kq4-decompile/rooms/kq4-078-swamp-island/kq4-078-swamp-island.md
2026-02-20 14:00:40 -08:00

8.6 KiB

Room 78: Swamp Island (Cobra/Fruit)

This is the swamp island where a HUGE cobra guards a magical fruit tree. The player must use the flute to hypnotize the cobra in order to retrieve the fruit needed to save their father. The room features a dangerous jump across grass tufts to reach the island, and a snake that blocks access to the fruit until mesmerized.

Look Description

"You see a small island in the middle of the huge swamp. Upon this island grows a scrawny little tree. %s Unfortunately, a huge cobra protects it."

(Note: %s is replaced with fruit description when present: "A large, glistening fruit hangs from a small branch.")

Interactions

Status Behavior Type Command Response
TODO Look look cobra / look snake "A HUGE cobra protects the small tree that bears the wondrous fruit; the fruit that your father's life depends upon." (if fruit in room) / "A HUGE cobra protects the small island." (if fruit taken)
TODO Look look forest / look tree "The tree is small and scrawny. It looks like it's taken almost every ounce of its strength to produce this one, wondrous fruit." (if fruit in room) / "The small tree looks bare and lonely without its marvelous fruit. Oh, well; in a mere hundred years it'll have another one." (if fruit taken)
TODO Look look fruit "You see a single glistening fruit upon the scrawny tree." (if fruit in room and not owned) / "You don't see one here." (if not in room) / Shows fruit if already in inventory
TODO Look look island "A tiny tree grows on this little swamp island. Hanging from a small branch is a large, glistening fruit." (if fruit in room) / "A tiny tree grows on this little swamp island." (if fruit taken)
TODO Look look grass tuft / look grass "The grass tufts lead to the small island."
TODO Look look around / look [room/marsh] "You see a small island the huge swamp. in the middle of Upon this island grows a scrawny little tree. %s Unfortunately, a huge cobra protects it." (with conditional fruit text)
TODO Look look * [cobra] Various cobra-specific responses
TODO Talk talk cobra / talk "Cobras don't usually talk."
TODO Action kill cobra / kill snake "You have NO way of killing a big cobra."
TODO Action get cobra / capture cobra "You wouldn't want the cobra!"
TODO Action kiss cobra / kiss "That is NOT a good idea!"
TODO Action hit cobra / hit snake "You couldn't get close enough. Besides, the cobra's too big!"
TODO Action hop Triggers jump script if player is on left side of screen (x < 109)
TODO Get get fruit Retrieves fruit if player is in correct position, has nothing, and snake is hypnotized or not in room. Awards 10 points.
TODO Get get board Picks up board if in room and player is in correct position near board location
TODO Action lay board / place board Places board as bridge if player has board and is in correct position
TODO Inventory play flute Mesmerizes the cobra if player has flute (item 0) and snake is not already hypnotized. Awards 4 points.
TODO Inventory deliver [item] to cobra "The snake does not require anything from you."
TODO Inventory fling [item] to cobra "The snake would not be affected by that."

Swamp Region (513) Interactions

Status Behavior Type Command Response
TODO Look look water "The mucky swamp spreads in all directions."
TODO Look look forest "Large, moss-draped trees grow abundantly here."
TODO Look look grass / look tuft "The ground is mostly covered with a swampy quagmire. You notice tufts of swamp grass poking up from the murky water." / "You notice some grass tufts leading eastward."
TODO Look look dirt "The ground is mostly covered with a swampy quagmire."
TODO Action drink "You kneel down and drink the mucky swamp water. Yech!! It tastes AWFUL!" (if in normal form) / "Yech!! It tastes AWFUL!" (if in frog form)
TODO Action dennis crown / place crown Transforms player into frog if in the swamp area and has crown (item 10). Sets global105 = 13 (frog form state).
TODO Action detach crown / get off crown Reverts player from frog form if global105 = 13. Sets global105 = 12 (normal state).
TODO Action get water "You have no reason to carry water."
TODO Action get blossom "You don't see many flowers in a swamp."
TODO Action climb cliff "The mountain is too difficult to climb."
TODO Action enter fish / cast pole "You don't see any fish here."
TODO Action bathe / dive / wade "Just enter the swamp if you wish to try that."

Scripts

Status Behavior Type Name Trigger Behavior
TODO Interaction jump Player types 'hop' command Handles jumping across the swamp. Checks player position and state, plays jump animation using view 69, moves player to target coordinates defined in local2 array. Awards 2 points on first jump.
TODO Background snakeActions Continuous Controls the cobra behavior. States: idle (1-2), hypnotized (20-21), attacking (10-13), and death sequence. Uses view 330 for snake animation.
TODO Interaction boardActions Placing or picking up board Handles board placement and pickup. State 1: laying board animation. State 2: board appears. State 3: board in place (tracks proximity with global132). State 10: picking up board animation. Awards 2 points for first board placement.
TODO Background fruitActions Continuous (if fruit in room) Animates the magical fruit with a blinking/cycling effect. Cycles between cel states.
TODO Background swamp Continuous (region script) Monitors player position in swamp. Handles terrain-based view changes (normal vs frog form). Controls player movement restrictions based on global105 state (12 = normal, 13 = frog). Handles death in quicksand areas.
TODO Interaction drinking Player attempts to drink swamp water Animation of player drinking swamp water. Plays drinking sound, shows message.

Technical Notes

  • Room Number: 78
  • Picture: 78 (178 if global100 is set - alternate picture variant)
  • Region: 513 (Swamp Region)
  • Exits: West→77 (mainland), East→78 (self/loopback)
  • Music: Sound 50 (theme), Sound 39 (snake theme), Sound 40 (snake attack), Sound 55 (charm/magic)

State Variables

Variable Values Description
global105 0, 12, 13 Player form state: 12 = normal, 13 = frog transformation (crown used), 0 = in water/transformation
global127 0, 1 Death flag - set to 1 when player dies (snake bite or quicksand)
global132 0, 1 Board proximity flag - set to 1 when player is near placed board
global155 0, 1 Flute score awarded flag - prevents re-awarding points for mesmerizing snake
global201 0, 1 Board score awarded flag - prevents re-awarding points for placing board
local0 -1 to 6 Jump counter - tracks jump sequence progress
local1 number Jump Y position tracker
local22 0, 1, 2, 3 Snake state: 0 = initial, 1 = approached (player jumped to island), 2 = hypnotized, 3 = triggered (player too close after hypnotized)
global100 0, 1 Alternate picture flag - if set, uses picture 178
global101 0 Room initialization flag

Additional Technical Details

  • Synonyms defined: kiss = embrace, cobra = cobra
  • Region synonyms (513): water = water = marsh
  • Player starts with view 2 (normal) on entering
  • Jump requires player to be on left side (x < 109) of screen
  • Board can only be placed when player x < 109 and on correct terrain (control area 1024 or local0 = 5)
  • Fruit can only be picked up from position (171-195, 157-167)
  • Snake hypnotization requires flute (item 0) and triggers state change in snakeActions script
  • The board (item 22) must be placed to safely cross to island
  • Region 513 handles frog transformation mechanics with crown (item 10)
  • First jump awards 2 points (global201), first board placement awards 2 points (global201), first flute use awards 4 points (global155), fruit pickup awards 10 points

Inventory Item Reference

  • Item 0: Flute (required to hypnotize snake)
  • Item 10: Crown (required for frog transformation)
  • Item 22: Board (used to create bridge to island)
  • Item 25: Magical Fruit (quest item to save father)