Files
kq4-decompile/rooms/kq4-007-fishermans-shack.md
2026-02-20 10:16:03 -08:00

9.2 KiB

Room 7: Fisherman's Shack

This room is the fisherman's shack area on the coastline. It features a weather-beaten cottage with a pier extending out into the ocean. The player can interact with the fisherman NPC, enter the cottage through a door, and walk on various terrain types (shore, pier, water edge). The room includes several animated wave effects and a fisherman who arrives via the pier at specific times.

Look Description

"A poor fisherman's shanty adorns this part of the coastline. A pier stretches, from the house, out into the ocean to the west. You see a pretty meadowland off to the east."

Interactions

Status Behavior Type Command Response
TODO Look look/room look/around look[<around] "A poor fisherman's shanty adorns this part of the coastline. A pier stretches, from the house, out into the ocean to the west. You see a pretty meadowland off to the east." (Print 7 10)
TODO Look look/anchor "An old, rusted anchor leans against the wall of the house." (Print 7 11)
TODO Look look/cottage look/shack "The fisherman's shack looks badly in need of repair, as the sun, wind, and salt spray have taken their toll. From the house, an old pier leads out into the ocean." (Print 7 12)
TODO Look look[<under]/dock look[<under]/pier "There is only ocean under the old pier." (Print 7 13)
TODO Look look/door "This is a plain wooden door." (Print 7 14)
TODO Look look/window (when in position to see through) "You peek through the window, but can make out no details." (Print 7 15)
TODO Look look/window (when not in position) "(Print 800 1) - Default response
TODO Look look/dock look/pier "The old, worn pier juts out into the ocean from the weather-beaten house." (Print 7 16)
TODO Look look/fisherman (when global116 = 2) "You see a grizzled old fisherman on the pier. Apparently, he isn't having any luck today." (Print 7 17)
TODO Look look/fisherman (when not global116 = 2) "You don't see one here." (Print 7 3)
TODO Look look/grass "A pretty meadow leads eastward from here." (Print 7 18)
TODO Get get/fisherman (when global116 = 2) "You couldn't get the fisherman." (Print 7 0)
TODO Get get/fisherman (when not global116 = 2) "What fisherman?" (Print 7 1)
TODO Get get/pole (when fisherman present) "It's his, Rosella!" (Print 7 2)
TODO Get get/pole (when fisherman not present) "You don't see one here." (Print 7 3)
TODO Get rob/pole (when fisherman present) "You're not a thief, Rosella!" (Print 7 4)
TODO Get rob/pole (when fisherman not present) "You don't see one here." (Print 7 3)
TODO Get get/anchor "It's too heavy for you to move." (Print 7 19)
TODO Action kiss (when global116 = 2) "You think, for a moment, that it might help, but then change your mind." (Print 7 5)
TODO Action kiss (when not global116 = 2) "Who?" (Print 7 6)
TODO Action break/window "That's vandalism!" (Print 7 20)
TODO Action break/door "You could never do that." (Print 7 21)
TODO Action open/window "The windows do not open." (Print 7 22)
TODO Action close/door "The door is already closed." (Print 7 23)
TODO Action unlatch/door (when global100 = 0) "The door is already unlocked." (Print 7 25)
TODO Action unlatch/door (when global100 = 1) "You can't. It's locked and you don't have the key." (Print 7 26)
TODO Action bang/door (when at door and global100 = 0) "You knock loudly on the shanty door. A woman's voice answers, 'Jest come on in!'" (Print 7 27)
TODO Action bang/door (when at door and global100 = 1) "You knock loudly on the shanty door. From inside, a man's voice calls out, 'D'ya know what TIME it is?! GO AWAY!!'" (Print 7 28)
TODO Action bang/door (when not at door) "(Print 800 1) - Default response
TODO Action open/door (when door already open) "Try waiting until it closes." (Print 7 29)
TODO Action open/door (when at door and global100 = 0) Opens door, plays door sound, transitions to room 42
TODO Action open/door (when at door and global100 = 1) "You can't. It's locked and you don't have the key." (Print 7 26)
TODO Action open/door (when not at door) "(Print 800 1) - Default response
TODO Talk talk/fisherman converse/fisherman (when global116 = 2) "You say a few words to the old fisherman. However, he must have other things on his mind as he seems to ignore you." (Print 7 24)
TODO Talk talk/fisherman (when not global116 = 2) "What fisherman?" (Print 7 1)
TODO Inventory deliver (when global116 = 2) "The fisherman ignores you." (Print 7 7)
TODO Inventory deliver (when not global116 = 2) "To whom?" (Print 7 8)
TODO Action help/fisherman "How can you do that, Rosella?" (Print 7 9)

Scripts

Status Behavior Type Name Trigger Behavior
TODO Background water Continuous Detects terrain under player and switches view accordingly: control 1=shore (view 2), 2048=shallow (view 5), 512=more shallow (view 6), 8=more shallow (view 7), 2=water (view 8 - swimming). Sets global105 based on terrain type.
TODO Interaction fallSouth Player heading south in waterfall area (control $0010) Plays fall sound, switches to view 17, animates falling south, then returns to swimming view
TODO Interaction fallNorth Player heading north in waterfall area (control $0004) Plays fall sound, switches to view 17, animates falling north, then returns to swimming view
TODO Interaction fallRocks Heading toward rocks in shore area (control $1000, global105=0) Player trips on rocks, plays fall sound, shows dizzy animation (view 18) for 5 seconds
TODO Interaction fishWalkHouse Fisherman NPC arrives (global116=2, time < 40 seconds since last) Fisherman walks from pier position into cottage. Opens door, enters, closes door. Sets global116 to 3 after entering.
TODO Background waveActions Room initialization Animates three wave props (wave1, wave2, wave3) in sequence - cycles each wave cel then hides it
TODO Background Prop (view 625) Room initialization Animated cloud/sky prop at x:200 y:19 with forward cycling

Technical Notes

  • Room Number: 7
  • Picture: 7
  • Region: 503, 504 (setRegions)
  • Exits: north → 1, south → 13, east → 8, west → 95
  • Horizon: 86
  • Music: Sound 80 (dizzy), Sound 51 (fall), Sound 300 (door)

State Variables

Variable Values Description
global100 0, 1 Unknown - controls door lock state (0=unlocked, 1=locked)
global101 0 Unknown - set to 0 on room init
global105 0, 1, 2, 3, 4 Terrain type state (0=shore, 1=shallow, 2=more shallow, 3=shallowest, 4=swimming)
global107 0, 9 Water/underwater state - 9 when in waterfall area
global116 0, 2, 3 Fisherman state - 2=present on pier, 3=entered cottage, 0=not present
global160 varies Hour from system time (used for fisherman arrival)
global159 varies Minute from system time
global158 varies Second from system time
global199 varies Hour when fisherman last state change
global197 varies Minute when fisherman last state change
global198 varies Second when fisherman last state change
local0 varies Previous onControl state for water script
local1 varies Current onControl state for water script
local12 varies Time elapsed since fisherman state change (in seconds)
local13 varies Fisherman X position based on time elapsed

Special Mechanics

  • Terrain-Based View Switching: The water viewer script monitors control areas under the player and switches the ego view to match terrain (shore, shallow water, swimming).
  • Waterfall Areas: Control areas $0010 (south waterfall) and $0004 (north waterfall) trigger falling animations when global107=9.
  • Rock Tripping: Control area $1000 (rocks) triggers the fallRocks script when player is in shore mode (global105=0).
  • Fisherman NPC: Appears based on system time. If time since last appearance < 40 seconds, fisherman walks from pier into cottage. Arrival position depends on elapsed time (40s→x:40, 12-20s→x:120, >20s→x:166).
  • Door Interaction: Can only open door when in position (rect 204-233, 129-148) and when global100=0 (unlocked). Opening door transitions to room 42.
  • Entry Positions: Various positioning based on previous room and global105 (terrain state).
  • Window Peeking: Can only look through window when in specific position rects near the cottage.
  • Synonyms: fisherman = man (for NPC reference)

Props

  • wave1, wave2, wave3: Animated ocean waves at different positions
  • newProp, newProp_2, newProp_3: Additional animated water effects
  • newProp_4: Animated sky/cloud element
  • door: Cottage door with open/close animation
  • fisherCage: Collision detection area for fisherman NPC