mirror of
https://github.com/historicalsource/plunderedhearts
synced 2024-06-26 03:40:58 +03:00
2149 lines
54 KiB
Plaintext
2149 lines
54 KiB
Plaintext
|
|
|
|
.FUNCT SHIP-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
CALL SHIP-BOARD,HERE
|
|
ZERO? STACK /?CCL6
|
|
CALL V-LOOK
|
|
RSTACK
|
|
?CCL6: EQUAL? HERE,CABIN,DEUX-DECK \?CCL8
|
|
CALL ADJ-USED,A?HELENA
|
|
ZERO? STACK \?CTR10
|
|
CALL NOUN-USED,W?LOUISE,SHIP
|
|
ZERO? STACK /?CCL11
|
|
?CTR10: CALL PERFORM,V?LOOK-INSIDE,WINDOW
|
|
RTRUE
|
|
?CCL11: CALL V-LOOK
|
|
RSTACK
|
|
?CCL8: EQUAL? HERE,CELL-1,CELL-2 /?CTR14
|
|
EQUAL? HERE,LAFS-ROOM,BEACH,LAGOON /?CTR14
|
|
EQUAL? HERE,SHALLOWS \?CCL15
|
|
?CTR14: FSET? SHIP,MUNGBIT \?CCL21
|
|
PRINT YOU-CANT
|
|
PRINTI "see"
|
|
CALL TPRINT,SHIP
|
|
PRINTI " anywhere, but a lot of debris floats in the lagoon"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL21: CALL CTPRINT,SHIP
|
|
PRINTI " floats, silent and serene, some distance out in the lagoon"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL15: PRINT YOU-CANT
|
|
PRINTI "see"
|
|
CALL TPRINT,SHIP
|
|
PRINTR " from here."
|
|
?CCL3: EQUAL? PRSA,V?POINT \?CCL23
|
|
ZERO? PRSI \FALSE
|
|
CALL PROPOSE
|
|
RSTACK
|
|
?CCL23: EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSO,MIRROR,TRAY \FALSE
|
|
CALL IMPOSSIBLES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GEN-BOAT
|
|
CALL GLOBAL-IN?,OBJ-QUARTERS,HERE
|
|
ZERO? STACK /?CCL3
|
|
RETURN OBJ-QUARTERS
|
|
?CCL3: LOC SKIFF
|
|
EQUAL? STACK,HERE /?CTR4
|
|
RETURN SHIP
|
|
?CTR4: RETURN SKIFF
|
|
|
|
|
|
.FUNCT DEBRIS-F
|
|
FSET? SHIP,MUNGBIT /?CCL3
|
|
PRINT YOU-CANT-SEE-ANY
|
|
PRINTD DEBRIS
|
|
PRINTR " here!"
|
|
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?EXAMINE \?CCL5
|
|
PRINT INDENT
|
|
CALL PICK-ONE,DEBRIS-BITS
|
|
PRINT STACK
|
|
EQUAL? HERE,BEACH,SHALLOWS \?CCL8
|
|
PRINTR "bobs briefly in the waves."
|
|
?CCL8: PRINTR "floats by you."
|
|
?CCL5: EQUAL? PRSA,V?TAKE \FALSE
|
|
PRINTI "You reconsider, thinking of"
|
|
CALL TPRINT,SHIP
|
|
PRINTR " as it was, whole and proud."
|
|
|
|
|
|
.FUNCT SHIP-BOARD,RM
|
|
EQUAL? RM,CAPT-QUARTERS,LANDING,SLEEPING-CUPBOARD /TRUE
|
|
EQUAL? RM,AFT-HOLD,HOLD,CREWS-QUARTERS /TRUE
|
|
EQUAL? RM,POOP,QUARTERDECK,MAIN-DECK /TRUE
|
|
EQUAL? RM,FOCSLE,GALLEY,BOWSPRIT /TRUE
|
|
EQUAL? RM,CROWS-NEST /TRUE
|
|
EQUAL? RM,BY-SHIP,ON-LADDER,RIGGING-ROOM /TRUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT INNER-DECK,RM
|
|
EQUAL? RM,SLEEPING-CUPBOARD,LANDING,AFT-HOLD /TRUE
|
|
EQUAL? RM,HOLD,CREWS-QUARTERS,GALLEY /TRUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CABIN-EXIT
|
|
IN? HERO,HERE \?CCL3
|
|
GRTR? HERO-CTR,3 \?CCL6
|
|
CALL DEQUEUE,I-MEET-HERO
|
|
CALL DEQUEUE,I-PIRATE-ATTACK
|
|
PRINT CTHE-PIRATE-CAPTAIN
|
|
PRINTI "follows you through"
|
|
CALL TRPRINT,DOOR
|
|
CRLF
|
|
RETURN DEUX-DECK
|
|
?CCL6: PRINT SINEWY-ARM
|
|
CRLF
|
|
RFALSE
|
|
?CCL3: IN? HERO,DEUX-DECK \?CCL8
|
|
RETURN DEUX-DECK
|
|
?CCL8: IN? CRULLEY,HERE \?CCL10
|
|
PRINTI """Not that way, me pretty,"" says"
|
|
CALL TPRINT,CRULLEY
|
|
PRINTI ", blocking your way"
|
|
PRINT PCR
|
|
RFALSE
|
|
?CCL10: CALL CTPRINT,DOOR
|
|
PRINT IS-CLOSED
|
|
PRINT PCR
|
|
CALL THIS-IS-IT,DOOR
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DEUX-DECK-F,RARG
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
MOVE HERO,HERE
|
|
PRINTI "The deck is an avalanche of noise and blood. Lit by roaring fires, silhouetted forms crash swords, dancing around the screaming wounded."
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-ENTER \FALSE
|
|
CALL QUEUE,I-END-PROLOGUE,1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT COFFER-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
PRINTI "It is a small heavy chest, with a "
|
|
FSET? COFFER,MUNGBIT \?CND4
|
|
PRINTI "smashed "
|
|
?CND4: PRINTI "lock. It is"
|
|
CALL TELL-OPEN/CLOSED,PRSO
|
|
PRINTI ".
|
|
"
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?TAKE \?CCL7
|
|
EQUAL? PRSO,COFFER \FALSE
|
|
FSET? COFFER,NDESCBIT /?CCL13
|
|
FSET COFFER,TAKEBIT
|
|
CALL DEQUEUE,I-COFFER
|
|
MOVE COFFER,PROTAGONIST
|
|
FCLEAR COFFER,NDESCBIT
|
|
PRINTR "Taken."
|
|
?CCL13: PRINT HUH
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?MUNG \?CCL15
|
|
EQUAL? PRSO,WINDOW \?CCL15
|
|
CALL PERFORM,V?PUT-THROUGH,COFFER,WINDOW
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?STAND-ON,V?BOARD \?CCL19
|
|
CALL CTPRINT,COFFER
|
|
PRINTR " is too small to stand on."
|
|
?CCL19: EQUAL? PRSA,V?SHAKE \FALSE
|
|
FSET? COFFER,LOCKEDBIT \FALSE
|
|
PRINTI "It seems to be full of small, heavy objects"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LETTER-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
CALL CTPRINT,LETTER
|
|
PRINTI " is in dear Papa's handwriting:
|
|
|
|
""Dearest child,
|
|
You are in gravest danger! Lafond is a viper with the smile of a saint, my most particular enemy. I have only now learned the depth of his deception. Should Lafond get you in his power... It is unspeakable!
|
|
I have sided with Nicholas Jamison, a sea captain and a gentleman, whose circumstances have driven him to extreme measures, even branding him a pirate. Nevertheless, I trust him and so may you.
|
|
You will be safe -- but there is another for whom I fear! My horse is waiting and I ride to her rescue. Jamison will deliver this to you. Should anything happen to me, you must rely on him. I remain, with love,"
|
|
CALL TPRINT,DAD
|
|
PRINTI "."""
|
|
CRLF
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT INVITE-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \?CCL3
|
|
CALL CTPRINT,INVITE
|
|
PRINTI " is addressed to ""Davis"":
|
|
|
|
In Honor of Jean Lafond,
|
|
recently proclaimed
|
|
Governor of "
|
|
PRINTD ISLAND
|
|
PRINTI "
|
|
A Dance at his Mansion
|
|
Ananas Road, "
|
|
PRINTD ISLAND
|
|
PRINTI "
|
|
Formal Dress and Invitation Required"
|
|
PRINT PCR
|
|
CRLF
|
|
FSET? INVITE,MUNGBIT /FALSE
|
|
FSET INVITE,MUNGBIT
|
|
PRINT INDENT
|
|
PRINTR "A ball! You haven't been to a ball in months!"
|
|
?CCL3: EQUAL? PRSA,V?SGIVE,V?SSHOW \FALSE
|
|
EQUAL? PRSO,BUTLER \FALSE
|
|
CALL PERFORM,V?GIVE,INVITE,BUTLER
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-COFFER
|
|
CALL HELD?,COFFER
|
|
ZERO? STACK \FALSE
|
|
FCLEAR COFFER,NDESCBIT
|
|
FSET COFFER,TAKEBIT
|
|
CALL THIS-IS-IT,COFFER
|
|
PRINT INDENT
|
|
PRINTI "Suddenly, the ship lurches to one side, throwing you "
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,CABIN-BED \?CCL6
|
|
MOVE PROTAGONIST,HERE
|
|
PRINTI "out of the bed. "
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "off balance. "
|
|
?CND4: FSET? COFFER,TOUCHBIT \?CCL9
|
|
CALL CTPRINT,COFFER
|
|
JUMP ?CND7
|
|
?CCL9: PRINTI "A "
|
|
PRINTD COFFER
|
|
PRINTI " slides from under the bed and"
|
|
?CND7: PRINTR " bumps against your foot."
|
|
|
|
|
|
.FUNCT CAPT-QUARTERS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?CCL3
|
|
IN? LEDGE,ON-LADDER \?CCL6
|
|
MOVE LEDGE,CAPT-QUARTERS
|
|
RTRUE
|
|
?CCL6: FSET? CAPT-QUARTERS,TOUCHBIT /FALSE
|
|
MOVE PROTAGONIST,CAPT-BED
|
|
SET 'HERO-CTR,0
|
|
CALL QUEUE,I-HSHIP,2
|
|
PRINTI "TWO DAYS LATER"
|
|
PRINT ELLIPSIS
|
|
PRINT INDENT
|
|
PRINTI "You blear awake from a bored nap, focusing on something shiny. You discern it to be"
|
|
CALL APRINT,HRING
|
|
PRINTI ", on a strong hand in the act of tying a ribbon onto"
|
|
CALL ARPRINT,RAPIER
|
|
PRINT INDENT
|
|
PRINTI "The man with"
|
|
CALL TPRINT,RAPIER
|
|
PRINTI " and the ring turns, ""Sorry, I tried not to wake you."" You sit up as if the bed had caught fire, for this is the Falcon, changed from his rags to a finery all red velvet and white lace -- and in your presence!"
|
|
CRLF
|
|
CRLF
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-LOOK \FALSE
|
|
FSET? HERE,MUNGBIT /?CND11
|
|
FSET HERE,MUNGBIT
|
|
PRINTI "You are in the captain's "
|
|
PRINTD OBJ-QUARTERS
|
|
PRINTI " of the "
|
|
PRINTD SHIP
|
|
PRINTI ", where you have been trapped these past days since your ""rescue"" from the Lafond Deux. "
|
|
?CND11: PRINTI "The room has a masculine air, with ebony panelling, a large messy table, and a rumpled bed"
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,CAPT-BED \?CND13
|
|
PRINTI " (upon which you lie)"
|
|
?CND13: PRINTI ". A curtain masks the forward exit and "
|
|
FSET? LEDGE,MUNGBIT \?CCL17
|
|
PRINTI "air breezes in over the ledge"
|
|
JUMP ?CND15
|
|
?CCL17: PRINTI "gilded woodwork decorates the sill of the tall window looking"
|
|
?CND15: PRINTI " aft."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-HERO-TO-ISLAND
|
|
EQUAL? HERE,CAPT-QUARTERS \?CND1
|
|
PRINT INDENT
|
|
PRINTI "Men clomp about overhead and a rope ladder unfurls itself past the window. Jamison climbs down it, entering"
|
|
CALL TPRINT,SKIFF
|
|
PRINTI " that awaits him below. He rows to the island as the men above "
|
|
PRINTD HEAD
|
|
PRINTI " disperse, calling farewells to their captain"
|
|
PRINT PCR
|
|
?CND1: SET 'SKIFF-LOC,1
|
|
SET 'SKIFF-TIED,FALSE-VALUE
|
|
REMOVE HERO
|
|
SET 'LADDER-HANGING,TRUE-VALUE
|
|
CALL QUEUE,I-SEE-LADDER,-1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-SEE-LADDER
|
|
EQUAL? HERE,CAPT-QUARTERS \?CCL3
|
|
CALL QUEUE,I-SEE-LADDER,-1
|
|
RANDOM 100
|
|
LESS? 40,STACK /FALSE
|
|
PRINT INDENT
|
|
PRINTI "The end of a rope ladder blows "
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,CAPT-BED,CAPT-QUARTERS \?CCL9
|
|
PRINTR "past the window."
|
|
?CCL9: PRINTR "by."
|
|
?CCL3: CALL DEQUEUE,I-SEE-LADDER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PAPERS-F
|
|
CALL UNIMPORTANT-THING
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ON-LADDER-F,RARG
|
|
EQUAL? RARG,M-ENTER \?CCL3
|
|
MOVE LEDGE,HERE
|
|
CALL DEQUEUE,I-SEE-LADDER
|
|
RSTACK
|
|
?CCL3: EQUAL? RARG,M-BEG \?CCL5
|
|
EQUAL? PRSA,V?LEAP-OFF,V?LEAP /?CTR4
|
|
EQUAL? PRSA,V?DROP \?CCL5
|
|
EQUAL? PRSO,LADDER \?CCL5
|
|
?CTR4: CALL DO-WALK,P?DOWN
|
|
RSTACK
|
|
?CCL5: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are clinging to a slimy ladder, tied to a rail of the poop deck above you. Not far from your feet,"
|
|
ZERO? SKIFF-TIED /?CCL16
|
|
CALL APRINT,SKIFF
|
|
PRINTI " bobs in the water"
|
|
JUMP ?CND14
|
|
?CCL16: PRINTI " waves kiss the stern of the ship"
|
|
?CND14: FSET? ON-LADDER,TOUCHBIT /?CND17
|
|
PRINTI ". The ladder twists under your weight"
|
|
?CND17: PRINTC 46
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OBJ-QUARTERS-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
CALL NOUN-USED,W?QUARTE,OBJ-QUARTERS
|
|
ZERO? STACK /?CCL6
|
|
EQUAL? HERE,POOP,LANDING \?CCL6
|
|
PRINTR "Why don't you go there and look?"
|
|
?CCL6: CALL V-LOOK
|
|
RSTACK
|
|
?CCL3: EQUAL? PRSA,V?ENTER,V?CLIMB,V?BOARD \FALSE
|
|
EQUAL? HERE,DEUX-DECK,ON-LADDER \FALSE
|
|
CALL DO-WALK,P?IN
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-LADDER-BLOWS
|
|
INC 'BLOWING-LADDER-C
|
|
LESS? BLOWING-LADDER-C,2 /TRUE
|
|
PRINT INDENT
|
|
EQUAL? BLOWING-LADDER-C,2,5 \?CCL5
|
|
PRINTI "All air is driven out of you as"
|
|
CALL TPRINT,LADDER
|
|
PRINTR " slams into the stern."
|
|
?CCL5: EQUAL? BLOWING-LADDER-C,3,6 \?CCL7
|
|
PRINTI "Rebounding,"
|
|
CALL TPRINT,LADDER
|
|
PRINTI " twists you around to face"
|
|
CALL TRPRINT,SHIP
|
|
RSTACK
|
|
?CCL7: EQUAL? BLOWING-LADDER-C,4 \?CCL9
|
|
PRINTI "The ladder swings back towards"
|
|
CALL TRPRINT,SHIP
|
|
RSTACK
|
|
?CCL9: EQUAL? BLOWING-LADDER-C,7 \FALSE
|
|
CALL JIGS-UP,STR?302
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LADDER-EXIT,CRUFTY-KLUDGE=0
|
|
CALL DEQUEUE,I-LADDER-BLOWS
|
|
PRINTI "You pull "
|
|
PRINTD ME
|
|
PRINTI " over"
|
|
CALL TPRINT,LEDGE
|
|
PRINTI ", tumbling head over heels into Jamison's "
|
|
PRINTD OBJ-QUARTERS
|
|
PRINT PCR
|
|
CRLF
|
|
ZERO? CRUFTY-KLUDGE \?CTR2
|
|
RETURN CAPT-QUARTERS
|
|
?CTR2: CALL GOTO,CAPT-QUARTERS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CURTAIN-EXIT
|
|
IN? HERO,HERE \?CCL3
|
|
PRINT SINEWY-ARM
|
|
CRLF
|
|
RFALSE
|
|
?CCL3: LOC PROTAGONIST
|
|
EQUAL? STACK,LEDGE \?CCL5
|
|
RETURN CAPT-QUARTERS
|
|
?CCL5: FSET? LANDING,TOUCHBIT /?CND6
|
|
CALL CTPRINT,CUPBOARD-OBJECT
|
|
PRINT ISNT-FLUSH
|
|
?CND6: PRINTI "You"
|
|
PRINT SQUEEZE-THRU
|
|
PRINT PCR
|
|
CRLF
|
|
EQUAL? P-WALK-DIR,P?SOUTH \?CCL10
|
|
ZERO? LADDER-HANGING /?CND11
|
|
CALL QUEUE,I-SEE-LADDER,-1
|
|
?CND11: FSET PILE-OF-CLOTHES,NDESCBIT
|
|
MOVE CUPBOARD-OBJECT,CAPT-QUARTERS
|
|
RETURN CAPT-QUARTERS
|
|
?CCL10: FCLEAR PILE-OF-CLOTHES,NDESCBIT
|
|
MOVE CUPBOARD-OBJECT,LANDING
|
|
CALL DEQUEUE,I-SEE-LADDER
|
|
RETURN LANDING
|
|
|
|
|
|
.FUNCT WINDOW-EXIT
|
|
CALL PERFORM,V?BOARD,LEDGE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEDGE-F,VARG=0
|
|
EQUAL? VARG,M-BEG \?CCL3
|
|
EQUAL? PRSA,V?TAKE-OFF,V?CLIMB-DOWN,V?DISEMBARK \?CCL6
|
|
EQUAL? PRSO,DRESS,LADDER /?CCL6
|
|
MOVE PROTAGONIST,HERE
|
|
FSET LADDER,TRYTAKEBIT
|
|
PRINTR "You clamber off the sill to safety."
|
|
?CCL6: EQUAL? PRSA,V?LEAP-OFF,V?LEAP /?CTR9
|
|
EQUAL? PRSA,V?ENTER \?CCL10
|
|
EQUAL? PRSO,SEA \?CCL10
|
|
?CTR9: PRINT SUICIDE
|
|
RTRUE
|
|
?CCL10: EQUAL? PRSA,V?WALK \FALSE
|
|
EQUAL? P-WALK-DIR,P?NORTH \?CCL19
|
|
CALL PERFORM,V?DISEMBARK,LEDGE
|
|
RTRUE
|
|
?CCL19: EQUAL? P-WALK-DIR,P?UP /FALSE
|
|
CALL DO-FIRST,STR?303,LEDGE
|
|
RSTACK
|
|
?CCL3: ZERO? VARG \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL25
|
|
FSET? LEDGE,MUNGBIT \?CCL28
|
|
PRINTI "Glass shards decorate"
|
|
CALL TRPRINT,LEDGE
|
|
RSTACK
|
|
?CCL28: PRINTI "Tall panes of glass are inset into"
|
|
CALL TRPRINT,LEDGE
|
|
RSTACK
|
|
?CCL25: EQUAL? PRSA,V?MUNG \?CCL30
|
|
ZERO? PRSI \?CCL30
|
|
CALL PROPOSE
|
|
RSTACK
|
|
?CCL30: EQUAL? PRSA,V?LEAP-OFF \?CCL34
|
|
FSET? LEDGE,MUNGBIT \?CCL37
|
|
CALL DO-FIRST,STR?255,LEDGE
|
|
RSTACK
|
|
?CCL37: PRINT SUICIDE
|
|
RTRUE
|
|
?CCL34: EQUAL? PRSA,V?DISEMBARK,V?CLIMB-ON,V?BOARD /?CCL39
|
|
EQUAL? PRSA,V?ENTER,V?STAND-ON \FALSE
|
|
?CCL39: EQUAL? HERE,CAPT-QUARTERS \?CCL44
|
|
FSET? LEDGE,MUNGBIT /?CCL47
|
|
PRINTI "The available ledge on this side of the window is hardly deep enough to sit on"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL47: PRINTI "You climb onto the ledge. "
|
|
FSET? POOP,TOUCHBIT /?CND48
|
|
FSET LADDER,TAKEBIT
|
|
?CND48: ZERO? LADDER-HANGING /?CND50
|
|
CALL QUEUE,I-SEE-LADDER,2
|
|
CALL CTPRINT,LADDER
|
|
PRINTI " drifts within reach."
|
|
?CND50: CRLF
|
|
MOVE PROTAGONIST,LEDGE
|
|
RTRUE
|
|
?CCL44: EQUAL? HERE,ON-LADDER \FALSE
|
|
CALL LADDER-EXIT,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GEN-BED
|
|
RETURN CAPT-BED
|
|
|
|
|
|
.FUNCT LANDING-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "You are on the landing of a steep stairway heading up and down. A "
|
|
PRINTD CUPBOARD-OBJECT
|
|
PRINTI " against the aft wall blocks the doorway to the captain's "
|
|
PRINTD OBJ-QUARTERS
|
|
PRINTC 46
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SLEEPING-CUPBOARD-F,RARG
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
PRINTI "The bed is softer than it looks, plumped up with fresh straw. A soft, if somewhat cramped, bunk for the tall bulk of Jamison. The cupboard opens to the fore."
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-BEG \FALSE
|
|
EQUAL? PRSA,V?DISEMBARK \FALSE
|
|
EQUAL? PRSO,CUPBOARD-OBJECT \FALSE
|
|
CALL DO-WALK,P?OUT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CUPBOARD-EXIT
|
|
FSET? CUPBOARD-OBJECT,OPENBIT /?CCL3
|
|
EQUAL? P-WALK-DIR,P?IN \?CCL6
|
|
CALL DO-FIRST,STR?265,CUPBOARD-OBJECT
|
|
RFALSE
|
|
?CCL6: FSET CUPBOARD-OBJECT,OPENBIT
|
|
PRINTI "You open"
|
|
CALL TPRINT,CUPBOARD-OBJECT
|
|
PRINTI " and clamber out"
|
|
PRINT PCR
|
|
CRLF
|
|
MOVE CUPBOARD-OBJECT,LANDING
|
|
RETURN LANDING
|
|
?CCL3: EQUAL? P-WALK-DIR,P?IN \?CCL9
|
|
IN? PILE-OF-CLOTHES,CUPBOARD-OBJECT \?CND10
|
|
MOVE PILE-OF-CLOTHES,SLEEPING-CUPBOARD
|
|
?CND10: MOVE CUPBOARD-OBJECT,SLEEPING-CUPBOARD
|
|
RETURN SLEEPING-CUPBOARD
|
|
?CCL9: IN? PILE-OF-CLOTHES,SLEEPING-CUPBOARD \?CND12
|
|
MOVE PILE-OF-CLOTHES,CUPBOARD-OBJECT
|
|
?CND12: MOVE CUPBOARD-OBJECT,LANDING
|
|
RETURN LANDING
|
|
|
|
|
|
.FUNCT CUPBOARD-OBJECT-F
|
|
EQUAL? PRSA,V?MOVE,V?PUSH \?CCL3
|
|
CALL CTPRINT,CUPBOARD-OBJECT
|
|
PRINT ISNT-FLUSH
|
|
PRINT SQUEEZE-AROUND
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5
|
|
EQUAL? HERE,CAPT-QUARTERS \?CCL5
|
|
CALL CTPRINT,DOOR
|
|
PRINTI " is on the other side of"
|
|
CALL TRPRINT,CUPBOARD-OBJECT
|
|
RSTACK
|
|
?CCL5: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \?CCL9
|
|
EQUAL? HERE,SLEEPING-CUPBOARD \?CCL12
|
|
CALL V-LOOK
|
|
RSTACK
|
|
?CCL12: EQUAL? HERE,CAPT-QUARTERS \?CCL14
|
|
PRINT YOU-SEE
|
|
PRINT THE-BACK
|
|
CALL TPRINT,CUPBOARD-OBJECT
|
|
PRINTI ". "
|
|
PRINT SQUEEZE-AROUND
|
|
RTRUE
|
|
?CCL14: FSET? CUPBOARD-OBJECT,OPENBIT \?CCL16
|
|
PRINTI "It is a dark messy bed, set entirely within and filling"
|
|
CALL TPRINT,CUPBOARD-OBJECT
|
|
PRINTI ". A cabin boy must sleep here when Jamison isn't using it."
|
|
FSET? PILE-OF-CLOTHES,TOUCHBIT /?CND17
|
|
PRINTC 32
|
|
GETP PILE-OF-CLOTHES,P?FDESC
|
|
PRINT STACK
|
|
?CND17: CRLF
|
|
RTRUE
|
|
?CCL16: PRINTI "It"
|
|
PRINT IS-CLOSED
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?BOARD,V?ENTER \?CCL20
|
|
EQUAL? HERE,SLEEPING-CUPBOARD \?CCL23
|
|
PRINT LOOK-AROUND
|
|
RTRUE
|
|
?CCL23: EQUAL? HERE,CAPT-QUARTERS \?CCL25
|
|
PRINT YOU-CANT-SEE-ANY
|
|
PRINT WAY-TO-DO-THAT
|
|
RTRUE
|
|
?CCL25: CALL DO-WALK,P?IN
|
|
RSTACK
|
|
?CCL20: EQUAL? PRSA,V?PUT \FALSE
|
|
PRINT YOULL-HAVE-TO
|
|
PRINTI "get in the "
|
|
PRINTD CUPBOARD-OBJECT
|
|
PRINTI " to do that"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HOLD-F,RARG
|
|
EQUAL? RARG,M-ENTER \?CCL3
|
|
FSET? HERE,TOUCHBIT /?CCL3
|
|
FSET? POOP,TOUCHBIT /?CCL3
|
|
PRINTI "You hear a scuffling noise ahead, and scraping up near the ceiling. You would think it was caused by rats, but for the definite curse you heard before all the movement"
|
|
PRINT PCR
|
|
CRLF
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-END \?CCL8
|
|
ZERO? FUSE-LIT /?CCL8
|
|
FSET? FUSE,TOUCHBIT /?CCL8
|
|
CALL DEQUEUE,I-SMELL-SMOKE
|
|
CALL I-SMELL-SMOKE
|
|
RFALSE
|
|
?CCL8: EQUAL? RARG,M-LOOK \FALSE
|
|
CALL HATCH-DESC
|
|
PRINTI " above. Rats' scratchings counterpoint the lullaby of bilge water sloshing in the bulkheads, punctuated by footsteps slapping the deck overhead. You may move fore or aft.
|
|
Behind a high fence, decorated by a sign, are stacked"
|
|
CALL TPRINT,SUPPLIES
|
|
PRINTI "; casks of rum, water, flour and salt meat interspersed with kegs of gunpowder and shot. A closed gate is the only way in."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HATCH-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
EQUAL? HERE,HOLD \?CCL6
|
|
CALL HATCH-DESC
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL6: FSET? HATCH,OPENBIT \?CCL9
|
|
PRINT STEEP-STAIRS
|
|
PRINTR "into murky darkness."
|
|
?CCL9: PRINTI "Canvas stretches across"
|
|
CALL TRPRINT,HATCH
|
|
RSTACK
|
|
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL11
|
|
FSET? HATCH,OPENBIT \?CCL14
|
|
CALL PERFORM,V?EXAMINE,HATCH
|
|
RTRUE
|
|
?CCL14: CALL CTPRINT,HATCH
|
|
PRINT IS-CLOSED
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?OPEN \FALSE
|
|
FSET? HATCH,OPENBIT /FALSE
|
|
EQUAL? HERE,MAIN-DECK \?CCL21
|
|
FSET HATCH,OPENBIT
|
|
PRINTI "You pull a corner of canvas out of the frame. "
|
|
CALL PERFORM,V?EXAMINE,HATCH
|
|
RTRUE
|
|
?CCL21: PRINT YOU-CANT-SEE-ANY
|
|
PRINT WAY-TO-DO-THAT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HATCH-DESC
|
|
FSET? HATCH,OPENBIT \?CCL3
|
|
PRINTI "Moonlight shines down the stairs through an open corner of the canvas hatch"
|
|
RTRUE
|
|
?CCL3: PRINTI "Steep stairs lead up in the dimness to a canvas hatch"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FENCE-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-BEHIND \?CCL3
|
|
CALL CTPRINT,SUPPLIES
|
|
PRINTI " are kept locked behind the fence. "
|
|
ZERO? FUSE-LIT /?CCL6
|
|
CALL PERFORM,V?EXAMINE,FUSE
|
|
RTRUE
|
|
?CCL6: CRLF
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8
|
|
CALL CTPRINT,FENCE
|
|
PRINTR " is made of thick, finely woven wire mesh, uncuttable and unclimbable. Except for a gap of about 6 inches over the closed gate, the cage is secure from ceiling to damp floorboards."
|
|
?CCL8: EQUAL? PRSA,V?THROW-OVER \?CCL10
|
|
PRINTI "You'd best throw"
|
|
CALL TPRINT-PRSO
|
|
PRINTI " over"
|
|
CALL TRPRINT,GATE
|
|
RSTACK
|
|
?CCL10: EQUAL? PRSA,V?CLIMB \?CCL12
|
|
PRINTI "You can't get a toehold in"
|
|
CALL TRPRINT,FENCE
|
|
RSTACK
|
|
?CCL12: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
|
|
PRINT YOULL-HAVE-TO
|
|
PRINTI "do that to the gate in"
|
|
CALL TRPRINT,FENCE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GATE-MADE-SAME,STR
|
|
PRINTI "The gate is made of the same "
|
|
PRINT STR
|
|
PRINTI " wire as"
|
|
CALL TPRINT,FENCE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GATE-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
PRINTI "It has a huge iron lock. Between"
|
|
CALL TPRINT,GATE
|
|
PRINTR " and the ceiling, however, is a gap of about 6 inches."
|
|
?CCL3: EQUAL? PRSA,V?ENTER \?CCL5
|
|
CALL NOUN-USED,W?GAP,GATE
|
|
ZERO? STACK /?CCL5
|
|
CALL PERFORM,V?CLIMB,GATE
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?EXIT,V?CLIMB-OVER,V?CLIMB \?CCL9
|
|
CALL GATE-MADE-SAME,STR?304
|
|
PRINTI ", and you cannot get a foothold"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?CUT \?CCL11
|
|
CALL GATE-MADE-SAME,STR?305
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?LOOK-BEHIND \?CCL13
|
|
CALL PERFORM-PRSA,FENCE
|
|
RSTACK
|
|
?CCL13: EQUAL? PRSA,V?THROW-OVER \?CCL15
|
|
PRINTI "You throw"
|
|
EQUAL? PRSO,RAG \?CCL18
|
|
REMOVE RAG
|
|
FCLEAR RAG,TOUCHBIT
|
|
CALL TPRINT,RAG
|
|
PRINTI " over the gate. "
|
|
ZERO? FUSE-LIT \?CCL21
|
|
PRINTI "It falls to the floor amongst the food supplies"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL21: EQUAL? WET-RAG,FALSE-VALUE \?CCL23
|
|
PRINTI "It flaps haplessly in the air, settling to the floor not far from the burning fuse"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL23: PRINTI "Luckily, it lands directly on the burning end of the fuse. "
|
|
EQUAL? WET-RAG,RUM \?CCL26
|
|
CALL QUEUE,I-SHIP-EXPLODES,9
|
|
CALL DEQUEUE,I-TEAR-RAG
|
|
PRINTI "Unluckily, it is soaked with flammable rum, and flares up, making the fuse burn much faster. You have perhaps 3 minutes to live."
|
|
CRLF
|
|
JUMP ?CND24
|
|
?CCL26: EQUAL? WET-RAG,WATER \?CND24
|
|
CALL DEQUEUE,I-SHIP-EXPLODES
|
|
CALL DEQUEUE,I-TEAR-RAG
|
|
SET 'FUSE-LIT,FALSE-VALUE
|
|
FSET FUSE,NDESCBIT
|
|
INC 'SCORE
|
|
PRINTI "With a sputter and a sigh, the flame dies."
|
|
CRLF
|
|
?CND24: SET 'WET-RAG,FALSE-VALUE
|
|
RTRUE
|
|
?CCL18: EQUAL? PRSO,DRESS \?CCL29
|
|
CALL TPRINT,DRESS
|
|
PRINTI " up, "
|
|
ZERO? WET-DRESS /?CCL32
|
|
MOVE DRESS,HOLD
|
|
PRINTI "its soaked skirt slapping "
|
|
PRINTD HEAD
|
|
PRINTI ". Too heavy and bulky to make it over the gate, it squelches to the floor nearby. A cold tear of "
|
|
PRINTD WET-DRESS
|
|
PRINTI " dribbles down the back of your neck"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL32: MOVE DRESS,HERE
|
|
PRINTI "but it billows out and catches on the top of the gate. It floats to the floor near you"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL29: REMOVE PRSO
|
|
CALL TPRINT-PRSO
|
|
PRINTI " into the ammunition area. It skids into the darkness"
|
|
ZERO? FUSE-LIT /?CND33
|
|
PRINTI ", over the burning end of the fuse. The fuse falters, spits and resumes burning"
|
|
?CND33: PRINT PCR
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?THROW,V?PUT-THROUGH,V?PUT \FALSE
|
|
CALL NOUN-USED,W?GAP,GATE
|
|
ZERO? STACK /FALSE
|
|
CALL PERFORM,V?THROW-OVER,PRSO,GATE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT KEG-F
|
|
CALL TOUCHING?,KEG
|
|
ZERO? STACK \?CCL3
|
|
CALL TOUCHING?,SUPPLIES
|
|
ZERO? STACK /FALSE
|
|
?CCL3: CALL CANT-REACH,SUPPLIES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SIGN-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \FALSE
|
|
PRINTR "The sign proclaims ""Thieves be keel-hauled"" in uncertain lettering."
|
|
|
|
|
|
.FUNCT I-SMELL-SMOKE
|
|
CALL QUEUED?,I-SHIP-EXPLODES
|
|
ZERO? STACK \?CND1
|
|
SET 'FUSE-LIT,TRUE-VALUE
|
|
FCLEAR FUSE,NDESCBIT
|
|
CALL QUEUE,I-TEAR-RAG,85
|
|
?CND1: FSET? FUSE,TOUCHBIT /FALSE
|
|
EQUAL? HERE,MAIN-DECK \?PRD8
|
|
FSET? HATCH,OPENBIT /?CCL4
|
|
?PRD8: EQUAL? HERE,HOLD \FALSE
|
|
?CCL4: FSET FUSE,TOUCHBIT
|
|
FCLEAR FUSE,INVISIBLE
|
|
PRINT INDENT
|
|
PRINTI "You gradually notice a familiar, worrying smell, sniff, and identify it as smoke. "
|
|
EQUAL? HERE,MAIN-DECK \?CCL13
|
|
PRINTI "It appears to come from below decks."
|
|
CRLF
|
|
RFALSE
|
|
?CCL13: EQUAL? HERE,HOLD \FALSE
|
|
PRINT TINY-GLOW
|
|
PRINT PCR
|
|
RFALSE
|
|
|
|
|
|
.FUNCT I-TEAR-RAG
|
|
CALL QUEUE,I-SHIP-EXPLODES,15
|
|
LOC RAG
|
|
ZERO? STACK \FALSE
|
|
ZERO? FUSE-LIT /FALSE
|
|
FSET? DRESS,WORNBIT /?CTR7
|
|
IN? DRESS,PROTAGONIST \?CCL8
|
|
?CTR7: ZERO? WET-DRESS /?CND11
|
|
SET 'WET-RAG,TRUE-VALUE
|
|
?CND11: FSET DRESS,MUNGBIT
|
|
PRINT INDENT
|
|
PRINTI "Your frock"
|
|
JUMP ?CND6
|
|
?CCL8: IN? SHIRT,PROTAGONIST \?CCL14
|
|
FSET SHIRT,MUNGBIT
|
|
PRINT INDENT
|
|
PRINTI "The tail of your shirt"
|
|
JUMP ?CND6
|
|
?CCL14: FSET? CHEMISE,EVERYBIT /TRUE
|
|
FSET CHEMISE,MUNGBIT
|
|
PRINT INDENT
|
|
PRINTI "Your chemise"
|
|
?CND6: LOC PROTAGONIST
|
|
MOVE RAG,STACK
|
|
PRINTR " suddenly catches on something, tearing the fabric. A large scrap flutters to your feet."
|
|
|
|
|
|
.FUNCT I-SHIP-EXPLODES
|
|
ZERO? FUSE-LIT /FALSE
|
|
FSET SHIP,MUNGBIT
|
|
SET 'SHIP-LOC,10
|
|
CALL DEQUEUE,I-SHIP-EXPLODES
|
|
CALL DEQUEUE,I-TEAR-RAG
|
|
CALL SHIP-BOARD,HERE
|
|
ZERO? STACK \?CTR5
|
|
EQUAL? HERE,BY-SHIP \?CCL6
|
|
?CTR5: CALL JIGS-UP,STR?306
|
|
RSTACK
|
|
?CCL6: LOC PROTAGONIST
|
|
EQUAL? STACK,SKIFF,CASK,BEACH \?CCL10
|
|
PRINT INDENT
|
|
PRINTI "A huge wave "
|
|
EQUAL? HERE,BEACH \?CCL13
|
|
PRINTI "rolls up the beach"
|
|
JUMP ?CND11
|
|
?CCL13: PRINTI "rocks"
|
|
LOC PROTAGONIST
|
|
CALL TPRINT,STACK
|
|
?CND11: PRINTI " as"
|
|
CALL TPRINT,SHIP
|
|
PRINTI " explodes into flames across the lagoon"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL10: PRINT INDENT
|
|
PRINTI "You hear a noise like a huge explosion in the distance, and the ground shakes beneath your feet. There should be good beachcombing tomorrow"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FUSE-F,OARG=0,C=0,X=0
|
|
ZERO? OARG /?CCL3
|
|
EQUAL? OARG,M-DESC? /TRUE
|
|
PRINT INDENT
|
|
PRINT TINY-GLOW
|
|
PRINTC 46
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?PUT-ON,V?POUR \?CCL7
|
|
EQUAL? PRSO,DRESS,RAG \?CCL7
|
|
CALL PROPOSE
|
|
RSTACK
|
|
?CCL7: EQUAL? PRSA,V?TAKE,V?MOVE \?CCL11
|
|
CALL CANT-REACH,FUSE
|
|
RSTACK
|
|
?CCL11: EQUAL? PRSA,V?POUR,V?OFF,V?ON /?CTR12
|
|
EQUAL? PRSA,V?CUT,V?PUT-ON /?CTR12
|
|
CALL TOUCHING?,FUSE
|
|
ZERO? STACK /?CCL13
|
|
?CTR12: PRINT YOU-ARENT
|
|
PRINTI "anywhere near"
|
|
CALL TPRINT,FUSE
|
|
PRINTR "!"
|
|
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL18
|
|
ZERO? FUSE-LIT /?CCL21
|
|
PRINTI "The burning fuse is "
|
|
CALL QUEUED?,I-SHIP-EXPLODES >C
|
|
ZERO? C /?CCL24
|
|
GET C,C-TICK
|
|
SUB 15,STACK >X
|
|
GRTR? X,12 \?CCL27
|
|
PRINTI "boring a hole through the largest powder keg"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL27: GRTR? X,7 \?CCL29
|
|
PRINTI "mere inches"
|
|
JUMP ?CND22
|
|
?CCL29: PRINTI "only a foot"
|
|
JUMP ?CND22
|
|
?CCL24: CALL QUEUED?,I-TEAR-RAG >C
|
|
GET C,C-TICK
|
|
SUB 85,STACK >X
|
|
GRTR? X,70 \?CCL32
|
|
PRINTI "a few feet"
|
|
JUMP ?CND22
|
|
?CCL32: GRTR? X,60 \?CCL34
|
|
PRINTI "several feet"
|
|
JUMP ?CND22
|
|
?CCL34: GRTR? X,45 \?CCL36
|
|
PRINTI "a few yards"
|
|
JUMP ?CND22
|
|
?CCL36: PRINTI "quite near the fence, several yards"
|
|
?CND22: PRINTI " from the pile of gunpowder kegs opposite"
|
|
CALL TRPRINT,GATE
|
|
RSTACK
|
|
?CCL21: PRINT YOU-SEE
|
|
PRINT DARKNESS
|
|
CALL TRPRINT,FENCE
|
|
RSTACK
|
|
?CCL18: EQUAL? PRSA,V?THROW-AT,V?THROW-OVER,V?THROW \FALSE
|
|
EQUAL? PRSO,DRESS,RAG \FALSE
|
|
CALL PERFORM,V?THROW-OVER,PRSO,GATE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CREWS-QUARTERS-F,RARG
|
|
EQUAL? RARG,M-ENTER \?CCL3
|
|
ZERO? HEARD-CRULLEY \?CCL3
|
|
CALL QUEUE,I-OVERHEAR-CRULLEY,2
|
|
RSTACK
|
|
?CCL3: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "The crew sleeps, in shifts, in this cramped space under the forecastle. A breeze blows in on a moonbeam through a grate in the ceiling. A low doorsill is abaft.
|
|
"
|
|
PRINT INDENT
|
|
FSET? MESS,TOUCHBIT /?CND8
|
|
FSET MESS,TOUCHBIT
|
|
PRINTI "This area must also serve as sickroom. "
|
|
?CND8: PRINTI "Strewn about the floor are various powders and spills of malodorous potions. In one corner, a large blood stain indicates an amputation; in another is the smear of a leech, dropped off a bloodletting."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GRATE-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE \FALSE
|
|
EQUAL? HERE,CREWS-QUARTERS \?CCL6
|
|
CALL PERFORM,V?EXAMINE,CEILING
|
|
RTRUE
|
|
?CCL6: PRINT YOU-SEE
|
|
PRINT DARKNESS
|
|
CALL TRPRINT,GRATE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE \?CCL3
|
|
PRINTI "You are aglow with excitement"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT,V?PUT \?CCL5
|
|
EQUAL? PRSI,MOONBEAM,SHUTTERS,SHIP /?CTR4
|
|
EQUAL? PRSI,WINDOW \?CCL5
|
|
?CTR4: CALL SIGNAL-SHIP,MIRROR
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "Probably a remnant of a pirated lady's boudoir,"
|
|
CALL TPRINT,MIRROR
|
|
PRINTI "'s edges are dulled from use"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SIGNAL-SHIP,THING
|
|
FSET? HERE,INDOORSBIT \?CCL3
|
|
CALL GLOBAL-IN?,HERE,WINDOW
|
|
ZERO? STACK \?CCL3
|
|
EQUAL? HERE,LAFS-ROOM,CAPT-QUARTERS /?CCL3
|
|
PRINT YOU-CANT-SEE-ANY
|
|
PRINT WAY-TO-DO-THAT
|
|
RTRUE
|
|
?CCL3: MOVE THING,PROTAGONIST
|
|
IN? CHICKEN,THING \?CND7
|
|
REMOVE CHICKEN
|
|
REMOVE SPICES
|
|
PRINTI "You scrape everything off"
|
|
CALL TPRINT,TRAY
|
|
PRINTI " into the bushes below. "
|
|
?CND7: EQUAL? HERE,BEDROOM \?CND9
|
|
PRINT YOU-CANT
|
|
PRINTI "quite catch the moon, just peeking over the house, in the little mirror"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CND9: PRINTI "You roll"
|
|
CALL TPRINT,THING
|
|
PRINTI " around in the beam of moonlight till it glows silver-white. "
|
|
EQUAL? HERE,LAFS-ROOM \?CCL13
|
|
FSET? SHIP,MUNGBIT \?CCL16
|
|
PRINTI "The breeze picks up, howling off"
|
|
CALL TRPRINT,SEA
|
|
RTRUE
|
|
?CCL16: CALL QUEUED?,I-PIRATE-RESCUE
|
|
ZERO? STACK \?CCL18
|
|
ZERO? ENDGAME \?CCL18
|
|
INC 'SCORE
|
|
IN? LAFOND,HERE \?CCL23
|
|
CALL QUEUE,I-PIRATE-RESCUE,14
|
|
JUMP ?CND21
|
|
?CCL23: CALL QUEUE,I-PIRATE-RESCUE,6
|
|
?CND21: PRINTI "After a moment, a flash of light responds from"
|
|
CALL TRPRINT,SHIP
|
|
RSTACK
|
|
?CCL18: CRLF
|
|
RTRUE
|
|
?CCL13: CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-PIRATE-RESCUE
|
|
SET 'ENDGAME,TRUE-VALUE
|
|
SET 'COOKIE-LOOKING,TRUE-VALUE
|
|
FSET LUCY,NDESCBIT
|
|
FSET DAD,NDESCBIT
|
|
MOVE CRULLEY,DUNGEON
|
|
FCLEAR COOKIE,NDESCBIT
|
|
FSET BALLROOM,EVERYBIT
|
|
FSET SKIFF,NDESCBIT
|
|
PRINT INDENT
|
|
EQUAL? HERE,LAWN,VERANDA,FOREST /?CTR2
|
|
EQUAL? HERE,TRADE-ENTRANCE \?CCL3
|
|
?CTR2: PRINTI "Silently, a dozen ragged men creep in from the beach. Small groups move in all "
|
|
PRINTD INTDIR
|
|
PRINTI "s, surrounding the mansion, until, with a hair-raising cry, they attack the house. Screams of terror come from the ballroom"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL3: EQUAL? HERE,LAFS-ROOM \?CCL7
|
|
IN? LAFOND,HERE \?CCL7
|
|
PRINT BATTLE-CRY
|
|
PRINTI ", and Lafond whirls around, every sinew taut. ""Damnation! Jamison somehow called his men!"" Holding a knife to your throat, Lafond drags you downstairs and away from rescue, as Cookie and the crew watch helpless."
|
|
CALL JIGS-UP,STR?307
|
|
RSTACK
|
|
?CCL7: EQUAL? HERE,LAFS-ROOM \?CCL11
|
|
FSET? BUTLER,DEADBIT /?CCL11
|
|
PRINT BATTLE-CRY
|
|
PRINTI ", as Jamison's men respond to your signal. "
|
|
CALL CTPRINT,BUTLER
|
|
PRINTI ", looking scared, grabs you and runs downstairs and out to the front drive."
|
|
CALL JIGS-UP,STR?308
|
|
RSTACK
|
|
?CCL11: EQUAL? HERE,GALLERY,STAIRTOP,FOYER /?CTR14
|
|
EQUAL? HERE,BALLROOM,ORCHESTRA,SUPPER-ROOM \?CCL15
|
|
?CTR14: PRINT BATTLE-CRY
|
|
PRINTI ", and Jamison's men stream in from all "
|
|
PRINTD INTDIR
|
|
PRINTI "s, huddling the dancers in the middle of the ballroom"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL15: PRINT BATTLE-CRY
|
|
PRINTI ". It is drowned out a few minutes later by screams of terror from the dancers in the ballroom"
|
|
PRINT PCR
|
|
EQUAL? HERE,FRONT-DRIVE \FALSE
|
|
PRINT INDENT
|
|
PRINTR "The dragoons look alarmed, and confer among themselves."
|
|
|
|
|
|
.FUNCT DAGGER-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
CALL CTPRINT,DAGGER
|
|
PRINTI " is quite dull"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?CUT \FALSE
|
|
FSET? PRSO,WEARBIT \?CCL8
|
|
CALL PERFORM,V?RIP,PRSO
|
|
RTRUE
|
|
?CCL8: EQUAL? PRSO,LINE /FALSE
|
|
EQUAL? PRSO,DAGGER \?CCL12
|
|
CALL IMPOSSIBLES
|
|
RSTACK
|
|
?CCL12: CALL CTPRINT,DAGGER
|
|
PRINTI " is much too dull to cut"
|
|
CALL TRPRINT,PRSO
|
|
RSTACK
|
|
|
|
|
|
.FUNCT POOP-F,RARG
|
|
EQUAL? RARG,M-ENTER \?CCL3
|
|
FSET? POOP,TOUCHBIT /?CCL3
|
|
ZERO? HEARD-CRULLEY \?CND6
|
|
SET 'HEARD-CRULLEY,TRUE-VALUE
|
|
FSET ANCHOR,MUNGBIT
|
|
FSET LEVER,MUNGBIT
|
|
CALL QUEUE,I-SEE-CRULLEY-ESCAPE,2
|
|
CALL QUEUE,I-LOOK-SEA,10
|
|
?CND6: INC 'SCORE
|
|
RETURN SCORE
|
|
?CCL3: EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "From this platform deck you can see the whole of the two-masted ship, shadowy forms moving about here and there. A railing protects you from stepping off the deck in any "
|
|
PRINTD INTDIR
|
|
PRINTI " but to the fore."
|
|
ZERO? LADDER-HANGING /?CND10
|
|
PRINTI " A rope ladder is tied to the railing at the stern of the ship."
|
|
?CND10: CALL I-LOOK-SEA,FALSE-VALUE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT QUARTERDECK-F,RARG
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
PRINTI "No torches are lit, or needed on this moonlit night, except in the deep shadows cast by the huge navigation wheel. Men move about to the fore, talking quietly. Under the stairs aft to the poop is a barred door."
|
|
CALL I-LOOK-SEA,FALSE-VALUE
|
|
RSTACK
|
|
?CCL3: EQUAL? RARG,M-END \FALSE
|
|
ZERO? BOY-DRESS? \FALSE
|
|
CALL SAILOR-DEATH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT WHEEL-F
|
|
CALL TOUCHING?,WHEEL
|
|
ZERO? STACK /FALSE
|
|
PRINTI "From the grumbling emitted as you near"
|
|
CALL TPRINT,WHEEL
|
|
PRINTR ", you gather that the sailors close by would not appreciate your action."
|
|
|
|
|
|
.FUNCT CANNON-F
|
|
CALL TOUCHING?,CANNON
|
|
ZERO? STACK /?CCL3
|
|
PRINTR "A crewman growls angrily, ""Boy! Get away from me guns -- they've killed better men than thee by just rollin' backwards."""
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
|
|
PRINTI "Huge, old and blackened, these cannon have seen many battles"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?SSHOOT,V?SHOOT \FALSE
|
|
CALL REPERTOIRE,STR?309
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CASK-F,VARG=0
|
|
ZERO? VARG /?CCL3
|
|
EQUAL? VARG,M-BEG \?CCL6
|
|
EQUAL? PRSA,V?ROW-TO,V?ROW-DIR,V?ROW \?CCL9
|
|
CALL V-ROW
|
|
RSTACK
|
|
?CCL9: EQUAL? PRSA,V?WALK \?PRD13
|
|
EQUAL? PRSO,P?OUT \?CCL11
|
|
?PRD13: CALL TOUCHING?,PYRAMID
|
|
ZERO? STACK /FALSE
|
|
?CCL11: CALL DO-FIRST,STR?310,CASK
|
|
RSTACK
|
|
?CCL6: EQUAL? VARG,M-DESC? /TRUE
|
|
EQUAL? VARG,M-OBJDESC \FALSE
|
|
EQUAL? HERE,SHALLOWS,LAGOON \FALSE
|
|
PRINT INDENT
|
|
PRINTI "Waves lap at"
|
|
CALL TPRINT,CASK
|
|
PRINTC 46
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL23
|
|
PRINTI "This large, empty cask smells of salt and rancid meat. The head of"
|
|
CALL TPRINT,CASK
|
|
PRINTI " is missing"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL23: EQUAL? PRSA,V?ENTER,V?BOARD \?CCL25
|
|
MOVE PROTAGONIST,CASK
|
|
PRINTI "You crawl into"
|
|
CALL TPRINT,CASK
|
|
FSET? PORK,TOUCHBIT /?CND26
|
|
PRINTI ", feeling a slab of something stuck on the bottom"
|
|
?CND26: EQUAL? HERE,QUARTERDECK \?CCL30
|
|
PRINTI ". From this close, you can see"
|
|
CALL TPRINT,LINE
|
|
PRINTI " is getting frayed where it rubs against"
|
|
CALL TRPRINT,CASK
|
|
RSTACK
|
|
?CCL30: PRINT PCR
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL32
|
|
PRINTI "One end of"
|
|
CALL TPRINT,CASK
|
|
PRINTI " is missing, so it can't be opened or closed"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL32: EQUAL? PRSA,V?LAUNCH \?CCL34
|
|
EQUAL? HERE,QUARTERDECK \?CCL37
|
|
PRINT HUH
|
|
RTRUE
|
|
?CCL37: PRINT ALREADY-IS
|
|
RTRUE
|
|
?CCL34: EQUAL? PRSA,V?DISEMBARK \FALSE
|
|
EQUAL? HERE,LAGOON \?CCL42
|
|
PRINT TOO-DEEP
|
|
RTRUE
|
|
?CCL42: EQUAL? HERE,SHALLOWS \FALSE
|
|
MOVE PROTAGONIST,HERE
|
|
REMOVE CASK
|
|
PRINTI "Free of your weight,"
|
|
CALL TPRINT,CASK
|
|
PRINTI " bobs and spins in the current, pulled out into the lagoon. You splash after it, but it is gone"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PORK-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
CALL CTPRINT,PORK
|
|
PRINTR ", caked white with salt, is rock-hard."
|
|
?CCL3: EQUAL? PRSA,V?EAT \?CCL5
|
|
CALL CTPRINT,PORK
|
|
PRINTR " is too salty to eat."
|
|
?CCL5: EQUAL? PRSA,V?TAKE \FALSE
|
|
IN? PORK,CASK \FALSE
|
|
FSET? PORK,TAKEBIT /FALSE
|
|
IN? PROTAGONIST,CASK \?CCL13
|
|
FSET PORK,TAKEBIT
|
|
MOVE PORK,PROTAGONIST
|
|
PRINTI "You peel it off"
|
|
CALL TRPRINT,CASK
|
|
RSTACK
|
|
?CCL13: CALL CTPRINT,PORK
|
|
PRINTI " is beyond your reach at the bottom of"
|
|
CALL TRPRINT,CASK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LINE-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
PRINTI "Heavy-duty, hand-twisted rope is pulled taut around"
|
|
CALL TPRINT,PYRAMID
|
|
PRINTI ". "
|
|
FSET? LINE,MUNGBIT /?CND4
|
|
PRINTI "It runs directly over the open-ended cask. "
|
|
?CND4: PRINTI "A seaman calls over, ""Boy, take care"
|
|
FSET? LINE,MUNGBIT \?CCL8
|
|
PRINTI " -- or I'll see you flogged"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI ". Them casks ain't safe, they could push ye overboard"
|
|
?CND6: PRINTR "!"""
|
|
?CCL3: EQUAL? PRSA,V?CUT \?CCL10
|
|
ZERO? PRSI \?CCL13
|
|
CALL HELD?,DAGGER
|
|
ZERO? STACK /?CCL13
|
|
PRINTI "[with the dagger]"
|
|
CRLF
|
|
CALL PERFORM,V?CUT,LINE,DAGGER
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSI,DAGGER \FALSE
|
|
ZERO? FUSE-LIT /?CND18
|
|
IN? PROTAGONIST,CASK \?CND18
|
|
FSET? LINE,EVERYBIT /?CND18
|
|
FSET LINE,EVERYBIT
|
|
PRINTR "You hesitate, thinking of the fates of those left aboard this ship."
|
|
?CND18: CALL CTPRINT,LINE
|
|
PRINTI " snaps, and the pyramid collapses into dozens of tumbling casks. "
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,CASK \?CCL25
|
|
FCLEAR CASK,NDESCBIT
|
|
FSET LINE,MUNGBIT
|
|
REMOVE DAGGER
|
|
SUB SHIP-LOC,2 >CASK-LOC
|
|
INC 'SCORE
|
|
PRINTI "Your cask is thrust into the sea,"
|
|
CALL TPRINT,DAGGER
|
|
PRINTI " flying from "
|
|
PRINTD HANDS
|
|
PRINT PCR
|
|
FSET? ANCHOR,MUNGBIT \?CCL28
|
|
CALL FWTD,STR?311
|
|
JUMP ?CND26
|
|
?CCL28: PRINT INDENT
|
|
PRINTI "Sputtering mouthfuls of salt water, you first look around several minutes later"
|
|
PRINT PCR
|
|
CRLF
|
|
?CND26: FCLEAR DOOR,OPENBIT
|
|
FSET DOOR,LOCKEDBIT
|
|
CALL QUEUE,I-CURRENT,-1
|
|
MOVE CASK,LAGOON
|
|
CALL GOTO,CASK
|
|
CALL V-LOOK
|
|
RSTACK
|
|
?CCL25: LOC PROTAGONIST
|
|
EQUAL? STACK,QUARTERDECK \FALSE
|
|
CALL JIGS-UP,STR?312
|
|
RSTACK
|
|
?CCL10: EQUAL? PRSA,V?REMOVE,V?UNTIE \FALSE
|
|
PRINT YOU-CANT-SEE-ANY
|
|
PRINTI "knots to untie, just line"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GEN-CASK
|
|
IN? CASK,HERE /?CTR2
|
|
RETURN PYRAMID
|
|
?CTR2: RETURN CASK
|
|
|
|
|
|
.FUNCT PYRAMID-F,OARG=0
|
|
ZERO? OARG /?CCL3
|
|
EQUAL? OARG,M-DESC? /TRUE
|
|
PRINT INDENT
|
|
PRINTI "Abaft the wheel sits a "
|
|
FSET? LINE,MUNGBIT \?CCL8
|
|
PRINTI "small, hastily constructed"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "large"
|
|
?CND6: PRINTI " pyramid of casks, held in place by a heavy rope."
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL10
|
|
PRINTI "Lying on their sides, the casks are stacked in a rather shaky pyramid: perhaps that's why someone has tied the rope about them"
|
|
FSET? LINE,MUNGBIT /?CND11
|
|
PRINTI ". A cask on one corner has lost its lid"
|
|
?CND11: PRINT GET-AWAY
|
|
CRLF
|
|
RTRUE
|
|
?CCL10: EQUAL? PRSA,V?LOOK-INSIDE \?CCL14
|
|
PRINTI "All of the casks seem empty"
|
|
FSET? LINE,MUNGBIT /?CND15
|
|
PRINTI ", but the only one you can actually look in is the open-ended cask."
|
|
IN? PORK,CASK \?CND15
|
|
PRINTI " There appears to be"
|
|
CALL APRINT,PORK
|
|
PRINTR " dried to the bottom of that one."
|
|
?CND15: CRLF
|
|
RTRUE
|
|
?CCL14: CALL TOUCHING?,PYRAMID
|
|
ZERO? STACK /FALSE
|
|
FSET? LINE,MUNGBIT \?CCL23
|
|
PRINTR "A sailor swoops down on you from nowhere, whapping your backside painfully. ""Boy!"" he booms, ""get away from those! We already had to clean up after you once. Cap'n'll hear of this, I tell you."""
|
|
?CCL23: INC 'PYRAMID-CTR
|
|
PRINTI "The pyramid wobbles"
|
|
EQUAL? PYRAMID-CTR,3 \?CCL26
|
|
CALL JIGS-UP,STR?313
|
|
RTRUE
|
|
?CCL26: PRINT GET-AWAY
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAIN-DECK-F,RARG
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
PRINTI "It is a deceptively quiet evening on the ship, the pirates singing low shanties as they repair cannon, twist ropes and sharpen daggers. The mainmast casts an inky shadow over the "
|
|
FSET? HATCH,OPENBIT \?CCL6
|
|
PRINTI "open hatch and stairs leading down to the hold."
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "canvas screening the hatch."
|
|
?CND4: PRINT TANGLED-RIGGING
|
|
CALL I-LOOK-SEA,FALSE-VALUE
|
|
CRLF
|
|
PRINT INDENT
|
|
PRINTI "Two large barrels stand near the stair to the foredeck."
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-ENTER \?CCL8
|
|
ZERO? FUSE-LIT /?CCL8
|
|
FSET? FUSE,TOUCHBIT /?CCL8
|
|
CALL DEQUEUE,I-SMELL-SMOKE
|
|
CALL I-SMELL-SMOKE
|
|
RSTACK
|
|
?CCL8: EQUAL? RARG,M-END \FALSE
|
|
ZERO? BOY-DRESS? \FALSE
|
|
CALL SAILOR-DEATH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HATCH-ENTRANCE
|
|
FSET? HATCH,OPENBIT /?CCL3
|
|
CALL CTPRINT,HATCH
|
|
PRINT IS-CLOSED
|
|
PRINT PCR
|
|
RFALSE
|
|
?CCL3: EQUAL? HERE,MAIN-DECK \?CCL5
|
|
PRINTI "You glance around to see that no one is watching, and duck through the open corner of"
|
|
CALL TRPRINT,HATCH
|
|
CRLF
|
|
RETURN HOLD
|
|
?CCL5: PRINTI "You slip lithely through"
|
|
CALL TRPRINT,HATCH
|
|
CRLF
|
|
RETURN MAIN-DECK
|
|
|
|
|
|
.FUNCT RUM-F
|
|
EQUAL? PRSA,V?SOAK,V?PUT \?CCL3
|
|
CALL PERFORM,V?PUT,PRSO,RUM-BARREL
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-INSIDE,V?EXAMINE \?CCL5
|
|
PRINTI "The rum is a dark brown color"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?REACH-IN \?CCL7
|
|
PRINTI "Rum"
|
|
PRINT DRIPS-OFF
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?DRINK \FALSE
|
|
PRINTR "You take a sip and spit it out, coughing. This is much stronger than ratafia!"
|
|
|
|
|
|
.FUNCT GEN-BARREL
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
RETURN WATER-BARREL
|
|
|
|
|
|
.FUNCT BARREL-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3
|
|
EQUAL? PRSO,WATER-BARREL \?CCL6
|
|
CALL ADJ-USED,A?WATER
|
|
ZERO? STACK \?CTR8
|
|
CALL ADJ-USED,A?FRESH
|
|
ZERO? STACK /?CCL9
|
|
?CTR8: PRINTR "This large barrel is full of fresh water for the long sea voyage."
|
|
?CCL9: PRINTI "The two open barrels contain rum and water, you can tell by the smell of each. They are identical but for the dark stains around the mouth of"
|
|
CALL TRPRINT,RUM-BARREL
|
|
RSTACK
|
|
?CCL6: EQUAL? PRSO,RUM-BARREL \FALSE
|
|
PRINTI "Stained around the mouth by the spills of over-eager sailors,"
|
|
CALL TPRINT,RUM-BARREL
|
|
PRINTR " is nearly full."
|
|
?CCL3: EQUAL? PRSA,V?DRINK-FROM \?CCL15
|
|
EQUAL? PRSI,RUM-BARREL \?CCL18
|
|
CALL PERFORM,V?DRINK,RUM
|
|
RTRUE
|
|
?CCL18: EQUAL? PRSI,WATER-BARREL \FALSE
|
|
CALL PERFORM,V?DRINK,WATER
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?PUSH-DIR,V?PUSH,V?ROLL \?CCL22
|
|
EQUAL? P-PRSA-WORD,W?TIP \?CCL25
|
|
PRINTR "You notice a scrawl on the side, ""No tipping, please."""
|
|
?CCL25: PRINTR "The barrel is secured to the deck."
|
|
?CCL22: EQUAL? PRSA,V?EMPTY-FROM,V?EMPTY \?CCL27
|
|
CALL PROPOSE
|
|
RSTACK
|
|
?CCL27: EQUAL? PRSA,V?REACH-IN \?CCL29
|
|
EQUAL? PRSO,RUM-BARREL \?CCL32
|
|
PRINTI "Rum"
|
|
JUMP ?CND30
|
|
?CCL32: PRINTI "Water"
|
|
?CND30: PRINT DRIPS-OFF
|
|
RTRUE
|
|
?CCL29: EQUAL? PRSA,V?CLOSE \?CCL34
|
|
PRINTR "There is no lid."
|
|
?CCL34: EQUAL? PRSA,V?SOAK,V?PUT \?CCL36
|
|
EQUAL? PRSO,LAUD \?CCL39
|
|
PRINTR "The few drops left would be too diluted to affect anyone."
|
|
?CCL39: FSET? PRSI,OPENBIT /?CCL41
|
|
CALL CTPRINT,PRSI
|
|
PRINT IS-CLOSED
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL41: EQUAL? PRSO,LETTER,INVITE \?CCL43
|
|
CALL PERFORM,V?PUT,PRSO,SEA
|
|
RTRUE
|
|
?CCL43: EQUAL? PRSO,RAG,DRESS \?CCL45
|
|
CALL DIP-DRESS
|
|
RSTACK
|
|
?CCL45: REMOVE PRSO
|
|
PRINTI "You drop"
|
|
CALL TPRINT-PRSO
|
|
PRINTI " into"
|
|
CALL TPRINT-PRSI
|
|
PRINTI ". It sinks from sight"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL36: EQUAL? PRSA,V?DRINK \FALSE
|
|
GET P-NAMW,0
|
|
ZERO? STACK \FALSE
|
|
CALL ADJ-USED,A?WATER
|
|
ZERO? STACK /?CCL53
|
|
CALL PERFORM,V?DRINK,WATER
|
|
RTRUE
|
|
?CCL53: CALL ADJ-USED,A?RUM
|
|
ZERO? STACK /FALSE
|
|
CALL PERFORM,V?DRINK,RUM
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DIP-DRESS,LIQUID=0
|
|
ZERO? PRSI \?CCL3
|
|
CALL V-SOAK
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSI,RUM-BARREL,RUM \?CCL5
|
|
SET 'LIQUID,RUM
|
|
JUMP ?CND1
|
|
?CCL5: EQUAL? PRSI,WATER-BARREL,WATER,SEA /?CCL6
|
|
EQUAL? PRSI,POOL /?CCL6
|
|
EQUAL? HERE,BY-SHIP,LAGOON,SHALLOWS /?CCL6
|
|
EQUAL? HERE,BEACH \?CND1
|
|
?CCL6: SET 'LIQUID,WATER
|
|
?CND1: ZERO? WET-DRESS /?PRD14
|
|
EQUAL? PRSO,DRESS /?CCL12
|
|
?PRD14: ZERO? WET-RAG /?CND11
|
|
EQUAL? PRSO,RAG \?CND11
|
|
?CCL12: PRINTR "That's already wet enough."
|
|
?CND11: PRINTI "Keeping hold on"
|
|
CALL TPRINT-PRSO
|
|
PRINTI ", you soak it with "
|
|
EQUAL? PRSO,DRESS \?CCL21
|
|
LOC PROTAGONIST
|
|
MOVE DRESS,STACK
|
|
PUTP DRESS,P?SIZE,10
|
|
SET 'WET-DRESS,LIQUID
|
|
PRINTD LIQUID
|
|
PRINTI ". It becomes so heavy, however, that you drop it, with a loud squelch"
|
|
JUMP ?CND19
|
|
?CCL21: EQUAL? PRSO,RAG \?CND19
|
|
SET 'WET-RAG,LIQUID
|
|
PRINTD LIQUID
|
|
?CND19: PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOCSLE-F,RARG
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
PRINTI "Higher than all but the poop deck, this end of the ship commands a good view of the island; the ""crow's nest,"" swinging above in the heights of the foremast, would command a better."
|
|
PRINT TANGLED-RIGGING
|
|
CRLF
|
|
PRINTI " Imbedded in the deck is a grated air hole to the crew's "
|
|
PRINTD OBJ-QUARTERS
|
|
PRINTI " below. You can go aft, or forward through a break in the ubiquitous railing.
|
|
Odors of old grease and char waft from a little shack perched behind the mast."
|
|
CALL I-LOOK-SEA,FALSE-VALUE
|
|
RSTACK
|
|
?CCL3: EQUAL? RARG,M-END \FALSE
|
|
ZERO? BOY-DRESS? \FALSE
|
|
CALL SAILOR-DEATH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT WINCH-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
PRINTI "Made of an old barrel turning on a pole,"
|
|
CALL TPRINT,WINCH
|
|
PRINTI " is used to coil in the anchor chain. A pair of metal teeth bite the links to prevent it from dragging out; a lever is connected to the teeth. Something is written on the lever"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?SET \?CCL5
|
|
FSET? LEVER,MUNGBIT \?CCL8
|
|
PRINTI "The teeth are closed, so you can't move the chain"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL8: PRINT NO-STRENGTH
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
|
|
CALL PROPOSE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LEVER-F
|
|
EQUAL? PRSA,V?EXAMINE,V?READ \?CCL3
|
|
PRINTR "On the lever is written ""Open Up, Close Down."" You notice the lever is pointed down."
|
|
?CCL3: EQUAL? PRSA,V?RAISE \?CCL5
|
|
FSET? ANCHOR,MUNGBIT \?CCL8
|
|
INC 'SCORE
|
|
FCLEAR ANCHOR,MUNGBIT
|
|
REMOVE ANCHOR
|
|
CALL DEQUEUE,I-LOOK-SEA
|
|
CALL QUEUE,I-TIDES-TURN,3
|
|
PRINTI "The metal teeth open as you raise up"
|
|
CALL TPRINT,LEVER
|
|
PRINTI ". The anchor, released, splashes down into the sea, dragging its clanking chain. After a moment, you feel the ship pull slightly against the current. You lower the lever to prevent any more chain from spooling out"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL8: PRINTI "Raising"
|
|
CALL TPRINT,LEVER
|
|
PRINTI " would release more chain and you might "
|
|
CALL QUEUED?,I-TIDES-TURN
|
|
ZERO? STACK /?CCL11
|
|
PRINTI "cast"
|
|
CALL TPRINT,SHIP
|
|
PRINTR " against the reefs!"
|
|
?CCL11: PRINTI "ground"
|
|
CALL TRPRINT,SHIP
|
|
RSTACK
|
|
?CCL5: EQUAL? PRSA,V?LOWER \?CCL13
|
|
PRINT ALREADY-IS
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?PUSH,V?MOVE \FALSE
|
|
PRINT YOULL-HAVE-TO
|
|
PRINTI "specify which way you want to move it"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-TIDES-TURN
|
|
PRINT INDENT
|
|
PRINTI "With a heave and creak of timbers,"
|
|
CALL TPRINT,SHIP
|
|
PRINTR " drifts a little way back towards the island. The tide has turned."
|
|
|
|
|
|
.FUNCT GALLEY-F,RARG
|
|
EQUAL? RARG,M-END \?CCL3
|
|
FSET? COOKIE,TOUCHBIT /?CCL3
|
|
FSET COOKIE,TOUCHBIT
|
|
PRINT INDENT
|
|
PRINTI "The man looks you over sharply,"
|
|
ZERO? BOY-DRESS? /?CCL8
|
|
PRINTI " then winks an eye. ""Hullo, boy -- Sam, I'll call you. N"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "frowning. ""Tut, lass, you don't foller orders, do ye? 'Tain't safe to go about dressed like that. Mayhap ye're n"
|
|
?CND6: PRINTI "ervous about Cap'n? He'll come to no harm. And if there is trouble, he only has to signal from that seaward winder of the house -- ye can see it from the crow's nest -- and we'll be there in a jiffy. Me and my peg are to stay aboard and guard y"
|
|
ZERO? BOY-DRESS? /?CCL11
|
|
PRINTI "--, the Cap'n's"
|
|
JUMP ?CND9
|
|
?CCL11: PRINTI "ou,"
|
|
?CND9: PRINTR " young lady."""
|
|
?CCL3: EQUAL? RARG,M-ENTER \FALSE
|
|
CALL THIS-IS-IT,COOKIE
|
|
CALL THIS-IS-IT,DAGGER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GALLEY-OBJECT-F
|
|
EQUAL? PRSA,V?EXAMINE \?CCL3
|
|
PRINTI "It's a tiny charred wooden shack"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE \?CCL5
|
|
CALL PERFORM-PRSA,GALLEY
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?ENTER \FALSE
|
|
CALL GOTO,GALLEY
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BOWSPRIT-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "Hanging on the bowsprit, your arms and legs wrapped tightly around the narrow spar, you can't see much beside an upside-down view of the figurehead of the "
|
|
PRINTD SHIP
|
|
PRINTI ", "
|
|
FSET? ANCHOR,MUNGBIT \?CCL6
|
|
PRINTI "the barnacle encrusted main anchor dripping from its chain, and the nauseous"
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "and"
|
|
CALL TPRINT,ANCHOR
|
|
PRINTI " chain descending into the"
|
|
?CND4: PRINTI " swelling and breaking waves over (under?) "
|
|
PRINTD HEAD
|
|
PRINTC 46
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BOWSPRIT-EXIT
|
|
EQUAL? HERE,FOCSLE \?CCL3
|
|
PRINTI "You"
|
|
CALL ANYTHING-HELD
|
|
ZERO? STACK /?CND4
|
|
CALL ROB,PROTAGONIST,HERE
|
|
PRINTI " drop all you are carrying and"
|
|
?CND4: PRINTI " creep out over the waves"
|
|
PRINT PCR
|
|
CRLF
|
|
RETURN BOWSPRIT
|
|
?CCL3: PRINTI "You inch back down to"
|
|
PRINT ELLIPSIS
|
|
RETURN FOCSLE
|
|
|
|
|
|
.FUNCT STUB-F,OARG=0
|
|
ZERO? OARG /?CCL3
|
|
EQUAL? OARG,M-DESC? /TRUE
|
|
PRINT INDENT
|
|
PRINTI "A "
|
|
PRINTD STUB
|
|
PRINTI ", roughly cut, swings rudely over the waves."
|
|
FSET? ANCHOR,MUNGBIT \TRUE
|
|
PRINTI " The line holding the sea anchor has been cut!"
|
|
RTRUE
|
|
?CCL3: CALL TOUCHING?,STUB
|
|
ZERO? STACK /FALSE
|
|
PRINT YOU-CANT
|
|
PRINTR "quite reach it."
|
|
|
|
|
|
.FUNCT ANCHOR-F
|
|
EQUAL? PRSA,V?RAISE \FALSE
|
|
PRINT NO-STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RIGGING-ROOM-F,RARG
|
|
EQUAL? RARG,M-LOOK \FALSE
|
|
PRINTI "The deck swings far below as you cling to"
|
|
CALL TPRINT,RIGGING-OBJECT
|
|
PRINTI " in the wind."
|
|
PRINT TANGLED-RIGGING
|
|
EQUAL? WHICH-MAST?,FOCSLE \TRUE
|
|
PRINTI " Farther up"
|
|
CALL TPRINT,RIGGING-OBJECT
|
|
PRINTI " is a small platform."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RIGGING-OBJECT-F
|
|
EQUAL? PRSA,V?TAKE \?CCL3
|
|
PRINTR "The only thing rigging is good for is climbing."
|
|
?CCL3: EQUAL? PRSA,V?CLIMB \?CCL5
|
|
CALL DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?CLIMB-DOWN \?CCL7
|
|
CALL DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "The mast stands tall and powerful, shrouded in"
|
|
CALL TRPRINT,RIGGING-OBJECT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-PIRATE-ATTACK
|
|
RANDOM 100
|
|
LESS? 40,STACK /FALSE
|
|
PRINT INDENT
|
|
CALL PICK-ONE,PIRATE-NOISES
|
|
PRINT STACK
|
|
PRINT PCR
|
|
RFALSE
|
|
|
|
|
|
.FUNCT I-LOOK-SEA,CALLED-BY-INTERRUPT=1,CANT-SEE-REEFS
|
|
CALL INNER-DECK,HERE
|
|
ZERO? STACK /?CND1
|
|
SET 'CANT-SEE-REEFS,TRUE-VALUE
|
|
?CND1: ZERO? CALLED-BY-INTERRUPT /?CCL5
|
|
CALL QUEUE,I-LOOK-SEA,15
|
|
INC 'SHIP-LOC
|
|
EQUAL? SHIP-LOC,10 \?CCL8
|
|
PRINT INDENT
|
|
GET REEF-DESC,SHIP-LOC
|
|
PRINT STACK
|
|
CALL FWTD,STR?314
|
|
RSTACK
|
|
?CCL8: ZERO? CANT-SEE-REEFS /?CCL10
|
|
EQUAL? SHIP-LOC,8 \FALSE
|
|
PRINT INDENT
|
|
PRINTR "The crash of surf is increasing in volume. You'd best find out what's going on!"
|
|
?CCL10: PRINT INDENT
|
|
GET REEF-DESC,SHIP-LOC
|
|
PRINT STACK
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL5: FSET? ANCHOR,MUNGBIT \TRUE
|
|
CALL RUNNING?,I-LOOK-SEA
|
|
ZERO? STACK /?CCL17
|
|
CALL QUEUE,I-LOOK-SEA,2
|
|
CALL I-LOOK-SEA,FALSE-VALUE
|
|
RSTACK
|
|
?CCL17: CRLF
|
|
PRINT INDENT
|
|
GET REEF-DESC,SHIP-LOC
|
|
PRINT STACK
|
|
PRINTC 46
|
|
RTRUE
|
|
|
|
|
|
.FUNCT I-CURRENT,VENUE=0
|
|
IN? PROTAGONIST,CASK \?CCL3
|
|
ADD CASK-LOC,ROWING >VENUE
|
|
JUMP ?CND1
|
|
?CCL3: IN? PROTAGONIST,SKIFF /?CCL5
|
|
SET 'VENUE,0
|
|
JUMP ?CND1
|
|
?CCL5: ADD SKIFF-LOC,ROWING >VENUE
|
|
?CND1: EQUAL? ROWING,-1 \?CND6
|
|
PRINT INDENT
|
|
PRINTI "The current pulls you in towards the island."
|
|
EQUAL? HERE,BY-SHIP \?CCL10
|
|
CRLF
|
|
CRLF
|
|
MOVE SKIFF,LAGOON
|
|
CALL GOTO,SKIFF
|
|
CALL V-LOOK
|
|
JUMP ?CND6
|
|
?CCL10: LESS? VENUE,2 \?CCL12
|
|
EQUAL? HERE,SHALLOWS /?CCL12
|
|
SET 'VENUE,1
|
|
CALL DEQUEUE,I-CURRENT
|
|
PRINTI " With a scrape,"
|
|
LOC PROTAGONIST
|
|
CALL TPRINT,STACK
|
|
PRINTI " lodges in the sand"
|
|
PRINT PCR
|
|
CRLF
|
|
IN? PROTAGONIST,CASK \?CCL17
|
|
MOVE CASK,SHALLOWS
|
|
CALL GOTO,CASK
|
|
JUMP ?CND6
|
|
?CCL17: IN? PROTAGONIST,SKIFF \?CND6
|
|
MOVE SKIFF,SHALLOWS
|
|
CALL GOTO,SKIFF
|
|
JUMP ?CND6
|
|
?CCL12: EQUAL? HERE,LAGOON \TRUE
|
|
CRLF
|
|
ZERO? LOOKED-LAGOON? \?CCL23
|
|
CALL V-LOOK
|
|
JUMP ?CND6
|
|
?CCL23: SET 'LOOKED-LAGOON?,FALSE-VALUE
|
|
?CND6: SET 'ROWING,-1
|
|
IN? PROTAGONIST,CASK \?CCL26
|
|
SET 'CASK-LOC,VENUE
|
|
RTRUE
|
|
?CCL26: IN? PROTAGONIST,SKIFF \TRUE
|
|
SET 'SKIFF-LOC,VENUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SKIFF-F,VARG=0,STR=0
|
|
ZERO? VARG /?CCL3
|
|
EQUAL? VARG,M-DESC? /TRUE
|
|
EQUAL? VARG,M-OBJDESC \FALSE
|
|
PRINT INDENT
|
|
FSET? SKIFF,TOUCHBIT \?CCL11
|
|
CALL CTPRINT,SKIFF
|
|
JUMP ?CND9
|
|
?CCL11: FSET SKIFF,TOUCHBIT
|
|
PRINTI "A "
|
|
PRINTD SKIFF
|
|
?CND9: PRINTI " nods in the waves, its oars jerking around in the current."
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL13
|
|
CALL CTPRINT,SKIFF
|
|
PRINTI " is large enough to carry several men, but light enough that you feel able to row it"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?LOOK-INSIDE \?CCL15
|
|
FCLEAR OARS,NDESCBIT
|
|
IN? PROTAGONIST,SKIFF \?CCL18
|
|
CALL DESCRIBE-VEHICLE
|
|
JUMP ?CND16
|
|
?CCL18: PRINTI "In"
|
|
CALL TPRINT,SKIFF
|
|
PRINTI " is"
|
|
CALL DESCRIBE-CONTENTS,SKIFF
|
|
PRINT PCR
|
|
?CND16: FSET OARS,NDESCBIT
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?LAUNCH /?CTR19
|
|
EQUAL? PRSA,V?PUSH \?CCL20
|
|
EQUAL? PRSI,SEA \?CCL20
|
|
?CTR19: PRINT ALREADY-IS
|
|
RTRUE
|
|
?CCL20: EQUAL? PRSA,V?TIE \?CCL26
|
|
EQUAL? HERE,BY-SHIP \?CCL29
|
|
CALL DEBARK-SKIFF
|
|
RSTACK
|
|
?CCL29: PRINT THERES-NOTHING
|
|
PRINTR "to moor it to!"
|
|
?CCL26: EQUAL? PRSA,V?ROW \?CCL31
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,SKIFF \?CCL34
|
|
EQUAL? HERE,BEACH \?CCL37
|
|
CALL DO-FIRST,STR?315,SKIFF
|
|
RSTACK
|
|
?CCL37: PRINT YOULL-HAVE-TO
|
|
PRINTI "specify a "
|
|
PRINTD INTDIR
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL34: CALL DO-FIRST,STR?283,SKIFF
|
|
RSTACK
|
|
?CCL31: EQUAL? PRSA,V?DISEMBARK \?CCL39
|
|
EQUAL? HERE,LAGOON \?CCL42
|
|
PRINT TOO-DEEP
|
|
RTRUE
|
|
?CCL42: EQUAL? HERE,BY-SHIP \FALSE
|
|
CALL DEBARK-SKIFF
|
|
RSTACK
|
|
?CCL39: EQUAL? PRSA,V?PUT-ON \FALSE
|
|
EQUAL? PRSI,SKIFF \FALSE
|
|
CALL PERFORM,V?PUT,PRSO,SKIFF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OARS-F
|
|
EQUAL? PRSA,V?REMOVE,V?TAKE \FALSE
|
|
PRINTI "They are fastened to"
|
|
CALL TPRINT,SKIFF
|
|
PRINTI " with metal oarlocks"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DEBARK-SKIFF
|
|
CALL DEQUEUE,I-CURRENT
|
|
SET 'SKIFF-TIED,TRUE-VALUE
|
|
PRINTI "You tie"
|
|
CALL TPRINT,SKIFF
|
|
PRINTI " to the end of"
|
|
CALL TPRINT,LADDER
|
|
PRINTI ", then climb partway up it"
|
|
PRINT PCR
|
|
CRLF
|
|
MOVE PROTAGONIST,HERE
|
|
MOVE SKIFF,BY-SHIP
|
|
CALL GOTO,ON-LADDER
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BY-SHIP-F,RARG
|
|
EQUAL? RARG,M-ENTER \?CCL3
|
|
MOVE PROTAGONIST,SKIFF
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-LOOK \?CCL5
|
|
PRINTI "You are floating in a small skiff "
|
|
GRTR? SHIP-LOC,4 \?CCL8
|
|
LESS? SHIP-LOC,9 \?CCL8
|
|
PRINTI "at the stern of"
|
|
CALL TPRINT,SHIP
|
|
PRINTI ", "
|
|
EQUAL? SHIP-LOC,7,8 \?CCL13
|
|
PRINTI "at the far edge of"
|
|
JUMP ?CND6
|
|
?CCL13: EQUAL? SHIP-LOC,5,6 \?CND6
|
|
PRINTI "in the middle of"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "in"
|
|
?CND6: PRINTI " the lagoon."
|
|
ZERO? LADDER-HANGING /TRUE
|
|
PRINTI " A rope ladder, frayed ends dripping water, hangs down from the poop deck."
|
|
RTRUE
|
|
?CCL5: EQUAL? RARG,M-END \FALSE
|
|
CALL RUNNING?,I-CURRENT
|
|
ZERO? STACK \FALSE
|
|
SET 'ROWING,0
|
|
CALL QUEUE,I-CURRENT,-1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LAGOON-F,RARG,VENUE=0
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
PRINTI "You are "
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,CASK \?CCL6
|
|
PRINTI "crouched in a cask"
|
|
SET 'VENUE,CASK-LOC
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "sitting in a skiff"
|
|
SET 'VENUE,SKIFF-LOC
|
|
?CND4: PRINTI " on the lagoon of "
|
|
PRINTD ISLAND
|
|
SUB SHIP-LOC,VENUE
|
|
LESS? STACK,2 \?CCL9
|
|
PRINTI ". You are quite near"
|
|
FSET? SHIP,MUNGBIT \?CCL12
|
|
CALL TPRINT,REEFS
|
|
JUMP ?CND7
|
|
?CCL12: CALL TPRINT,SHIP
|
|
JUMP ?CND7
|
|
?CCL9: SUB 10,VENUE
|
|
LESS? STACK,5 \?CCL14
|
|
PRINTI ". The crash of surf hitting"
|
|
CALL TPRINT,REEFS
|
|
PRINTI " is quite loud"
|
|
JUMP ?CND7
|
|
?CCL14: LESS? VENUE,3 \?CCL16
|
|
PRINTI ". Music floats down to the water, mingling with the distant roar of the sea"
|
|
JUMP ?CND7
|
|
?CCL16: PRINTI ". The jungle looms gray-green in the light of the full moon"
|
|
?CND7: PRINTC 46
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-END \FALSE
|
|
EQUAL? PRSA,V?LOOK /FALSE
|
|
SET 'LOOKED-LAGOON?,TRUE-VALUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT STONE-F
|
|
EQUAL? PRSA,V?SHOOT \?CCL3
|
|
ZERO? PRSI \?CCL6
|
|
REMOVE STONE
|
|
CALL CTPRINT,STONE
|
|
PRINTI ", unaimed, flies into the air, arcing up and into the sea"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL6: EQUAL? PRSO,GARTER \?CCL8
|
|
CALL WASTES
|
|
RSTACK
|
|
?CCL8: GETP PRSO,P?SIZE
|
|
LESS? STACK,5 \?CCL10
|
|
PRINTI "You don't trust your aim to hit something that small"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL10: IN? STONE,GARTER /?CCL12
|
|
PRINT YOULL-HAVE-TO
|
|
PRINTI "put"
|
|
CALL TPRINT,STONE
|
|
PRINTI " into"
|
|
CALL TRPRINT,GARTER
|
|
RSTACK
|
|
?CCL12: FSET? PRSO,DEADBIT \?CCL15
|
|
CALL MAN-IS-DOWN
|
|
RSTACK
|
|
?CCL15: EQUAL? PRSO,ME \?CCL17
|
|
PRINT SUICIDE
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSO,LUCY \?CCL19
|
|
PRINT UNLADY
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSO,PISTOL \?CCL21
|
|
CALL PERFORM-PRSA,CRULLEY,PRSI
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSO,HOUSE,SHIP \?CCL23
|
|
PRINTR "That is too far away."
|
|
?CCL23: EQUAL? PRSO,HERO \?CCL25
|
|
MOVE GARTER,HERE
|
|
PRINTI "You falter, dropping the makeshift sling. Your heart rules too well"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL25: PRINTI "You pull"
|
|
CALL TPRINT,GARTER
|
|
PRINTI " taut, aim, and let fly"
|
|
CALL TPRINT,STONE
|
|
PRINTI ". "
|
|
FSET STONE,TRYTAKEBIT
|
|
MOVE STONE,HERE
|
|
EQUAL? PRSO,LAFOND \?PRD30
|
|
LESS? LAFOND-CTR,FIGHTING /?CTR27
|
|
?PRD30: EQUAL? PRSO,CRULLEY \?CCL28
|
|
LESS? LAFOND-CTR,DEAD \?CCL28
|
|
?CTR27: PRINTI "It clatters onto the rocks, short of the mark"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL28: FSET? PRSO,ACTORBIT \?CCL36
|
|
CRLF
|
|
PRINT INDENT
|
|
PRINTI "He ducks as it whirs past his ear"
|
|
EQUAL? PRSO,CRULLEY \?CCL39
|
|
FSET DAD,DEADBIT
|
|
INC 'SCORE
|
|
PRINTI ". Papa, creeping unnoticed up the stairs, leaps and wrests the gun from his grip, toppling all three, father, pirate and gun, off the cliff. Lucy screams as the struggling pair fall to the rocks below.
|
|
You run to Nicholas. You have lost"
|
|
CALL TPRINT,DAD
|
|
PRINTI ", but Nicholas's embrace remains, comforting, shielding, a world of love"
|
|
PRINT PCR
|
|
CALL FINALE
|
|
RSTACK
|
|
?CCL39: PRINTI " to disappear with a quiet thud into the sand"
|
|
EQUAL? PRSO,DAD \?CND40
|
|
PRINTI ". He looks a bit surprised, but nods encouragingly"
|
|
?CND40: PRINT PCR
|
|
RTRUE
|
|
?CCL36: PRINTI "It bounces off"
|
|
CALL TRPRINT,PRSO
|
|
RSTACK
|
|
?CCL3: EQUAL? PRSA,V?TAKE \?CCL43
|
|
FSET? STONE,TRYTAKEBIT \?CCL43
|
|
CALL CANT-REACH,STONE
|
|
RSTACK
|
|
?CCL43: EQUAL? PRSA,V?THROW-AT,V?THROW \?CCL47
|
|
EQUAL? PRSO,STONE \?CCL47
|
|
ZERO? PRSI \?CCL52
|
|
CALL PERFORM,V?SHOOT,STONE
|
|
RTRUE
|
|
?CCL52: CALL HELD?,PRSI
|
|
ZERO? STACK /?CCL54
|
|
CALL WASTES
|
|
RSTACK
|
|
?CCL54: FSET? PRSI,DEADBIT \?CND55
|
|
CALL MAN-IS-DOWN
|
|
RTRUE
|
|
?CND55: MOVE STONE,HERE
|
|
PRINTI "You hurl"
|
|
CALL TPRINT,STONE
|
|
PRINTI ", but it falls far short of"
|
|
CALL TRPRINT,PRSI
|
|
RSTACK
|
|
?CCL47: EQUAL? PRSA,V?KILL \?CCL58
|
|
IN? STONE,GARTER /?CCL61
|
|
CALL PROPOSE
|
|
RSTACK
|
|
?CCL61: CALL PERFORM,V?SHOOT,PRSO,STONE
|
|
RTRUE
|
|
?CCL58: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "It is a pretty little stone"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SHALLOWS-F,RARG
|
|
EQUAL? RARG,M-LOOK \?CCL3
|
|
PRINTI "You are "
|
|
LOC PROTAGONIST
|
|
EQUAL? STACK,HERE \?CCL6
|
|
ZERO? BOY-DRESS? /?CCL9
|
|
PRINTI "soaking your shoes and stockings in"
|
|
JUMP ?CND4
|
|
?CCL9: FSET? CHEMISE,EVERYBIT /?CCL11
|
|
PRINTI "soaking the hem of your chemise in"
|
|
JUMP ?CND4
|
|
?CCL11: PRINTI "holding your skirts high over"
|
|
JUMP ?CND4
|
|
?CCL6: LOC PROTAGONIST
|
|
EQUAL? STACK,CASK \?CCL14
|
|
PRINTI "crouched in"
|
|
CALL TPRINT,CASK
|
|
JUMP ?CND12
|
|
?CCL14: PRINTI "sitting in"
|
|
CALL TPRINT,SKIFF
|
|
?CND12: PRINTI " in"
|
|
?CND4: PRINTI " the warm, lapping waves of the shallows. A white sand beach is west of you."
|
|
RTRUE
|
|
?CCL3: EQUAL? RARG,M-BEG \FALSE
|
|
EQUAL? PRSA,V?SSHOOT,V?SHOOT \FALSE
|
|
CALL META-LOC,PRSO
|
|
EQUAL? STACK,HERE,GLOBAL-OBJECTS \?CCL16
|
|
CALL META-LOC,PRSI
|
|
EQUAL? STACK,HERE,GLOBAL-OBJECTS /FALSE
|
|
?CCL16: PRINTR "Your aim is too unsure from this distance. Go to the beach."
|
|
|
|
|
|
.FUNCT FLOATING
|
|
EQUAL? HERE,SHALLOWS \?CCL3
|
|
IN? PROTAGONIST,SKIFF \?CCL6
|
|
EQUAL? P-WALK-DIR,P?WEST \?CCL9
|
|
CALL DO-FIRST,STR?310,SKIFF
|
|
RFALSE
|
|
?CCL9: EQUAL? P-WALK-DIR,P?EAST \FALSE
|
|
PRINT YOULL-HAVE-TO
|
|
PRINTI "row that way"
|
|
PRINT PCR
|
|
RFALSE
|
|
?CCL6: EQUAL? P-WALK-DIR,P?WEST \?CCL14
|
|
RETURN BEACH
|
|
?CCL14: PRINTI "You wade in the shallow water, unable to swim"
|
|
PRINT PCR
|
|
RFALSE
|
|
?CCL3: EQUAL? P-WALK-DIR,P?WEST \?CCL16
|
|
PRINTI "You're going that way anyway"
|
|
PRINT PCR
|
|
RFALSE
|
|
?CCL16: PRINT YOULL-HAVE-TO
|
|
PRINTI "row that way"
|
|
PRINT PCR
|
|
RFALSE
|
|
|
|
|
|
.FUNCT REEFS-F
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
CALL INNER-DECK,HERE
|
|
ZERO? STACK /?CCL6
|
|
PRINT YOU-CANT-SEE-ANY
|
|
PRINTD REEFS
|
|
PRINTI " from here"
|
|
PRINT PCR
|
|
RTRUE
|
|
?CCL6: PRINTI "A line of reefs separates the lagoon from the sea beyond"
|
|
PRINT PCR
|
|
RTRUE
|
|
|
|
.ENDI
|