plunderedhearts/globals.zap

1808 lines
41 KiB
Plaintext
Raw Normal View History

2019-04-14 07:37:50 +03:00
.FUNCT INTDIR-F,?TMP1
EQUAL? PRSA,V?ROW-TO,V?ROW,V?ROW-DIR \FALSE
IN? PROTAGONIST,SKIFF \FALSE
EQUAL? P-DIRECTION,P?EAST \?CCL8
EQUAL? HERE,BY-SHIP \?CND9
PRINTI "That would take you past"
CALL TPRINT,SHIP
PRINTR " into the open sea!"
?CND9: SET 'ROWING,ROWEAST
PRINT DIPPING-OARS
PRINTD SKIFF
PRINTI " plows through the lagoon."
EQUAL? HERE,SHALLOWS \?CCL13
CALL QUEUE,I-CURRENT,-1
SET 'ROWING,1
MOVE SKIFF,LAGOON
CRLF
CALL GOTO,SKIFF
RSTACK
?CCL13: ADD SKIFF-LOC,ROWING >?TMP1
ADD SHIP-LOC,1
EQUAL? ?TMP1,SHIP-LOC,STACK \?CCL15
FSET? SHIP,MUNGBIT \?CCL18
CALL JIGS-UP,STR?297
RSTACK
?CCL18: PRINTI " You glide into the shadow of"
CALL TRPRINT,SHIP
CRLF
SET 'SKIFF-LOC,SHIP-LOC
SET 'ROWING,0
MOVE SKIFF,BY-SHIP
CALL GOTO,SKIFF
RSTACK
?CCL15: CRLF
RTRUE
?CCL8: EQUAL? P-DIRECTION,P?WEST \?CCL20
SET 'ROWING,ROWWEST
EQUAL? HERE,SHALLOWS \?CCL23
PRINTI "You can row"
CALL TPRINT,SKIFF
PRINTI " no farther west"
PRINT PCR
RTRUE
?CCL23: ADD SKIFF-LOC,ROWING
LESS? STACK,2 \?CCL25
PRINT DIPPING-OARS
PRINTD SKIFF
PRINTI " noses into the sand of the shallows. You get out"
PRINT PCR
CRLF
CALL DEQUEUE,I-CURRENT
SET 'SKIFF-LOC,1
MOVE SKIFF,SHALLOWS
CALL GOTO,SHALLOWS
RTRUE
?CCL25: PRINT DIPPING-OARS
PRINTD SKIFF
PRINTI " shoots over the waves"
PRINT PCR
EQUAL? HERE,BY-SHIP \TRUE
MOVE SKIFF,LAGOON
CALL GOTO,SKIFF
RTRUE
?CCL20: EQUAL? P-DIRECTION,P?NORTH,P?NW,P?NE /?CCL29
EQUAL? P-DIRECTION,P?SOUTH,P?SW,P?SE \FALSE
?CCL29: PRINTR "You can barely row back and forth, much less side to side!"
.FUNCT MAN-F,PERSON
EQUAL? PRSO,ME \?CCL3
EQUAL? PRSA,V?TAKE-WITH \?CCL3
CALL RECOGNIZE
RSTACK
?CCL3: CALL NOUN-USED,W?SAILOR,MAN
ZERO? STACK /?CCL7
EQUAL? PRSA,V?HELLO \?CCL7
CALL GLOBAL-IN?,CREW,HERE
ZERO? STACK /?CCL12
CALL PERFORM,V?HELLO,CREW
RTRUE
?CCL12: PRINTR "Nothing happens here."
?CCL7: GET P-NAMW,0
EQUAL? STACK,W?MAN \?CCL14
EQUAL? PRSO,MAN \?CCL14
CALL ADJ-USED,A?BEWIGGED
ZERO? STACK /?CCL19
CALL PERFORM-PRSA,LAFOND,PRSI
RSTACK
?CCL19: CALL NOUN-USED,W?MEN,MAN
ZERO? STACK /?CCL21
EQUAL? HERE,BALLROOM,ORCHESTRA,SUPPER-ROOM /?CCL21
CALL MORE-SPECIFIC
RSTACK
?CCL21: CALL FIND-MAN >PERSON
ZERO? PERSON /?CCL25
CALL PERFORM-PRSA,PERSON,PRSI
RTRUE
?CCL25: CALL CANT-SEE,MAN
RSTACK
?CCL14: GET P-NAMW,1
EQUAL? STACK,W?MAN \FALSE
EQUAL? PRSI,MAN \FALSE
CALL ADJ-USED,A?BEWIGGED
ZERO? STACK /?CCL32
CALL PERFORM-PRSA,PRSO,LAFOND
RSTACK
?CCL32: CALL NOUN-USED,W?MEN,MAN
ZERO? STACK /?CCL34
EQUAL? HERE,BALLROOM,ORCHESTRA,SUPPER-ROOM /?CCL34
CALL MORE-SPECIFIC
RSTACK
?CCL34: CALL FIND-MAN >PERSON
ZERO? PERSON /?CCL38
CALL PERFORM-PRSA,PRSO,PERSON
RTRUE
?CCL38: CALL CANT-SEE,MAN
RSTACK
.FUNCT FIND-MAN
IN? HERO,HERE \?CCL3
RETURN HERO
?CCL3: IN? LAFOND,HERE \?CCL5
RETURN LAFOND
?CCL5: IN? DAD,HERE \?CCL7
RETURN DAD
?CCL7: IN? CRULLEY,HERE \?CCL9
RETURN CRULLEY
?CCL9: IN? COOKIE,HERE \?CCL11
RETURN COOKIE
?CCL11: IN? BUTLER,HERE \?CCL13
RETURN BUTLER
?CCL13: CALL GLOBAL-IN?,DANCERS,HERE
ZERO? STACK /?CCL15
RETURN DANCERS
?CCL15: CALL GLOBAL-IN?,CREW,HERE
ZERO? STACK /?CCL17
RETURN CREW
?CCL17: IN? CROC,HERE \FALSE
RETURN CROC
.FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ,X=0
EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3
EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3
PRINTR "Those things aren't here!"
?CCL3: EQUAL? P-XNAM,W?MOUTH,W?EYES \?CCL7
EQUAL? P-XADJN,W?LAFOND,FALSE-VALUE \?CCL7
EQUAL? PRSO,NOT-HERE-OBJECT \?CCL12
SET 'PRSO,LAFOND
RFALSE
?CCL12: SET 'PRSI,LAFOND
RFALSE
?CCL7: EQUAL? P-XADJN,W?POWDER \?CCL14
CALL HELD?,HORN
ZERO? STACK /?CCL14
EQUAL? PRSO,NOT-HERE-OBJECT \?CCL19
SET 'PRSO,POWDER
JUMP ?CND1
?CCL19: SET 'PRSI,POWDER
JUMP ?CND1
?CCL14: EQUAL? P-XNAM,W?HANDS,W?HAND /?PRD23
EQUAL? P-XNAM,W?FINGER,W?EYE,W?EYES /?PRD23
EQUAL? P-XNAM,W?HEAD,W?JAMISON /?PRD23
EQUAL? P-XNAM,W?LIP,W?LIPS,W?MOUTH \?CCL21
?PRD23: EQUAL? P-XADJN,W?NICK,W?NICHOLAS,W?CROC'S /?CTR20
EQUAL? P-XADJN,W?DAD,W?FATHER,W?PAPA /?CTR20
EQUAL? P-XADJN,W?WOMAN,W?LUCY /?CTR20
EQUAL? P-XADJN,W?JEAN,W?LAFOND \?CCL21
?CTR20: PRINTR "[Sadly, we haven't the space to handle everything. Try to refer only to characters in the story, not individual body parts or possessions. For example, you can EXAMINE PIRATE but you can't EXAMINE PIRATE'S EYEPATCH.]"
?CCL21: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL33
SET 'TBL,P-PRSO
JUMP ?CND1
?CCL33: SET 'TBL,P-PRSI
SET 'PRSO?,FALSE-VALUE
?CND1: ZERO? PRSO? /?CCL36
CALL PRSO-MOBY-VERB?
ZERO? STACK /?CCL36
SET 'X,TRUE-VALUE
JUMP ?CND34
?CCL36: ZERO? PRSO? \?CND34
CALL PRSI-MOBY-VERB?
ZERO? STACK /?CND34
SET 'X,TRUE-VALUE
?CND34: ZERO? X /?CCL44
CALL FIND-NOT-HERE,TBL,PRSO? >OBJ
ZERO? OBJ /FALSE
EQUAL? OBJ,NOT-HERE-OBJECT \TRUE
EQUAL? PRSA,V?FOLLOW,V?WALK-TO \?CCL52
CALL V-WALK-AROUND
JUMP ?CND42
?CCL52: CALL MORE-SPECIFIC
JUMP ?CND42
?CCL44: EQUAL? WINNER,PROTAGONIST \?CCL55
PRINTI "You"
JUMP ?CND53
?CCL55: FSET? WINNER,DEADBIT \?CCL57
PRINT DOESNT-RESPOND
RETURN 8
?CCL57: PRINTI "Looking confused,"
CALL TPRINT,WINNER
PRINTI " says, ""I"
?CND53: PRINTI " can't see"
CALL ADJNAME?,P-XADJ
ZERO? STACK \?CND60
CALL NAME?,P-XNAM
ZERO? STACK \?CND60
PRINTI " any"
?CND60: CALL NOT-HERE-PRINT,PRSO?
PRINTI " here!"
EQUAL? WINNER,PROTAGONIST /?CND64
PRINTC 34
?CND64: CRLF
?CND42: CALL STOP
RSTACK
.FUNCT PRSO-MOBY-VERB?
EQUAL? PRSA,V?WHAT,V?WHERE,V?SHOOT /TRUE
EQUAL? PRSA,V?SSHOOT /TRUE
EQUAL? PRSA,V?WALK-TO /TRUE
EQUAL? PRSA,V?I-LOVE-YOU /TRUE
EQUAL? PRSA,V?FIND,V?FOLLOW,V?SAVE-SOMETHING /TRUE
EQUAL? PRSA,V?ANSWER-KLUDGE /TRUE
RFALSE
.FUNCT PRSI-MOBY-VERB?
EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT /TRUE
EQUAL? PRSA,V?I-LOVE-YOU /TRUE
RFALSE
.FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ
CALL MOBY-FIND,TBL >M-F
EQUAL? 1,M-F \?CCL3
ZERO? PRSO? /?CCL6
SET 'PRSO,P-MOBY-FOUND
CALL THIS-IS-IT,PRSO
RFALSE
?CCL6: SET 'PRSI,P-MOBY-FOUND
RFALSE
?CCL3: LESS? 1,M-F \?CCL8
GETB TBL,1 >OBJ
GETP OBJ,P?GENERIC
CALL STACK >OBJ
ZERO? OBJ /?CCL8
EQUAL? OBJ,NOT-HERE-OBJECT /TRUE
ZERO? PRSO? /?CCL15
SET 'PRSO,OBJ
CALL THIS-IS-IT,PRSO
RFALSE
?CCL15: SET 'PRSI,OBJ
RFALSE
?CCL8: RETURN NOT-HERE-OBJECT
.FUNCT NOT-HERE-PRINT,PRSO?,?TMP1
ZERO? P-OFLAG /?CCL3
ZERO? P-XADJ /?CND4
PRINTC 32
PRINTB P-XADJN
?CND4: ZERO? P-XNAM /FALSE
PRINTC 32
PRINTB P-XNAM
RTRUE
?CCL3: ZERO? PRSO? /?CCL10
GET P-ITBL,P-NC1 >?TMP1
GET P-ITBL,P-NC1L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
?CCL10: GET P-ITBL,P-NC2 >?TMP1
GET P-ITBL,P-NC2L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
.FUNCT LADDER-F
ZERO? LADDER-HANGING \?CCL3
CALL CANT-SEE,LADDER
RSTACK
?CCL3: EQUAL? PRSA,V?BOARD,V?CLIMB,V?TAKE \?CCL5
LOC PROTAGONIST
EQUAL? STACK,CAPT-QUARTERS \?CCL8
FSET? LEDGE,MUNGBIT \?CCL11
PRINTI "You lean over"
CALL TPRINT,LEDGE
PRINTI ", but"
CALL TPRINT,LADDER
PRINTI " is too far out to reach"
PRINT PCR
RTRUE
?CCL11: PRINTI "It's on the other side of the window"
PRINT PCR
RTRUE
?CCL8: LOC PROTAGONIST
EQUAL? STACK,LEDGE \?CCL13
PRINTI "You "
CALL ANYTHING-HELD
ZERO? STACK /?CND14
CALL ROB,PROTAGONIST,RETICULE
PRINTI "put everything in"
CALL TPRINT,RETICULE
PRINTI " and "
?CND14: FSET? POOP,TOUCHBIT \?CCL18
PRINTI "hop out, catching the"
JUMP ?CND16
?CCL18: CALL QUEUE,I-LADDER-BLOWS,-1
PRINTI "reach out for"
CALL TPRINT,LADDER
PRINTI " and over-balance, tumbling from your perch. Your hand closes on a slimy hemp rung as you fly out over the waves, clinging tenuously, feet free, to the"
?CND16: CALL PRSO-PRINT
PRINT PCR
CRLF
CALL GOTO,ON-LADDER
RSTACK
?CCL13: EQUAL? HERE,ON-LADDER \?CCL20
EQUAL? PRSA,V?TAKE \?CCL20
PRINT HOLDING-IT
RTRUE
?CCL20: LOC PROTAGONIST
EQUAL? STACK,SKIFF \?CCL24
CALL DEBARK-SKIFF
RSTACK
?CCL24: EQUAL? HERE,POOP \?CCL26
PRINTI "If you wish to climb down"
CALL TPRINT,LADDER
PRINTI ", say so"
PRINT PCR
RTRUE
?CCL26: CALL DO-WALK,P?UP
RSTACK
?CCL5: EQUAL? PRSA,V?CUT \?CCL28
CALL HELD?,DAGGER
ZERO? STACK /?CCL31
CALL CTPRINT,DAGGER
PRINTI " isn't sharp enough to cut through"
CALL TRPRINT,LADDER
RSTACK
?CCL31: CALL PROPOSE
RSTACK
?CCL28: EQUAL? PRSA,V?UNTIE \?CCL33
CALL CTPRINT,ROPE
PRINTI " is tied in too complex a knot"
PRINT PCR
RTRUE
?CCL33: EQUAL? PRSA,V?CLIMB-DOWN \?CCL35
EQUAL? HERE,CAPT-QUARTERS \?CCL38
CALL DO-FIRST,STR?298,LADDER
RSTACK
?CCL38: CALL DO-WALK,P?DOWN
RTRUE
?CCL35: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,CAPT-QUARTERS,ON-LADDER,POOP \FALSE
PRINT COMMON-LOOKING
PRINTI "rope "
PRINTD LADDER
PRINT PCR
RTRUE
.FUNCT I-END-PROLOGUE
PRINT INDENT
PRINTI "Davis leaps across the deck to your side, ""Free me or she dies!"" he yells, jabbing a knife up to your throat. In one smooth motion,"
CALL TPRINT,HERO
PRINTI " draws his rapier, pulls you free and stabs. Davis slumps into a bloody heap.
Swooning, you fall into the Falcon's arms. You are dimly aware of being carried to the other ship, down a short flight of stairs, and laid gently on a soft bed. When you gather strength to look around, the Falcon has left you in peace.
You remain confined to this room, a large cupboard blocking the door. Meals are brought by a peg-legged old man and eaten in silence. Of your handsome rescuer you see nothing. Slowly the days pass.
"
CRLF
PRINT HIT-RETURN
PRINTI "continue.]"
CRLF
READ P-INBUF,P-LEXV
CALL CLEAR-SCREEN,10
CALL GOTO,CAPT-QUARTERS
FCLEAR CRULLEY,DEADBIT
FCLEAR DOOR,MUNGBIT
MOVE HERO,CAPT-QUARTERS
FCLEAR HERO,NDESCBIT
REMOVE COFFER
FSET COFFER,MUNGBIT
FCLEAR COFFER,LOCKEDBIT
FSET RAPIER,NDESCBIT
FCLEAR DOOR,OPENBIT
RTRUE
.FUNCT GLOBAL-SLEEP-F
EQUAL? PRSA,V?TAKE,V?WALK-TO \FALSE
CALL PERFORM,V?SLEEP
RTRUE
.FUNCT GROUND-F
EQUAL? PRSA,V?EXAMINE \?CCL3
EQUAL? HERE,RIGGING-ROOM,CROWS-NEST \?CCL6
PRINTI "Looking down at the distant deck is a mistake. Your stomach flips over"
JUMP ?CND4
?CCL6: CALL SHIP-BOARD,HERE
ZERO? STACK /?CCL8
PRINTI "Well scrubbed and smoothed floorboards make up the deck"
JUMP ?CND4
?CCL8: EQUAL? HERE,BY-SHIP,LAGOON,SHALLOWS \?CCL10
PRINTI "A sandy bottom shifts under the waves"
JUMP ?CND4
?CCL10: EQUAL? HERE,CELL-1,CELL-4 \?CCL12
PRINTI "Like the walls and ceiling, rock"
JUMP ?CND4
?CCL12: EQUAL? HERE,CELL-2 \?CCL14
PRINTI "The floor is ankle deep in mud"
JUMP ?CND4
?CCL14: CALL NOTHING-INTERESTING
PRINTI "about "
FSET? HERE,INDOORSBIT \?CCL17
PRINTI "the floor"
JUMP ?CND4
?CCL17: CALL TPRINT,GROUND
?CND4: PRINT PCR
RTRUE
?CCL3: EQUAL? PRSA,V?BOARD,V?CLIMB,V?CLIMB-ON \?CCL19
CALL WASTES
RSTACK
?CCL19: EQUAL? PRSA,V?LOOK-UNDER \?CCL21
CALL IMPOSSIBLES
RSTACK
?CCL21: EQUAL? PRSA,V?LEAVE \?CCL23
CALL DO-WALK,P?UP
RSTACK
?CCL23: EQUAL? PRSA,V?WALK-TO \FALSE
CALL NOUN-USED,W?DECK,GROUND
ZERO? STACK /FALSE
EQUAL? HERE,CABIN,LANDING,HOLD /?CTR29
EQUAL? HERE,GALLEY \?CCL30
?CTR29: CALL DO-WALK,P?OUT
RSTACK
?CCL30: EQUAL? HERE,DEUX-DECK,POOP,QUARTERDECK /?CTR33
EQUAL? HERE,MAIN-DECK,FOCSLE \?CCL34
?CTR33: PRINT LOOK-AROUND
RTRUE
?CCL34: EQUAL? HERE,CROWS-NEST,RIGGING-ROOM \?CCL38
CALL DO-WALK,P?DOWN
RSTACK
?CCL38: CALL SHIP-BOARD,HERE
ZERO? STACK /?CCL40
CALL V-WALK-AROUND
RSTACK
?CCL40: CALL WASTES
RSTACK
.FUNCT KEY-F
EQUAL? PRSA,V?TAKE \FALSE
FSET? LARGE-KEY,TRYTAKEBIT \FALSE
MOVE LARGE-KEY,PROTAGONIST
FCLEAR LARGE-KEY,TRYTAKEBIT
INC 'SCORE
PRINTR "Taken."
.FUNCT GEN-LOCK
FSET? COFFER,NDESCBIT /FALSE
RETURN DOOR
.FUNCT DOOR-F
EQUAL? HERE,CAPT-QUARTERS \?CCL3
CALL PERFORM-PRSA,CURTAIN
RTRUE
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL5
CALL NOUN-USED,W?LOCK,LDOOR
ZERO? STACK /?CCL8
PRINTI "Ladies do not look through keyholes!"
CRLF
JUMP ?CND6
?CCL8: FSET? PRSO,OPENBIT \?CCL10
PRINTI "It is open"
JUMP ?CND6
?CCL10: PRINTI "It"
PRINT IS-CLOSED
EQUAL? HERE,QUARTERDECK \?CCL13
PRINTI " and barred"
JUMP ?CND6
?CCL13: FSET? DOOR,MUNGBIT \?CND6
PRINTI ". Or, what remains of it is"
?CND6: CALL THIS-IS-IT,PRSO
PRINT PCR
RTRUE
?CCL5: EQUAL? PRSA,V?PICK \?CCL16
EQUAL? PRSO,LDOOR \?CCL16
PRINTR "The mechanism is too complex to pick."
?CCL16: EQUAL? PRSA,V?UNLOCK \?CCL20
EQUAL? HERE,UPPER-HALL-E \?CCL23
PRINTI "Only one man has the key to this room: Jean Lafond"
PRINT PCR
RTRUE
?CCL23: EQUAL? HERE,QUARTERDECK \?CCL25
CALL PERFORM,V?OPEN,DOOR
RTRUE
?CCL25: EQUAL? PRSO,WOOD-CELL-DOOR \?CCL27
PRINTI "But"
CALL TPRINT,DOOR
PRINTI " isn't locked"
PRINT PCR
RTRUE
?CCL27: EQUAL? PRSI,LARGE-KEY \?CCL29
EQUAL? PRSO,IRON-CELL-DOOR \?CCL32
FCLEAR PRSO,LOCKEDBIT
PRINTI "Unlocked"
PRINT PCR
RTRUE
?CCL32: PRINTI "That key does not unlock this door"
PRINT PCR
RTRUE
?CCL29: PRINTI "You are unable to unlock"
CALL TRPRINT,DOOR
RSTACK
?CCL20: EQUAL? PRSA,V?LOCK \?CCL34
EQUAL? PRSO,IRON-CELL-DOOR \?CCL37
EQUAL? PRSI,LARGE-KEY \?CCL37
FSET PRSO,LOCKEDBIT
PRINTI "You "
FSET? PRSO,OPENBIT \?CND40
FCLEAR PRSO,OPENBIT
PRINTI "close and "
?CND40: PRINTI "lock"
CALL TRPRINT,DOOR
RSTACK
?CCL37: EQUAL? PRSI,LARGE-KEY \?CCL43
PRINTI "That key won't work here"
PRINT PCR
RTRUE
?CCL43: EQUAL? PRSO,VER-DOOR \?CCL45
PRINT YOU-CANT
PRINTI "lock that"
PRINT PCR
RTRUE
?CCL45: CALL PROPOSE
RSTACK
?CCL34: EQUAL? PRSA,V?KNOCK \?CCL47
EQUAL? HERE,UPPER-HALL-E \?CCL50
FSET? LDOOR,LOCKEDBIT /?CCL50
IN? LAFOND,LAFS-ROOM \?CCL50
PRINTD LAFOND
PRINTR " calls, ""Come."""
?CCL50: PRINTR "Silence answers back."
?CCL47: EQUAL? PRSA,V?OPEN \FALSE
EQUAL? HERE,CABIN \?CCL58
PRINTR "It appears to be locked."
?CCL58: EQUAL? HERE,LANDING \?CCL60
CALL CTPRINT,DOOR
PRINTI " won't open"
PRINT PCR
RTRUE
?CCL60: EQUAL? HERE,QUARTERDECK \?CCL62
PRINTI "Someone yells from ahead, ""Cap'n 'll have your hide if you go down there!"" You haven't the strength to lift the bar anyway"
PRINT PCR
RTRUE
?CCL62: EQUAL? HERE,VERANDA \FALSE
FSET? DOOR,OPENBIT /FALSE
PRINT YOU-CANT-SEE-ANY
PRINT WAY-TO-DO-THAT
RTRUE
.FUNCT CEILING-F
EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,CREWS-QUARTERS \?CCL6
PRINT YOU-SEE
PRINTI " a sail rippling against the night sky through"
CALL TRPRINT,GRATE
RSTACK
?CCL6: FSET? HERE,INDOORSBIT /FALSE
CALL CANT-SEE,CEILING
RSTACK
.FUNCT WATER-F
EQUAL? HERE,LAFS-ROOM,RIGGING-ROOM /?PRD5
EQUAL? HERE,BOWSPRIT,CROWS-NEST \?CCL3
?PRD5: EQUAL? PRSA,V?PUT-ON,V?PUT,V?THROW /?CCL3
EQUAL? PRSA,V?ENTER \?CCL10
PRINT SUICIDE
RTRUE
?CCL10: CALL CANT-REACH,SEA
RSTACK
?CCL3: CALL GLOBAL-IN?,SEA,HERE
ZERO? STACK \?CCL12
CALL HELD?,WATER,HERE
ZERO? STACK \?CCL12
PRINTR "There's no water here."
?CCL12: EQUAL? PRSA,V?EXAMINE,V?LOOK-UNDER,V?LOOK-INSIDE \?CCL16
PRINTI "The water is sparkling clear"
PRINT PCR
RTRUE
?CCL16: EQUAL? PRSA,V?REACH-IN \?CCL18
PRINTI "Water"
PRINT DRIPS-OFF
RTRUE
?CCL18: EQUAL? PRSA,V?DRINK-FROM,V?DRINK \?CCL20
EQUAL? PRSO,WATER \?CCL23
PRINTI "You take a long draft. It is quite refreshing"
PRINT PCR
RTRUE
?CCL23: PRINTI "This water is much too salty to drink"
PRINT PCR
RTRUE
?CCL20: EQUAL? PRSA,V?PUT-ON \?CCL25
EQUAL? PRSI,SEA \?CCL25
CALL PERFORM,V?PUT,PRSO,SEA
RTRUE
?CCL25: EQUAL? PRSA,V?THROW \?CCL29
EQUAL? HERE,CAPT-QUARTERS \?CCL32
FSET? LEDGE,MUNGBIT /?CCL32
PRINTI "But"
CALL TPRINT,WINDOW
PRINT IS-CLOSED
PRINTR "!"
?CCL32: REMOVE PRSO
PRINTI "You toss"
CALL TPRINT-PRSO
PRINTI " into"
CALL TRPRINT,SEA
RSTACK
?CCL29: EQUAL? PRSA,V?SOAK,V?PUT \?CCL36
EQUAL? PRSO,LETTER,INVITE \?CCL39
REMOVE PRSO
PRINTI "It disintegrates quickly into nothing"
PRINT PCR
RTRUE
?CCL39: EQUAL? HERE,POOP,QUARTERDECK,FOCSLE /?CTR40
EQUAL? HERE,BOWSPRIT,CAPT-QUARTERS \?CCL41
?CTR40: CALL PERFORM,V?THROW,PRSO,SEA
RTRUE
?CCL41: EQUAL? HERE,MAIN-DECK \?CCL45
EQUAL? PRSI,SEA \?CCL48
CALL PERFORM,V?THROW,PRSO,SEA
RTRUE
?CCL48: CALL PERFORM,V?PUT,PRSO,WATER-BARREL
RTRUE
?CCL45: EQUAL? HERE,BEACH,SHALLOWS,LAGOON /?CTR49
EQUAL? HERE,BY-SHIP \?CCL50
?CTR49: EQUAL? PRSO,RAG,DRESS \?CCL55
CALL DIP-DRESS
RSTACK
?CCL55: PRINTI "You dip"
CALL TPRINT-PRSO
PRINTI " into the water"
PRINT PCR
RTRUE
?CCL50: PRINT YOU-CANT
PRINTI "reach any water"
PRINT PCR
RTRUE
?CCL36: EQUAL? PRSA,V?SWIM,V?ENTER,V?BOARD \?CCL57
EQUAL? HERE,BEACH \?CCL60
CALL DO-WALK,P?EAST
RSTACK
?CCL60: CALL V-SWIM
RSTACK
?CCL57: CALL TOUCHING?,SEA
ZERO? STACK /FALSE
PRINTI "The cool water runs through your fingers"
PRINT PCR
RTRUE
.FUNCT SKY-F
FSET? HERE,INDOORSBIT \FALSE
CALL CANT-SEE,SKY
RSTACK
.FUNCT MOON-F
FSET? HERE,INDOORSBIT \?CCL3
EQUAL? HERE,CREWS-QUARTERS,CAPT-QUARTERS,BEDROOM /?CCL3
EQUAL? HERE,LAFS-ROOM /?CCL3
EQUAL? PRSA,V?TELL-ABOUT,V?ASK-ABOUT /?CCL3
PRINT YOU-CANT
PRINTI "see the moon from here"
PRINT PCR
RTRUE
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "A dusty moonbeam swirls down from the sky."
.FUNCT HANDS-F,ACTOR
EQUAL? PRSA,V?APPLAUD \?CCL3
SET 'PRSO,FALSE-VALUE
CALL V-APPLAUD
RSTACK
?CCL3: EQUAL? PRSA,V?SHAKE \?CCL5
CALL FIND-IN,HERE,ACTORBIT,STR?267 >ACTOR
ZERO? ACTOR /?CCL8
CALL PERFORM,V?SHAKE-WITH,HANDS,ACTOR
RTRUE
?CCL8: PRINTR "Pleased to meet you."
?CCL5: EQUAL? PRSA,V?CLEAN \?CCL10
PRINTR "Done."
?CCL10: EQUAL? PRSA,V?TAKE-WITH \FALSE
EQUAL? PRSI,HANDS \FALSE
CALL PERFORM,V?TAKE,PRSO
RTRUE
.FUNCT EYES-F
EQUAL? PRSA,V?CLOSE \?CCL3
PRINTI "You blink"
PRINT PCR
RTRUE
?CCL3: EQUAL? PRSA,V?OPEN \?CCL5
PRINTR "They are open!"
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
CALL ADJ-USED,A?HIS
ZERO? STACK /FALSE
IN? HERO,HERE \FALSE
GET MANNERISMS,3
PRINT STACK
CRLF
RTRUE
.FUNCT MOUTH-F
EQUAL? PRSA,V?OPEN,V?ENTER,V?PUT-ON /?CTR2
EQUAL? PRSA,V?EXAMINE,V?POUR,V?WRING /?CTR2
EQUAL? PRSA,V?PUT \?CCL3
?CTR2: CALL ADJ-USED,A?CROC'S
ZERO? STACK \?CTR8
CALL ADJ-USED,A?CROCOD
ZERO? STACK \?CTR8
CALL NOUN-USED,W?SNOUT,MOUTH
ZERO? STACK /?CCL9
?CTR8: CALL PERFORM-PRSA,PRSO,CROC
RTRUE
?CCL9: CALL ADJ-USED,A?LAFOND
ZERO? STACK /?CCL14
CALL PERFORM-PRSA,PRSO,LAFOND
RSTACK
?CCL14: EQUAL? PRSI,MOUTH \FALSE
CALL PERFORM,V?EAT,PRSO
RTRUE
?CCL3: EQUAL? PRSA,V?OPEN \FALSE
CALL RUNNING?,I-HFOLLY
ZERO? STACK /?CCL21
PRINTR "Jamison will do that for you."
?CCL21: PRINTR "You fail to stifle a yawn."
.FUNCT PROTAGONIST-F
ZERO? QUESTIONER /FALSE
CALL GAME-COMMANDS
ZERO? STACK \FALSE
EQUAL? PRSA,V?NO /?CTR6
CALL NEGATIVE-ANSWER
ZERO? STACK /?CCL7
EQUAL? QUESTIONER,PRSO,PRSI \?CCL7
?CTR6: SET 'REACTION,REACTION-NEGATIVE
JUMP ?CND3
?CCL7: EQUAL? PRSA,V?YES /?CTR12
CALL AFFIRMATIVE-ANSWER
ZERO? STACK /?CCL13
?CTR12: SET 'REACTION,REACTION-POSITIVE
JUMP ?CND3
?CCL13: SET 'REACTION,REACTION-NEUTRAL
?CND3: SET 'QUESTIONER,FALSE-VALUE
RFALSE
.FUNCT AFFIRMATIVE-ANSWER
EQUAL? PRSA,V?CLIMB-ON,V?APPLAUD /TRUE
EQUAL? PRSA,V?GIVE,V?FOLLOW,V?DANCE /TRUE
EQUAL? PRSA,V?SGIVE /TRUE
EQUAL? PRSA,V?CURTSEY,V?KISS,V?HELLO /TRUE
EQUAL? PRSA,V?LAUGH /TRUE
EQUAL? PRSA,V?MARRY,V?I-LOVE-YOU,V?EMBRACE /TRUE
EQUAL? PRSA,V?TOUCH /TRUE
EQUAL? PRSA,V?SAVE-SOMETHING,V?WALK-TO,V?THANK /TRUE
EQUAL? PRSA,V?SSHOW,V?SHOW /TRUE
EQUAL? PRSA,V?MAKE-OUT,V?MAKE-LOVE /TRUE
EQUAL? PRSA,V?TELL \FALSE
GET P-LEXV,P-CONT
CALL YES-WORD,STACK
ZERO? STACK /FALSE
RTRUE
.FUNCT NEGATIVE-ANSWER
EQUAL? PRSA,V?BURN,V?BITE,V?KILL /TRUE
EQUAL? PRSA,V?RAPE,V?KICK,V?MUNG /TRUE
EQUAL? PRSA,V?YELL,V?SWING,V?SHAKE /TRUE
EQUAL? PRSA,V?TELL \FALSE
GET P-LEXV,P-CONT
CALL NO-WORD,STACK
ZERO? STACK /FALSE
RTRUE
.FUNCT GAME-COMMANDS
EQUAL? PRSA,V?QUIT,V?RESTORE,V?SAVE /TRUE
EQUAL? PRSA,V?SUPER-BRIEF,V?BRIEF,V?VERBOSE /TRUE
EQUAL? PRSA,V?VERSION,V?UNSCRIPT,V?SCRIPT /TRUE
EQUAL? PRSA,V?$RECORD,V?$COMMAND,V?$RANDOM /TRUE
EQUAL? PRSA,V?$UNRECORD /TRUE
EQUAL? PRSA,V?$VERIFY /TRUE
EQUAL? PRSA,V?SCORE,V?HELP /TRUE
RFALSE
.FUNCT ME-F
EQUAL? PRSA,V?TELL \?CCL3
PRINTI "You'll end up in Bedlam, talking to "
PRINTD ME
PRINTI " that way."
CRLF
CALL STOP
RSTACK
?CCL3: EQUAL? PRSA,V?GIVE \?CCL5
EQUAL? PRSI,ME \?CCL5
CALL PERFORM,V?TAKE,PRSO
RTRUE
?CCL5: EQUAL? PRSA,V?TAKE-WITH \?CCL9
EQUAL? PRSI,MAN \?CCL9
CALL RECOGNIZE
RSTACK
?CCL9: EQUAL? PRSA,V?SHOW \?CCL13
EQUAL? PRSI,ME \?CCL13
CALL PERFORM,V?EXAMINE,PRSO
RTRUE
?CCL13: EQUAL? PRSA,V?MOVE \?CCL17
CALL V-WALK-AROUND
RSTACK
?CCL17: EQUAL? PRSA,V?SEARCH \?CCL19
CALL V-INVENTORY
RTRUE
?CCL19: EQUAL? PRSA,V?ALARM \?CCL21
CALL HELD?,SALTS
ZERO? STACK /?CCL21
CALL PERFORM,V?SMELL,SALTS
RTRUE
?CCL21: EQUAL? PRSA,V?DRESS \?CCL25
CALL PERFORM,V?GET-DRESSED,ROOMS
RTRUE
?CCL25: EQUAL? PRSA,V?EXAMINE \?CCL27
CALL RUNNING?,I-LSED
ZERO? STACK /?CCL30
GRTR? LAFOND-CTR,HORNY \?CCL30
CALL V-INVENTORY
RSTACK
?CCL30: PRINTI "You are wearing"
ZERO? BOY-DRESS? /?CCL35
CALL APRINT,SHIRT
PRINTI " and "
PRINTD PANTS
PRINTR ". Mama herself would think you a plump boy."
?CCL35: FSET? DRESS,WORNBIT \?CCL37
CALL APRINT,DRESS
PRINTR ", very pretty, if a tad outmoded for today's fashions."
?CCL37: FSET? GOWN,WORNBIT \?CCL39
CALL APRINT,GOWN
PRINTR " of creamy watered silk."
?CCL39: FSET? SHIRT,WORNBIT \?CCL41
CALL APRINT,SHIRT
PRINT BROTHEL
RTRUE
?CCL41: FSET? PANTS,WORNBIT \?CCL43
CALL APRINT,PANTS
PRINT BROTHEL
RTRUE
?CCL43: FSET? CHEMISE,EVERYBIT /FALSE
PRINTI " absolutely nothing besides"
CALL APRINT,CHEMISE
PRINTI ", "
PRINTD SHOES
PRINTI " and a few layers of "
PRINTD UNMENTIONABLES
PRINTI ". "
PRINT MOTHER
RTRUE
?CCL27: EQUAL? PRSA,V?SHOOT,V?MUNG,V?KILL /?CTR46
EQUAL? PRSA,V?SSHOOT \?CCL47
?CTR46: PRINT SUICIDE
RTRUE
?CCL47: EQUAL? PRSA,V?WHERE,V?FIND \?CCL51
PRINTI "You're in"
CALL TRPRINT,HERE
RSTACK
?CCL51: EQUAL? PRSA,V?FOLLOW \?CCL53
PRINTR "Next time, please specify who you wish to follow."
?CCL53: EQUAL? PRSA,V?EMBRACE,V?KISS \FALSE
PRINTI "Mama warned you of the dangers of onanism"
PRINT PCR
RTRUE
.FUNCT GLOBAL-ROOM-F
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK \?CCL3
CALL V-LOOK
RSTACK
?CCL3: EQUAL? PRSA,V?WALK-TO,V?ENTER \?CCL5
CALL V-WALK-AROUND
RSTACK
?CCL5: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL7
CALL DO-WALK,P?OUT
RSTACK
?CCL7: EQUAL? PRSA,V?SEARCH \?CCL9
EQUAL? HERE,CABIN \?CCL12
CALL RUNNING?,I-COFFER
ZERO? STACK \?CCL12
CALL HELD?,COFFER
ZERO? STACK \?CCL12
CALL PERFORM,V?LOOK-UNDER,CABIN-BED
RTRUE
?CCL12: PRINT NOTHING-NEW
RTRUE
?CCL9: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,GLOBAL-ROOM \FALSE
EQUAL? P-PRSA-WORD,W?THROW \?CCL22
CALL PERFORM,V?THROW,PRSO
RTRUE
?CCL22: CALL PERFORM,V?DROP,PRSO
RTRUE
.FUNCT HOUSE-F
EQUAL? PRSA,V?BOARD,V?WALK-TO,V?ENTER \?CCL3
EQUAL? HERE,MAIN-ENTRANCE \?CCL6
CALL DO-WALK,P?SOUTH
RSTACK
?CCL6: EQUAL? HERE,TRADE-ENTRANCE \?CCL8
CALL DO-WALK,P?EAST
RSTACK
?CCL8: EQUAL? HERE,VERANDA,LAWN \?CCL10
CALL DO-WALK,P?NORTH
RSTACK
?CCL10: EQUAL? HERE,BY-HOUSE \?CCL12
CALL DO-WALK,P?WEST
RSTACK
?CCL12: PRINT YOU-CANT
PRINTR "do that from here."
?CCL3: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \?CCL14
EQUAL? HERE,KITCHEN \?CCL17
CALL DO-WALK,P?WEST
RSTACK
?CCL17: EQUAL? HERE,FOYER \?CCL19
CALL DO-WALK,P?NORTH
RSTACK
?CCL19: EQUAL? HERE,BALLROOM \?CCL21
CALL DO-WALK,P?SOUTH
RSTACK
?CCL21: EQUAL? HERE,LIBRARY \?CCL23
CALL DO-WALK,P?EAST
RSTACK
?CCL23: EQUAL? HERE,BEDROOM \?CCL25
CALL DO-WALK,P?DOWN
RSTACK
?CCL25: PRINT LOOK-AROUND
RTRUE
?CCL14: EQUAL? PRSA,V?LOOK-INSIDE \?CCL27
EQUAL? HERE,MAIN-ENTRANCE,TRADE-ENTRANCE,LAWN /?CTR29
EQUAL? HERE,BY-HOUSE \?CCL30
?CTR29: PRINT CANT-FROM-HERE
RTRUE
?CCL30: CALL V-LOOK
RSTACK
?CCL27: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,CREWS-QUARTERS \?CCL37
PRINTI "Bathed in moonbeams and candlelight, the house squats at the crest of a cliff. The upstairs window is dark"
PRINT PCR
RTRUE
?CCL37: CALL SHIP-BOARD,HERE
ZERO? STACK /?PRD41
CALL INNER-DECK,HERE
ZERO? STACK /?CTR38
?PRD41: EQUAL? HERE,BEACH \?CCL39
?CTR38: PRINT YOU-CANT
PRINTI "make out much of the house from this angle"
PRINT PCR
RTRUE
?CCL39: CALL INNER-DECK,HERE
ZERO? STACK \?CTR44
CALL BELOW-GROUND,HERE
ZERO? STACK \?CTR44
EQUAL? HERE,FOREST,FOLLY,IN-HEDGE \?CCL45
?CTR44: PRINT YOU-CANT-SEE-ANY
PRINTI "house here"
PRINT PCR
RTRUE
?CCL45: EQUAL? HERE,FRONT-DRIVE,MAIN-ENTRANCE,LAWN /?CTR49
EQUAL? HERE,TRADE-ENTRANCE,CLEARING,VERANDA \?CCL50
?CTR49: PRINTI "An entrance to"
CALL TPRINT,HOUSE
PRINTI " is nearby"
PRINT PCR
RTRUE
?CCL50: CALL V-LOOK
RSTACK
.FUNCT CLIMBING
FSET? DRESS,WORNBIT /?CTR2
FSET? GOWN,WORNBIT \?CCL3
?CTR2: SET 'AWAITING-REPLY,2
CALL QUEUE,I-REPLY,2
PRINTI "In these clothes? You jest"
PRINT PCR
RFALSE
?CCL3: EQUAL? P-WALK-DIR,P?UP \?CCL7
EQUAL? HERE,CLEARING \?CCL10
PRINTI "You take a firm grasp on a particularly thick tendril, jerk once to secure it, and scamper up the wall like some huge tropical spider. It is easy to climb through the window"
PRINT PCR
CRLF
RETURN BEDROOM
?CCL10: EQUAL? HERE,CAPT-QUARTERS \?CCL12
ZERO? LADDER-HANGING \?CCL15
PRINT CANT-GO
RFALSE
?CCL15: FSET? POOP,TOUCHBIT /?CCL17
LOC PROTAGONIST
EQUAL? STACK,LEDGE \?CCL20
CALL DO-FIRST,STR?299,LADDER
RFALSE
?CCL20: CALL DO-FIRST,STR?298,LEDGE
RFALSE
?CCL17: PRINTI "You dash up"
CALL TRPRINT,LADDER
CRLF
RETURN POOP
?CCL12: EQUAL? HERE,MAIN-DECK,FOCSLE \?CCL22
SET 'WHICH-MAST?,HERE
LOC DAGGER
EQUAL? STACK,PROTAGONIST \?CND23
PRINTI "You bite down on"
CALL TPRINT,DAGGER
PRINTI ", freeing "
PRINTD HANDS
PRINTI "s to climb. When you stop, you take it back again. "
?CND23: PRINTI "The wind, a mere breeze on the deck, blows more fiercely"
PRINT PCR
CRLF
RETURN RIGGING-ROOM
?CCL22: EQUAL? RIGGING-ROOM,HERE \?CCL26
EQUAL? WHICH-MAST?,FOCSLE \?CCL29
PRINTI "You clamber up"
CALL TRPRINT,RIGGING-OBJECT
CRLF
RETURN CROWS-NEST
?CCL29: PRINTI "Above you there only appears to be more of the same, except higher, and you can not vouch for the effects on your stomach"
PRINT PCR
RFALSE
?CCL26: EQUAL? HERE,ON-LADDER \?CCL31
FSET? POOP,TOUCHBIT /?CCL34
INC 'UP-CTR
EQUAL? UP-CTR,4 /?CCL37
PRINTI "You climb up"
CALL TPRINT,LADDER
EQUAL? UP-CTR,2 \?CND38
PRINTI ", passing the halfway point"
?CND38: PRINT PCR
RFALSE
?CCL37: PRINTI "You heave "
PRINTD ME
PRINTI " over the stern rail and sink breathless to the deck of"
CALL TRPRINT,SHIP
CRLF
CALL DEQUEUE,I-LADDER-BLOWS
RETURN POOP
?CCL34: PRINTI "You dash up"
CALL TRPRINT,LADDER
CRLF
RETURN POOP
?CCL31: EQUAL? HERE,BY-SHIP \FALSE
CALL DEBARK-SKIFF
RFALSE
?CCL7: EQUAL? P-WALK-DIR,P?DOWN \FALSE
EQUAL? HERE,BEDROOM \?CCL46
PRINTI "Absently, you slide down"
CALL TPRINT,VINE
PRINTI ". You're getting quite adept at clambering about"
PRINT PCR
CRLF
RETURN CLEARING
?CCL46: EQUAL? HERE,CROWS-NEST,RIGGING-ROOM \?CCL48
PRINTI "You half-climb, half-fall, down to the deck"
PRINT PCR
CRLF
RETURN WHICH-MAST?
?CCL48: EQUAL? HERE,POOP \?CCL50
PRINTI "You climb down to opposite"
CALL TRPRINT,LEDGE
CRLF
RETURN ON-LADDER
?CCL50: EQUAL? HERE,ON-LADDER \FALSE
ZERO? SKIFF-TIED /?CCL55
SET 'SKIFF-TIED,FALSE-VALUE
PRINTI "Freeing your feet from the rungs, you slide down the wet rope to the skiff, and quickly untie it from the ship"
PRINT PCR
CRLF
RETURN BY-SHIP
?CCL55: PRINTI "A watery grave awaits you that way."
CRLF
RFALSE
.FUNCT FIRE-F
EQUAL? PRSA,V?OFF \?CCL3
CALL IMPOSSIBLES
RSTACK
?CCL3: EQUAL? PRSA,V?PUT-ON,V?PUT,V?ON /?CTR4
EQUAL? PRSA,V?THROW \?CCL5
?CTR4: CALL PERFORM,V?BURN,PRSO,FIRE
RTRUE
?CCL5: EQUAL? PRSA,V?TELL-ABOUT /FALSE
CALL UNIMPORTANT-THING
RSTACK
.FUNCT STAIRS-F
EQUAL? PRSA,V?CLIMB \?CCL3
EQUAL? HERE,MAIN-DECK \?CCL6
CALL DO-WALK,P?NORTH
RSTACK
?CCL6: CALL DO-WALK,P?UP
RSTACK
?CCL3: EQUAL? PRSA,V?CLIMB-DOWN \?CCL8
CALL DO-WALK,P?DOWN
RSTACK
?CCL8: EQUAL? PRSA,V?THROW \?CCL10
EQUAL? PRSI,STAIRS \?CCL10
CALL WASTES
RSTACK
?CCL10: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,HOLD \?CCL17
PRINTI "Steep stairs mount up to"
CALL TRPRINT,HATCH
RSTACK
?CCL17: EQUAL? HERE,MAIN-DECK \FALSE
FSET? HATCH,OPENBIT \?CCL22
PRINT STEEP-STAIRS
PRINTI "down from "
CALL TPRINT,HATCH
PRINTI ". Another leads"
JUMP ?CND20
?CCL22: CALL CTPRINT,STAIRS
PRINTI " lead"
?CND20: PRINTI " to the foredeck"
PRINT PCR
RTRUE
.FUNCT BED-F,VARG=0,THIS-BED,?TMP1
ZERO? VARG /?CCL3
EQUAL? VARG,M-BEG \FALSE
EQUAL? PRSA,V?WALK /?CTR5
ZERO? PRSO /FALSE
EQUAL? PRSA,V?TAKE \FALSE
EQUAL? PRSO,LRING,HRING /FALSE
IN? PRSO,GLOBAL-OBJECTS /FALSE
LOC PROTAGONIST >?TMP1
LOC PRSO
EQUAL? ?TMP1,STACK /FALSE
?CTR5: CALL DO-FIRST,STR?300
RETURN 8
?CCL3: EQUAL? PRSA,V?STAND,V?DISEMBARK \?CCL19
IN? LAFOND,LAFS-BED \?CCL19
PRINTI "Lafond slams you back into the feather mattress"
PRINT PCR
RTRUE
?CCL19: EQUAL? PRSA,V?BOARD,V?ENTER \?CCL23
LOC PROTAGONIST
EQUAL? STACK,LAFS-ROOM \?CCL23
IN? LAFOND,HERE \?CCL23
PRINTD LAFOND
PRINTR " stops you. ""I'll tell you when to do that."""
?CCL23: EQUAL? PRSA,V?EXAMINE \?CCL28
EQUAL? HERE,CABIN \?CCL36
SET 'THIS-BED,CABIN-BED
JUMP ?CND34
?CCL36: EQUAL? HERE,CAPT-QUARTERS /?CCL38
SET 'THIS-BED,0
JUMP ?CND34
?CCL38: SET 'THIS-BED,CAPT-BED
?CND34: ZERO? THIS-BED /?CCL31
FIRST? THIS-BED /?CCL31
PRINTI "Someone appears to have tumbled out of it in a hurry"
JUMP ?CND29
?CCL31: EQUAL? HERE,LAFS-ROOM \?CCL40
PRINTI "You gaze at the purple and gold bed, fearing it is your destiny"
JUMP ?CND29
?CCL40: EQUAL? HERE,CELL-1 \FALSE
PRINTI "It is an uncomfortable canvas cot, old and torn"
?CND29: PRINT PCR
RTRUE
?CCL28: EQUAL? PRSA,V?LOOK-UNDER \?CCL44
CALL QUEUED?,I-COFFER
ZERO? STACK /?CCL47
PRINT YOU-SEE
CALL APRINT,COFFER
PRINTC 32
FCLEAR COFFER,NDESCBIT
FSET COFFER,TOUCHBIT
JUMP ?CND45
?CCL47: PRINT THERES-NOTHING
?CND45: PRINTI "under"
CALL TRPRINT,PRSO
RSTACK
?CCL44: EQUAL? PRSA,V?PUSH,V?MOVE \?CCL49
PRINTI "It is nailed to the floor"
PRINT PCR
RTRUE
?CCL49: EQUAL? PRSA,V?PUT-UNDER \FALSE
EQUAL? HERE,CAPT-QUARTERS,CABIN \FALSE
EQUAL? PRSO,ME \?CCL56
CALL PERFORM,V?CRAWL-UNDER,CABIN-BED
RTRUE
?CCL56: EQUAL? PRSO,RETICULE /FALSE
PRINTI "You do so, but the ship rolls to one side and"
CALL TPRINT-PRSO
PRINTI " rolls out"
PRINT PCR
MOVE PRSO,HERE
RTRUE
.FUNCT CURTAIN-F
EQUAL? PRSA,V?FIDDLE,V?MOVE,V?OPEN /?CTR2
EQUAL? PRSA,V?LOOK-BEHIND \?CCL3
?CTR2: PRINT PULL-FABRIC
PRINTI " Behind it,"
CALL APRINT,CUPBOARD-OBJECT
PRINTR " mostly blocks the doorway."
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL7
PRINT ALREADY-IS
RTRUE
?CCL7: EQUAL? PRSA,V?WALK-TO,V?WALK \FALSE
PRINTI "Please indicate a "
PRINTD INTDIR
PRINT PCR
RTRUE
.FUNCT WINDOW-F
EQUAL? PRSA,V?OPEN \?CCL3
FSET? WINDOW,OPENBIT /?CCL6
EQUAL? HERE,CABIN \?CCL9
PRINTI "This isn't the opening kind of porthole"
PRINT PCR
RTRUE
?CCL9: EQUAL? HERE,CAPT-QUARTERS \?CCL11
PRINTI "These windows don't open"
PRINT PCR
RTRUE
?CCL11: EQUAL? HERE,LIBRARY,BY-HOUSE \?CCL13
CALL OPEN-CLOSE,LIB-WINDOW
RSTACK
?CCL13: PRINTI "That's not necessary"
PRINT PCR
RTRUE
?CCL6: PRINTI "It's already open"
PRINT PCR
RTRUE
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL15
EQUAL? HERE,LIBRARY,BY-HOUSE \?CCL18
CALL OPEN-CLOSE,LIB-WINDOW
RSTACK
?CCL18: PRINT BEAUTIFUL-NIGHT
RTRUE
?CCL15: EQUAL? PRSA,V?EXAMINE \?CCL20
EQUAL? HERE,CABIN \?CCL23
PRINTI "Through the porthole you see the bow of the pirate ship bucking in the high seas, lit by the fires burning on deck. It is called the """
PRINTD SHIP
PRINTI "."" Odd, that was your mother's name"
PRINT PCR
RTRUE
?CCL23: EQUAL? HERE,CAPT-QUARTERS \?CCL25
CALL PERFORM,V?EXAMINE,LEDGE
RTRUE
?CCL25: EQUAL? HERE,LIBRARY,BY-HOUSE \FALSE
PRINT YOU-SEE
PRINT DARKNESS
CALL TRPRINT,WINDOW
RSTACK
?CCL20: EQUAL? PRSA,V?LOOK-INSIDE \?CCL29
EQUAL? CABIN,HERE \?CCL32
CALL PERFORM,V?EXAMINE,WINDOW
RTRUE
?CCL32: EQUAL? HERE,CAPT-QUARTERS \?CCL34
ZERO? LADDER-HANGING /?CCL37
CALL QUEUE,I-SEE-LADDER,2
PRINTI "A rope "
PRINTD LADDER
PRINTI " twists by in the breeze, and the"
JUMP ?CND35
?CCL37: PRINTI "The"
?CND35: PRINTI " moon beckons across the lagoon to "
PRINTD ISLAND
ZERO? SKIFF-TIED /?CND38
PRINTI ". Moored to the stern is"
CALL APRINT,SKIFF
?CND38: PRINTC 46
CALL I-LOOK-SEA,FALSE-VALUE
CRLF
RTRUE
?CCL34: EQUAL? HERE,LIBRARY,BY-HOUSE \?CCL41
CALL PERFORM,V?EXAMINE,LIB-WINDOW
RTRUE
?CCL41: EQUAL? HERE,BEDROOM \?CCL43
PRINTI "It has a lovely view of grey-green palm trees extending for miles"
PRINT PCR
RTRUE
?CCL43: PRINT YOU-SEE
PRINT DARKNESS
CALL TRPRINT,WINDOW
RSTACK
?CCL29: EQUAL? PRSA,V?MUNG \?CCL45
ZERO? PRSI \?CCL48
CALL PROPOSE
RSTACK
?CCL48: EQUAL? PRSI,COFFER \?CCL50
CALL PERFORM,V?PUT-THROUGH,COFFER,WINDOW
RTRUE
?CCL50: EQUAL? HERE,CAPT-QUARTERS \?CCL52
PRINT YOULL-HAVE-TO
PRINTI "find something else to break"
CALL TPRINT,WINDOW
PRINTI " with"
PRINT PCR
RTRUE
?CCL52: PRINTR "Then again, a lady would just open it."
?CCL45: EQUAL? PRSA,V?KILL \?CCL54
ZERO? PRSI \?CCL57
PRINTI "You haven't the strength to damage"
CALL TRPRINT,WINDOW
RSTACK
?CCL57: CALL PERFORM,V?MUNG,PRSO,PRSI
RTRUE
?CCL54: EQUAL? PRSA,V?PUT,V?PUT-THROUGH,V?THROW \?CCL59
EQUAL? HERE,CABIN \?CCL62
EQUAL? PRSA,V?THROW \?CCL65
CALL V-THROW
RSTACK
?CCL65: PRINTI "It doesn't fit through the porthole"
PRINT PCR
RTRUE
?CCL62: EQUAL? PRSO,COFFER \?CCL67
IN? HERO,HERE \?CND68
PRINTR "Jamison stops you, ""Nay, lady, glass is expensive."""
?CND68: REMOVE PRSO
FSET LEDGE,MUNGBIT
INC 'SCORE
PRINTI "You hurl"
CALL TPRINT,COFFER
PRINTI " through"
CALL TPRINT,WINDOW
PRINTI ", sending it and a shower of glass into the sea. "
CALL CTPRINT,LEDGE
PRINTI " now looks deep enough to sit upon"
PRINT PCR
RTRUE
?CCL67: FSET? LEDGE,MUNGBIT /?CCL71
EQUAL? HERE,CAPT-QUARTERS \?CCL71
CALL CTPRINT,WINDOW
PRINTI " isn't open"
PRINT PCR
RTRUE
?CCL71: EQUAL? PRSO,HANDS \?CCL75
PRINT HUH
RTRUE
?CCL75: CALL PUT-OBJ-THRU-WINDOW
RSTACK
?CCL59: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?ENTER /?CCL77
EQUAL? PRSA,V?BOARD,V?LEAP-OFF \FALSE
?CCL77: EQUAL? HERE,CABIN \?CCL82
CALL IMPOSSIBLES
RSTACK
?CCL82: LOC PROTAGONIST
EQUAL? STACK,CAPT-QUARTERS \?CCL84
CALL PERFORM-PRSA,LEDGE
RTRUE
?CCL84: EQUAL? HERE,LIBRARY \?CCL86
CALL DO-WALK,P?EAST
RSTACK
?CCL86: EQUAL? HERE,BY-HOUSE \?CCL88
CALL DO-WALK,P?WEST
RSTACK
?CCL88: EQUAL? HERE,BEDROOM \?CCL90
CALL DO-WALK,P?DOWN
RSTACK
?CCL90: CALL WASTES
RSTACK
.FUNCT PUT-OBJ-THRU-WINDOW
EQUAL? HERE,CAPT-QUARTERS \?CCL3
FSET? LEDGE,MUNGBIT /?CCL3
PRINTI "The window isn't open"
PRINT PCR
RTRUE
?CCL3: EQUAL? PRSO,RETICULE /FALSE
CALL PRONOUN
PRINTI " fall"
FSET? PRSO,PLURALBIT /?CND8
PRINTC 115
?CND8: EQUAL? HERE,CAPT-QUARTERS \?CCL12
REMOVE PRSO
PRINTI " into the seas below"
JUMP ?CND10
?CCL12: EQUAL? HERE,BEDROOM \?CCL14
MOVE PRSO,CLEARING
PRINTI " onto the forest floor"
JUMP ?CND10
?CCL14: EQUAL? HERE,LIBRARY,LAFS-ROOM \?CCL16
MOVE PRSO,BY-HOUSE
PRINTI " into the darkness of the hedge"
JUMP ?CND10
?CCL16: EQUAL? HERE,BY-HOUSE \?CND10
MOVE PRSO,LIBRARY
PRINTI " with a thunk over"
PRINT THE-EDGE
CALL TPRINT,LIB-WINDOW
?CND10: PRINT PCR
RTRUE
.FUNCT OPEN-CLOSE,OBJ,OPETELL=0,CLOSETELL=0
EQUAL? PRSA,V?MOVE,V?RAISE,V?OPEN \?CCL3
FSET? OBJ,OPENBIT \?CCL6
FSET? OBJ,PLURALBIT \?CCL9
PRINTI "They are"
JUMP ?CND7
?CCL9: PRINTI "It is"
?CND7: PRINTR " already open."
?CCL6: FSET OBJ,OPENBIT
FSET OBJ,TOUCHBIT
ZERO? OPETELL /?CCL12
PRINT OPETELL
PRINTR "."
?CCL12: EQUAL? OBJ,CUPBOARD-OBJECT \?CCL14
EQUAL? HERE,SLEEPING-CUPBOARD /?CCL14
PRINTI "Opened. "
CALL PERFORM,V?LOOK-INSIDE,CUPBOARD-OBJECT
RTRUE
?CCL14: FIRST? OBJ \?CTR17
FSET? OBJ,TRANSBIT /?CTR17
FSET? OBJ,DOORBIT \?CCL18
?CTR17: PRINTR "Opened."
?CCL18: PRINTI "Opening"
CALL TPRINT,OBJ
PRINTI " reveals"
CALL DESCRIBE-NOTHING
ZERO? STACK \TRUE
PRINTC 46
RTRUE
?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
FSET? OBJ,OPENBIT /?CCL28
FSET? OBJ,PLURALBIT \?CCL31
PRINTI "They are"
JUMP ?CND29
?CCL31: PRINTI "It is"
?CND29: PRINTI " already closed"
PRINT PCR
RTRUE
?CCL28: FCLEAR OBJ,OPENBIT
EQUAL? OBJ,MANACLES \?CND32
FSET OBJ,LOCKEDBIT
?CND32: ZERO? CLOSETELL /?CCL36
PRINT CLOSETELL
PRINTR "."
?CCL36: PRINTI "Shut."
EQUAL? PRSO,CUPBOARD-OBJECT \?CND34
EQUAL? SLEEPING-CUPBOARD,HERE \?CND34
PRINTR " You imagine Jamison being lulled to sleep by the waves lapping against the ship."
?CND34: CRLF
RTRUE
.FUNCT TREE-F
EQUAL? PRSA,V?CLIMB \FALSE
PRINTR "The trees are all unclimbable."
.FUNCT TOUCHING?,THING
EQUAL? PRSO,THING \?CCL3
EQUAL? PRSA,V?ALARM,V?BITE,V?BOARD /TRUE
EQUAL? PRSA,V?CLEAN,V?CLIMB-OVER,V?CRAWL-UNDER /TRUE
EQUAL? PRSA,V?CLIMB,V?CLIMB-DOWN,V?CLIMB-ON /TRUE
EQUAL? PRSA,V?CUT,V?DANCE,V?EMBRACE /TRUE
EQUAL? PRSA,V?ENTER,V?FIDDLE /TRUE
EQUAL? PRSA,V?KICK,V?KILL,V?KISS /TRUE
EQUAL? PRSA,V?KNOCK,V?LOOK-UNDER,V?LOOK-INSIDE /TRUE
EQUAL? PRSA,V?MOVE,V?MUNG,V?WRING /TRUE
EQUAL? PRSA,V?ON,V?OFF,V?OPEN /TRUE
EQUAL? PRSA,V?CLOSE /TRUE
EQUAL? PRSA,V?PICK,V?PUSH,V?RAISE /TRUE
EQUAL? PRSA,V?SET,V?STAND-ON,V?SWIM /TRUE
EQUAL? PRSA,V?TIE /TRUE
EQUAL? PRSA,V?THROW,V?RAPE /TRUE
EQUAL? PRSA,V?TAKE,V?TOUCH,V?SHAKE /TRUE
EQUAL? PRSA,V?UNLOCK,V?LOCK,V?UNTIE /TRUE
?CCL3: EQUAL? PRSI,THING \FALSE
EQUAL? PRSA,V?PUT-ON,V?PUT,V?GIVE /TRUE
EQUAL? PRSA,V?PUT-UNDER /TRUE
RFALSE
.FUNCT CANT-SEE,OBJ,WRD=0
EQUAL? PRSO,OBJ \?CCL3
PUSH 0
JUMP ?CND1
?CCL3: PUSH 1
?CND1: GET P-NAMW,STACK >WRD
ZERO? WRD \?CND4
EQUAL? PRSO,OBJ \?CCL8
PUSH 0
JUMP ?CND6
?CCL8: PUSH 1
?CND6: GET P-ADJW,STACK >WRD
?CND4: SET 'P-WON,FALSE-VALUE
PRINT YOU-CANT
PRINTI "see"
ZERO? OBJ /?CND9
CALL NAME?,WRD
ZERO? STACK \?CND9
PRINTI " any"
?CND9: EQUAL? OBJ,PRSI \?CCL15
CALL PRSI-PRINT
JUMP ?CND13
?CCL15: CALL PRSO-PRINT
?CND13: PRINTI " here."
CRLF
CALL STOP
RSTACK
.FUNCT CANT-VERB-A-PRSO,STRING
PRINT YOU-CANT
PRINT STRING
CALL APRINT,PRSO
PRINTR "!"
.FUNCT TELL-HIT-HEAD
PRINTI "You knock your brow against"
CALL TPRINT-PRSO
PRINTR " as you attempt this."
.FUNCT NOUN-USED,TEST-NOUN,OBJ
EQUAL? PRSO,OBJ \?CCL3
GET P-NAMW,0
EQUAL? STACK,TEST-NOUN /TRUE
?CCL3: EQUAL? PRSI,OBJ \FALSE
GET P-NAMW,1
EQUAL? STACK,TEST-NOUN /TRUE
RFALSE
.FUNCT ADJ-USED,TEST-ADJ,?TMP1
GET P-ADJW,0 >?TMP1
GET P-ADJW,1
EQUAL? TEST-ADJ,?TMP1,STACK /TRUE
RFALSE
.FUNCT OFF-VEHICLE?,OBJ
EQUAL? OBJ,LEDGE /TRUE
EQUAL? OBJ,BENCH /TRUE
RFALSE
.FUNCT TELL-OPEN/CLOSED,OBJ,AN?=0
FSET? OBJ,OPENBIT \?CCL3
ZERO? AN? /?CND4
PRINTC 110
?CND4: PRINTI " open"
RTRUE
?CCL3: PRINTI " closed"
RTRUE
.FUNCT WHEE
SET 'AWAITING-REPLY,2
CALL QUEUE,I-REPLY,2
PRINTR "Wasn't that fun?"
.FUNCT IN-PACKAGE
PRINTI " that came in your game package.
"
RTRUE
.FUNCT CANT-REACH,OBJ
PRINT YOU-CANT
PRINTI "reach"
CALL TPRINT,OBJ
IN? PROTAGONIST,HERE /?CND1
PRINTI " from"
LOC PROTAGONIST
CALL TPRINT,STACK
?CND1: PRINT PCR
RTRUE
.FUNCT DO-FIRST,STRING,OBJ=0
PRINT YOULL-HAVE-TO
PRINT STRING
ZERO? OBJ /?CND1
CALL TPRINT,OBJ
?CND1: PRINTR " first."
.FUNCT NOT-IN
PRINTI "But"
CALL TPRINT-PRSO
PRINTI " isn't "
FSET? PRSI,ACTORBIT \?CCL3
PRINTI "being held by"
JUMP ?CND1
?CCL3: FSET? PRSI,SURFACEBIT \?CCL5
PRINTI "on"
JUMP ?CND1
?CCL5: PRINTI "in"
?CND1: CALL TRPRINT,PRSI
RSTACK
.FUNCT SORE,STRING
PRINTI "You begin to get a sore "
PRINT STRING
PRINT PCR
RTRUE
.FUNCT CANT-USE-THAT-WAY,STRING
PRINTC 91
PRINT YOU-CANT
PRINTI "use "
PRINT STRING
PRINTR " that way.]"
.FUNCT RECOGNIZE
SET 'P-WON,FALSE-VALUE
PRINTI "[That sentence isn't one I recognize.]
"
RTRUE
.FUNCT PRONOUN
EQUAL? PRSO,ME \?CCL3
PRINTI "You"
RTRUE
?CCL3: FSET? PRSO,PLURALBIT \?CCL5
PRINTI "They"
RTRUE
?CCL5: EQUAL? PRSO,LUCY \?CCL7
PRINTI "She"
RTRUE
?CCL7: FSET? PRSO,ACTORBIT \?CCL9
PRINTI "He"
RTRUE
?CCL9: PRINTI "It"
RTRUE
.FUNCT REFERRING,HIM-HER=0
PRINTI "I don't see wh"
ZERO? HIM-HER /?CCL3
PRINTC 111
JUMP ?CND1
?CCL3: PRINTI "at"
?CND1: PRINTR " you're referring to."
.FUNCT NO-ONE-HERE,STRING
PRINTI "There's no one here to "
PRINT STRING
PRINT PCR
RTRUE
.FUNCT SEE-MANUAL,STRING
PRINTI "[See the instruction manual section entitled ""Communicating With Infocom's Interactive Fiction."" to properly "
PRINT STRING
PRINTR "]"
.FUNCT UNIMPORTANT-THING
PRINTR "You have no need for that, milady."
.FUNCT PROPOSE
SET 'AWAITING-REPLY,1
CALL QUEUE,I-REPLY,2
PRINTR "And how do you propose to do that?"
.FUNCT STOP-QUEUES
CALL RUNNING?,I-HDANCE
ZERO? STACK /?CCL3
SET 'PARTNER,FALSE-VALUE
CALL DEQUEUE,I-HDANCE
RSTACK
?CCL3: CALL RUNNING?,I-HFOLLY
ZERO? STACK /FALSE
CALL DEQUEUE,I-HFOLLY
RSTACK
.FUNCT REPERTOIRE,ACT
PRINT ACT
PRINTR " is not in the repertoire of well-bred young ladies."
.FUNCT MAN-IS-DOWN
PRINT THOROUGHLY-UNLADYLIKE
PRINTR "hit a man when he's down!"
.FUNCT NO-TIME-FOR,STR
PRINTI "This is no time to "
PRINT STR
PRINTI "!
"
RTRUE
.FUNCT MORE-SPECIFIC
PRINT YOULL-HAVE-TO
PRINTR "be more specific."
.FUNCT CANT-HURT,STR
PRINTI "Your "
PRINT STR
PRINTI " could not hurt"
CALL TRPRINT,CRULLEY
RSTACK
.FUNCT SAILOR-DEATH
PRINT INDENT
PRINTI "A sailor notices "
FSET? PANTS,WORNBIT \?CCL3
PRINTI "the roundness of your body through the lace of your chemise"
JUMP ?CND1
?CCL3: PRINTI "the ""swish"" of your petticoats"
?CND1: PRINTI ". ""A woman,"" he gasps, ""free, aboard this ship!"""
CRLF
CALL JIGS-UP,STR?301
RSTACK
.FUNCT LADY-MUST,STRING
PRINTI "A lady must obtain her father's permission before "
PRINT STRING
PRINTR " anyone."
.FUNCT FIGURE-IT-OUT
PRINT YOULL-HAVE-TO
PRINTI "figure that out "
PRINTD ME
PRINT PCR
RTRUE
.FUNCT KICKED-OUT
PRINT INDENT
EQUAL? HERE,HALL-E \?CCL3
PRINTI "A black-garbed "
PRINTD BUTLER
JUMP ?CND1
?CCL3: CALL CTPRINT,BUTLER
?CND1: PRINTI " marches up to you, ""It was made clear at the whippings that villagers are not admitted in this house."" He grasps you by the scruff of the neck and propels you headfirst out the front door"
PRINT PCR
CRLF
CALL GOTO,MAIN-ENTRANCE
RSTACK
.FUNCT NICK-RUNS-OFF
CALL RUNNING?,I-CCLIMBS-UP
ZERO? STACK /?CND1
EQUAL? CRULLEY-CTR,10 \?CND1
CALL QUEUE,I-CCLIMBS-UP,2
?CND1: MOVE HERO,GALLERY
MOVE LAFOND,GALLERY
MOVE DAD,GALLERY
MOVE LUCY,GALLERY
SET 'HERO-CTR,1
CALL QUEUE,I-DUEL,-1
FSET RAPIER,NDESCBIT
FCLEAR BALLROOM,EVERYBIT
PRINT INDENT
PRINTI "Nick kisses you briefly, a butterfly touching your lips,"
CALL META-LOC,RAPIER
EQUAL? STACK,HERE,PASSAGE-4,CELL-4 \?CND5
MOVE RAPIER,HERO
PRINTI " then seizes his rapier"
?CND5: PRINTI " and runs off to the north. Cookie calls a breathless ""Hullo, Cap'n"" to him as he races past"
PRINT PCR
RTRUE
.ENDI