Files
kq4-decompile/rooms/kq4-069-the-crypt.md
2026-02-20 10:16:03 -08:00

8.7 KiB

Room 69: The Crypt

This is the crypt room in King's Quest IV, featuring an upper platform with a rope ladder, a coffin containing a mummy, and Pandora's Box on the floor. The player must figure out how to lower the rope ladder to access the platform, avoid or defeat the mummy, and obtain Pandora's Box.

Look Description

"What an incredible place! This looks like an ancient burial tomb, with hieroglyphics written on the walls, and an old coffin against the far wall. %s %s"

The description dynamically includes:

  • If rope not lowered: "A pile of rope is at the edge of the upper platform."
  • If Pandora's Box is in room: "You see an odd-looking, little chest here. It must be Pandora's Box."

Interactions

Status Behavior Type Command Response
TODO Look look[<around][/!*] / look/room,crypt "What an incredible place! This looks like an ancient burial tomb, with hieroglyphics written on the walls, and an old coffin against the far wall." (Print 69 0)
TODO Look look/epitaph "You cannot read the ancient hieroglyphics." (Print 69 1)
TODO Look look<in/casket[<elderly] (when close) "You don't want to do that!" (Print 69 2)
TODO Look look/casket "The lid of the coffin is decorated with hieroglyphics." (Print 69 3)
TODO Look look/hemp,ladder / look/hemp[<heap] If rope not lowered: "You see a pile of rope on the end of the platform." (Print 69 4). If rope lowered: "A rope ladder extends from the platform down to the bottom of the crypt." (Print 69 5)
TODO Look look/platform If rope not lowered: "You see a pile of rope on the end of the platform." (Print 69 4). If rope lowered: "The platform towers over the floor of the crypt." (Print 69 6)
TODO Look look/wall "There are ancient hieroglyphics on the walls." (Print 69 7)
TODO Look look/dirt / look<down If box in room: "Pandora's Box is on the floor of the crypt." (Print 69 8). If box not in room: "There is nothing of interest on the floor." (Print 69 9)
TODO Look look/mummy If mummy active: "This mummy appears to be at least a thousand years old! Its' wrappings are loose and decayed...and it stinks!" (Print 69 10). If mummy not active: "There is no mummy here." (Print 69 11)
TODO Look look/box[<pandora] If box in room: "Pandora's Box is on the floor of the crypt." (Print 69 8). If player has box: event not claimed (allows opening). If box not present: "There is no box here." (Print 69 12)
TODO Action get,move,lower/hemp,ladder,heap If rope already lowered: "The rope is fine where it is." (Print 69 13). If too far: generic distance message. Otherwise: "You reach down and get the pile of rope. To your happy surprise, you find that the rope is actually a rope ladder attached to the end of the platform! Gladly, you throw the rope ladder over the edge of the platform, where it falls to the floor below." (Print 69 14) - awards 2 points
TODO Action climb[/(hemp,ladder)] If rope not lowered: generic "can't do that" (Print 800 3). If climbing down or not on platform: descends ladder if close enough. If climbing up and on platform: climbs up to platform
TODO Action get/box If not on platform: "Not from up here!" (Print 69 15). If already has box: "You already have it." (Print 69 16). If box not in room: "It's not here." (Print 69 17). If too far: generic distance message. Otherwise: triggers stoop script to pick up box
TODO Action place,drop,return/box If doesn't have box: "You don't have it." (Print 69 18). If not on platform: "Not from up here!" (Print 69 15). Otherwise: triggers putBack script to place box back
TODO Action open/box If doesn't have box: "You don't have it." (Print 69 18). If not on platform: "You can't do here." (Print 69 19). Otherwise: event not claimed (allows box opening)
TODO Action read/(epitaph,wall,casket,lid) "You cannot read the ancient hieroglyphics." (Print 69 1)
TODO Action get,rob,get,move/casket "It's too heavy to move." (Print 69 20)
TODO Action bang[<on]/casket If close enough: "There's no answer." (Print 69 21). If too far: "You'll have to get a little closer, Rosella." (Print 69 22)
TODO Action open/casket,lid If not on platform: triggers proc0_13 (likely generic response). If lid open: "It's already closed!" (Print 69 23). Otherwise: "You don't want to do that!" (Print 69 2)
TODO Action get,move/casket If on platform: "The coffin is much too heavy for you to move." (Print 69 24). Otherwise: triggers proc0_13
TODO Talk converse If mummy active: "You attempt a conversation with the old mummy, and receive nothing but a low moan in reply." (Print 69 25). If no mummy: "There is no one here who you can talk to." (Print 69 26)
TODO Talk /mummy If no mummy: "There is no mummy here." (Print 69 11) and claimed. If mummy active: various responses based on verb
TODO Talk /mummy kill "How can you kill something that is already dead?" (Print 69 27)
TODO Talk /mummy get,capture "Why would you want it?" (Print 69 28)
TODO Talk /mummy kiss "What a horrible thought!" (Print 69 29)
TODO Talk /mummy help,save "It's beyond help." (Print 69 30)
TODO Inventory deliver/*/mummy If mummy active: "The mummy doesn't need anything." (Print 69 31). If no mummy: "There is no mummy here." (Print 69 11)

Scripts

Status Behavior Type Name Trigger Behavior
TODO Interaction doMummy Player approaches too close to coffin (within 25 pixels) while not in safe zone (not in rect 138,110,192,125) Mummy animation sequence: appears, walks toward player. If player has Scarab (item 7): mummy runs away in fear, player gains points. If no Scarab: mummy chases and kills player (sets global127 = 1)
TODO Interaction DownLadder Player climbs up/down the rope ladder Complex climbing animation sequence. When climbing up: requires player to be in ladder area (rect 99,142,120,158). Sets local7 to 1 when on platform. When on platform, triggers doMummy script
TODO Interaction DropRope Player uses get/lower on rope Player walks to rope, pulls rope, rope lowers to floor (sets global170 = 1). Awards 2 points
TODO Background cryptFall Player steps on certain control area (onControl: 1 & $0004) while not already in a script Player falls into pit with animation, screen shakes. Prints death message "You will be the next victim of the mummy!!" and sets global127 = 1 (death)
TODO Interaction stoop Player uses get/box while on platform and box is present Player performs stoop animation, picks up Pandora's Box, box is removed from room. Awards 4 points (or -2 if global169 = 0), sets global218 = 1, global182 = 1
TODO Interaction putBack Player uses place/drop/return/box while on platform and has box Player places box back on floor at current position. If global169 = 0: stops all sounds, plays sound 50, awards 2 points. Creates new box actor at appropriate position

Technical Notes

  • Room Number: 69
  • Picture: 69
  • Style: $0010 (DISPLAY_FADE)
  • Exits:
    • Falling through pit (control area $0040) → Room 18
  • Music:
    • Fall sound: 51 (fallMusic)
    • Mummy music: 27 (mummyMusic)

State Variables

Variable Values Description
local7 0, 1 Player on ladder/platform flag (0 = on ground, 1 = on platform)
local8 0, 1 Mummy active/visible flag (0 = not visible, 1 = mummy encountered)
global170 0, 1 Rope lowered flag (0 = rope not lowered, 1 = rope ladder lowered to floor)
global127 0, 1 Death flag (1 = player has died)
global218 0, 1 Pandora's Box picked up flag (1 = box has been picked up from this room)
global182 0, 1 Puzzle progress flag (set when box is picked up)
global169 0, 1 Time-based flag (affects score adjustments when placing box)

Objects in Room

Object View Description
Platform 520 (loop 2) Upper platform with rope
Rope/Prop 520 (loop 0) Rope pile or ladder
Coffin 522 (loop 3) Decorative coffin
Coffin Lid 522 (loop 2) Animated lid
Mummy Actor 195 The mummy (view changes for animation)
Pandora's Box 519 Box actor (only if in room)

Control Areas

  • $0040 - Pitfall area (triggers cryptFall script, leads to room 18)
  • $0004 - Crypt floor trigger area (triggers fall if player walks on it incorrectly)

Inventory Items Referenced

  • Item 4: Pandora's Box
  • Item 7: Scarab (needed to defeat mummy)