commit 54d2e05fccf7614a50184895f72ddcab6e818dd6 Author: historicalsource Date: Sun Apr 14 00:37:50 2019 -0400 Revision 26 (Original Source) diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc6e6a9 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# plunderedhearts diff --git a/clothes.zap b/clothes.zap new file mode 100644 index 0000000..79e7008 --- /dev/null +++ b/clothes.zap @@ -0,0 +1,788 @@ + + + .FUNCT PILE-OF-CLOTHES-F + EQUAL? PRSA,V?PUT-ON,V?EXAMINE,V?TAKE /?CCL3 + EQUAL? PRSA,V?WEAR \FALSE +?CCL3: EQUAL? HERE,LANDING,CAPT-QUARTERS \?CCL8 + CALL CANT-REACH,PRSO + RSTACK +?CCL8: CALL ITAKE,FALSE-VALUE + EQUAL? STACK,M-FATAL,FALSE-VALUE /FALSE + REMOVE PILE-OF-CLOTHES + FSET PILE-OF-CLOTHES,TOUCHBIT + MOVE SHIRT,PROTAGONIST + MOVE PANTS,PROTAGONIST + FCLEAR SHIRT,NDESCBIT + FCLEAR PANTS,NDESCBIT + FSET SHIRT,TOUCHBIT + FSET PANTS,TOUCHBIT + INC 'SCORE + EQUAL? PRSA,V?EXAMINE \?CCL13 + PRINTI "To get a better look, y" + JUMP ?CND11 +?CCL13: PRINTC 89 +?CND11: PRINTI "ou pick up" + CALL TPRINT,PILE-OF-CLOTHES + PRINTI ". It separates into a pair of " + PRINTD PANTS + PRINTI " and" + CALL ARPRINT,SHIRT + RSTACK + + + .FUNCT GEN-CLOTHES,?TMP1 + GET P-NAMW,0 >?TMP1 + GET P-NAMW,1 + EQUAL? W?CLOTHES,?TMP1,STACK \?CCL3 + EQUAL? HERE,SLEEPING-CUPBOARD \?CCL6 + FSET? SHIRT,TOUCHBIT /?CCL6 + FSET? PANTS,TOUCHBIT /?CCL6 + RETURN PILE-OF-CLOTHES +?CCL6: EQUAL? PRSA,V?TAKE-OFF,V?REMOVE \FALSE + CALL PRE-DOFF + ZERO? STACK /?CCL14 + RETURN NOT-HERE-OBJECT +?CCL14: CALL REMOVE-CLOTHES,TRUE-VALUE + RETURN NOT-HERE-OBJECT +?CCL3: GET P-NAMW,0 >?TMP1 + GET P-NAMW,1 + EQUAL? W?DRESS,?TMP1,STACK \FALSE + EQUAL? PRSA,V?TAKE-OFF,V?REMOVE \?CCL19 + CALL PRE-DOFF + ZERO? STACK /?CCL22 + RETURN NOT-HERE-OBJECT +?CCL22: CALL REMOVE-CLOTHES,TRUE-VALUE + RETURN NOT-HERE-OBJECT +?CCL19: EQUAL? PRSA,V?DROP \FALSE + FSET? GOWN,WORNBIT \?CCL27 + CALL HELD?,DRESS + ZERO? STACK /?CCL27 + PRINTC 91 + PRINTD DRESS + PRINTC 93 + CRLF + RETURN DRESS +?CCL27: FSET? DRESS,WORNBIT \?CCL31 + CALL HELD?,GOWN + ZERO? STACK /?CCL31 + PRINTC 91 + PRINTD GOWN + PRINTC 93 + CRLF + RETURN GOWN +?CCL31: CALL DO-FIRST,STR?296 + RETURN NOT-HERE-OBJECT + + + .FUNCT GARMENT-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + EQUAL? PRSO,DRESS \?CCL6 + ZERO? WET-DRESS /?CCL9 + CALL WET-DESC,DRESS + RTRUE +?CCL9: PRINTI "It is your favorite old frock, looking rather bedraggled without its hoops" + FSET? DRESS,EVERYBIT /?CND10 + FSET DRESS,EVERYBIT + PRINTI ", which you hadn't time to put on during the pirate attack" +?CND10: PRINTI ". " + FSET? DRESS,MUNGBIT \?CCL14 + PRINTI "There is a tear out of the skirt" + JUMP ?CND12 +?CCL14: PRINTI "The worn fabric of the skirt often catches on things, tearing" +?CND12: PRINT PCR + RTRUE +?CCL6: EQUAL? PRSO,GOWN \?CCL16 + PRINTI "Of cream silk, heavily embroidered on the stiffened skirt and stomacher," + CALL TPRINT,GOWN + PRINTI " is a work of art" + PRINT PCR + RTRUE +?CCL16: EQUAL? PRSO,SHIRT \?CCL18 + CALL CTPRINT,SHIRT + PRINTI " is clean and not too big" + FSET? SHIRT,MUNGBIT \?CND19 + PRINT TEAR +?CND19: PRINT PCR + RTRUE +?CCL18: CALL CTPRINT,PANTS + PRINTR " are about your size." +?CCL3: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-INSIDE \?CCL22 + FSET? PRSO,WORNBIT \?CCL22 + PRINTI "Just" + CALL APRINT,CHEMISE + PRINTI ", and a couple fleas" + PRINT PCR + RTRUE +?CCL22: EQUAL? PRSA,V?WEAR \?CCL26 + EQUAL? PRSO,GOWN,DRESS \?PRD31 + FSET? SHIRT,WORNBIT /?CTR28 + FSET? PANTS,WORNBIT /?CTR28 +?PRD31: EQUAL? PRSO,PANTS,SHIRT \?CCL29 + FSET? DRESS,WORNBIT /?CTR28 + FSET? GOWN,WORNBIT \?CCL29 +?CTR28: CALL CTPRINT,PRSO + PRINTI " doesn't fit over what you are already wearing" + PRINT PCR + RTRUE +?CCL29: ZERO? WET-DRESS /?CCL41 + EQUAL? PRSO,DRESS \?CCL41 + PRINTR "The clammy cotton makes it too uncomfortable to wear." +?CCL41: FSET PRSO,WORNBIT + MOVE PRSO,PROTAGONIST + EQUAL? PRSO,SHIRT,PANTS \?CND44 + IN? PILE-OF-CLOTHES,SLEEPING-CUPBOARD \?CND44 + FSET PILE-OF-CLOTHES,TOUCHBIT + REMOVE PILE-OF-CLOTHES + INC 'SCORE +?CND44: EQUAL? PRSO,PANTS \?CCL50 + PRINTI "You tuck" + CALL TPRINT,CHEMISE + FSET? SHIRT,WORNBIT \?CND51 + SET 'BOY-DRESS?,TRUE-VALUE + FSET CHEMISE,EVERYBIT + PRINTI " and" + CALL TPRINT,SHIRT +?CND51: PRINTI " into the pants. You look a little fat, but now you can move freely" + PRINT PCR + RTRUE +?CCL50: EQUAL? PRSO,SHIRT \?CCL54 + FSET? PANTS,WORNBIT \?CND55 + FSET CHEMISE,EVERYBIT + SET 'BOY-DRESS?,TRUE-VALUE +?CND55: PRINTI "It fits loosely, masking your figure" + PRINT PCR + RTRUE +?CCL54: FSET CHEMISE,EVERYBIT + ZERO? GOWN-POINT \?CCL59 + EQUAL? PRSO,GOWN \?CCL59 + SET 'GOWN-POINT,TRUE-VALUE + INC 'SCORE + CALL CTPRINT,GOWN + PRINTI " fits perfectly, the creamy silk bringing a glow to your cheeks. You comb your hair with your fingers and bite your lips to make them red" + PRINT PCR + RTRUE +?CCL59: PRINTI "You don" + CALL TRPRINT,PRSO + RSTACK +?CCL26: EQUAL? PRSA,V?REMOVE,V?TAKE-OFF \?CCL63 + FSET? PRSO,WORNBIT \?CCL63 + EQUAL? PRSO,DRESS \?CCL68 + FCLEAR PRSO,WORNBIT + FCLEAR CHEMISE,EVERYBIT + PRINTI "You take off" + CALL TPRINT,DRESS + PRINT PCR + RTRUE +?CCL68: EQUAL? PRSO,PANTS,SHIRT \?CND69 + SET 'BOY-DRESS?,FALSE-VALUE +?CND69: FCLEAR PRSO,WORNBIT + FCLEAR CHEMISE,EVERYBIT + PRINTI "You remove" + CALL TPRINT-PRSO + PRINTI ", exposing your " + EQUAL? PRSO,PANTS \?CCL73 + PRINTI "ankles" + JUMP ?CND71 +?CCL73: EQUAL? PRSO,SHIRT \?CCL75 + PRINTI "elbows" + JUMP ?CND71 +?CCL75: PRINTD CHEMISE +?CND71: PRINT PCR + RTRUE +?CCL63: EQUAL? PRSA,V?RIP /?CTR76 + EQUAL? PRSA,V?CUT \?CCL77 + CALL HELD?,DAGGER + ZERO? STACK /?CCL77 +?CTR76: EQUAL? PRSO,DRESS \?CCL84 + LOC RAG + ZERO? STACK \?CCL87 + MOVE RAG,PROTAGONIST + EQUAL? WET-DRESS,WATER \?CCL90 + SET 'WET-RAG,WATER + JUMP ?CND88 +?CCL90: EQUAL? WET-DRESS,RUM \?CCL92 + SET 'WET-RAG,RUM + JUMP ?CND88 +?CCL92: SET 'WET-RAG,FALSE-VALUE +?CND88: FSET RAG,TOUCHBIT + FSET? DRESS,MUNGBIT /?CND93 + FSET DRESS,MUNGBIT +?CND93: PRINTI "You " + EQUAL? PRSA,V?CUT \?CCL97 + MOVE DAGGER,PROTAGONIST + PRINTI "cut" + JUMP ?CND95 +?CCL97: PRINTI "rip" +?CND95: PRINTI " a large rag out of" + CALL TRPRINT,DRESS + RSTACK +?CCL87: CALL HELD?,RAG + ZERO? STACK \?CCL99 + PRINTI "There already is a rag around here somewhere" + PRINT PCR + RTRUE +?CCL99: PRINT YOU-HAVE-ALREADY + CALL ARPRINT,RAG + RSTACK +?CCL84: EQUAL? PRSO,GOWN \?CCL101 + CALL CTPRINT,GOWN + PRINTI " is too fine to ruin" + PRINT PCR + RTRUE +?CCL101: PRINTI "The fabric is too tightly woven" + PRINT PCR + RTRUE +?CCL77: EQUAL? PRSA,V?TAKE \FALSE + EQUAL? PRSO,PANTS,SHIRT \FALSE + IN? PILE-OF-CLOTHES,HERE \FALSE + CALL PERFORM,V?TAKE,PILE-OF-CLOTHES + RTRUE + + + .FUNCT RAG-F + EQUAL? PRSA,V?SOAK \?CCL3 + EQUAL? HERE,BY-SHIP,LAGOON,SHALLOWS /?CTR5 + EQUAL? HERE,BEACH,MAIN-DECK \?CCL6 +?CTR5: CALL DIP-DRESS + RSTACK +?CCL6: CALL PROPOSE + RSTACK +?CCL3: CALL ADJ-USED,A?WET + ZERO? STACK /?CCL10 + ZERO? WET-RAG \?CCL10 + PRINT YOU-CANT-SEE-ANY + PRINTI "wet rag here" + PRINT PCR + RTRUE +?CCL10: EQUAL? PRSA,V?EXAMINE \?CCL14 + ZERO? WET-RAG \?CCL17 + PRINTI "It is a fairly hefty scrap of fabric" + PRINT PCR + RTRUE +?CCL17: CALL WET-DESC,RAG + RSTACK +?CCL14: EQUAL? PRSA,V?RIP \?CCL19 + CALL WASTES + RSTACK +?CCL19: EQUAL? PRSA,V?TIE \?CCL21 + PRINTI "It won't stay tied" + PRINT PCR + RTRUE +?CCL21: EQUAL? PRSA,V?PUT \?CCL23 + EQUAL? PRSI,GATE,FENCE \?CCL26 + CALL WASTES + RSTACK +?CCL26: EQUAL? PRSI,FUSE \FALSE + CALL PROPOSE + RSTACK +?CCL23: EQUAL? PRSA,V?THROW \FALSE + EQUAL? PRSI,FUSE \FALSE + CALL PERFORM,V?THROW-OVER,RAG,FENCE + RTRUE + + + .FUNCT WET-DESC,OBJ + PRINTI "The " + PRINTD OBJ + PRINTI " is soaked and dripping with " + EQUAL? OBJ,RAG \?PRD5 + EQUAL? WET-RAG,RUM /?CTR2 +?PRD5: EQUAL? OBJ,DRESS \?CCL3 + EQUAL? WET-DRESS,RUM \?CCL3 +?CTR2: PRINTI "rum" + JUMP ?CND1 +?CCL3: EQUAL? OBJ,RAG \?PRD12 + EQUAL? WET-RAG,WATER /?CCL10 +?PRD12: EQUAL? OBJ,DRESS \?CND1 + EQUAL? WET-DRESS,WATER \?CND1 +?CCL10: PRINTI "water" +?CND1: PRINT PCR + RTRUE + + + .FUNCT CHEMISE-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + EQUAL? PRSO,CHEMISE \?CCL6 + FSET? CHEMISE,EVERYBIT \?CCL9 + PRINTI "It's covered by other clothes" + PRINT PCR + RTRUE +?CCL9: CALL CTPRINT,CHEMISE + PRINTI ", kneelength and sleeveless, clings damply to your legs and torso" + FSET? CHEMISE,MUNGBIT \?CND10 + PRINT TEAR +?CND10: PRINT PCR + RTRUE +?CCL6: EQUAL? PRSO,SHOES \FALSE + PRINTI "They are dainty yet practical kidskin shoes" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-INSIDE \?CCL15 + EQUAL? PRSO,CHEMISE \?CCL18 + PRINTI "Just you and your " + PRINTD UNMENTIONABLES + PRINT PCR + RTRUE +?CCL18: PRINTI "Your feet are in" + CALL TRPRINT,SHOES + RSTACK +?CCL15: EQUAL? PRSA,V?REMOVE,V?TAKE-OFF \?CCL20 + PRINTI "But" + EQUAL? PRSO,SHOES \?CCL23 + CALL TPRINT-PRSO + PRINTI " are so comfortable" + JUMP ?CND21 +?CCL23: PRINTI " that wouldn't be decent" +?CND21: PRINTR "!" +?CCL20: EQUAL? PRSA,V?CUT,V?RIP \FALSE + PRINT YOU-CANT + PRINTI "bring yourself to ruin" + CALL TRPRINT,CHEMISE + RSTACK + + + .FUNCT GARTER-F + EQUAL? PRSA,V?WEAR \?CCL3 + ZERO? MUZZLED /?CCL6 + CALL PERFORM,V?TAKE,GARTER + RTRUE +?CCL6: FSET? PANTS,WORNBIT \?CCL8 + PRINTI "One doesn't wear" + CALL APRINT,GARTER + PRINTI " over " + PRINTD PANTS + PRINTR "!" +?CCL8: FSET GARTER,WORNBIT + MOVE GARTER,PROTAGONIST + PRINTI "You slide" + CALL TPRINT,GARTER + PRINTI " up around your thigh" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?TAKE,V?REMOVE \?CCL10 + ZERO? MUZZLED /?CCL10 + ZERO? CROC-SLEEP \?CCL15 + PRINTI "The reptile surges forward as you remove" + CALL TPRINT,GARTER + CALL JIGS-UP,STR?329 + RSTACK +?CCL15: SET 'MUZZLED,FALSE-VALUE + FCLEAR GARTER,TRYTAKEBIT + FSET GARTER,TAKEBIT + MOVE GARTER,PROTAGONIST + PRINTR "You slip it off the scaly snout." +?CCL10: EQUAL? PRSA,V?TAKE \?CCL17 + FSET? GARTER,TOUCHBIT /?CCL20 + EQUAL? HERE,KITCHEN \?CCL20 + CALL ITAKE,FALSE-VALUE + EQUAL? STACK,M-FATAL,FALSE-VALUE /?CCL20 + PRINTI "Taken. + Lucy kisses " + PRINTD HEAD + PRINTI " and returns to the fire, humming" + PRINT PCR + RTRUE +?CCL20: IN? GARTER,DAD \FALSE + MOVE GARTER,PROTAGONIST + PRINTR """Take it, dear,"" Papa says." +?CCL17: EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL27 + EQUAL? PRSI,GARTER \?CCL27 + IN? GARTER,PROTAGONIST /?CCL32 + PRINT YNH + CALL TRPRINT,GARTER + RSTACK +?CCL32: EQUAL? P-PRSA-WORD,W?THROW \?CCL34 + EQUAL? PRSO,STONE \?CCL34 + CALL PERFORM,V?THROW,STONE,GARTER + RTRUE +?CCL34: EQUAL? PRSO,STONE \?CCL38 + FSET? GARTER,WORNBIT \?CCL41 + PRINTI "Not while you're wearing" + CALL TRPRINT,GARTER + RSTACK +?CCL41: MOVE STONE,GARTER + ZERO? PENULTIM-POINT \?CND42 + SET 'PENULTIM-POINT,TRUE-VALUE + INC 'SCORE +?CND42: PRINTI "You slip" + CALL TPRINT,STONE + PRINTI " into" + CALL TRPRINT,GARTER + RSTACK +?CCL38: PRINTI "It falls through" + CALL TRPRINT,GARTER + RSTACK +?CCL27: EQUAL? PRSA,V?KILL \?CCL45 + FSET? PRSO,ACTORBIT /?CTR44 + EQUAL? PRSO,CROC \?CCL45 +?CTR44: CALL PROPOSE + RSTACK +?CCL45: EQUAL? PRSA,V?SHOOT,V?THROW \?CCL51 + IN? STONE,GARTER \?CCL54 + ZERO? PRSI \?CCL57 + CALL PERFORM,V?SHOOT,STONE + RTRUE +?CCL57: CALL WASTES + RSTACK +?CCL54: ZERO? PRSI \?CCL60 + EQUAL? PRSA,V?THROW \?CCL60 + MOVE GARTER,HERE + PRINTR "Thrown." +?CCL60: EQUAL? PRSO,STONE \FALSE + CALL DO-FIRST,STR?330,GARTER + RSTACK +?CCL51: EQUAL? PRSA,V?SSHOOT \?CCL66 + EQUAL? PRSO,GARTER \?CCL66 + CALL HELD?,STONE + ZERO? STACK /?CCL66 + CALL PERFORM,V?SHOOT,PRSI,STONE + RTRUE +?CCL66: EQUAL? PRSA,V?EXAMINE \FALSE + CALL CTPRINT,GARTER + PRINTI " is " + ZERO? MUZZLED /?CCL74 + PRINTI "stretched taut around the jaws of" + CALL TPRINT,CROC + PRINT PCR + RTRUE +?CCL74: PRINTI "made of abnormally strong, red, stretchy lace" + PRINT PCR + RTRUE + + + .FUNCT UNMENTIONABLES-F + PRINTI "Shh! Why do you think they're called " + PRINTD UNMENTIONABLES + PRINTR "?" + + + .FUNCT RETICULE-F + EQUAL? PRSA,V?PUT,V?REMOVE,V?DROP /?PRD5 + EQUAL? PRSA,V?PUT-UNDER,V?PUT-THROUGH,V?PUT-ON /?PRD5 + EQUAL? PRSA,V?THROW-TO,V?THROW-AT,V?THROW /?PRD5 + EQUAL? PRSA,V?GIVE \?CCL3 +?PRD5: EQUAL? PRSO,RETICULE \?CCL3 + PRINTI "A lady is never without her reticule" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?PUT \?CCL11 + EQUAL? PRSO,RAPIER,COFFER \?CCL11 + CALL CTPRINT,PRSO + PRINTI " won't fit in" + CALL TRPRINT,RETICULE + RSTACK +?CCL11: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTI "You and Mama made the little drawstring bag a few months before she passed on. It's amazing how much it can hold" + PRINT PCR + RTRUE + + + .FUNCT BANKNOTE-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + PRINTI "This is" + CALL TPRINT,BANKNOTE + CALL IN-PACKAGE + RSTACK +?CCL3: EQUAL? PRSA,V?POINT,V?WAVE \FALSE + IN? BUTLER,HERE \FALSE + FSET? BUTLER,DEADBIT /FALSE + CALL BRIBE-BUTLER,PRSO + RSTACK + + + .FUNCT SALTS-F,PER=0 + EQUAL? PRSA,V?SMELL \?CCL3 + PRINTI "You jerk" + CALL TPRINT,SALTS + PRINTI " away from your nose after one brief ammoniac whiff. Your burning nostrils make you feel more alert" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?WAVE \?CCL5 + EQUAL? HERE,DUNGEON \?CCL8 + FSET? HERO,DEADBIT \?CCL8 + CALL PERFORM,V?ALARM,HERO,SALTS + RTRUE +?CCL8: CALL PERFORM,V?SMELL,SALTS + RTRUE +?CCL5: EQUAL? PRSA,V?USE \?CCL12 + ZERO? PRSI \?CCL15 + CALL FIND-IN,HERE,ACTORBIT,STR?331 >PER + ZERO? PER /?CCL18 + EQUAL? PER,CRULLEY /?CCL18 + CALL PERFORM,V?ALARM,PER,SALTS + RTRUE +?CCL18: CALL PERFORM,V?SMELL,SALTS + RTRUE +?CCL15: FSET? PRSI,ACTORBIT \?CCL22 + CALL PERFORM,V?ALARM,PRSI,SALTS + RTRUE +?CCL22: PRINT HUH + RTRUE +?CCL12: EQUAL? PRSA,V?PUT-ON,V?PUT-UNDER \?CCL24 + FSET? PRSI,ACTORBIT \?CCL24 + CALL PERFORM,V?ALARM,PRSI,SALTS + RTRUE +?CCL24: EQUAL? PRSA,V?GIVE \?CCL28 + CALL PERFORM,V?ALARM,PRSI,SALTS + RTRUE +?CCL28: EQUAL? PRSA,V?SGIVE,V?ALARM \?CCL30 + EQUAL? PRSO,HERO \?CCL33 + CALL REVIVE-HERO + RSTACK +?CCL33: EQUAL? PRSO,ME \?CCL35 + CALL PERFORM,V?SMELL,SALTS + RTRUE +?CCL35: EQUAL? PRSO,BUTLER \?CCL37 + FSET? BUTLER,DEADBIT \?CCL37 + PRINT YOU-CANT + PRINTI "wake him" + PRINT PCR + RTRUE +?CCL37: EQUAL? PRSO,CRULLEY \?CCL41 + FSET? CRULLEY,DEADBIT \?CCL41 + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "Are you sure that's really wise?" +?CCL41: CALL PRONOUN + PRINTI " doesn't need reviving" + PRINT PCR + RTRUE +?CCL30: EQUAL? PRSA,V?EXAMINE \?CCL45 + PRINTI "You always carry your " + PRINTD SALTS + PRINTI ", for emergencies. There is a small tag on one side of them" + PRINT PCR + RTRUE +?CCL45: EQUAL? PRSA,V?READ \FALSE + PRINTR "It says, ""For cases of vapors, hysteria or collapse, revive persons with the smelling salts.""" + + + .FUNCT REVIVE-HERO + FSET? HERO,DEADBIT \?CCL3 + INC 'SCORE + FCLEAR HERO,DEADBIT + PRINTI "You wave" + CALL TPRINT,SALTS + PRINTI " under Nicholas's nose. He stirs, sneezes and looks at you blearily. ""How --?"" he says, bewildered. ""Lafond, did he --?"" He " + FSET? CHEMISE,EVERYBIT /?CND4 + PRINTI "looks at you in growing horror, glancing from your chemise to your face, and " +?CND4: PRINTI "straightens. ""Darling, you are an angel, to have gone through all this and then rescue me. Your ravisher will not go unpunished."" He squares his shoulders. ""For my brother, his wife, and your honor, I will kill Jean Lafond.""" + CRLF + IN? HERO,MANACLES \?CCL8 + SET 'AWAITING-REPLY,13 + CALL QUEUE,I-REPLY,2 + PRINT INDENT + PRINTR "He tugs at his chains with a wry smile. ""But I must get free first. Have you the key?""" +?CCL8: CALL NICK-RUNS-OFF + RSTACK +?CCL3: PRINTR "Jamison brushes you away, ""Thank you, but I'm not having the vapors.""" + + + .FUNCT BOTTLE-F + EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3 + PRINTI "This is a squeezable bottle. You don't need to open or close it" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?TAKE \?CCL5 + FSET? BOTTLE,TOUCHBIT /?CCL5 + CALL ITAKE,FALSE-VALUE + EQUAL? STACK,M-FATAL,FALSE-VALUE /?CCL5 + INC 'SCORE + PRINTR "Taken." +?CCL5: EQUAL? PRSA,V?PUT,V?POUR \?CCL10 + EQUAL? PRSI,BOTTLE \?CCL10 + CALL PERFORM,V?FILL,BOTTLE,PRSO + RTRUE +?CCL10: EQUAL? PRSA,V?WRING,V?DRINK-FROM \?CCL14 + EQUAL? PRSO,BOTTLE \?CCL14 + CALL SQUEEZE-BOTTLE + RSTACK +?CCL14: EQUAL? PRSA,V?WRING,V?POUR-FROM \?CCL18 + EQUAL? PRSO,LAUD \?CCL18 + CALL SPECIFY-WHAT,STR?332,LAUD + RSTACK +?CCL18: EQUAL? PRSA,V?DRINK-FROM \?CCL22 + CALL PERFORM,V?WRING,LAUD,MOUTH + RTRUE +?CCL22: EQUAL? PRSA,V?FILL \?CCL24 + EQUAL? PRSI,BOTTLE \?CCL27 + CALL PERFORM,V?POUR,PRSI,PRSO + RTRUE +?CCL27: PRINT YOU-CANT + PRINTI "get anything into" + CALL TRPRINT,BOTTLE + RSTACK +?CCL24: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL29 + PRINTI "It's a small leather bottle, with a tiny label on one side" + GRTR? LAUD-LEFT,0 \?CND30 + PRINTI ". It appears to be almost empty" +?CND30: PRINT PCR + RTRUE +?CCL29: EQUAL? PRSA,V?READ \FALSE + PRINTR "The label reads, ""Laudanum drops. Squeeze into a glass of wine to sleep free of pain and mental anguish.""" + + + .FUNCT LAUD-F + EQUAL? PRSA,V?WRING,V?PUT,V?POUR /?PRD5 + EQUAL? PRSA,V?PUT-ON \?CCL3 +?PRD5: EQUAL? PRSO,LAUD \?CCL3 + CALL SQUEEZE-BOTTLE + RSTACK +?CCL3: EQUAL? PRSA,V?TAKE \?CCL9 + PRINTI "If you intend to drink" + CALL TPRINT,LAUD + PRINTR ", say so." +?CCL9: EQUAL? PRSA,V?DRINK,V?EAT \?CCL11 + CALL PERFORM,V?WRING,BOTTLE,ME + RTRUE +?CCL11: EQUAL? PRSO,LAUD \?CCL13 + CALL PERFORM-PRSA,BOTTLE,PRSI + RTRUE +?CCL13: EQUAL? PRSI,LAUD \FALSE + CALL PERFORM-PRSA,PRSO,BOTTLE + RTRUE + + + .FUNCT SQUEEZE-BOTTLE + EQUAL? PRSI,BOTTLE \?CCL3 + CALL IMPOSSIBLES + RSTACK +?CCL3: FSET? PRSI,ACTORBIT \?CCL5 + PRINT POLITE + RTRUE +?CCL5: EQUAL? PRSI,CROC \?CCL7 + CALL PERFORM,V?PUT,BOTTLE,CROC + RTRUE +?CCL7: LESS? LAUD-LEFT,3 \?CCL9 + EQUAL? HERE,LAFS-ROOM /?CCL9 + PRINTR "You stop, deciding you might need some later." +?CCL9: DEC 'LAUD-LEFT + GRTR? LAUD-LEFT,0 \FALSE + MOVE BOTTLE,PROTAGONIST + EQUAL? PRSI,ME \?CCL16 + CALL QUEUE,I-SLEEP,2 + PUTP ME,P?CONTENTS,POISONED + PRINT SQUEEZE-DROPS + PRINTI "into" + CALL TPRINT,MOUTH + PRINTC 46 + JUMP ?CND14 +?CCL16: EQUAL? PRSI,FLAGON \?CCL19 + PUTP FLAGON,P?CONTENTS,POISONED + CALL DOPE-WINE + JUMP ?CND14 +?CCL19: EQUAL? PRSI,PORK \?CCL21 + SET 'PORK-DOPED,TRUE-VALUE + PRINT SQUEEZE-DROPS + PRINTI "onto" + CALL TPRINT,PORK + PRINTI ". A patch of salt dissolves as" + CALL TPRINT,LAUD + PRINTI " absorbs into the meat." + JUMP ?CND14 +?CCL21: EQUAL? PRSI,GREEN-GLASS,BLUE-GLASS \?CCL23 + GETP PRSI,P?CONTENTS + ADD STACK,POISONED + PUTP PRSI,P?CONTENTS,STACK + CALL DOPE-WINE + JUMP ?CND14 +?CCL23: PRINT SQUEEZE-DROPS + PRINTI "into" + CALL TPRINT-PRSI + PRINTC 46 + FSET? PRSI,WEARBIT \?CND14 + PRINTI " It evaporates quickly." +?CND14: ZERO? LAUD-LEFT \?CND26 + PRINTR " From the feel of it, the bottle is now empty." +?CND26: CRLF + RTRUE + + + .FUNCT DOPE-WINE + SET 'USED-LAUD,TRUE-VALUE + PRINT SQUEEZE-DROPS + PRINTI "into" + CALL TPRINT-PRSI + PRINTC 46 + IN? LAFOND,HERE \TRUE + PRINTI " You sense Lafond hesitate, then continue primping." + RTRUE + + + .FUNCT JEWEL-F + EQUAL? PRSA,V?WEAR /?CTR2 + EQUAL? PRSA,V?PUT-ON \?CCL3 + EQUAL? PRSI,ME \?CCL3 +?CTR2: CALL CTPRINT,JEWEL + PRINTI " won't stay clasped" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL9 + PRINTI "All diamonds winking fire, tears of sapphire and crushed rubies in an oval setting, it is a pity that the clasp of" + CALL TPRINT,JEWEL + PRINTI " has broken. The gold pin at the back swings about uselessly" + PRINT PCR + RTRUE +?CCL9: EQUAL? PRSA,V?FIX \FALSE + PRINTR "That will have to be done by a goldsmith." + + + .FUNCT HAT-F,OARG=0 + ZERO? OARG /?CCL3 + FSET? HAT,EVERYBIT \FALSE + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + PRINTI "An expensive hat is hanging on" + CALL APRINT,KNOB + PRINTC 46 + RTRUE +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL10 + CALL NOUN-USED,W?QUILL,HAT + ZERO? STACK /?CCL13 + PRINTR "It's a curling ostrich plume." +?CCL13: PRINTR "It is a crimson tricorne with a curling ostrich plume stuck in the crown." +?CCL10: EQUAL? PRSA,V?WEAR,V?TAKE \?CCL15 + CALL NOUN-USED,W?QUILL,HAT + ZERO? STACK /?CCL18 + CALL CTPRINT,HAT + PRINTR " looks so drab without its plume that you cannot bear to." +?CCL18: FSET? HAT,EVERYBIT \FALSE + FCLEAR KNOB,DEADBIT + FSET KNOB,EVERYBIT + FCLEAR HAT,EVERYBIT + MOVE HAT,PROTAGONIST + FSET HAT,TOUCHBIT + EQUAL? PRSA,V?WEAR \?CND21 + FSET HAT,WORNBIT +?CND21: CALL KNOB-CAUSES-TINGLE,STR?333 + RSTACK +?CCL15: EQUAL? PRSA,V?TAKE-OFF,V?REMOVE \?CCL24 + FSET? HAT,WORNBIT \?CCL24 + FCLEAR HAT,WORNBIT + PRINTI "Doffed" + PRINT PCR + RTRUE +?CCL24: EQUAL? PRSA,V?PUT-ON \FALSE + EQUAL? PRSO,HAT \FALSE + EQUAL? PRSI,HEAD,ME \?CCL33 + CALL PERFORM,V?WEAR,HAT + RTRUE +?CCL33: FSET? PRSI,ACTORBIT \?CCL35 + FSET? PRSI,DEADBIT \?CCL38 + PRINTR "It slides off." +?CCL38: CALL CTPRINT,HAT + PRINTI " doesn't go with what " + EQUAL? PRSI,LUCY \?CND39 + PRINTC 115 +?CND39: PRINTR "he's wearing." +?CCL35: CALL WASTES + RSTACK + + + .FUNCT KNOB-CAUSES-TINGLE,STRING + PRINT STRING + PRINTI " knob on the wall, a low vibration tingles up your legs from the floor" + PRINT PCR + RTRUE + + .ENDI diff --git a/clothes.zil b/clothes.zil new file mode 100644 index 0000000..cd359f2 --- /dev/null +++ b/clothes.zil @@ -0,0 +1,1079 @@ +"CLOTHES for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + + + + + + + + + ;) + (> ,M-FATAL <>>> + + + + + + + + + > + + ) + (T + )> + )>)>> + + > + + > + >> + ,PILE-OF-CLOTHES) + ( + + ) + (T + + )> + ;> + + ) + (T + )>)>) + ( > + + + ) + (T + + )> + ;> + + ) + (T + )>) + ( + + > + + ) + ( + > + + ) + (T + + )>) + + (T + )>) + (T + )>> + + + + + +> +> +> +> + + + + + ) + (T + + > + + )> + + + ) + (T + )> + )>) + ( + ) + ( + + + )> + ) + (T + )>) + ( + > + ) + ( + + + >> + + + >>> + ) + (> + ) + (T + + + + > + + + >)> + + + + + + )> + ) + ( + + + )> + ) + (T + + + > + + > + ) + (T + )>)>)>) + ( + > + + ) + ( + + + + ; + )> + ) + (T + + >)> + + + + + ) + ( + ) + (T + )> + )>) + ( + + >> + + > + + ;"returns <> when REMOVEd." + + + + ) + ( + ) + (T + >)> + + > + + + ;"Can be ripped automatically now" + ;>)> + + + + + ) + (T + )> + ) + (> + ) + (T + )>) + ( + ) + (T + )>) + ;( + + > + + ;"returns <> when REMOVEd." + + + + ) + ( + ) + (T + >)> + + > + + >)> + + + ) + (T + )> + ) + (> + ) + (T + )>) + ( + ) + (T + )>) + ( + + > + + )>> + + + + + + ) + (T + )>) + ( + > + ) + ( + + ) + (T + )>) + ( + ) + ( + ) + ( + + ) + ( + )>) + ( + > + + )>> + +; "The rag, or alternately, the dress, is set to SEA if it is dipped in water +of any kind (easier to type). Then it is described as wet. If the dress is +wet and THEN the rag is ripped out, the rag will still be wet. You can get as +many rags as you like, with access to only one at a time. If it works." + + + + > + + >> + ) + ( + > + + >> + )> + > + +; + +; + +; + + + + + )>) + (T + )> + ) + ( + > + ) + ( + + > + ) + ;( + ) + (T + + + + + ) + ( + > + ) + (T + )>)>) + ( + > + ) + ( + + )>> + + + + + + + + + + + ) + (T + + + )> + )>) + ( + )>) + ( + + ) + (T + )>) + ( + + + ) + (T )> + ) + ( + )>> + +> + + + + + + ) + ( + ) + (T + + + )>) + ( + ,MUZZLED> + + +; + ) + (T + > + ;"stop implicit take" + + + )>) + ( + > + + > ,M-FATAL <>>>> + + ;"It's poss to finish w/o garter!" + ;> + + ) + ( + + ) + (T + )>) + ( + > + > + ) + ( + > + + ) + ( + + ) + (T + + + ;"LOAD GUN/PUT STONE IN GARTER" + + + >)> + )>) + (T + )>) + ( + + >> + ) + ( + + + + ) + (T + )>) + (T + + > + + ) + ( + ) + (T + )>)>) + ( + + > + + ) + ( + + ) + (T + )>)>> + + + +> + + + + + > + ) + ;( + + > + + ) + ( + > + ) + ( + )>> + + + + + + + ; + ;) + ( + ;"In case of WAVE MONEY" + >> + )>> + + + +)) + + ) + ( + + > + + ) + (T + + )>) + ( + + > + >> + + ) + (T + + )>) + ( + + ) + (T + )>) + ( + > + + ) + ( + + ) + ( + + ) + ( + + ) + ( + > + ) + ( + > + + + ) + (T + + ; + ) + ( + ) + (T + )> + )>) + ( + ) + ( + )>> + + + > + + + > + )> + + + + + ) + (T + )>) + (T + )>> + + + + ;"Now you have five squeezes on the bottle." +; + + + ) + ( + > + > ,M-FATAL <>>>> + > + ) + ( + > + + ) + ( + > + + ; + + ) + ;(T + )>) + ( + ) + ( + ) + ( + + ) + ( + >> + ) + ( + ) + (> 0> + + + + ) + ( + +;"*********** CUT" ) + ( + + ) + ( + ,POISONED>> + ) + (T + + + )>)> + + )> + + )>) + ( + > + + ;) + ( ;"BOTTLE is prsi" + + ) + ( + + + ) + (T + )>) + ( + + + )> + ) + ( + )>> + + + + + + > + ) + ( + ) + ( + + ) + ( + + ) + ( + + ) + ;( + + )>> + + ;"checks for LAUD-LEFT in pre-action" + + ) + ( + ) + ( + ) + ( + + ) + ( + >> + ) + ;( ;"checked in pre-action" + ) + (> 0> + + + ;"checked in PRE-POUR" + ) + (T + + + )>) + ( + + ) + ( + + ) + ( + ,POISONED>> + ) + (T + + + )>)> + + )> + + )>> + + + + + )> + > + + + + + + + + >> + ) + ( + ) + ( + ) + ;( + > + )>> + + + +)) + + + )> + ) + (T + )>) + ( + + ) + (T + )>) + ( + + ) + ( + + + + + + + )> + ) + (T + )>) + ;( + > + + ) + ( + > + + ) + ( + > + + + ) + ( + + ) + (T + + + )> + )>) + (T + )>)>> + +> + +; + +; + + > ,M-FATAL <>>>> + ) + ;( + ) + ;( + ,PROTAGONIST>> + ) + (T + + + + ) + ( + ) + (T + + )> + )>) + ( + + + ) + (T + + + ) + (T + )>)>) + (T + )>)>> + +; + > \ No newline at end of file diff --git a/extras.zap b/extras.zap new file mode 100644 index 0000000..5274c46 --- /dev/null +++ b/extras.zap @@ -0,0 +1,1966 @@ + + + .FUNCT CRULLEY-F,OARG=0,X + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + EQUAL? HERE,BEACH \?CCL8 + PRINTD CRULLEY + PRINTI " stands" + GRTR? LAFOND-CTR,6 \?CCL11 + PRINTI ", pistol ready," + PRINT HALFWAY + RTRUE +?CCL11: PRINTI " with the dragoons." + RTRUE +?CCL8: EQUAL? HERE,CABIN \FALSE + PRINTD CRULLEY + PRINTI " the pirate" + FSET? CRULLEY,DEADBIT \?CCL16 + PRINTI " lies unconscious on the floor." + RTRUE +?CCL16: PRINTI ", hook raised, leering, comes toward you." + RTRUE +?CCL3: EQUAL? CRULLEY,WINNER \?CCL18 + FSET? CRULLEY,DEADBIT \?CCL21 + PRINT DOESNT-RESPOND + RTRUE +?CCL21: EQUAL? PRSA,V?TELL-ABOUT \?CCL23 + EQUAL? PRSO,ME \?CCL23 + CALL NOUN-USED,W?HOOK,CRULLEY + ZERO? STACK /?CCL28 + PRINTI "He snarls at the memory, ""'Twere bit off by a monster crocodile.""" + CRLF + JUMP ?CND26 +?CCL28: EQUAL? PRSI,LAFOND \?CCL30 + PRINTI """'E's a hard 'un, who won't take no guff. But 'e pays well" + FSET? BEACH,TOUCHBIT /?CND31 + PRINTI " -- er, so I hear" +?CND31: PRINTI ".""" + CRLF + JUMP ?CND26 +?CCL30: PRINTD CRULLEY + PRINTI " ignores you" + PRINT PCR +?CND26: CALL STOP + RSTACK +?CCL23: EQUAL? PRSA,V?HELLO \?CCL34 + PRINTR """Har-har.""" +?CCL34: EQUAL? PRSA,V?KISS \?CCL36 + EQUAL? PRSO,ME \?CCL36 + PRINTR """Wi' a wannion! I likes me ladies forward!""" +?CCL36: CALL COM-CHECK,CRULLEY >X + ZERO? X /FALSE + EQUAL? X,M-FATAL /FALSE + RTRUE +?CCL18: EQUAL? PRSA,V?CUT,V?KILL \?CCL45 + FSET? CRULLEY,DEADBIT \?CCL48 + CALL MAN-IS-DOWN + RSTACK +?CCL48: ZERO? PRSI /?CTR49 + EQUAL? PRSI,HANDS \?CCL50 +?CTR49: EQUAL? P-PRSA-WORD,W?SLAP \?CCL55 + PRINTI "Slap! The pirate fingers the red welt left by" + CALL TPRINT,HANDS + PRINTR ", and laughs." +?CCL55: IN? COFFER,PROTAGONIST \?CCL57 + ZERO? PRSI \?CCL57 + CALL PERFORM,V?KILL,CRULLEY,COFFER + RTRUE +?CCL57: IN? RAPIER,PROTAGONIST \?CCL61 + ZERO? PRSI \?CCL61 + CALL PERFORM,V?KILL,CRULLEY,RAPIER + RTRUE +?CCL61: CALL CANT-HURT,STR?334 + RSTACK +?CCL50: EQUAL? PRSI,COFFER \?CCL65 + INC 'ATTACK-C + SET 'CRULLEY-HIT,TRUE-VALUE + PRINTI "With all your strength you whack the pirate" + PRINT OVER-HEAD + CALL TRPRINT,PRSI + MOVE PROTAGONIST,HERE + CALL DEQUEUE,I-CRULLEY + CALL I-CRULLEY + RSTACK +?CCL65: EQUAL? PRSI,RAPIER \?CCL67 + FSET? CRULLEY,EVERYBIT \?CCL70 + FSET? CRULLEY,MUNGBIT \?CCL73 + PRINT YOU-CANT + PRINTI "very well reach" + CALL TPRINT,CRULLEY + PRINTI " when he's down in" + CALL TRPRINT,WELL + RSTACK +?CCL73: CALL DEQUEUE,I-CDUNG + INC 'SCORE + SET 'CRULLEY-CTR,1 + CALL QUEUE,I-CCLIMBS-UP,2 + FSET CRULLEY,MUNGBIT + FSET CRULLEY,NDESCBIT + MOVE CRULLEY,TRAP + REMOVE WHIP + PRINTI "You flick" + CALL TPRINT,RAPIER + PRINTI " across his chest, barely scratching him. He cries, ""Avast me! Pricked by a woman!"" and trips into" + CALL TRPRINT,TRAP + PRINT INDENT + PRINTI "You peer down the hole to find " + PRINTD CRULLEY + PRINTI " hanging in midair, his hook caught in the rocks a few yards down. He curses and starts to climb up the sheer slimy walls of" + CALL TRPRINT,WELL + RSTACK +?CCL70: FSET CRULLEY,EVERYBIT + PRINTD CRULLEY + PRINTI " seems more amazed than frightened of your attack, guessing correctly that you hardly know the tip from the hilt of" + CALL TPRINT,RAPIER + PRINTI ". He steps sideways in surprise, so he stands at" + PRINT THE-EDGE + CALL TRPRINT,TRAP + RSTACK +?CCL67: PRINTI "You slap" + CALL TPRINT,CRULLEY + PRINT OVER-HEAD + CALL TPRINT-PRSI + PRINTI ", to no effect" + PRINT PCR + RTRUE +?CCL45: EQUAL? PRSA,V?KISS \?CCL75 + SET 'WINNER,CRULLEY + CALL PERFORM,V?KISS,ME + SET 'WINNER,PROTAGONIST + RTRUE +?CCL75: EQUAL? PRSA,V?KICK \?CCL77 + CALL CANT-HURT,STR?335 + RSTACK +?CCL77: EQUAL? PRSA,V?PUT-ON,V?PUT,V?THROW /?CTR78 + EQUAL? PRSA,V?THROW-AT \?CCL79 +?CTR78: FSET? CRULLEY,MUNGBIT \?CCL84 + EQUAL? PRSO,RAPIER \?CCL87 + CALL PERFORM,V?PUT,RAPIER,TRAP + RTRUE +?CCL87: EQUAL? PRSO,RETICULE /FALSE + REMOVE PRSO + PRINTD CRULLEY + PRINTI " curses as" + CALL TPRINT-PRSO + PRINTI " sails past him down into" + CALL TRPRINT,WELL + RSTACK +?CCL84: EQUAL? PRSO,COFFER \FALSE + CALL PERFORM,V?KILL,CRULLEY,PRSO + RSTACK +?CCL79: EQUAL? PRSA,V?SEARCH \?CCL93 + FSET? CRULLEY,DEADBIT \?CCL96 + PRINTR "And dirty your lily hands? Never!" +?CCL96: FSET? CRULLEY,MUNGBIT \?CCL98 + CALL CANT-REACH,CRULLEY + RSTACK +?CCL98: PRINTR "You are uncomfortably sure he would love to have you frisk him." +?CCL93: EQUAL? PRSA,V?GIVE \?CCL100 + EQUAL? PRSO,BANKNOTE \?CCL100 + EQUAL? HERE,BEACH /?CCL100 + PRINTI "He takes it, smiling blackly" + PRINT PCR + RTRUE +?CCL100: EQUAL? PRSA,V?EXAMINE \FALSE + CALL NOUN-USED,W?HOOK,CRULLEY + ZERO? STACK /?CCL108 + PRINTR "The hook replaces one of his hands." +?CCL108: PRINTI "The pirate's unsavory face is crisscrossed with scars, and those not from shaving nicks, to judge by his scruffy beard. A hook replaces one of his hands at the end of a torn black sleeve" + PRINT PCR + RTRUE + + + .FUNCT I-CRULLEY + PRINT INDENT + ZERO? ATTACK-C \?CCL3 + FSET? CRULLEY,TOUCHBIT /?CCL3 + CALL QUEUE,I-MEET-HERO,2 + FSET CRULLEY,TOUCHBIT + MOVE CRULLEY,CABIN + CALL QUEUE,I-CRULLEY,-1 + FSET DOOR,MUNGBIT + PRINTI "Crash! You whirl around to see" + CALL TPRINT,DOOR + PRINTI " shatter, kicked by a hulking man, his twisted visage blackened with soot and blood. " + JUMP ?CND1 +?CCL3: EQUAL? ATTACK-C,1 \?CND1 + PRINTI "The pirate stumbles, dizzy. " +?CND1: EQUAL? ATTACK-C,2 \?CCL9 + FSET CRULLEY,DEADBIT + PRINT STUNNED-THE-SAILOR + PRINT PCR + JUMP ?CND7 +?CCL9: CALL CRULLEY-SAYS +?CND7: INC 'CRULLEY-CTR + RETURN CRULLEY-CTR + + + .FUNCT CRULLEY-SAYS + PRINTC 34 + GET MENACES,CRULLEY-CTR + PRINT STACK + PRINTI ","" " + EQUAL? ATTACK-C,1 \?CCL3 + PRINTI "slurs" + JUMP ?CND1 +?CCL3: PRINTI "sniggers" +?CND1: PRINTI " the pirate" + EQUAL? CRULLEY-CTR,1 \?CCL6 + PRINTI ". His breath is heavy with rum" + JUMP ?CND4 +?CCL6: RANDOM 100 + LESS? 60,STACK /?CND4 + PRINTI ", advancing toward you" +?CND4: PRINT PCR + RTRUE + + + .FUNCT I-OVERHEAR-CRULLEY + EQUAL? HERE,CREWS-QUARTERS \FALSE + SET 'HEARD-CRULLEY,TRUE-VALUE + FSET ANCHOR,MUNGBIT + FSET LEVER,MUNGBIT + CALL QUEUE,I-SEE-CRULLEY-ESCAPE,20 + CALL QUEUE,I-LOOK-SEA,10 + PRINT INDENT + PRINTI """I gotta let" + CALL TPRINT,LAFOND + PRINTI " know 'e's comin'.""" + CALL TPRINT,CRULLEY + PRINTI " stands on deck above, talking to himself, his voice floating down through" + CALL APRINT,GRATE + PRINTI " in" + CALL TPRINT,CEILING + PRINTI ". ""First, I do in the mates aboard-ship, with this and t'other mischief,"" he grunts, and you hear a snapping noise, like a taut rope being cut. ""Now to warn the boss and collect me pay. Off I go, har."" He dives into" + CALL TRPRINT,SEA + RSTACK + + + .FUNCT I-SEE-CRULLEY-ESCAPE + CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL3 + CALL INNER-DECK,HERE + ZERO? STACK \?CCL3 + PRINT INDENT + PRINTI "Your eyes are drawn to a flicker of light off the sea. Squinting, you see a man swimming to shore, moonlight flashing off his hook." + EQUAL? HERE,POOP,QUARTERDECK,MAIN-DECK /?CCL7 + EQUAL? HERE,FOCSLE \?CND6 +?CCL7: PRINTR " A wisp of breeze brings an odor of onions and rum, and the occasional gargling chuckle, ""...mischief, har...reefs.""" +?CND6: CRLF + RTRUE +?CCL3: CALL QUEUE,I-SEE-CRULLEY-ESCAPE,3 + RSTACK + + + .FUNCT I-CDUNG + LESS? CRULLEY-CTR,7 \?CCL3 + PRINT INDENT + PRINTD CRULLEY + EQUAL? CRULLEY-CTR,1 \?CND4 + PRINTI " steps leering out of the shadows and" +?CND4: PRINTI " cracks" + CALL TPRINT,WHIP + PRINTI " near you, hopping you towards the open " + PRINTD TRAP + PRINTI ". """ + ZERO? CRULLEY-HIT /?CCL8 + EQUAL? CRULLEY-CTR,1 \?CCL8 + CALL QUEUE,I-REPLY,2 + SET 'AWAITING-REPLY,17 + PRINTI "Come to hit me agin, are ye?" + JUMP ?CND6 +?CCL8: SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + CALL PICK-ONE,ABUSES + PRINT STACK +?CND6: PRINTC 34 + CRLF + JUMP ?CND1 +?CCL3: PRINT INDENT + PRINTD CRULLEY + PRINTI " snaps" + CALL TPRINT,WHIP + PRINTI " around your neck, jerking you sideways and down through" + CALL TPRINT,TRAP + PRINTC 46 + CALL JIGS-UP,FALL-TO-BOTTOM +?CND1: INC 'CRULLEY-CTR + RETURN CRULLEY-CTR + + + .FUNCT I-CCLIMBS-UP + CALL QUEUE,I-CCLIMBS-UP,-1 + INC 'CRULLEY-CTR + EQUAL? CRULLEY-CTR,10 \?CCL3 + SET 'CRULLEY-BACK,TRUE-VALUE + FCLEAR CRULLEY,NDESCBIT + CALL DEQUEUE,I-CCLIMBS-UP + EQUAL? HERE,DUNGEON /?CCL6 + FCLEAR CRULLEY,MUNGBIT + MOVE CRULLEY,DUNGEON + RFALSE +?CCL6: FSET? TRAP,OPENBIT /?CCL8 + PRINT INDENT + PRINTI "Roaring with anger," + CALL TPRINT,CRULLEY + PRINTI " slaps" + CALL TPRINT,TRAP + PRINTI " back on its hinges and" + JUMP ?CND4 +?CCL8: PRINT INDENT + PRINTD CRULLEY +?CND4: PRINTI " leaps out of" + CALL TPRINT,WELL + PRINTI ", seizing you." + CALL JIGS-UP,FALL-TO-BOTTOM + RSTACK +?CCL3: RANDOM 100 + LESS? 50,STACK /FALSE + EQUAL? HERE,DUNGEON \FALSE + PRINT INDENT + PRINTI "Sounds of scraping hook against stone and curses echo out of" + CALL TPRINT,WELL + FSET? TRAP,OPENBIT /?CND13 + PRINTI ", muffled by" + CALL TPRINT,TRAP +?CND13: PRINT PCR + RTRUE + + + .FUNCT WHIP-F + EQUAL? PRSA,V?TAKE \FALSE + PRINTD CRULLEY + PRINTI " snaps" + CALL TPRINT,WHIP + PRINTR " near you. ""Get away wit' ye.""" + + + .FUNCT DAVIS-F + EQUAL? PRSA,V?MUNG,V?KICK,V?KILL /?CTR2 + EQUAL? PRSA,V?KISS \?CCL3 +?CTR2: PRINTD DAVIS + PRINTR " dodges." +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7 + PRINTD DAVIS + PRINTR " is ugly with fear." +?CCL7: EQUAL? DAVIS,WINNER \FALSE + CALL FAILS-TO-NOTICE + RSTACK + + + .FUNCT COOKIE-F,OARG=0,X + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + EQUAL? HERE,GALLEY \?CCL8 + PRINTI "An entirely bald man sits here, carving into his peg leg" + JUMP ?CND6 +?CCL8: ZERO? COOKIE-FIGHTING-CROC /?CCL10 + PRINTI "The pool is roily with the writhing bodies of" + CALL TPRINT,COOKIE + PRINTI " and" + CALL TPRINT,CROC + JUMP ?CND6 +?CCL10: CALL QUEUED?,I-ENDGAME + ZERO? STACK /?CCL12 + EQUAL? HERE,BEACH \?CCL12 + FSET? COOKIE,DEADBIT \?CCL17 + PRINTI "Lucy cleans the sand from Quick's quiescent face, as Papa " + FSET? LAFOND,DEADBIT \?CCL20 + PRINTI "sneaks up the cliff stairs" + JUMP ?CND6 +?CCL20: PRINTI "stands nearby" + IN? GARTER,DAD \?CND6 + PRINTI ", holding" + CALL TPRINT,GARTER + JUMP ?CND6 +?CCL17: PRINTD COOKIE + PRINTI ", Lucy and your father are moving towards" + CALL TPRINT,SKIFF + JUMP ?CND6 +?CCL12: PRINTD COOKIE + PRINTI " chews anxiously at a cheroot" +?CND6: PRINTC 46 + RTRUE +?CCL3: EQUAL? COOKIE,WINNER \?CCL24 + FSET? COOKIE,DEADBIT \?CCL27 + PRINT DOESNT-RESPOND + RTRUE +?CCL27: EQUAL? PRSA,V?READ \?CCL29 + PRINTR """I can't read! I'm a cook, not a gentleman!""" +?CCL29: EQUAL? PRSA,V?HELLO \?CCL31 + PRINTI """Hullo -- boy!"" He winks at you" + PRINT PCR + RTRUE +?CCL31: EQUAL? PRSA,V?SAVE-SOMETHING,V?HELP \?CCL33 + EQUAL? HERE,GALLEY \?CCL36 + PRINTI """Eh? Don't be panicking. We'll be fine."" He carves a smile into his leg" + PRINT PCR + RTRUE +?CCL36: PRINTD COOKIE + PRINTR " grumbles, ""What d'ye think I'm trying to do!""" +?CCL33: EQUAL? PRSA,V?FIX \?CCL38 + EQUAL? PRSO,DAGGER \?CCL38 + PRINTR """I never was able to sharpen that dagger.""" +?CCL38: EQUAL? PRSA,V?TELL-ABOUT \?CCL42 + EQUAL? PRSO,ME \?CCL42 + EQUAL? PRSI,HERO \?CCL47 + IN? HERO,MANACLES \?CCL50 + PRINTI """I'm tryin' to find him!""" + CRLF + JUMP ?CND45 +?CCL50: PRINTI """The Cap'n? I been with him since the war. Then came Lafond.""" + CRLF + JUMP ?CND45 +?CCL47: EQUAL? PRSI,COOKIE \?CCL52 + PRINTI """'Rodney Quick's me name, cookin's me game. +Lost me leg in sixty-eight, 'tis why I bake. +Losin' me hearin' in every fight, but I've got me sight -- +And come our Good Lord's 1701, I'll lose me life to a ruffian's gun.' +-- Old dame told me that. Leastways, I've several years left.""" + CRLF + JUMP ?CND45 +?CCL52: EQUAL? PRSI,LAFOND \?CCL54 + PRINTI """He murdered Cap'n's brother and family these three year'n past. Cap'n's been searching for a time to avenge the dead ones, and now he's found it.""" + CRLF + JUMP ?CND45 +?CCL54: EQUAL? PRSI,CRULLEY \?CCL56 + PRINTI """Don't trust 'im. Never 'ave.""" + CRLF + JUMP ?CND45 +?CCL56: PRINTD COOKIE + PRINTI " cocks an ear, ""Eh, what's that?""" + CRLF +?CND45: CALL STOP + RSTACK +?CCL42: EQUAL? PRSA,V?GIVE \?CCL58 + EQUAL? PRSO,ME \?CCL58 + IN? RAPIER,COOKIE \?CCL58 + CALL PERFORM,V?TAKE,RAPIER + RTRUE +?CCL58: EQUAL? PRSA,V?FOLLOW \?CCL63 + EQUAL? PRSO,ME \?CCL63 + PRINTI """Foller you?" + EQUAL? HERE,GALLEY /?CND66 + PRINTI " Anywheres" +?CND66: PRINTR "!""" +?CCL63: EQUAL? PRSA,V?TAKE \?CCL69 + EQUAL? PRSO,PAIR \?CCL69 + EQUAL? HERE,X-ROOM \?CCL69 + PRINTR """No, lass. A lady don't use guns, and I've no need for one.""" +?CCL69: CALL COM-CHECK,COOKIE >X + ZERO? X /FALSE + EQUAL? X,M-FATAL /FALSE + RTRUE +?CCL24: EQUAL? PRSA,V?EXAMINE \?CCL79 + PRINTD COOKIE + PRINTR " is a grizzled old man with a peg-leg." +?CCL79: EQUAL? PRSA,V?TELL-ABOUT \?CCL81 + CALL NOUN-USED,W?GUNPOW,SUPPLIES + ZERO? STACK /?CCL84 + PRINTR """Clam chowder? Never make it -- too fancy.""" +?CCL84: EQUAL? PRSI,REEFS \?CCL86 + PRINTR """We dropped the sea anchor -- no need to fear.""" +?CCL86: EQUAL? PRSI,SUPPLIES \?CCL88 + PRINTR """Aye, you must mean the supplies in the hold. Yep, that's where we store them.""" +?CCL88: EQUAL? PRSI,FIRE,HOLD \?CCL90 + PRINTR """Fire for the cold? I think it be too warm...""" +?CCL90: EQUAL? PRSI,FUSE \?CCL92 + PRINTR """Lose sommat? I be always losing things. Think there be thieves aboard.""" +?CCL92: EQUAL? PRSI,HERO \FALSE + ZERO? COOKIE-FIGHTING-CROC /?CCL97 + CALL FAILS-TO-NOTICE + RSTACK +?CCL97: CALL HELD?,HERO,DUNGEON + ZERO? STACK /?CCL99 + PRINTI """Well, show me, lass!"" he grumbles" + PRINT PCR + RTRUE +?CCL99: PRINTI """He's a fine man, is Cap'n,"" he smiles" + PRINT PCR + RTRUE +?CCL81: EQUAL? PRSA,V?KISS \?CCL101 + PRINTR """Nah, me pretty, ye belong to Cap'n.""" +?CCL101: EQUAL? PRSA,V?GIVE \?CCL103 + EQUAL? PRSO,BANKNOTE \?CCL103 + PRINTI """I hain't no need fer that kind of money,"" he waves away your offer" + PRINT PCR + RTRUE +?CCL103: EQUAL? PRSA,V?CUT,V?MUNG,V?KILL \FALSE + FSET? COOKIE,DEADBIT \?CCL110 + CALL MAN-IS-DOWN + RSTACK +?CCL110: PRINTR "He holds you off, ""'Ere now, there's no call for that!""" + + + .FUNCT I-COOKIE,FIRST-MOVE=0 + ZERO? FIRST-MOVE /?CCL3 + SET 'COOKIE-LOOKING,FALSE-VALUE + SET 'QUESTIONER,COOKIE + SET 'AWAITING-REPLY,10 + CALL QUEUE,I-REPLY,2 + ZERO? CLOCK-WAIT /?CCL6 + PUSH 1 + JUMP ?CND4 +?CCL6: PUSH 2 +?CND4: CALL QUEUE,I-COOKIE,STACK + MOVE COOKIE,HERE + FSET COOKIE,MUNGBIT + SET 'CRULLEY-CTR,0 + PRINT INDENT + PRINTD COOKIE + PRINTI " rushes up to you, looking worried. ""Miss, we must find the Cap'n. Have ye any idea where to look?""" + CRLF + JUMP ?CND1 +?CCL3: IN? COOKIE,HERE /?CCL8 + CALL DEQUEUE,I-COOKIE + JUMP ?CND1 +?CCL8: EQUAL? REACTION,REACTION-POSITIVE /?CTR9 + EQUAL? PRSA,V?WALK \?CCL10 +?CTR9: PRINT INDENT + PRINTD COOKIE + PRINTI " grins broadly, ""I knew we could depend on you, lass. Lead on!""" + CRLF + JUMP ?CND1 +?CCL10: EQUAL? CRULLEY-CTR,2 \?CCL14 + MOVE COOKIE,LIBRARY + EQUAL? REACTION,REACTION-NEGATIVE \?CCL17 + PRINT INDENT + PRINTI """Hell and damnation, I was afraid of that" + JUMP ?CND15 +?CCL17: PRINT INDENT + PRINTI "He harrumphs. ""So ye do not care fer him after all" +?CND15: PRINTI "!"" " + PRINTD COOKIE + PRINTI " orders the men to search, moving off himself. +" + JUMP ?CND1 +?CCL14: SET 'QUESTIONER,COOKIE + SET 'AWAITING-REPLY,10 + CALL QUEUE,I-REPLY,2 + CALL QUEUE,I-COOKIE,1 + PRINT INDENT + PRINTD COOKIE + PRINTI " urges you, ""Think agin. Any idea?""" + CRLF +?CND1: INC 'CRULLEY-CTR + RETURN CRULLEY-CTR + + + .FUNCT CREW-F + EQUAL? CREW,WINNER \?CCL3 + EQUAL? PRSA,V?HELLO \?CCL6 + PRINTI "He grins at you toothlessly" + PRINT PCR + JUMP ?CND4 +?CCL6: ZERO? ENDGAME /?CCL8 + EQUAL? PRSA,V?FIND,V?WHERE \?CCL8 + EQUAL? PRSO,HERO,COOKIE \?CCL8 + CALL PERFORM,V?TELL-ABOUT,ME,PRSO + RTRUE +?CCL8: EQUAL? PRSA,V?TELL-ABOUT \?CCL13 + EQUAL? PRSO,ME \?CCL13 + ZERO? ENDGAME /?CCL18 + EQUAL? PRSI,HERO,COOKIE \?CCL18 + EQUAL? PRSI,COOKIE \?CCL23 + PRINTI """'E went" + JUMP ?CND21 +?CCL23: PRINTI """Cookie be" +?CND21: PRINTI " a-lookin' for Cap'n.""" + CRLF + JUMP ?CND4 +?CCL18: EQUAL? PRSI,LAFOND \?CCL25 + PRINTI """'E be an evil man, I do hear.""" + CRLF + JUMP ?CND4 +?CCL25: CALL FAILS-TO-NOTICE + JUMP ?CND4 +?CCL13: PRINTI """I'm busy. Do it yerself, boy."" He cuffs you aside." + CRLF +?CND4: CALL STOP + RSTACK +?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTD HERO + PRINTI "'s crew are a ragged, toothless bunch, all sporting jagged scars. Despite their abhorrent appearances, they call friendlily to each other" + PRINT PCR + RTRUE + + + .FUNCT LUCY-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + EQUAL? HERE,KITCHEN \FALSE + PRINT INDENT + FSET? LUCY,TOUCHBIT \?CCL11 + PRINTD LUCY + JUMP ?CND9 +?CCL11: PRINTI "A blond woman" +?CND9: CALL RUNNING?,I-LUCY + ZERO? STACK /?CCL14 + PRINTI " stands talking to you" + JUMP ?CND12 +?CCL14: PRINTI " huddles alone by the fire, as if cold" +?CND12: PRINTC 46 + RTRUE +?CCL3: EQUAL? LUCY,WINNER \?CCL16 + EQUAL? PRSA,V?TELL-ABOUT \?CCL19 + EQUAL? PRSO,ME \?CCL19 + CALL NOUN-USED,W?LIBRARY,HOUSE + ZERO? STACK /?CCL24 + PRINTI """I ain't allowed in that wing of" + CALL TRPRINT,HOUSE + JUMP ?CND22 +?CCL24: EQUAL? PRSI,LAFOND \?CCL26 + PRINTI """He's a regular lout who don't like my cooking.""" + CRLF + JUMP ?CND22 +?CCL26: CALL FAILS-TO-NOTICE +?CND22: CALL STOP + RSTACK +?CCL19: EQUAL? PRSA,V?HELLO \?CCL28 + PRINTI "She smiles" + PRINT PCR + RTRUE +?CCL28: EQUAL? PRSA,V?KISS \?CCL30 + EQUAL? PRSO,ME \?CCL30 + PRINTR """I hardly know you!"" she gasps." +?CCL30: CALL COM-CHECK,LUCY >OARG + ZERO? OARG /FALSE + EQUAL? OARG,M-FATAL /FALSE + RTRUE +?CCL16: EQUAL? PRSA,V?TELL-ABOUT \?CCL39 + EQUAL? PRSI,DAD \?CCL39 + FSET? DAD,TOUCHBIT \?CCL44 + PRINTR """Yes, he told me.""" +?CCL44: SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "She yelps, ""Dear Dimsy, how can I save him?""" +?CCL39: EQUAL? PRSA,V?GIVE \?CCL46 + EQUAL? PRSO,GARTER \?CCL49 + FSET? GARTER,INVISIBLE /?CCL49 + PRINTD LUCY + PRINTR " frowns. ""No, you silly boy! Give that to Dimsford!""" +?CCL49: EQUAL? PRSO,BANKNOTE \FALSE + PRINTD LUCY + PRINTR " slaps you hard across the face. ""I'm not that sort of girl!""" +?CCL46: EQUAL? PRSA,V?LISTEN \?CCL55 + CALL RUNNING?,I-LUCY + ZERO? STACK /?CCL58 + PRINTR "You are listening to her!" +?CCL58: PRINTI "She talks a lot, but doesn't say much" + PRINT PCR + RTRUE +?CCL55: EQUAL? PRSA,V?ASK-FOR \?CCL60 + EQUAL? PRSI,GARTER \?CCL60 + CALL PERFORM,V?TAKE,GARTER + RTRUE +?CCL60: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTI "Lucy is a very pretty woman, a few years your senior, her yellow hair neatly arranged. She wears a cook's apron" + PRINT PCR + RTRUE + + + .FUNCT I-LUCY + FCLEAR GARTER,INVISIBLE + CALL THIS-IS-IT,GARTER + PRINT INDENT + PRINTI """I haven't found Lafond's papers, I'm watched too closely. Tell Dimsford that I -- I'm scared, and I want him to come get me. Give this to him -- he'll recognize it."" Lucy slides" + CALL APRINT,GARTER + PRINTI " down her leg and holds it out to you" + PRINT PCR + RTRUE + + + .FUNCT I-CATCH-KISS + FCLEAR FOREST,EVERYBIT + RTRUE + + + .FUNCT BUTLER-F,OARG=0,CONTENTS=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + CALL CTPRINT,BUTLER + FSET? BUTLER,DEADBIT /?CCL8 + PRINTI " stands near the entrance to " + EQUAL? HERE,FOYER \?CCL11 + PRINTI "the ballroom" + JUMP ?CND6 +?CCL11: PRINTI "the hallway" + JUMP ?CND6 +?CCL8: PRINTI " lies on the floor, prone and snoring loudly" +?CND6: PRINTC 46 + RTRUE +?CCL3: EQUAL? BUTLER,WINNER \?CCL13 + FSET? BUTLER,DEADBIT \?CCL16 + PRINT DOESNT-RESPOND + RTRUE +?CCL16: EQUAL? PRSA,V?HELLO \?CCL18 + PRINTI "He bows" + PRINT PCR + RTRUE +?CCL18: EQUAL? PRSA,V?TAKE \?CCL20 + EQUAL? PRSO,BLUE-GLASS,BANKNOTE,INVITE /?CTR19 + EQUAL? PRSO,GREEN-GLASS \?CCL20 +?CTR19: SET 'WINNER,PROTAGONIST + CALL PERFORM,V?GIVE,PRSO,BUTLER + SET 'WINNER,BUTLER + RTRUE +?CCL20: EQUAL? PRSA,V?TELL-ABOUT \?CCL26 + EQUAL? PRSO,ME \?CCL26 + EQUAL? PRSI,LAFOND \?CCL26 + CALL QUEUED?,I-SUMMONS + ZERO? STACK \?CTR31 + FSET? LDOOR,LOCKEDBIT /?CCL32 +?CTR31: EQUAL? HERE,LAFS-ROOM \?CCL37 + PRINTR """He's gone for water, Miss.""" +?CCL37: PRINTI """He's awaiting you now, Miss. In his room.""" + CRLF + MOVE LAFOND,LAFS-ROOM + RTRUE +?CCL32: EQUAL? DANCED-WITH,LAFOND \?CCL39 + PRINTR """He has retired to his room, and requests not to be disturbed.""" +?CCL39: PRINTR """The governor is in the ballroom, Miss.""" +?CCL26: CALL COM-CHECK,BUTLER >OARG + ZERO? OARG /FALSE + EQUAL? OARG,M-FATAL /FALSE + RTRUE +?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL46 + CALL CTPRINT,BUTLER + PRINTI ", scarred and burly, looks uncomfortable in his formal blacks, as if he'd prefer the rags of a pirate" + FSET? BUTLER,DEADBIT \?CND47 + PRINTI ". He lies snoring on the floor" +?CND47: PRINT PCR + RTRUE +?CCL46: FSET? BUTLER,DEADBIT \?CCL50 + EQUAL? PRSA,V?SEARCH \?CCL53 + PRINT NOTHING-NEW + RTRUE +?CCL53: EQUAL? PRSA,V?HELLO,V?ASK-ABOUT,V?TELL /FALSE + PRINT DOESNT-RESPOND + RTRUE +?CCL50: EQUAL? PRSA,V?SHOW,V?GIVE \?CCL57 + EQUAL? PRSO,BANKNOTE,INVITE \?CCL60 + CALL BRIBE-BUTLER,PRSO + RSTACK +?CCL60: EQUAL? PRSO,GREEN-GLASS,BLUE-GLASS \FALSE + PRINTI "He looks pleased" + GETP PRSO,P?CONTENTS + EQUAL? STACK,0,POISONED \?CCL65 + PRINTR ", then disappointed. ""There's no wine in that glass, Ma'am.""" +?CCL65: GETP PRSO,P?CONTENTS + EQUAL? STACK,W-P \?CND63 + SET 'DRUGGEE,BUTLER + CALL QUEUE,I-WATCH-SLEEP,2 +?CND63: MOVE PRSO,BUTLER + PUTP PRSO,P?CONTENTS,0 + PRINTI ". ""I am rather parched, Ma'am,"" he says, taking and emptying" + CALL TRPRINT,PRSO + RSTACK +?CCL57: EQUAL? P-PRSA-WORD,W?TIP \FALSE + CALL HELD?,BANKNOTE + ZERO? STACK /?CCL71 + CALL BRIBE-BUTLER,BANKNOTE + RSTACK +?CCL71: PRINTR "You have nothing to do that with." + + + .FUNCT I-BUTLER,CALLED-BY-BUTLER-F=0 + INC 'BUTLER-CTR + ZERO? CALLED-BY-BUTLER-F /?CCL3 + CALL QUEUE,I-BUTLER,2 + JUMP ?CND1 +?CCL3: CALL QUEUE,I-BUTLER,-1 +?CND1: EQUAL? HERE,FOYER /?CCL6 + SET 'AWAITING-FAKE-ORPHAN,FALSE-VALUE + CALL DEQUEUE,I-BUTLER + RFALSE +?CCL6: FSET? GOWN,WORNBIT \FALSE + ZERO? CALLED-BY-BUTLER-F \?CND8 + PRINT INDENT + PRINTC 34 +?CND8: EQUAL? BUTLER-CTR,3 \?CCL13 + CALL DEQUEUE,I-BUTLER + FSET BUTLER,MUNGBIT + PRINT YOULL-HAVE-TO + PRINTI "hope to be invited to the next party,"" smirks" + CALL TPRINT,BUTLER + PRINT PUSHING-YOU-OUT + CRLF + CALL GOTO,MAIN-ENTRANCE + RSTACK +?CCL13: PRINTI "Your invitation, Miss?"" says" + CALL TPRINT,BUTLER + EQUAL? BUTLER-CTR,4 \?CCL16 + PRINTI " snapping his fingers" + JUMP ?CND14 +?CCL16: PRINTI " bowing" +?CND14: PRINT PCR + RTRUE + + + .FUNCT BRIBE-BUTLER,GRAFT + MOVE GRAFT,BUTLER + FSET? BUTLER,INDOORSBIT \?CCL3 + PRINTI "He takes" + CALL TPRINT,GRAFT + PRINTI " and bows. ""Thank you, Miss" + EQUAL? GRAFT,INVITE \?CND4 + PRINTI " Davis" +?CND4: PRINTR ".""" +?CCL3: FSET BUTLER,INDOORSBIT + FCLEAR BUTLER,MUNGBIT + CALL DEQUEUE,I-BUTLER + INC 'SCORE + CALL CTPRINT,BUTLER + PRINTI " takes" + CALL TPRINT,GRAFT + EQUAL? GRAFT,BANKNOTE \?CND6 + PRINTI " and secrets it away" +?CND6: PRINTI ". ""Enjoy the dance, Miss" + EQUAL? GRAFT,INVITE \?CND8 + PRINTI " Davis" +?CND8: PRINTR ".""" + + + .FUNCT DANCERS-F + EQUAL? DANCERS,WINNER \?CCL3 + ZERO? ENDGAME /?CCL6 + CALL CTPRINT,DANCERS + PRINTR " looks away, terrified." +?CCL6: EQUAL? PRSA,V?HELLO \?CCL8 + PRINTI "A dancer smiles nervously and looks away" + PRINT PCR + RTRUE +?CCL8: EQUAL? PRSA,V?TELL-ABOUT \FALSE + EQUAL? PRSO,ME \FALSE + EQUAL? PRSI,LAFOND \?CCL15 + PRINTI """He's such a good host! I've never been to such a fine party! I'm so glad he is our governor."" You have never seen anyone so nervous before" + PRINT PCR + JUMP ?CND13 +?CCL15: PRINTI "Nobody seems inclined to chat with you" + PRINT PCR +?CND13: CALL STOP + RSTACK +?CCL3: EQUAL? PRSA,V?DANCE /?CTR16 + EQUAL? PRSA,V?ASK-FOR \?CCL17 + EQUAL? PRSI,BALLROOM \?CCL17 +?CTR16: PRINTR "A man regretfully shakes his head. ""We haven't been introduced by the governor.""" +?CCL17: EQUAL? PRSA,V?ASK-FOR \?CCL23 + EQUAL? PRSI,BALLROOM \?CCL23 + CALL PERFORM,V?DANCE,DANCERS + RTRUE +?CCL23: EQUAL? PRSA,V?EXAMINE \FALSE + CALL CTPRINT,DANCERS + PRINTI "s are dressed in powdered wigs and heavy jewels. All seem paler than fashion and the tropics would decree, and rather nervous" + PRINT PCR + RTRUE + + + .FUNCT DAD-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + PRINTI "Your father calmly stands nearby." + RTRUE +?CCL3: EQUAL? DAD,WINNER \?CCL7 + EQUAL? PRSA,V?TELL-ABOUT \?CCL10 + EQUAL? PRSO,ME \?CCL10 + EQUAL? PRSI,GARTER \?CCL15 + PRINTI """That belongs to -- a friend.""" + CRLF + JUMP ?CND13 +?CCL15: PRINTI """My dear,"" he says rather impatiently, ""There are people waiting for our help -- I haven't time to answer your questions just now.""" + CRLF +?CND13: CALL STOP + RSTACK +?CCL10: EQUAL? PRSA,V?I-LOVE-YOU \?CCL17 + EQUAL? PRSI,EYES \?CCL20 + PRINT DAD-KISS + RTRUE +?CCL20: EQUAL? PRSI,HERO \?CCL22 + PRINTR """I hoped you would,"" he smiles." +?CCL22: EQUAL? PRSI,LAFOND \?CCL24 + PRINTR """My poor doomed daughter!""" +?CCL24: CALL FAILS-TO-NOTICE + RSTACK +?CCL17: EQUAL? PRSA,V?FOLLOW \?CCL26 + EQUAL? PRSO,ME \?CCL26 + PRINTR """Lead on, daughter!""" +?CCL26: EQUAL? PRSA,V?HELLO \?CCL30 + PRINT DAD-KISS + RTRUE +?CCL30: CALL COM-CHECK,DAD >OARG + ZERO? OARG /FALSE + EQUAL? OARG,M-FATAL /FALSE + RTRUE +?CCL7: EQUAL? PRSA,V?ASK-FOR \?CCL37 + EQUAL? PRSI,GARTER \?CCL37 + CALL PERFORM,V?TAKE,GARTER + RTRUE +?CCL37: EQUAL? PRSA,V?TELL-ABOUT \?CCL41 + EQUAL? PRSI,LUCY \?CCL44 + PRINTR "He listens intently, and laughs, ""What a delightful girl she is, to be sure!""" +?CCL44: EQUAL? PRSI,HERO \FALSE + CALL RUNNING?,I-DAD + ZERO? STACK /?CCL49 + CALL DEQUEUE,I-DAD + CALL I-DAD,TRUE-VALUE + RSTACK +?CCL49: SET 'AWAITING-REPLY,16 + CALL QUEUE,I-REPLY,2 + PRINTI """So you like him?"" he asks, smiling" + PRINT PCR + RTRUE +?CCL41: EQUAL? PRSA,V?SHOW,V?GIVE \?CCL51 + EQUAL? PRSO,BANKNOTE \?CCL54 + REMOVE BANKNOTE + PRINTI """Do not stain yourself with that dirty money,"" he takes" + CALL TPRINT,BANKNOTE + PRINTI " and rips it up" + PRINT PCR + RTRUE +?CCL54: EQUAL? PRSO,GARTER \FALSE + PRINTR "He smiles dreamily at a memory." +?CCL51: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTI "Prison has only added a peppery beard to your father's handsome features. His green eyes still twinkle, his wrists still poke bonily out of his shirt cuffs" + PRINT PCR + RTRUE + + + .FUNCT I-DAD,CALLED-BY-DAD-F=0 + ZERO? CALLED-BY-DAD-F \?CND1 + PRINT INDENT +?CND1: PRINTR "You briefly explain the current situation to your father. + ""I knew Falcon would do his best to rescue me, once you were safe,"" he responds. ""Now to rescue Lucy -- Nicholas will have told you about her. You get him while I get Lucy, and the four of us will meet down at the beach. Just show me the way out of this maze, and we'll get started.""" + + + .FUNCT LAFOND-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + PRINTD LAFOND + FSET? LAFOND,MUNGBIT \?CCL8 + PRINT LAF-MUNGED + RTRUE +?CCL8: FSET? LAFOND,DEADBIT \?CCL10 + PRINTI " is slumped in the sand, dead." + RTRUE +?CCL10: EQUAL? HERE,BEACH \?CCL12 + PRINTI " stands" + PRINT HALFWAY + RTRUE +?CCL12: PRINTI " is leering, lip curled." + RTRUE +?CCL3: EQUAL? LAFOND,WINNER \?CCL14 + CALL RUNNING?,I-DUEL + ZERO? STACK \?PRD19 + CALL RUNNING?,I-ENDGAME + ZERO? STACK /?CCL17 +?PRD19: FSET? LAFOND,DEADBIT /?CCL17 + PRINTR "He ignores you." +?CCL17: EQUAL? PRSA,V?TELL-ABOUT \?CCL23 + EQUAL? PRSO,ME \?CCL23 + EQUAL? PRSI,LRING \?CCL23 + SET 'WINNER,PROTAGONIST + CALL PERFORM,V?TAKE,LRING + SET 'WINNER,LAFOND + RTRUE +?CCL23: CALL COM-CHECK,LAFOND >OARG + ZERO? OARG /FALSE + EQUAL? OARG,M-FATAL /FALSE + RTRUE +?CCL14: EQUAL? PRSA,V?POUR \?CCL33 + EQUAL? PRSO,WINE \?CCL33 + FSET? LAFOND,DEADBIT /?CCL33 + CALL FWTD,SMACK-YOUR-FACE + RSTACK +?CCL33: EQUAL? PRSA,V?DANCE \?CCL38 + EQUAL? HERE,BALLROOM \?CCL38 + EQUAL? PARTNER,LAFOND \?CCL43 + PRINT PACE + RTRUE +?CCL43: CALL RUNNING?,I-LDANCE + ZERO? STACK /FALSE + PRINTI "You curtsey and walk to" + PRINT DANCE-FLOOR + PRINT PCR + SET 'REACTION,REACTION-POSITIVE + RETURN REACTION +?CCL38: EQUAL? PRSA,V?KICK,V?BITE,V?KILL \?CCL47 + FSET? LAFOND,MUNGBIT \?CCL50 + CALL MAN-IS-DOWN + RSTACK +?CCL50: EQUAL? HERE,BALLROOM \?CCL52 + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINT LAF-GRABS + PRINT THE-BALLROOM + PRINTR "whirling blur through your tears as he leads you around the floor. ""Ma petite, a ball is not the right place to kill me. What would my guests think?!""" +?CCL52: ZERO? KILL-L \?CCL54 + SET 'KILL-L,TRUE-VALUE + PRINT LAF-GRABS + PRINTI "Twisting your wrist, pain stabbing down your arm, he forces his mouth on yours, hard, thrusting, cutting your lips. He releases you" + ZERO? PRSI /?CND55 + EQUAL? PRSI,RETICULE /?CND55 + FSET? PRSI,WORNBIT /?CND55 + MOVE PRSI,LAFOND + PRINTI ", taking" + CALL TPRINT-PRSI +?CND55: PRINTR ". ""Let that be a warning to you, my love.""" +?CCL54: CALL JIGS-UP,STR?336 + RSTACK +?CCL47: EQUAL? PRSA,V?TOUCH \?CCL61 + FSET? LAFOND,DEADBIT /?CCL61 + PRINTR "He smiles." +?CCL61: EQUAL? PRSA,V?GIVE \?CCL65 + EQUAL? PRSO,GREEN-GLASS,BLUE-GLASS \?CCL65 + IN? BLUE-GLASS,LAFOND /?CTR69 + IN? GREEN-GLASS,LAFOND \?CCL70 +?CTR69: PRINTR """I already have a glass, thank you.""" +?CCL70: MOVE PRSO,LAFOND + PRINTI "He takes" + CALL TRPRINT,PRSO + RSTACK +?CCL65: EQUAL? PRSA,V?KISS \?CCL74 + EQUAL? HERE,LAFS-ROOM \?CCL77 + GRTR? LAFOND-CTR,HORNY \?CCL80 + PRINTR "Queasy, you turn up your face to be kissed. His lips are cold, dry." +?CCL80: PRINTR "He laughs. ""Not yet, petite.""" +?CCL77: PRINTI "You shudder at the thought" + PRINT PCR + RTRUE +?CCL74: EQUAL? PRSA,V?EXAMINE \FALSE + CALL RUNNING?,I-LSED + ZERO? STACK /?CCL85 + GRTR? LAFOND-CTR,11 \?CCL85 + PRINTI "You turn away in modesty after a brief glimpse of pasty pink flesh" + PRINT PCR + RTRUE +?CCL85: FSET? LAFOND,MUNGBIT \?CCL89 + PRINTD LAFOND + PRINT LAF-MUNGED + CRLF + RTRUE +?CCL89: ZERO? ENDGAME \?CTR90 + CALL RUNNING?,I-LSED + ZERO? STACK /?CCL91 + GRTR? LAFOND-CTR,4 \?CCL91 +?CTR90: PRINTI "Lafond is dressed in a rich brocade robe" + PRINT PCR + RTRUE +?CCL91: PRINTI "Wigged in dark brown curls, dressed in velvets and brocade, he is warmly attractive. Until you meet his eyes, stone gray and cold" + PRINT PCR + RTRUE + + + .FUNCT RING-F + CALL NOUN-USED,W?LATIN,LRING + ZERO? STACK \?CTR2 + CALL NOUN-USED,W?LATIN,HRING + ZERO? STACK \?CTR2 + EQUAL? PRSA,V?READ \?CCL3 +?CTR2: CALL REPERTOIRE,STR?337 + RSTACK +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8 + EQUAL? PRSO,LRING \?CCL11 + PRINTI "It's an ancient gold band, with" + JUMP ?CND9 +?CCL11: PRINTI "Made of copper," + CALL TPRINT,HRING + PRINTI " has" +?CND9: PRINTI " a curious design of gargoyles, curled tongues extended, on its flat face, with ""Sal Sapit Omnia"" engraved at the bottom" + PRINT PCR + RTRUE +?CCL8: EQUAL? PRSA,V?TAKE \FALSE + EQUAL? PRSO,LRING \?CCL16 + IN? LRING,LAFOND \?CCL16 + FSET? LAFOND,MUNGBIT \?CCL21 + PRINTD LAFOND + PRINTI "'s fingers are curled tight in a fist. You cannot get it" + PRINT PCR + RTRUE +?CCL21: PRINTR """It is an impressive crest, no? I've thought of making it my own.""" +?CCL16: FSET? HERO,DEADBIT \?CCL24 + CALL NO-TIME-FOR,STR?338 + RSTACK +?CCL24: PRINTD HERO + PRINTI " curls his fist around it. ""This is " + IN? HRING,HERO \?CND25 + PRINTI "a copy of " +?CND25: PRINTR "the family ring lost with my brother.""" + + + .FUNCT GEN-RING + RETURN HRING + + + .FUNCT COM-CHECK,PER + EQUAL? PRSA,V?HELP \?CCL3 + EQUAL? PER,LAFOND \?CCL6 + PRINTR "He snickers, ""So I shall, petite.""" +?CCL6: EQUAL? PER,CRULLEY \?CCL8 + PRINTR """An' what'll I get fer it?"" he says, eying your body." +?CCL8: PRINTR """I'm doing all I can.""" +?CCL3: EQUAL? PRSA,V?KISS \?CCL10 + EQUAL? PRSO,ME \?CCL10 + SET 'WINNER,PROTAGONIST + CALL PERFORM,V?KISS,PER + SET 'WINNER,PER + RTRUE +?CCL10: EQUAL? PRSA,V?WALK \?CCL14 + PRINTR """After you!""" +?CCL14: EQUAL? PRSA,V?FOLLOW \?CCL16 + EQUAL? PRSO,ME \?CCL16 + PRINTR """Anywhere!""" +?CCL16: EQUAL? PRSA,V?HELLO \?CCL20 + PRINTR """Hello!""" +?CCL20: EQUAL? PRSA,V?WHAT \?CCL22 + CALL PERFORM,V?TELL-ABOUT,ME,PRSO + RTRUE +?CCL22: EQUAL? PRSA,V?GIVE \?CCL24 + EQUAL? PRSI,ME \?CCL24 + SET 'WINNER,PROTAGONIST + CALL PERFORM,V?ASK-FOR,PER,PRSO + SET 'WINNER,PER + RTRUE +?CCL24: EQUAL? PRSA,V?SGIVE \?CCL28 + RETURN 8 +?CCL28: EQUAL? PRSA,V?NO,V?YES \?CCL32 + SET 'WINNER,PROTAGONIST + CALL PERFORM-PRSA + SET 'WINNER,PER + RTRUE +?CCL32: CALL FAILS-TO-NOTICE + EQUAL? PRSA,V?DRINK \?CND33 + SET 'REACTION,REACTION-NEGATIVE +?CND33: CALL STOP + RTRUE + + + .FUNCT I-LDANCE + EQUAL? HERE,BALLROOM /?CCL3 + CALL DEQUEUE,I-LDANCE + RSTACK +?CCL3: EQUAL? LAFOND-CTR,1 \?CCL6 + MOVE LAFOND,HERE + CALL QUEUE,I-LDANCE,-1 + SET 'AWAITING-REPLY,11 + CALL QUEUE,I-REPLY,2 + SET 'QUESTIONER,LAFOND + SET 'DANCED-WITH,LAFOND + PRINT INDENT + PRINTI "A fashionably bewigged man stalks up to you and bows deeply. ""Will you dance?"" he asks, with a light French accent. ""Not that you have much choice. If you turn me down," + CALL TPRINT,DAD + PRINTI " dies.""" + CRLF + JUMP ?CND4 +?CCL6: EQUAL? LAFOND-CTR,2 \?CCL8 + EQUAL? REACTION,REACTION-POSITIVE \?CCL11 + SET 'PARTNER,LAFOND + INC 'LAFOND-CTR + PRINT INDENT + PRINTI """I am, of course, Lafond."" " + PRINT LAUGHS + JUMP ?CND4 +?CCL11: SET 'QUESTIONER,LAFOND + SET 'AWAITING-REPLY,11 + CALL QUEUE,I-REPLY,2 + PRINT INDENT + PRINTI "The man's smile hardens. ""You have" + CALL TPRINT,DAD + PRINTI "'s eyes. I am Lafond -- I have recently become intimate with that gentleman."" He slightly stresses the word ""intimate."" + ""Now, tell me 'yes.' And remember, I am a man of my word.""" + CRLF + JUMP ?CND4 +?CCL8: EQUAL? LAFOND-CTR,3 \?CCL13 + EQUAL? REACTION,REACTION-NEGATIVE,REACTION-NEUTRAL \?CCL16 + CALL DEQUEUE,I-LDANCE + CALL QUEUE,I-CKILLS-DAD,2 + PRINT INDENT + PRINTI """A mistake, ma petite."" Lafond gestures to a shadowy figure, who disappears into the east wing. ""Say adieu to your dear Papa.""" + CRLF + JUMP ?CND4 +?CCL16: SET 'PARTNER,LAFOND + PRINT LAUGHS + JUMP ?CND4 +?CCL13: EQUAL? LAFOND-CTR,4 \?CCL18 + CALL QUEUE,I-LDANCE,-1 + PRINT INDENT + PRINTI """So you know I am not your father's friend,"" Lafond says, offering a hand for the promenade. ""Unfortunately, you are in my power, " + ZERO? HERO-ARRESTED /?CCL21 + PRINTI "the Falcon is with my dragoons" + JUMP ?CND19 +?CCL21: PRINTI "he is in my dungeon" +?CND19: PRINTI " and I am still King of these waters."" A gold ring flashes on his hand. It seems vaguely familiar" + PRINT PCR + JUMP ?CND4 +?CCL18: EQUAL? LAFOND-CTR,5 \FALSE + FSET? DAD,TOUCHBIT \?CND24 + ZERO? HERO-ARRESTED \?CND26 + CALL QUEUE,I-HARRESTED,3 +?CND26: CALL QUEUE,I-SUMMONS,5 +?CND24: INC 'SCORE + CALL DEQUEUE,I-LDANCE + REMOVE LAFOND + SET 'PARTNER,FALSE-VALUE + PRINT INDENT + PRINTD LAFOND + PRINTI "'s eyes rake your body. ""When I am ready," + CALL TPRINT,BUTLER + PRINTI " will summon you to sup with me in my room" + FSET? DAD,TOUCHBIT /?CND28 + PRINTI "; it may be some time" +?CND28: PRINTI ". We will find much in common before dawn, I am sure. Then I may free your " + ZERO? HERO-ARRESTED /?CCL32 + PRINTI "lover" + JUMP ?CND30 +?CCL32: PRINTI "father" +?CND30: PRINTI ".""" + CALL TPRINT,LAFOND + PRINTI " bows as the dance ends, and kisses " + PRINTD HANDS + PRINTI ". " + FSET? DAD,TOUCHBIT /?CND33 + PRINTI "He cocks his head, curious, ""You have far less spirit than" + CALL TPRINT,DAD + PRINTI " credited you. He swore you would have him freed in no time at all. A pity, I prefer doyennes with mettle."" " +?CND33: PRINTI "He moves to speak with" + CALL TPRINT,BUTLER + PRINTI ", then " + CALL QUEUED?,I-SUMMONS + ZERO? STACK /?CCL37 + PRINTI "heads upstairs." + JUMP ?CND35 +?CCL37: PRINTI "drifts into the crowd." +?CND35: CRLF +?CND4: INC 'LAFOND-CTR + RETURN LAFOND-CTR + + + .FUNCT I-LSED + SET 'AWAITING-REPLY,12 + CALL QUEUE,I-REPLY,1 + PRINT INDENT + EQUAL? LAFOND-CTR,1 \?CCL3 + MOVE LAFOND,HERE + MOVE BLUE-GLASS,PROTAGONIST + PUTP BLUE-GLASS,P?CONTENTS,WINED + MOVE GREEN-GLASS,LAFOND + MOVE FLAGON,TABLE + FCLEAR LDOOR,OPENBIT + CALL QUEUE,I-WONT-DRINK,1 + PRINTI """Have some wine."" Lafond pours wine into two glasses, giving a blue one to you. ""Drink this down. We have a long night ahead of us."" He drains his own" + PRINT PCR + JUMP ?CND1 +?CCL3: EQUAL? LAFOND-CTR,2 \?CCL5 + MOVE GREEN-GLASS,TABLE + MOVE BUTLER,UPPER-HALL-E + MOVE HERO,MANACLES + FSET HERO,DEADBIT + FSET HERO,NDESCBIT + FSET TRAP,OPENBIT + FCLEAR PORTRAIT,OPENBIT + FCLEAR KNOB,EVERYBIT + FCLEAR POWER,EVERYBIT + MOVE RAPIER,DUNGEON + FCLEAR RAPIER,NDESCBIT + FCLEAR MANACLES,OPENBIT + FSET MANACLES,LOCKEDBIT + FSET CRULLEY,NDESCBIT + MOVE CRULLEY,DUNGEON + MOVE WHIP,CRULLEY + CALL QUEUE,I-LSED,-1 + FCLEAR FLAGON,TRYTAKEBIT + SET 'LAFOND-LOOKING,FALSE-VALUE + PRINTI "Suddenly, the door slams open. It is Jamison, coatless, sword bared, his shirt ripped. ""Thank God I am not too late. Leave, darling, before I skewer this dog to his bedposts,"" he cries. The scar on his cheek gleams coldly. + With a yell," + CALL TPRINT,CRULLEY + PRINTI " and" + CALL TPRINT,BUTLER + PRINTI " jump out of the darkness behind him. Nicholas struggles, but soon lies unconscious on the floor. + ""Take him to the dungeon,"" Lafond says, setting down his glass. ""You, butler, stay nearby. I do not wish to be disturbed again. + ""Now that we are rid of that intrusion, cherie, I will change into something more comfortable. Pour me more wine."" He crosses to the wardrobe removing his coat and vest, turned slightly away from you" + PRINT PCR + JUMP ?CND1 +?CCL5: EQUAL? LAFOND-CTR,3 \?CCL7 + PRINTI """In private, call me Jean, or whatever endearment you choose, once I have approved it."" Lafond is looking into the wardrobe" + PRINT PCR + JUMP ?CND1 +?CCL7: EQUAL? LAFOND-CTR,4 \?CCL9 + MOVE TRAY,TABLE + CALL CTPRINT,BUTLER + PRINTI " enters, laying" + CALL APRINT,TRAY + PRINTI " of " + PRINTD CHICKEN + PRINTI " on" + CALL TPRINT,TABLE + PRINTI ". ""The kitchen wench has gone, your grace. I took the liberty of fetching these myself."" He bows and leaves the room. + ""Sprinkle some spices on the fowl, ma petite,"" Lafond says, donning a long brocade robe, his back to you. ""They are hot, but delicious.""" + CRLF + JUMP ?CND1 +?CCL9: EQUAL? LAFOND-CTR,5 \?CCL11 + PRINTI """Tsk. The cook has gone too far. She shall be 'leaving us' tomorrow."" Lafond adjusts the lace at his neck" + PRINT PCR + JUMP ?CND1 +?CCL11: EQUAL? LAFOND-CTR,6 \?CCL13 + SET 'QUESTIONER,LAFOND + SET 'LAFOND-LOOKING,TRUE-VALUE + PRINTD LAFOND + PRINTI " strolls to" + LOC GREEN-GLASS + EQUAL? STACK,TABLE \?CCL16 + CALL TPRINT,TABLE + JUMP ?CND14 +?CCL16: PRINTI " you," +?CND14: PRINTI " smiling slyly" + GETP BLUE-GLASS,P?CONTENTS + EQUAL? STACK,2,0 /?CCL18 + GETP GREEN-GLASS,P?CONTENTS + EQUAL? STACK,2,0 \?CND17 +?CCL18: PRINTI ". ""But you haven't finished pouring the wine."" He tops off both glasses" + GETP BLUE-GLASS,P?CONTENTS + EQUAL? STACK,2,0 \?CND21 + CALL POUR-WINE,BLUE-GLASS,TRUE-VALUE +?CND21: GETP GREEN-GLASS,P?CONTENTS + EQUAL? STACK,2,0 \?CND17 + CALL POUR-WINE,GREEN-GLASS,TRUE-VALUE +?CND17: ZERO? USED-LAUD /?CCL27 + PRINTI ". ""Which glass was mine? I seem to have forgotten."" He points at" + CALL TPRINT,GREEN-GLASS + PRINTI " and smiles in a way that does not grant you confidence. ""Is this it?""" + CRLF + JUMP ?CND1 +?CCL27: INC 'LAFOND-CTR + PRINTI ". + Lafond takes" + CALL TPRINT,GREEN-GLASS + PRINTI " and salutes you, gulping down the contents" + PRINT PCR + JUMP ?CND1 +?CCL13: EQUAL? LAFOND-CTR,7 \?CCL29 + SET 'QUESTIONER,LAFOND + PRINTI """Ah yes, of course."" Lafond obligingly takes" + ZERO? USED-LAUD /?CND30 + EQUAL? REACTION,REACTION-POSITIVE \?CCL34 + CALL SWITCH-GLASSES,GREEN-GLASS + JUMP ?CND30 +?CCL34: EQUAL? REACTION,REACTION-NEGATIVE \?CCL36 + CALL SWITCH-GLASSES,BLUE-GLASS + JUMP ?CND30 +?CCL36: GETP BLUE-GLASS,P?CONTENTS + GRTR? STACK,WINED \?CCL39 + GETP GREEN-GLASS,P?CONTENTS + EQUAL? STACK,WINED \?CCL39 + CALL SWITCH-GLASSES,BLUE-GLASS + JUMP ?CND37 +?CCL39: CALL SWITCH-GLASSES,GREEN-GLASS +?CND37: PRINT AFTER-HESITATING +?CND30: PRINT PCR + PRINT INDENT + CALL DEQUEUE,I-LSED + CALL QUEUE,I-WONT-DRINK,1 + PRINTI "He inhales deeply of the bouquet of his wine, then turns to you. ""You must think me very naive to fall for such a trick. I saw you pour something into one of these glasses -- although " + ZERO? SPICED-WINE /?CCL44 + PRINTI "you have tried to cover the scent with" + CALL TPRINT,SPICES + JUMP ?CND42 +?CCL44: PRINTI "I cannot smell it" +?CND42: PRINTI "."" He switches goblets, setting" + CALL TPRINT,YOUR-GLASS + PRINTI " into your nerveless grasp and taking up the other, smiling evilly. ""Now you will drink from the cup intended for me.""" + CRLF + JUMP ?CND1 +?CCL29: EQUAL? LAFOND-CTR,8 \?CCL46 + CALL QUEUE,I-LSED,-1 + PRINTD LAFOND + PRINTI " draws near, whispering indecencies. He caresses your lily white neck, his fingers ice-cold despite the tropic heat" + PRINT PCR + JUMP ?CND1 +?CCL46: EQUAL? LAFOND-CTR,9 \?CCL48 + CALL ROB,PROTAGONIST,LAFS-ROOM + PRINTD LAFOND + PRINTI " slides his hand up your neck and into your hair, letting it fall down your back in thick waves and tresses. He lays everything you carry on the floor" + PRINT PCR + JUMP ?CND1 +?CCL48: EQUAL? LAFOND-CTR,HORNY \?CCL50 + PRINTI "One by one Lafond undoes your buttons. He pulls open your " + FSET? SHIRT,WORNBIT \?CCL53 + PRINTI "shirt" + JUMP ?CND51 +?CCL53: FSET? GOWN,WORNBIT /?CTR54 + FSET? DRESS,WORNBIT \?CCL55 +?CTR54: PRINTI "bodice" + JUMP ?CND51 +?CCL55: PRINTI "chemise" +?CND51: CALL REMOVE-CLOTHES + FCLEAR CHEMISE,WORNBIT + FSET CHEMISE,EVERYBIT + FCLEAR SHOES,WORNBIT + CALL ROB,PROTAGONIST,LAFS-ROOM + MOVE RETICULE,LAFS-ROOM + CALL ROB,LAFOND,LAFS-ROOM + PRINTI ". Your clothes float to the floor" + PRINT PCR + JUMP ?CND1 +?CCL50: EQUAL? LAFOND-CTR,11 \?CCL59 + PRINTD LAFOND + PRINTI " runs his fingers down your naked spine, and compliments your body. He removes his dressing gown" + PRINT PCR + JUMP ?CND1 +?CCL59: EQUAL? LAFOND-CTR,12 \?CCL61 + PRINTD LAFOND + PRINTI " kisses your shoulder, your neck, your ear. ""Close your eyes, if you will,"" he taunts, ""and pretend I am your dearest" + CALL TPRINT,HERO + PRINTI ". But I am greater than he will ever be."" He kisses you, his lips thin and cold" + PRINT PCR + JUMP ?CND1 +?CCL61: EQUAL? LAFOND-CTR,13 \?CCL63 + IN? PROTAGONIST,LAFS-BED \?CCL66 + SET 'LAFOND-CTR,14 + CALL I-LSED + JUMP ?CND1 +?CCL66: MOVE LAFOND,LAFS-BED + MOVE PROTAGONIST,LAFS-BED + PRINTD LAFOND + PRINTI " leads you over to the bed" + PRINT PCR + JUMP ?CND1 +?CCL63: EQUAL? LAFOND-CTR,14 \?CND1 + CALL FWTD,STR?339 +?CND1: INC 'LAFOND-CTR + RETURN LAFOND-CTR + + + .FUNCT SWITCH-GLASSES,GLASS + EQUAL? GLASS,GREEN-GLASS \?CCL3 + SET 'LAF-GLASS,BLUE-GLASS + SET 'YOUR-GLASS,GREEN-GLASS + JUMP ?CND1 +?CCL3: SET 'LAF-GLASS,GREEN-GLASS + SET 'YOUR-GLASS,BLUE-GLASS +?CND1: MOVE YOUR-GLASS,PROTAGONIST + MOVE LAF-GLASS,LAFOND + CALL TPRINT,GLASS + RSTACK + + + .FUNCT I-WONT-DRINK,POISON-SCENE=0 + GRTR? LAFOND-CTR,7 \?CND1 + SET 'POISON-SCENE,TRUE-VALUE +?CND1: INC 'ANGER-CTR + SET 'QUESTIONER,LAFOND + SET 'AWAITING-REPLY,12 + CALL QUEUE,I-REPLY,2 + PRINT INDENT + EQUAL? REACTION,REACTION-NEGATIVE /?CCL5 + EQUAL? PRSO,YOUR-GLASS \?PRD9 + EQUAL? PRSA,V?DRINK-FROM /?CTR4 +?PRD9: EQUAL? PRSO,WINE \?CCL5 + EQUAL? PRSA,V?DRINK-FROM,V?DRINK,V?EAT /?CTR4 + EQUAL? PRSA,V?POUR \?CCL5 + EQUAL? PRSI,ME,MOUTH \?CCL5 +?CTR4: PUTP YOUR-GLASS,P?CONTENTS,0 + PRINTI """Good girl,"" he says" + ZERO? POISON-SCENE /?CCL20 + PRINTI ". " + CALL CALL-IN-BUTLER + RSTACK +?CCL20: PRINTI ", ""Let's see more cooperation of this sort.""" + CRLF + CALL I-LSED + RSTACK +?CCL5: GRTR? ANGER-CTR,2 \?CCL23 + CALL QUEUE,I-LSED,1 + ZERO? POISON-SCENE /?CCL26 + PRINTI "Lafond grows suddenly violent. ""I will not have insubordination. You shall cooperate, minx."" He forces" + CALL TPRINT,WINE + PRINTI " down your throat" + PRINT PCR + GETP YOUR-GLASS,P?CONTENTS + GRTR? STACK,WINED \?CND27 + CALL QUEUED?,I-SLEEP + ZERO? STACK \?CND27 + CALL QUEUE,I-SLEEP,2 +?CND27: PUTP YOUR-GLASS,P?CONTENTS,0 + PRINT INDENT + CALL CALL-IN-BUTLER + RSTACK +?CCL26: MOVE YOUR-GLASS,TABLE + PUTP YOUR-GLASS,P?CONTENTS,0 + PRINTI "He angrily takes" + CALL TPRINT,YOUR-GLASS + PRINTI " and sets it on" + CALL TPRINT,TABLE + PRINTI ". " + CALL CTPRINT,WINE + PRINTR " slops a dark stain across the lace. ""Do not try my patience, little one. I have those you love, remember.""" +?CCL23: CALL QUEUE,I-WONT-DRINK,1 + EQUAL? ANGER-CTR,1 \?CCL33 + PRINTD LAFOND + PRINTI " waits impatiently for you to drink" + PRINT PCR + RTRUE +?CCL33: EQUAL? ANGER-CTR,2 \FALSE + PRINTI """Drink. We must not waste all night.""" + CALL TPRINT,LAFOND + PRINTI " pushes the glass toward " + PRINTD MOUTH + PRINT PCR + RTRUE + + + .FUNCT CALL-IN-BUTLER + GETP LAF-GLASS,P?CONTENTS + GRTR? STACK,WINED \?CND1 + SET 'DRUGGEE,BUTLER + CALL QUEUE,I-WATCH-SLEEP,1 +?CND1: PUTP LAF-GLASS,P?CONTENTS,0 + SET 'LAUD-LEFT,0 + CALL QUEUE,I-LSED,1 + CALL META-LOC,BOTTLE + EQUAL? STACK,HERE \?CND3 + REMOVE BOTTLE + PRINTI "Lafond takes" + CALL TPRINT,BOTTLE + PRINTI " and drops it out the window. ""You shall not need this. You may suffer no headaches in my employ.""" + CRLF + PRINT INDENT +?CND3: PRINTI "He lifts his glass to drink, but stops. ""Your father, for all his idiotic meddling in other people's business, is not a fool. I doubt you are, either."" He calls in" + CALL TPRINT,BUTLER + PRINTI ", ordering him to empty" + CALL TPRINT,LAF-GLASS + PRINTI ". The man reports no odd taste and returns to his post" + PRINT PCR + RTRUE + + + .FUNCT I-SUMMONS + FCLEAR LDOOR,LOCKEDBIT + MOVE LAFOND,LAFS-ROOM + EQUAL? HERE,LIBRARY \?CCL3 + IN? DAD,HERE \?CND4 + CALL QUEUE,I-SUMMONS,2 + RTRUE +?CND4: PRINT INDENT + CALL CTPRINT,BUTLER + PRINTI " enters the room" + FSET? PORTRAIT,OPENBIT \?CCL8 + PRINTI ", sees the open " + PRINTD PORTRAIT + PRINTI ", and seizes your arms, pinning them behind your back. " + CALL FWTD,SOMETHING-HITS-YOU + RSTACK +?CCL8: REMOVE BUTLER + PRINTI ". ""Excuse me for interrupting, Miss, but the master requests your company in his room."" He " + FSET? KNOB,EVERYBIT /?CCL10 + FSET? POWER,EVERYBIT \?CND9 +?CCL10: FCLEAR KNOB,EVERYBIT + FCLEAR POWER,EVERYBIT + PRINTI "moves around the room, straightening things, then " +?CND9: PRINTI "guides you back to the foyer. ""The governor's " + PRINTD OBJ-QUARTERS + PRINTI " are in the east wing." + PRINT BUTLER-POINTS + CRLF + CALL GOTO,FOYER + RSTACK +?CCL3: EQUAL? HERE,BALLROOM,SUPPER-ROOM,ORCHESTRA /?CTR13 + EQUAL? HERE,HALL-W,FOYER,HALL-E /?CTR13 + EQUAL? HERE,BEDROOM,GALLERY,X-ROOM /?CTR13 + EQUAL? HERE,MAIN-ENTRANCE,VERANDA,KITCHEN /?CTR13 + EQUAL? HERE,STAIRTOP,UPPER-HALL-W,UPPER-HALL-E \?CCL14 +?CTR13: FSET? GOWN,WORNBIT \?CCL22 + REMOVE BUTLER + PRINT INDENT + CALL CTPRINT,BUTLER + PRINT BUTLER-SUMMONS + EQUAL? HERE,UPPER-HALL-E \?CCL25 + PRINTI "to" + CALL TPRINT,LDOOR + PRINTI ", unlocks it" + JUMP ?CND23 +?CCL25: EQUAL? HERE,STAIRTOP,UPPER-HALL-W,X-ROOM /?CTR26 + EQUAL? HERE,BEDROOM \?CCL27 +?CTR26: PRINTI "to the east" + JUMP ?CND23 +?CCL27: EQUAL? HERE,GALLERY \?CCL31 + PRINTI "to the north" + JUMP ?CND23 +?CCL31: PRINTI "up" + CALL TPRINT,STAIRS + PRINTC 115 +?CND23: PRINTR ", bows, and leaves." +?CCL22: FSET FOYER,EVERYBIT + PRINT INDENT + CALL CTPRINT,BUTLER + PRINTI ", who looks like he is seeking someone, grabs your collar, ""Who invited beggars? Get back to the village where you belong.""" + EQUAL? HERE,MAIN-ENTRANCE /?CCL34 + PRINTI " He escorts you out of the house" + PRINT PCR + CRLF + CALL GOTO,MAIN-ENTRANCE + RSTACK +?CCL34: CRLF + RTRUE +?CCL14: FSET FOYER,EVERYBIT + RTRUE + + + .FUNCT I-CKILLS-DAD + EQUAL? HERE,BALLROOM,FOYER /?CTR2 + EQUAL? HERE,SUPPER-ROOM,ORCHESTRA \FALSE +?CTR2: PRINT INDENT + PRINTI "You see" + CALL TPRINT,CRULLEY + PRINTI " come in from the east wing and beckon to Lafond. ""'E's gone" + FSET? DAD,TOUCHBIT \?CCL8 + CALL QUEUE,I-LDANCE,2 + REMOVE HERO + PRINTI "! The cocky crupper 'as disappeared!"" Lafond looks around angrily, eyes narrowed, ""Then get his compatriot. Take Falcon.""" + CALL TPRINT,CRULLEY + PRINTI " runs out the front door, reappearing a moment later with help" + PRINT PCR + CALL I-HARRESTED,TRUE-VALUE + JUMP ?CND1 +?CCL8: CALL H-JIGS-UP,STR?340,TRUE-VALUE +?CND1: INC 'CRULLEY-CTR + RETURN CRULLEY-CTR + + + .FUNCT I-DUEL + CALL CANT-HEAR-DUEL + ZERO? STACK /?CCL3 + LESS? HERO-CTR,16 /?CND1 +?CCL3: LESS? HERO-CTR,12 \?CCL7 + PRINT INDENT + EQUAL? HERE,GALLERY \?CND8 + PRINTI "Nicholas and Lafond circle each other intently, the one breathing hard, the other casual, sword tips almost touching. Jamison has lost copious amounts of blood and is no match for Lafond, cool and competent." + CRLF +?CND8: CALL PICK-ONE,DUEL-SOUNDS + PRINT STACK + CRLF + JUMP ?CND1 +?CCL7: EQUAL? HERO-CTR,12 \?CCL11 + PRINT INDENT + PRINTI "Someone calls out, ""We've got the Dimsford girl, Governor"" -- lying, of course, since you're obviously free" + EQUAL? HERE,GALLERY \?CND12 + PRINTI ". But Nick glances towards the voice, missteps, and slips in his own blood, falling backwards to the floor, his rapier skittering aside" +?CND12: PRINT PCR + JUMP ?CND1 +?CCL11: EQUAL? HERO-CTR,13 \?CCL15 + PRINT INDENT + EQUAL? HERE,GALLERY \?CCL18 + PRINTD LAFOND + PRINTI " leaps to Jamison's side, placing one heeled boot on the prostrate man's throat, the tip of his sword over Nick's heart. He sneers then, one eyebrow tilted, and moves to plunge in the sword. Nicholas cannot move." + JUMP ?CND16 +?CCL18: SET 'HERO-CTR,15 + PRINTI "One of the duellists falls heavily to the floor, his sword skittering away. All is silence for a moment, broken once by a low chuckle. Then a woman screams, someone gasps, and Jean Lafond's wicked laugh blasts your ears, ""Who else cares to taste my blade?""" +?CND16: CRLF + JUMP ?CND1 +?CCL15: EQUAL? HERO-CTR,14 \?CCL20 + EQUAL? HERE,GALLERY \?CND1 + PRINT INDENT + PRINTI "The sword plunges down into Jamison's heart, a red stain flowing up to meet it on his breast. Nicholas draws his last breath, his tortured gaze drawn heavenwards, to your face. He reaches for you, his hand dripping his own blood, and breathes your name... + Nicholas's hand falls limply to the swelling pool of wine red blood and silence pounds on your ears" + PRINT PCR + JUMP ?CND1 +?CCL20: EQUAL? HERO-CTR,15 \?CCL24 + EQUAL? HERE,GALLERY \?CCL27 + PRINT INDENT + PRINTI "Lafond wipes his sword on your lover's inert body, ordering someone to drag away the corpse. Suddenly there are sounds of fighting all about, and you realize dragoons surround the house" + PRINT PCR + JUMP ?CND1 +?CCL27: PRINTI "Time has stopped. Silence reigns." + CRLF + JUMP ?CND1 +?CCL24: EQUAL? HERO-CTR,16 \?CND1 + CALL CANT-HEAR-DUEL + ZERO? STACK \?CND29 + PRINT INDENT + PRINTI """Find the girl and bring her to me,"" Lafond orders." + CRLF +?CND29: PRINT INDENT + PRINT DRAGOONS-SURROUND + CALL FWTD,SOMETHING-HITS-YOU +?CND1: INC 'HERO-CTR + RETURN HERO-CTR + + + .FUNCT CANT-HEAR-DUEL + EQUAL? HERE,UPPER-HALL-E,STAIRTOP,HALL-W /FALSE + EQUAL? HERE,FOYER,LIBRARY,HALL-E /FALSE + EQUAL? HERE,VERANDA,GALLERY /FALSE + RTRUE + + + .FUNCT PISTOL-F + EQUAL? PRSA,V?FILL \?CCL3 + ZERO? PRSI \?CCL6 + EQUAL? P-PRSA-WORD,W?LOAD \?CCL6 + CALL HELD?,POWDER + ZERO? STACK /?CCL11 + CALL PERFORM,V?FILL,PISTOL,POWDER + RTRUE +?CCL11: PRINT YNH + PRINTI " any " + PRINTD POWDER + PRINT PCR + RTRUE +?CCL6: EQUAL? PRSI,POWDER \?CCL13 + ZERO? PRIMED /?CCL16 + PRINT YOU-HAVE-ALREADY + PRINTI " loaded" + CALL TRPRINT,PISTOL + RSTACK +?CCL16: SET 'PRIMED,TRUE-VALUE + MOVE HORN,PROTAGONIST + ZERO? PENULTIM-POINT \?CND17 + SET 'PENULTIM-POINT,TRUE-VALUE + INC 'SCORE +?CND17: PRINTI "You pour a lumpy stream of" + CALL TPRINT,POWDER + PRINTI " mixture into the barrel of" + CALL TPRINT,PISTOL + PRINTI " tamping it as best you can" + PRINT PCR + RTRUE +?CCL13: EQUAL? PRSO,PISTOL \FALSE + PRINT YOU-CANT + PRINTI "put that into" + CALL ARPRINT,PISTOL + RSTACK +?CCL3: EQUAL? PRSA,V?POUR,V?PUT \?CCL22 + EQUAL? PRSI,PISTOL \?CCL22 + EQUAL? PRSO,POWDER \?CCL27 + CALL PERFORM,V?FILL,PISTOL,PRSO + RTRUE +?CCL27: PRINT HUH + RTRUE +?CCL22: EQUAL? PRSA,V?EXAMINE \?CCL29 + PRINTI "One of" + CALL APRINT,PAIR + PRINTI ", the gun is " + ZERO? PRIMED /?CCL32 + PRINTR "primed and ready to fire." +?CCL32: PRINTR "not loaded." +?CCL29: EQUAL? PRSA,V?KILL \?CCL34 + CALL PERFORM,V?SHOOT,PRSO,PRSI + RTRUE +?CCL34: EQUAL? PRSA,V?SHOOT \?CCL36 + ZERO? PRIMED \?CCL39 + PRINTI "But" + CALL TPRINT,PISTOL + PRINTR " is not loaded." +?CCL39: ZERO? PRSI /?CTR40 + EQUAL? PRSO,AIR \?CCL41 +?CTR40: INC 'SCORE + PRINTI "You fire" + CALL TPRINT,PISTOL + PRINTI " into the air. Startled by the loud report," + CALL TPRINT,CRULLEY + PRINTI " jerks his pistol and fires, aiming not at Nicholas, but at you. You hear a distant scream, your own, and watch, as through from afar," + CALL TPRINT,DAD + PRINTI " wrestle" + CALL TPRINT,CRULLEY + PRINTI " to" + CALL TPRINT,GROUND + PRINTI ". You feel only numbness as loving arms take you up, and Nicholas kisses you into death, his tears damp on your cheek." + PRINT YOU-DIED + SET 'FINAL-RANK,2 + CALL FINISH + RSTACK +?CCL41: EQUAL? PRSO,BUSHES,PATROL \?CCL45 + PRINTR "They are out of range." +?CCL45: EQUAL? PRSO,CRULLEY \?CCL47 + INC 'SCORE + PRINTI "Trembling, you fire the heavy pistol. You hear its loud report over roaring surf. Crulley staggers, hit, and falls from the cliff. The gun falls from your nerveless hands. + Time stops as you and Nicholas gaze at one another, adoring and amazed. Slowly he bows and offers his hand. + " + PRINT NUTBROWN + PRINTI "His eyes, twin seas of blue, devour you with a love deep and true-hearted, and you are pulled into his embrace, your mouth on his, lips parted, thirsting, arching into his kiss..." + CRLF + CALL FINALE + RSTACK +?CCL47: EQUAL? PRSO,PISTOL \?CCL49 + CALL IMPOSSIBLES + RSTACK +?CCL49: FSET? PRSO,DEADBIT \?CCL51 + CALL MAN-IS-DOWN + RSTACK +?CCL51: FSET? PRSO,ACTORBIT \?CCL53 + PRINTI "You wouldn't kill" + CALL TPRINT-PRSO + PRINTR "!" +?CCL53: IN? PRSO,HERE /?CCL55 + CALL CTPRINT,PISTOL + PRINTI " can't fire that far" + PRINT PCR + RTRUE +?CCL55: CALL WASTES + RSTACK +?CCL36: EQUAL? PRSO,STONE \FALSE + EQUAL? PRSA,V?SSHOOT \FALSE + CALL WASTES + RSTACK + + + .FUNCT I-ENDGAME + EQUAL? HERE,LAGOON,BY-SHIP \?CND1 + GRTR? LAFOND-CTR,1 \?CND1 + SET 'SCORE,25 + PRINT INDENT + PRINTI "You hear distant shots and screams, and gaze back across the restless waves to the massacre on the beach. The sight blurs with your tears of shame, tears for the father and the lover you left behind." + CRLF + CALL CLEAR-SCREEN,15 + PRINT INDENT + PRINTI "The tale you tell Jamison's crew, of rapine and blood, of your heroic attempt to save their captain, and of your own escape after his death in your arms, is not so far from the truth that you cannot appear sincere. Cannily, you take advantage of their temporary grief, select a private guard, and teach the rest the discipline of the whip." + SET 'FINAL-RANK,3 + LESS? LAFOND-CTR,DEAD \?CND5 + PRINTI " You have started on the ruthless road to revenge. You intend to meet Lafond again, and that time, you intend to win." +?CND5: CRLF + CALL FINISH + RFALSE +?CND1: PRINT INDENT + EQUAL? LAFOND-CTR,1 \?CCL9 + EQUAL? HERE,BEACH,SHALLOWS,LAGOON /?CCL12 + CALL FWTD,STR?341 + JUMP ?CND7 +?CCL12: CALL QUEUE,I-ENDGAME,-1 + MOVE LAFOND,BEACH + FCLEAR LAFOND,MUNGBIT + MOVE CRULLEY,BEACH + FCLEAR CRULLEY,MUNGBIT + PRINTI "A shot rings out over the roar of the surf. Turning, you see that Lafond stands at the top of the cliff, a pistol in each hand. ""Trying to sneak out the back, cowards? You will die like your brother, Falcon. Snivelling for mercy."" He hands one gun to " + PRINTD CRULLEY + PRINTI ", standing nearby, and levels the other at Jamison" + PRINT PCR + JUMP ?CND7 +?CCL9: EQUAL? LAFOND-CTR,2 \?CCL14 + FSET COOKIE,DEADBIT + SET 'QUESTIONER,HERO + SET 'AWAITING-REPLY,9 + CALL QUEUE,I-REPLY,2 + PRINTI "As the gun fires, Cookie throws himself before his captain. He cries out, blood blossoming on his shoulder, and falls face first into the sand. Lucy runs to him. + Jamison yells up the cliff, brandishing his sword. ""Fight like a man, Lafond. You have drawn my blood once tonight -- let me draw yours."" + Lafond sneers. ""On one condition. If I win, your lady comes to me. You will have no need of her when you are dead."" + Nicholas stiffens, glances at the dragoons on the cliff above, and turns slowly to you. He says nothing, his face hard, but his eyes tell you what you want to know. ""Answer, my darling. Yes or no?""" + CRLF + JUMP ?CND7 +?CCL14: EQUAL? LAFOND-CTR,3,4 \?CCL16 + SET 'QUESTIONER,HERO + SET 'AWAITING-REPLY,9 + CALL QUEUE,I-REPLY,2 + CALL AFFIRMATIVE-ANSWER + ZERO? STACK \?CTR18 + EQUAL? PRSA,V?YES \?CCL19 +?CTR18: FSET RAPIER,NDESCBIT + FSET LAFOND,NDESCBIT + FCLEAR CRULLEY,NDESCBIT + MOVE PISTOL,BEACH + SET 'LAFOND-CTR,4 + PRINTI "Nicholas looks determined. ""I accept. So long as my people go free if I win. Order your dragoons to obey us, then."" In answer, Lafond jumps off the cliff like a huge brocaded bat to land in front of" + CALL TPRINT,HERO + PRINTI ". ""Die then, fool!"" + " + CALL CTPRINT,PISTOL + PRINTI ", spinning from Lafond's grip, drops to the sand " + EQUAL? HERE,BEACH \?CCL24 + PRINTI "nearby." + CRLF + JUMP ?CND7 +?CCL24: PRINTI "of the beach." + CRLF + JUMP ?CND7 +?CCL19: ZERO? REACTION \?CCL26 + EQUAL? LAFOND-CTR,3 \?CCL26 + PRINTI "Lafond calls down to you, ""My pretty doxy, do make up your mind. Yes or no?""" + CRLF + JUMP ?CND7 +?CCL26: CALL JIGS-UP,STR?342 + JUMP ?CND7 +?CCL16: EQUAL? LAFOND-CTR,FIGHTING \?CCL30 + PRINTD LAFOND + PRINTI " immediately takes the advantage, forcing Nicholas in a retreat towards the foaming surf. But Nicholas fights hard, jaw set, ignoring his wounds. Lafond finally loses his smile. + Behind the duellists, far away atop the cliff, you notice " + PRINTD CRULLEY + PRINTI " madly reloading the pistol" + PRINT PCR + JUMP ?CND7 +?CCL30: EQUAL? LAFOND-CTR,6 \?CCL32 + FCLEAR LAFOND,NDESCBIT + REMOVE HRING + MOVE LRING,HERO + FCLEAR RAPIER,NDESCBIT + FSET LAFOND,DEADBIT + PRINTI "Suddenly the force of the duel turns, Nicholas advancing against Lafond's retreat. Their blades silently flash in the moonlight. Lafond is pressed back into the shadow of the cliff, sweat beading on his forehead. Abruptly, Jamison leaps forward, metal scrapes, and his rapier licks neatly into Lafond's ribs, like a snake slipping into its burrow. The body of the governor of St. Sinistra convulses, as in amazement, then sags dead on the sword. + Nicholas removes" + CALL APRINT,LRING + PRINTI " from the dead man's finger, throwing his own cheap copy into the surf. + Far above him," + CALL TPRINT,CRULLEY + PRINTI " moves down the stairs." + CRLF + JUMP ?CND7 +?CCL32: EQUAL? LAFOND-CTR,DEAD \?CCL34 + PRINTD CRULLEY + PRINTI " is levelling" + CALL TPRINT,PISTOL + PRINTI ", feet apart, braced by the cliff wall." + CRLF + JUMP ?CND7 +?CCL34: EQUAL? LAFOND-CTR,8 \?CCL36 + PRINTD CRULLEY + PRINTI " carefully aims" + CALL TPRINT,PISTOL + PRINTI ", a triumphal grin benighting his face. Nicholas turns and walks smiling towards you, oblivious to his danger" + PRINT PCR + JUMP ?CND7 +?CCL36: EQUAL? LAFOND-CTR,9 \?CND7 + CALL JIGS-UP,STR?343 +?CND7: INC 'LAFOND-CTR + RETURN LAFOND-CTR + + + .FUNCT FINALE + MOVE HERO,FOCSLE + CALL CLEAR-SCREEN,15 + SET 'VERBOSITY,0 + CALL GOTO,FOCSLE + PRINT INDENT + PRINTI "As dawn breaks over the eastern seas, you stand with Nicholas on his ship, looking north. ""I have nothing left in England,"" he says. ""There I am but a destitute gentleman, wanted for piracy. Here -- this isle holds too many memories" + FSET? DAD,DEADBIT \?CCL3 + SET 'FINAL-RANK,1 + PRINTI " --"" he pauses, gazing into your tear-filled eyes with compassion. """ + JUMP ?CND1 +?CCL3: SET 'FINAL-RANK,4 + PRINTI "; your father may have it. " +?CND1: PRINTI "Mayhap my brother's wife yet lives. I must try to find her, either way."" He takes you into his arms. ""Come with me, my love? To America -- they tell of endless fertile fields and strange beasts in that wild land. It won't be easy, but we will have each other. Together, shall we carve a kingdom blessed with fair children and freedom?"" + You wrap your arms about his waist and lean into him, and smile at the rising sun" + PRINT PCR + CALL FINISH + RSTACK + + + .FUNCT PATROL-F + EQUAL? PATROL,WINNER \?CCL3 + PRINTR "A rough voice yells to leave them alone." +?CCL3: CALL TOUCHING?,PATROL + ZERO? STACK /FALSE + CALL CANT-REACH,PATROL + RSTACK + + + .FUNCT FAILS-TO-NOTICE + EQUAL? WINNER,LUCY \?CCL3 + PRINTI "Sh" + JUMP ?CND1 +?CCL3: PRINTC 72 +?CND1: PRINTI "e fails to notice you've spoken" + PRINT PCR + RTRUE + + .ENDI diff --git a/extras.zil b/extras.zil new file mode 100644 index 0000000..dad4102 --- /dev/null +++ b/extras.zil @@ -0,0 +1,2303 @@ +"EXTRAS for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + + +) "AUX" X) + + )> + + + + > + ) + (T + ; + )>) + + ;"Less than 4, in ENDGAME, Crulley handled in LAFOND-F" + + ( + + + ) + (T + )>)>) + ( + + ) + ( + > + + ) + ( + + > + )> + ) + (T + )> + ) + ( + ) + ( + > + ) + (> + ) + (T )>) + ;(T + + )>) + ( + + ) + ( + > + + ) + ( + > + + ) + ( + > + + ) + (T + )>) + ( + > + + + ;"in case you're in bed" + + ) + ( + + + ) + (T + + > + + + + + + + )>) + (T + + )>) + (T + )>) + ( + + + + ) + ( + ) + ( + + + + ) + ( + ) + (T + + )>) + ( + ) + (T + )>) + ;( + >> + + ) + ( + + ) + ( + ) + (T + )>) + ( + + >> + ) + ( + + ) + (T + )>)>> + + + +> + ;"ATTACK-C, HEARD-CRULLEY, CRULLEY-BACK" +> ;"could, in emergencies, be made into one" + ;"wild-card global, set <> at intervals" + + + + >> + + + + + + ) + ( + ; ;"to fix ZIP20 Warning 15/7" + )> + + + ) + (T + )> + >> + + + + ",\" "> + + ) + (T + )> + + + ) + ( + )> + > + +> + +; + ) + ( + ) + ;(T + )> + ",\" " .STRING " the pirate"> + ; + + ) + ( + )> + > + + + + + + + + )>> + +;> + )> + > + + + + + + + + ) + ( + > + ) + (T + )>> + + + >> + + + )> + ) + (T + )>> + + + + + )> + + > + + + ) + (T + + + >)> + ) + (T + + )> + >> + +> + + + > + + + + + > + + + ) + (> + ) + (T + )> + + ) + ( + > + + > + )> + )>> + + + + + )>> + + + + + ) + ( + ) + ( + )>> + + + +> + +) "AUX" X) + + )> + + + ) + (,COOKIE-FIGHTING-CROC + ) + ( + > + + + + ) + (T + + + )>)>) + (T + )>) + (T + )> + ) + ( + + ) + ( + + ) + ( + ) + ( + + ) + (T + )>) + ( + > + ) + ( + > + + + ) + (T + )>) + ( + ) + ( + ) + ( + ) + (T + )> + ) + ( + + > + + ) + ( + > + + > + )> + ) + ( + + > + ) + (> + ) + (T )>) + ;(T + + )>) + ( + + ; + + ) + (T + )>) + ;( + > + + + ) + (T + )>) + ( + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( ; + ) + (T + )>) + (T + )>) + ( + ) + ( + > + ) + ( + + ) + (T + )>)>> + +;"Crulley-ctr serves for Cookie in this one instance." +)) + > + + + + > + + + + ) + (> + ) + ( + > + ) + ( ;"gives you a couple chances" + ;" to say no." + + ) + (T + )> + ) + (T + + + + + )> + >> + +;> + + + ) + ( + ) + ( + + ) + (T + )> + + > + ) + (T + )> + + + + + + > + + + + + + ) + ( + > + + ) + ( + > + > + + ) + (T + )> + ) + ( + ) + (T + )>) + (T + )> + ) + ( + )>> + + + +)) + + )> + + + + ) + (T + )> + + ) + (T + )> + )>) + ( + + > + + ) + ( + ) + (T + ) + ;(T + )> + ) + ( + ) + ( + > + ) + (> + ) + (T )>) + ;(T + + )>) + ( + > + + ) + (T + + + )>) + ( + + >> + ) + ( + )>) + ( + + ) + (T + )>) + ( + > + + ) + ( + )>> + + + + > + +> + + + +) "AUX" (CONTENTS 0)) + + )> + + > + + + ) + ;( + ) + (T + )>) + (T + )> + ) + ( + + ) + ( + ) + ( + > + + + + ) + ( + + > + + >> + + ) + (T + + )>) + ( + ;> + ) + (T + )>) + ;( + + ) + (> + ) + (T )>) + ;(T + )>) + ( + + + )> + ) + ( + + ) + (> + + )>) + ( + + ) + ( + + 0 ,POISONED> + + ) + ( ,W-P> + + )> + + + ) + (T + )>) + ( + + ) + (T + )>)>> + + + +)) + > + ) + (T + )> + > ;"You can only bother him" + > ;"X times. And if you enter," + ;"then leave, dequeue, but N+1" + ) + (> ;"added so you won't get" + )> ;"Your invite? ... kicks you out" + + + )> + + + ) + (T + + + + + ) + (T + + + ) + (T + )> + )>)>> + + + ;"he's been bribed/invite already" + + + )> + ) + (T + + ;"Stop 'No Loitering' interrupt" + + > + + + )> + + + )> + )>> + + + + + + + ) + ( + ) + ( + > + + ) + (T + )> + )>) + ( + + >> + ) + ( + > + + ) + ( + )>> + + + + + +)) + + )> + ) + ( + + > + + ) + ( + > + + ) + (T + )> + ) + ( + + ) + ( + ) + ( + ) + (T + )>) + ( + > + ) + ( + ) + (> + ) + (T )>) + ;(T + + )>) + ( + > + + ) + ( + + ) + ( + + + ) + (T + + + )>) + (T + )>) + ( + + + ) + ( + ) + (T + )>) + ( + )>> + +)) + + )> + > + + + + + +> + + + +)) + + )> + + + ) + ( + ) + ( + ) + + ;"Lafond is described in HERO-F during fighting on beach." + + (T + )>) + ( + + > + >> + ) + ( + + > + + + + ) + (> + ) + (T )>) + ;(T + + + )> + )>) + ( + + >> + ) + ( + > + + ) + ( + + )>) + ( + + ) + ( + + + ) + ( + + + > + >> + + )> + ) + (T + )>) + ( + >> + ) + ( + > + + > + ) + (T + + )>) + ( + + + ) + (T + )>) + (T + )>) + ( + + > + ) + ( + ) + ( + >> + ) + + (T + )>)>> + + + + + + + + > + ) + ( + + ) + (T + )> + ) + ( + + > + + ) + (T + )>) + (T + + + ;) + (T + + + )> + )>)>)>> + +> + + + + ) + ( + ) + (T + ) + ;( + ) + ;( + > + )>) + ( + > + + + + ) + ( + ) + ( + > + ) + ( + ) + ( + + ) + ( + > + + + + ) + ( + ) + ( + + + + ) + (T + + + )> + ; + ) + (T + + + )>)> + + )>> + + +> ;"Hero arrested: NO to Lafond, Dad free already" + +> + ) + (T + + + + + + + + ) + ( + + +;"So to skip the next turn" > + ) + (T + + + + )>) + ( + + + + ) + (T + + )>) + ( + + + ) + (T + )> + ) + ( + + + )> + )> + > + + + > + + > + )> + + ) + (T + )> + + > + )> + + + ) + (T + )> + ) + (T + )> + >)>> + + + + + + ;"Lafond at 11, no, 10 -- he removes your clothes" + +;"LSED = Lafond's Seduction" + + + + + + + + + + + + ) + ( + + + + + + + + + + + + + + + + + + ;"so you can take it" + > + ) + ( + ) + ( + + ) + ( + ) + ;( + ) + ( + + + + ,TABLE> + ) + (T + )> + + 2 0> + 2 0>> + + 2 0> + + ; 1>>)> + 2 0> + + ; 1>>)>)> + ) + (T + > ;"skip next turn" + )>) + ( + + + + ) + ( + ) + (T + + ,WINED> + + ,WINED>> + ) + (T + )> + )>) + ;(T + + + ) + (T + + + + )>)>)> + + + + + ) + (T + )> + + + ; + + ) + (T + + + + + ) + (T + )> + )>) + ( + + ) + ( + + ; + + )> + ) + ( + + + ) + ( + > + ) + (T + )> + + + ;"desc: covered by other clothes" + + ;"get rid of clothes, shoes" + ; ;"not needed. no wornbit" + + + ) + ( + ) + ( + ) + ( + + + ) + (T + + + )>) + ( + )> + >> + + +;"moves appropriate glass to appropriate character, + then TELLS the other one (lies)." + + + + ) + (T + + )> + + + > + +;) OTHER-WINE YOUR-WINE) + + )> + + + ) + ( + + )> + > + ; + + + + + + + + + + )> + + + + + + ) + (T + )> + ) + (T + )>) + (T + + + + >> + )> + ) + (T + + + )>) + (T + ;"To stop what is queued above" + + + ) + ( + )>)>)>> + +)) + + )> + > + ; + + + + + > + + > + + + + >>>>> + + ; + + + ) + (T + + )>) + (T + + + + + ,WINED> + >> + )> + + + + ;) + (T + + + )>) + (T + + + ) + ( + )>)>)>> + + ,WINED> + + )> + + ; + + + ,HERE> + + )> + > + + + +; + + ;) + ( + + ;) + (T + )>> + + + + + + + )> + + + + ) + (T + + + + > + + + )> + + )>) + ;(> + ) + ( + + + + > + + + + + ) + ( + ) + ( + ) + (T + )> + ) + (T + + + > + + ) + (T + )>)>) + (T + )>> + + + + + > + + )> + )> + + > + + + + + ; + + ) + (T + )>) + (T + )> + >> + +; + ; + + + + > + + )> + )>) + ( + + > + + + + + + + ) + (T + ; + )>) + (T + )>) + (T + )> + >> + +; + +;> +;> + +;( + > + ) + + + > T) + ( + + ;,CAN-SEE-DUEL + )> + CR>) + ( + + ;,CAN-SEE-DUEL + )> + ) + ( + + ;,CAN-SEE-DUEL + ) + (T + ;"skip to last move I-DUEL" + + ;)> + ) + ( + ;,CAN-SEE-DUEL + )>) + ( + ;,CAN-SEE-DUEL + ) + (T + )>) + ( + > + ; + > + )> + + )> + >> + +> + + + ) + (T + )>> + + ;"Lafond by 7 -- skewered by Nicholas" + ;"Lafond by 5 -- fighting Nicholas" + + + + + + + + > + + + ) + (T + )>) + ( + ) + (T + + + + ;"LOAD GUN/PUT STONE IN GARTER" + + + + >)> + )>) + ( + ) + (T + )>) + ( + > + + + ) + (T + )>) + ( + + ) + (T + )> + ) + ( + + ) + ( + + ) + ;( + ) + ( + > ;" FIRE PISTOL/ SHOOT GUN " + > ;"WIN 3" + + ; + + ; + ) + ( + ) + ( + > ;"WIN 5" + + ) + ( + ) + ( + ) + ( + ) + (> + ) + (T + )>) + ( + > + ) + ;( + + ) + (T + )>> + + + > + ;<+ ,SCORE 1> + + + + + + ;> + )> + ; 3 ;6) + (T 4 ;1)>> + + ; + + )> + + + > + ) + (T + + + + + + )>) + ( + + + + + ) + ( + + + + + > + ; + + + + + ;"then skip to FIGHTING next turn" + > + + + ) + (T + )>) + ( + > + ) + (T + )>) + ( + ) + ( + + + + + + ) + ( + ) + (> + ) + (> + ; + ;> + + ; + ;)> + >> + +;( + ) + + + + + + + + + ) + (T + + )> + + ; + > + + + + + + ) + ( + )>> + + +)) + + ) + (T + )> + > \ No newline at end of file diff --git a/globals.zap b/globals.zap new file mode 100644 index 0000000..ae9de72 --- /dev/null +++ b/globals.zap @@ -0,0 +1,1807 @@ + + + .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 diff --git a/globals.zil b/globals.zil new file mode 100644 index 0000000..3e6c661 --- /dev/null +++ b/globals.zil @@ -0,0 +1,2275 @@ +"GLOBALS for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + +; + +; + +; + +; + + + +; + + + + + + + +;"INBIT = set on object/vehicle one gets into." + + +; + +)> + + + + + + + + + > + + + + )> + + + + + ;"Kludge for SHALLOWS/EAST" + + + ) + ( + ,SHIP-LOC <+ ,SHIP-LOC 1>> + + ) + (T + + + + + )>) + (T + )>) + ( + + + ) + ( 2> + + + + + ) + (T + + + + )>)> + ) + ( + > + )>)>> + +; + > + + ) + ( + + + )> + + + + + + + + ) + ( ,SHIP-LOC> + + + )> + + + ) + (T + )>) + ( + + + + 2>> + + + + + ) + (T + )> + ) + ( + > + )>)>> + + + + + + + + + + + + +; + +; + + ) + (> + > + + ) + (T + )> + )>> + + + + ;"for YOUNG WOMAN" + + ) + ( + ) + ( + ) + (T + )>) + ( + > + ) + ( + > + + + ) + (T + )>) + ( ,W?MAN> ;"MAN is the PRSO" + ;"in case PRSI is also MAN or WOMAN"> + + ) + ( + >> + ) + (> + + ) + (T + )>) + ( ,W?MAN> ;"MAN is the PRSI" + ;"in case PRSO is also MAN or WOMAN"> + + ) + ( + >> + ) + (> + + ) + (T + )>)>> + + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )>> + + + + +)) + + > + + ) + ( + >> + + ) + (T + )> + ) + ( + > + + ) + (T + )>) + ;( + + > + + ) + ( + + + > + + + + >> + + ) + ( + ) + (T + + >)> + > + ) + ( + > + )> + > + > + )>) + (T + )> + + ) + (T + + ;)>) + (T + + ) + ( + + ) + (T + )> + + > ;"adj.number" + >> + )> + + + > + )> + )> + > + + + + + + > + ) + (T + )>> + + + ) + (T + )>> + + if PRSO/PRSI ready to use" +;"Special-case code goes here. returns # of matches. If 1, +then P-MOBY-FOUND is it. You can treat the 0 and >1 cases alike or differently. +Always return RFALSE (not handled) if you have resolved the problem." + > + ;)> + + ;)> + + ) + (T + )> + ) + ( + > ,P?GENERIC>>>> +;"Protocol: returns .OBJ if that's the one to use + ,NOT-HERE-OBJECT if case was handled and msg TELLed + <> if WHICH-PRINT should be called" + ;)> + + ) + (.PRSO? + + ) + (T + )> + ) + (T + ,NOT-HERE-OBJECT)>> + + + )> + + )>) + (.PRSO? + <>>) + (T + <>>)>> + + + + + ) + ( + ,CAPT-QUARTERS> + + ) + (T + )>) + ( ,LEDGE> + + + + )> + + ) ;"TR ,LADDER CR" + (T + + )> ;"TR ,LADDER CR" + + + ) + ( + > + ) + ( ,SKIFF> + ) + ( + ) + (T + )>) + ( + + ) + (T + )>) + ( + ) + ;( + ,STAND>> + >> + + ) + ( + )>) + ( + + ) ;"semi-d out cause of ELSE below" + ( + ) + (T + + )>) + ( + > + ) + ;( + )>> + + + ; + + + + + + + + + + + + + + ; + ; + ;> + +; + +; + > + + ) + (T + )>)>> + + + + + + ) + ;( + > + )>> + + + + + + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + + + + ) + (T + )>)> + ) + ;( + > + + ) + ( + ) + ( + ) + ( + ) + ( + > + + ) + ( + ) + ( + ) + ( + ) + (T + )>) + ;( + > + ;"V-LEAP handles it" + )>> + + + + + ;> ,M-FATAL <>>> + > + + + > + )>> + + ; + +> + ,DOOR) + (T + )>> + + + +;"There are several different door-objects, all using DOOR-F as their +action routine: +WOOD-CELL-DOOR -- in CELL-2 and adjoining PASSAGE-2. Never locked. +IRON-CELL-DOOR -- in CELL-4 and its PASSAGE-4 -- needs LARGE-KEY to open. +VER-DOOR -- in VERANDA and BALLROOM. Needs to be opened from inside. +LDOOR -- in LAFS-ROOM and UPPER-HALL-E. Un-unlockable. +DOOR -- in CABIN (Lafond Deux), LANDING, QUARTERDECK (both Helena Louise), + and (not) BEDROOM, (not) UPPER-HALL-W (St. Sinistra)." + + + + ) + ( + + ) + ( + ) + (T + + + ) + ( + )>)> + + ) + ( + > + ) + ( + + ) + ( + + ) + ( + ) + ( + + + ) + (T + )>) + (T + ) + ;( + )>) + ( + + > + + + + + )> + ) + ( + ) + ( + ) + (T + )>) + ( + + > + > + ) + (T + )>) + ( + + ) + ( + ) + ( + ) + ( + ) + ( + >> + ) + (T + )>)>> + + + +; + + > + + )>> + + + + + + ) + (> + ) + (T + )>) + ;( + + )>> + +; + + + + + + +; + ) + (T + )>> + + + + + > + >> + + ) + (T + )>) + ( + >> + ) + ( + ) + ( + ) + ( + + ) + (T + )>) + ( + > + + ) + ( + + >> + ) + (T + + )>) + ( + + + ) + ( + + ) + ( + + + ) + (T + + )>) + ( + + ) + (T + )>) + (T + )>) + ( + + ) + (T + )>) + ( + )>> + + + + + )>> + + + + + > + >> + ) + ( + )>> + + + + + > + ) + ( + + + ) + (> + + ) + (T + )>) + ( + ) + ( + > + + )>> + + +;> + + ) + (> + >> + >)> + >> + > + +;> + + + + + + + + ) + ( + ) + ( + + > + CR>)>> + + + + + + + > + + ) + ( + ) + ( + + ) + (T + )>) + ( + + ) + (T + )>)>> + + + + +> +> + + + + + + + ) + ( + + >> + ) + ( + > + ) + (T + )> + ; + >)> + > + + + + + + + + + + >> + ; + >> + ) + (T + )>> + + + + + + >>> + ) + (T + )>> + + + + ; + + + + > + ) + (T + )>> + + + + + + ) + ( + > + + ) + ( + > + ) + ( + > + + ) + ( + ) + ( + + ) + ( + > + + ) + ( + + ) + ( + + > + + ;) + (T + + + + ; + ) + (T + )>) + ( + ) + ( + ) + + ;"in a shirt OR pants OR hoops: half-dressed" + ( + ) + ( + ) + ;( + ) + (> + )>)>) + ( + ) + ( + ) + ( + ) + ( + )>> + + + + + ) + ( + ) + ( + ) + ( + + > + >> + + ) + (T + )>) + ;( + + + ) + ( + > + + + ) + (T + + )>)>> + + + + + + ) + ( + ) + ( + ) + ( + ) + (T + )>) + ( + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ;( + + > + ) + (T + )>) + ( + + ) + (T + )>) + ( + + ) + ( + >> + > + + ) + ( + + > + ) + ( + > + ) + (T + )>)>> + + + + + ) + ( + ) + (T + )> + ) + ( + > + + + + ) + ( + + + ) + ( + + + ) + (> + ,LEDGE> + ) + (T + )> + ) + (T + + )>) + ( + + ,PROTAGONIST> + )> + + ) + ( + + + ) + (T + + )>) + ( + > + > + > + + + )> + + ) + (T + + + )>) + (T + + )>) + ( + + )>) + ( + + + ) + ( + + ) + ( + ; + + )> + ; + + ) + (T + )> + + ) + ( + > + + ) + (T + + ) + ;(T + + ) + (T + )> + )>)>)>> + + + + + ) + ( + + + + ; + + ) + (T + + )>)>) + ( + ) + (T + )>> + + + + + + ) + (T + )>) + ( + ) + ( + > + ) + ( + + ) + ( + + ) + (T + )> + ) + (T )>)>> + +;"LAFS-BED, CAPT-BED, CABIN-BED, COT, GUEST-BED = all use BED-F" + +) "AUX" THIS-BED) + + + + > + > + + >>>>> + + ) + (T + )>) + ( + > + ) + ( + ,LAFS-ROOM> + > + ) + ;( + ) + ( + + ,CABIN-BED) + ( + ,CAPT-BED)>> + >> + ) + ( + ) + ( + ) + (T + )> + ) + ( + ;"which would only be in CABIN" + + + ) + (T )> + ) + ( + ) + ( + > + + + ) + ( + + ; + ;) + (T + + )>)>> + + + + + + + ;) + ( + ) + ( + ) + ;( + + )>> + +;"Windows in CABIN, CAPT-QUARTERS, BEDROOM" +;"LIB-WINDOW in Library and By-house" + + + + > + + ) + ( + ) + ( + ) + (T + )>) + (T + )>) + ( + + ) + (T + )>) + ( + + ) + ( + + ) + ( + )>) + ( + + + ) + ( + + ) + (T + )> + + )> + + > + ) + ( + + ) + ( + ) + (T + )>) + ( + + ) + ( + + ) + ( + ) + (T + )>) + ( + + ) + (T + + )>) + ( + + + ) + (T + )>) + ( + + + )> + + + > + ) + (> + > + ) + ( + ) + ;( + ) + (T + )>) + ( + + ) + ( ,CAPT-QUARTERS> + + ) + ( + ) + ( + ) + ( + ) + (T + )>)>> + + + >> + ) + ( + + ;) + (T + + + > + )> + + + ) + ( + + ) + ( + + ) + ( + + )> + )>> + + +) (CLOSETELL <>)) + + + + ) + (T + )> + ) + (T + + + ) + ( + >> + + + ) + (> + + > + ) + (T + + > + )> + ; + )>)> + ; + )> + ) + ( + > + + ) + (T + )> + ) + (T + + + )> + ) + (T + + + ; + + )>) + ;(T + )>)> + )>) + ;(T + )>> + + + + + )>> + + + + + + + + + + + + + + + + >> + ) + ( + > + ) + (T + )>> + +)) + 0) + (T 1)>>> + + 0) + (T 1)>>>)> + > + + + >> + )> + + ) + ( + ) + (T + )> + + > + +> + +> + + + .TEST-NOUN>> + ) + ( + .TEST-NOUN>> + ) + (T + )>> + + > + ) + (T + )>> + + + ) + ( + ) + (T + )>> + +)) + + )> + ) + (T + )>> + + + + > + +; + > + +> + +;)) + ) + (T + )> + ) + (T + )>> + +;)) + ) + (T + )> + ) + (T + )>> + +; + ) + (T + )>> + +;) + (T + )>> + +;)) + ) + (T + )>) + (T + ) + (T + )>)> + > + +;)) + ) + (T + )>) + (T + ) + (T + )>)> + > + + + > + >)> + > + +; + > + +;> + +;)) + + )> + )>> + +; + ) + (T + )>> + +)) + + )> + > + + + + ) + ( + ) + (T + )> + > + +;> + +> + +> + +> + > + +; + + ) + ( + ) + (T + )> + > + + + ) + ( + ) + ( + ) + ( + ) + (T + )>> + + +)) + + ) + (T + )> + > + +> + +> + + + ;> + + + + > + + + > + ) + ( + )>> + + + + + + + + + + + + + + + + + + + + + + + + + + + +> + +> + + + + + + + + + + + + + + + + + + + + + + + +> + + + + + + + + + + + + + +> + +> + + + + + + + + + +; "The next four are globals (one routine) for various JIGS-UP" + + + + + + + + ) + (T + )> + + > + + + + + +; + +> + +> + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) + (T + )> + + > + + + + + + + + + + + +; + + + > + )> + + + + + + + + ;"getting rid of crew" + + ,HERE ,PASSAGE-4 ,CELL-4> + ; + + > + ; + + > + + )> + > + + + +; + +; + + + + + + + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + +; \ No newline at end of file diff --git a/hero.zap b/hero.zap new file mode 100644 index 0000000..4a2eaa6 --- /dev/null +++ b/hero.zap @@ -0,0 +1,706 @@ + + + .FUNCT HERO-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + EQUAL? HERE,FOLLY /?CND6 + PRINT INDENT +?CND6: EQUAL? HERE,CABIN \?CCL10 + PRINT CTHE-PIRATE-CAPTAIN + PRINTI "is studying you" + JUMP ?CND8 +?CCL10: EQUAL? HERE,DEUX-DECK \?CCL12 + PRINT CTHE-PIRATE-CAPTAIN + PRINTI "stands protectively a few steps behind you" + JUMP ?CND8 +?CCL12: EQUAL? HERE,CAPT-QUARTERS \?CCL14 + PRINTD HERO + PRINTI " is adjusting his clothes" + JUMP ?CND8 +?CCL14: CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL16 + PRINTI "Battered and bruised, Nicholas can hardly stand" + JUMP ?CND8 +?CCL16: FSET? HERO,DEADBIT \?CCL18 + PRINT HERO-EYES-CLOSED + JUMP ?CND8 +?CCL18: EQUAL? HERE,BEACH \?CCL20 + PRINTI "Nicholas " + FSET? LAFOND,DEADBIT \?CCL23 + PRINTI "walks toward you, smiling wearily" + JUMP ?CND8 +?CCL23: GRTR? LAFOND-CTR,4 \?CCL25 + PRINTI "and Lafond are fighting" + JUMP ?CND8 +?CCL25: PRINTI "stands alone at one edge of the beach" + JUMP ?CND8 +?CCL20: CALL QUEUED?,I-ENDGAME + ZERO? STACK /?CCL27 + PRINTI "Nicholas stands, half-supported by Lucy and" + CALL TPRINT,DAD + JUMP ?CND8 +?CCL27: EQUAL? HERE,BALLROOM \FALSE + PRINTI "Nicholas looks quite rakish, in red velvet and white, his rapier flashing in the light of the " + PRINTD CHANDELIER +?CND8: PRINTC 46 + RTRUE +?CCL3: EQUAL? HERO,WINNER \?CCL31 + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL34 + EQUAL? HERE,GALLERY,STAIRTOP \?CCL34 + PRINT SPEECHLESS + RTRUE +?CCL34: EQUAL? HERE,BEACH \?CCL38 + CALL RUNNING?,I-ENDGAME + ZERO? STACK /?CCL38 + FSET? LAFOND,DEADBIT /?CCL43 + GRTR? LAFOND-CTR,4 \?CCL43 + PRINT SPEECHLESS + RTRUE +?CCL43: EQUAL? PRSA,V?WALK,V?LOOK-INSIDE,V?HALT /?CTR46 + EQUAL? PRSA,V?CLIMB-DOWN \?CCL47 +?CTR46: CALL H-JIGS-UP,STR?316 + RSTACK +?CCL47: CALL FAILS-TO-NOTICE + RSTACK +?CCL38: FSET? HERO,DEADBIT \?CCL51 + PRINT DOESNT-RESPOND + RTRUE +?CCL51: EQUAL? PRSA,V?FOLLOW \?CCL53 + EQUAL? PRSO,ME \?CCL53 + CALL RUNNING?,I-HDANCE + ZERO? STACK /?CCL53 + FSET? DAD,TOUCHBIT \?CCL53 + SET 'HDAD-SPEECH,TRUE-VALUE + PRINTR """I will follow you anywhere you please, but first I must kill Lafond.""" +?CCL53: EQUAL? PRSA,V?I-LOVE-YOU \?CCL59 + EQUAL? PRSO,HERO,MAN \?CCL62 + PRINTR "He smiles at you warmly, his eyes full of passion." +?CCL62: EQUAL? PRSO,LAFOND \?CCL64 + CALL RUNNING?,I-HFOLLY + ZERO? STACK \?CTR66 + CALL RUNNING?,I-HDANCE + ZERO? STACK /?CCL67 +?CTR66: REMOVE HERO + CALL STOP-QUEUES + PRINTR "He looks at you in disgust and walks away." +?CCL67: PRINTR """Don't jest,"" he says." +?CCL64: PRINTR "He isn't all that interested." +?CCL59: EQUAL? PRSA,V?LEAVE \?CCL71 + FSET? BEACH,TOUCHBIT \?CCL74 + SET 'AWAITING-REPLY,4 + CALL QUEUE,I-REPLY,2 + PRINTR "He catches your arm, ""Nay, can you mean that?""" +?CCL74: PRINTR """I have business to attend to here, and have no intention of leaving.""" +?CCL71: EQUAL? PRSA,V?READ \?CCL76 + EQUAL? PRSO,LETTER \?CCL76 + CALL PERFORM,V?TELL-ABOUT,ME,LETTER + RTRUE +?CCL76: EQUAL? PRSA,V?TELL-ABOUT \?CCL80 + EQUAL? PRSO,ME \?CCL80 + EQUAL? PRSI,LETTER \?CCL85 + PRINTI """Your father wrote it for you.""" + CRLF + JUMP ?CND83 +?CCL85: EQUAL? PRSI,HRING \?CCL87 + SET 'WINNER,PROTAGONIST + CALL PERFORM,V?TAKE,HRING + RTRUE +?CCL87: EQUAL? PRSI,LAFOND \?CCL89 + PRINTI """I abhor the fiend."" He clenches a fist." + CRLF + JUMP ?CND83 +?CCL89: EQUAL? PRSI,DAD \?CCL91 + CALL RUNNING?,I-HDANCE + ZERO? STACK /?CCL94 + SET 'HDAD-SPEECH,TRUE-VALUE + GET HERO-SPEECHES,0 + PRINT STACK + PRINT PCR + JUMP ?CND83 +?CCL94: CALL RUNNING?,I-HFOLLY + ZERO? STACK /?CCL96 + PRINTI """Let's not discuss" + CALL TPRINT,DAD + PRINTI " just now,"" he says, kissing your neck" + PRINT PCR + JUMP ?CND83 +?CCL96: PRINTI """I admire and respect your father greatly.""" + CRLF + JUMP ?CND83 +?CCL91: CALL FAILS-TO-NOTICE +?CND83: CALL STOP + RSTACK +?CCL80: EQUAL? PRSA,V?TAKE \?CCL98 + EQUAL? PRSO,FLOWER \?CCL98 + SET 'WINNER,PROTAGONIST + CALL PERFORM,V?GIVE,FLOWER,HERO + SET 'WINNER,HERO + RTRUE +?CCL98: CALL COM-CHECK,HERO >OARG + ZERO? OARG /FALSE + EQUAL? OARG,M-FATAL /FALSE + RTRUE +?CCL31: EQUAL? PRSA,V?EXAMINE \?CCL107 + FSET? HERO,DEADBIT \?CCL110 + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL113 + PRINTR "He lies in a pool of blood." +?CCL113: PRINT HERO-EYES-CLOSED + RTRUE +?CCL110: EQUAL? HERE,CAPT-QUARTERS,BALLROOM,FOLLY \?CCL115 + ZERO? ENDGAME \?CCL115 + PRINTI "Jamison is finely dressed, in red velvet coat and full breeches, with a long gold embroidered vest and waterfalls of white lace at his neck, wrists and boottops. His rapier is bedecked with a fringed gold ribbon. He wears no wig, his unpowdered hair tied neatly at the back of his neck" + PRINT PCR + RTRUE +?CCL115: PRINTI "Jamison carries an aura of power unusual in men so slim and tall, the strength of a willow in his hard seaworn body, straight shouldered and resilient. " + PRINT NUTBROWN + PRINTI "A jagged scar etches one cheek, harsh against the warmth of his limpid blue eyes" + PRINT PCR + RTRUE +?CCL107: EQUAL? PRSA,V?ROLL,V?SAVE-SOMETHING \?CCL119 + CALL RUNNING?,I-ENDGAME + ZERO? STACK /?CCL119 + SET 'WINNER,HERO + CALL PERFORM,V?HALT,ROOMS + SET 'WINNER,PROTAGONIST + RTRUE +?CCL119: FSET? HERO,DEADBIT \?CCL123 + EQUAL? PRSA,V?GIVE \?CCL126 + EQUAL? PRSO,SALTS \?CCL126 + CALL REVIVE-HERO + RSTACK +?CCL126: EQUAL? PRSA,V?THROW-AT,V?PUT-ON,V?BLOW \?CCL130 + EQUAL? PRSO,SPICES \?CCL130 + PRINTR "He sneezes involuntarily, unconscious." +?CCL130: EQUAL? PRSA,V?MUNG,V?KICK,V?KILL \?CCL134 + CALL MAN-IS-DOWN + RSTACK +?CCL134: EQUAL? PRSA,V?MOVE \?CCL136 + PRINTR "He's too heavy." +?CCL136: EQUAL? PRSA,V?EMBRACE,V?KISS \?CCL138 + PRINTI "You press your lips to his cold mouth. " + PRINT DOESNT-RESPOND + RTRUE +?CCL138: EQUAL? PRSA,V?ASK-ABOUT,V?TELL-ABOUT,V?TELL \?PRD142 + EQUAL? PRSO,HERO \?CTR139 +?PRD142: CALL TOUCHING?,HERO + ZERO? STACK /FALSE +?CTR139: PRINT DOESNT-RESPOND + RTRUE +?CCL123: EQUAL? PRSA,V?GIVE \?CCL146 + EQUAL? PRSO,SALTS \?CCL149 + CALL REVIVE-HERO + RSTACK +?CCL149: EQUAL? PRSO,BANKNOTE \?CCL151 + PRINTD HERO + PRINTI " returns" + CALL TPRINT,BANKNOTE + PRINTI " to you" + PRINT PCR + RTRUE +?CCL151: EQUAL? PRSO,FLOWER \?CCL153 + PRINTR "He prevents you, smiling. ""It looks much too pretty against your hair. Keep it.""" +?CCL153: EQUAL? PRSO,COFFER \FALSE + CALL FAILS-TO-NOTICE + RSTACK +?CCL146: EQUAL? PRSA,V?ALARM \?CCL157 + EQUAL? PRSI,SALTS /?CCL160 + PRINT YOU-CANT + PRINTR "revive him with that!" +?CCL160: CALL HELD?,SALTS + ZERO? STACK /?CCL162 + CALL REVIVE-HERO + RSTACK +?CCL162: PRINTD HERO + PRINTI " is not asleep" + PRINT PCR + RTRUE +?CCL157: EQUAL? PRSA,V?UNTIE \?CCL164 + EQUAL? P-PRSA-WORD,W?FREE \?CCL164 + IN? HERO,MANACLES \?CCL169 + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "You have the key, maybe?" +?CCL169: PRINTI "Jamison is free enough as it is" + PRINT PCR + RTRUE +?CCL164: EQUAL? PRSA,V?MUNG,V?KICK,V?KILL \?CCL171 + PRINTI """Please, I'm not trying to hurt you,""" + EQUAL? HERE,CABIN \?CCL174 + PRINTI " the stranger" + JUMP ?CND172 +?CCL174: CALL TPRINT,HERO +?CND172: PRINTI " says, casually deflecting the blow" + PRINT PCR + RTRUE +?CCL171: EQUAL? PRSA,V?KISS \?CCL176 + EQUAL? WINNER,PROTAGONIST \?CCL176 + EQUAL? HERE,CABIN,DEUX-DECK \?CCL181 + PRINTR "You are not so pert as to kiss a stranger, and a pirate, at that!" +?CCL181: CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL183 + PRINTI "That thought has occurred to you before, but now does not seem appropriate" + PRINT PCR + RTRUE +?CCL183: EQUAL? HERE,FOLLY \?CCL185 + SET 'REACTION,REACTION-POSITIVE + PRINTI "You lean into his arms, face lifted" + PRINT PCR + RTRUE +?CCL185: CALL RUNNING?,I-DUEL + ZERO? STACK \?CTR186 + CALL RUNNING?,I-ENDGAME + ZERO? STACK /?CCL187 +?CTR186: PRINTI "You would only distract" + CALL TRPRINT,HERO + RSTACK +?CCL187: CALL RUNNING?,I-HDANCE + ZERO? STACK /?CCL191 + PRINTI "In view of all" + CALL TPRINT,DANCERS + PRINTI "s, you exchange only a peck on the cheek" + PRINT PCR + RTRUE +?CCL191: PRINTI "He kisses you back" + PRINT PCR + RTRUE +?CCL176: EQUAL? PRSA,V?TELL-ABOUT \?CCL193 + CALL NOUN-USED,W?LIBRARY,HOUSE + ZERO? STACK \?CTR195 + CALL NOUN-USED,W?CELL,CELL-4 + ZERO? STACK \?CTR195 + EQUAL? PRSI,DUNGEON,PORTRAIT \?CCL196 +?CTR195: PRINTR "He nods. ""That area is guarded well.""" +?CCL196: EQUAL? PRSI,DAD \?CCL201 + IN? DAD,CELL-4 \?CCL204 + PRINTR "He smiles fondly at your reminiscing. ""I never knew my father -- he died when I was a boy.""" +?CCL204: SET 'HDAD-SPEECH,TRUE-VALUE + PRINTR """Such bravery joined with such beauty!""" +?CCL201: EQUAL? PRSI,CRULLEY \FALSE + FSET? BEACH,TOUCHBIT \FALSE + PRINTR """Crulley?! God's blood!""" +?CCL193: EQUAL? PRSA,V?TOUCH,V?EMBRACE \?CCL210 + EQUAL? HERE,FOLLY \?CCL210 + CALL PERFORM,V?KISS,HERO + RTRUE +?CCL210: EQUAL? PRSA,V?DANCE \?CCL214 + EQUAL? HERE,BALLROOM \?CCL217 + EQUAL? PARTNER,HERO \?CCL217 + PRINT PACE + RTRUE +?CCL217: CALL RUNNING?,I-HDANCE + ZERO? STACK /FALSE + MOVE PROTAGONIST,BALLROOM + MOVE HERO,BALLROOM + SET 'PARTNER,HERO + PRINTI "You whirl back out to" + PRINT DANCE-FLOOR + PRINT PCR + RTRUE +?CCL214: EQUAL? PRSA,V?SHOW \FALSE + EQUAL? PRSO,JEWEL \FALSE + IN? HERO,MANACLES \FALSE + PRINTR "Nick smiles dazzlingly, ""Of course! Now pick the locks.""" + + + .FUNCT GEN-PIRATE + ZERO? ENDGAME /?CCL3 + EQUAL? HERE,BALLROOM \?CCL3 + RETURN CREW +?CCL3: FSET? CAPT-QUARTERS,TOUCHBIT \FALSE + RETURN CRULLEY + + + .FUNCT I-MEET-HERO + SET 'AWAITING-REPLY,5 + CALL QUEUE,I-REPLY,1 + SET 'QUESTIONER,HERO + PRINT INDENT + EQUAL? HERO-CTR,1 \?CCL3 + MOVE HERO,HERE + CALL QUEUE,I-MEET-HERO,-1 + LESS? ATTACK-C,2 \?CCL6 + CALL DEQUEUE,I-CRULLEY + FSET CRULLEY,DEADBIT + PRINTD CRULLEY + PRINTI " drags you, despite your resistance, to" + LOC PROTAGONIST + EQUAL? STACK,CABIN-BED \?CCL9 + MOVE PROTAGONIST,HERE + PRINTI " your feet" + JUMP ?CND7 +?CCL9: PRINTI "wards him" +?CND7: PRINTI ". Then suddenly he grunts, stiffens and slumps into your arms. " + PRINT STUNNED-THE-SAILOR + PRINTI ". + A tall form blocks the shattered door, one fist still raised from striking your attacker" + JUMP ?CND4 +?CCL6: CALL CTPRINT,DOOR + PRINTI " creaks slightly as a tall form bends through its smashed remains. ""You seem to have this situation well in hand,"" timbers a well-bred voice" +?CND4: PRINTI ". You catch a glimpse of the hard masculinity of his broad shoulders, the implied power in the scar that etches the stranger's jaw, and feel tremors course through your veins. Then you realize how ragged are his shirt, patched breeches and high boots. Intuitively, you understand -- he is the dreaded Falcon, scourge of the sea! Alas, your fate is sealed. Resigned, you meet his sea-blue eyes." + CRLF + JUMP ?CND1 +?CCL3: EQUAL? HERO-CTR,2 \?CCL11 + MOVE LETTER,PROTAGONIST + CALL THIS-IS-IT,LETTER + PRINT SURPRISE + PRINTI "the stranger bows. ""Well met, my lady."" His accent is cultured, his smile vibrant. ""I am Captain Nicholas Jamison, known in these waters as 'The Falcon'. Your father has sent me."" He chuckles at your glare of distrust. ""Yes, you are like your sire. You needn't believe me untried -- I carry this."" He hands you" + CALL ARPRINT,LETTER + JUMP ?CND1 +?CCL11: EQUAL? HERO-CTR,3 \?CCL13 + FSET DOOR,OPENBIT + PRINT CTHE-PIRATE-CAPTAIN + PRINTI "glances around the empty room, then notices the coffer" + IN? COFFER,PROTAGONIST \?CND14 + PRINTI " in your arms" +?CND14: MOVE COFFER,HERO + PRINTI ". ""Davis's safety box -- my men were hoping I'd find it."" He takes it and nudges the unconscious man on the floor, ""I wonder how " + PRINTD CRULLEY + PRINTI " knew you were here? Just his bad luck? He'll be flogged when he wakes."" + The pirate bows. ""My lady, may I offer my protection and my ship until your father is free?""" + CRLF + JUMP ?CND1 +?CCL13: EQUAL? HERO-CTR,4,5 \?CND1 + EQUAL? HERO-CTR,4 \?CCL19 + ZERO? REACTION \?CCL19 + SET 'QUESTIONER,HERO + PRINTI """We haven't time to waste. Will you come willingly or not?"" says" + CALL TRPRINT,HERO + JUMP ?CND1 +?CCL19: CALL DEQUEUE,I-MEET-HERO + CALL DEQUEUE,I-PIRATE-ATTACK + EQUAL? REACTION,REACTION-POSITIVE \?CCL24 + PRINTI "He chuckles. ""Brave lady, to trust a stranger -- and a pirate. Who knows, perhaps I forged your father's signature? Keep by my side as we go to my ship -- few sailors respect a lady's dignity."" He helps you through" + CALL TRPRINT,DOOR + CRLF + JUMP ?CND22 +?CCL24: PRINTI "He sighs, ""You share" + CALL TPRINT,DAD + PRINTI "'s stubborn streak. I wished not to do this."" He leaps to your side, hauling you up onto his shoulder, and carries you out of the room." + CALL TPRINT,HERO + PRINTI " sets you on your feet again on the horror of the deck" + PRINT PCR + CRLF +?CND22: FSET HERO,NDESCBIT + MOVE HERO,DEUX-DECK + CALL GOTO,DEUX-DECK +?CND1: INC 'HERO-CTR + RETURN HERO-CTR + + + .FUNCT I-HSHIP + PRINT INDENT + GET HERO-SHIP-SPEECHES,HERO-CTR + PRINT STACK + CRLF + EQUAL? HERO-CTR,2 \?CCL3 + REMOVE HERO + CALL QUEUE,I-HSECOND-BYE,8 + JUMP ?CND1 +?CCL3: CALL QUEUE,I-HSHIP,1 +?CND1: INC 'HERO-CTR + RETURN HERO-CTR + + + .FUNCT I-HSECOND-BYE + CALL RUNNING?,I-OVERHEAR-CRULLEY + ZERO? STACK \?CTR2 + EQUAL? HERE,SLEEPING-CUPBOARD \?CCL3 +?CTR2: CALL QUEUE,I-HSECOND-BYE,2 + RSTACK +?CCL3: MOVE JEWEL,PROTAGONIST + PRINT INDENT + PRINTI "You hear" + EQUAL? HERE,CAPT-QUARTERS \?CCL8 + CALL TPRINT,CUPBOARD-OBJECT + PRINTI " scrape" + JUMP ?CND6 +?CCL8: EQUAL? HERE,LANDING \?CCL10 + CALL TPRINT,DOOR + PRINTI " being unbarred" + JUMP ?CND6 +?CCL10: PRINTI " a footstep" +?CND6: PRINTI ", " + FSET? CHEMISE,EVERYBIT /?CCL13 + PRINTI "turn, and cover " + PRINTD ME + PRINTI " as best you can with what you are holding, for Jamison stands there, his eyes burning through your lightweight chemise. He chuckles, ""I am not sorry in the least that I surprised you." + JUMP ?CND11 +?CCL13: ZERO? BOY-DRESS? /?CCL15 + PRINTI "and" + CALL TPRINT,HERO + PRINTI "'s startled laugh. ""For a moment I thought you were Matthew, the boy who used to sleep in the cupboard. He ran off last port." + JUMP ?CND11 +?CCL15: PRINTI "and turn to see" + CALL TPRINT,HERO + PRINTI ". ""Hello!" +?CND11: EQUAL? HERE,CAPT-QUARTERS /?CND16 + PRINTI " How did you escape? Don't stutter, I won't lock you up again -- you are safe as long as you remain below-decks." +?CND16: PRINTI " I came down to give you this -- my allotment from" + CALL TPRINT,COFFER + PRINTI "."" He nods at the box in his arms. + Jamison starts to pin" + CALL APRINT,JEWEL + PRINTI " on your clothes, but, ""Devil take it, the clasp is broken. I'll have it repaired."" He folds the pretty thing into " + PRINTD HANDS + PRINTI ". ""And I meant to reassure you that if the men suddenly abandon ship, they are off to help me. Rodney will stay behind with you."" He " + EQUAL? HERE,CAPT-QUARTERS \?CCL20 + MOVE COFFER,HERE + PRINTI "drops" + CALL TPRINT,COFFER + PRINTI " on the floor, smiling in farewell," + JUMP ?CND18 +?CCL20: MOVE COFFER,PROTAGONIST + PRINTI "hands" + CALL TPRINT,COFFER + PRINTI " to you. ""Please return this to my quarters for me, will you?""" +?CND18: PRINTI " and walks swiftly " + EQUAL? HERE,LANDING \?CCL23 + PRINTI "up the stairs to the deck, barring the door a moment later" + JUMP ?CND21 +?CCL23: PRINTI "away" +?CND21: PRINT PCR + CALL QUEUE,I-SMELL-SMOKE,3 + CALL QUEUE,I-HERO-TO-ISLAND,5 + RETURN 8 + + + .FUNCT I-HDANCE + EQUAL? HERO-CTR,1 \?CCL3 + EQUAL? BALLROOM,HERE \?CCL3 + MOVE HERO,HERE + SET 'LAFOND-CTR,1 + CALL QUEUE,I-LDANCE,7 + SET 'PARTNER,HERO + SET 'QUESTIONER,HERO + SET 'AWAITING-REPLY,14 + CALL QUEUE,I-REPLY,2 + SET 'DANCED-WITH,HERO + PRINT INDENT + PRINTD HERO + PRINTI " moves up to you, saying, ""May I have this dance?"" He doesn't await an answer, sweeping you out onto" + PRINT DANCE-FLOOR + PRINT PCR + JUMP ?CND1 +?CCL3: EQUAL? HERO-CTR,2 \?CCL7 + SET 'QUESTIONER,HERO + ZERO? MET-ALREADY \?CCL10 + SET 'MET-ALREADY,TRUE-VALUE + PRINT INDENT + PRINTC 34 + PRINT FIRST-SIGHTING + PRINTI "smiles suddenly. ""Why should I complain? You are quite safe, since no one expects you here. And you are looking lovely.""" + CRLF + JUMP ?CND8 +?CCL10: CALL HERO-TALKS +?CND8: EQUAL? HERE,BALLROOM \?CND1 + PRINT INDENT + PRINTI "The steps of the dance separate you a moment, as you twirl around and curtsey to another dancer. You glide back into the captain's arms" + PRINT PCR + JUMP ?CND1 +?CCL7: EQUAL? HERO-CTR,3 \?CCL14 + SET 'QUESTIONER,HERO + CALL HERO-TALKS + EQUAL? HERE,BALLROOM \?CND1 + PRINT INDENT + PRINTI "Your hands linked tightly with his and held high over " + PRINTD HEAD + PRINTI "s, a line of dancers files between you and Jamison" + PRINT PCR + JUMP ?CND1 +?CCL14: EQUAL? HERO-CTR,4 \?CCL18 + SET 'QUESTIONER,HERO + CALL HERO-TALKS + EQUAL? HERE,BALLROOM \?CND1 + PRINT INDENT + PRINTI "Together you whirl around the ballroom, his arm snug around your waist, leading you gracefully, masterfully. + Nicholas's grip tenses as he nods to a bewigged man staring at you. You turn, and the man moves on" + PRINT PCR + JUMP ?CND1 +?CCL18: EQUAL? HERO-CTR,5 \FALSE + REMOVE HERO + SET 'PARTNER,FALSE-VALUE + CALL DEQUEUE,I-HDANCE + CALL HERO-TALKS + PRINT INDENT + PRINTI "The music ends with a flourish" + EQUAL? HERE,BALLROOM \?CCL25 + PRINTI " and you pirouette once more before curtseying to Jamison. As you move" + JUMP ?CND23 +?CCL25: PRINTI ". As he guides you back" +?CND23: PRINTI " to the side of" + PRINT DANCE-FLOOR + PRINTI ", Nick adds, ""We should separate -- I'm sure I am being watched. You would be safer aboard" + CALL TPRINT,SHIP + PRINTI ". If you slip out the veranda doors, no one will notice you leaving."" He touches " + PRINTD HANDS + PRINTI " and dissolves into the crowd" + PRINT PCR + EQUAL? HERE,BALLROOM /?CND1 + CALL GOTO,BALLROOM +?CND1: INC 'HERO-CTR + RETURN HERO-CTR + + + .FUNCT I-HARRESTED,FROM-LDANCE=0 + SET 'HERO-ARRESTED,TRUE-VALUE + PRINT INDENT + PRINTI "There is a commotion from the west. A woman screams and a man yells, ""Stop, Pirate!"" " + ZERO? FROM-LDANCE \?CCL3 + EQUAL? HERE,FOYER /?CCL3 + CALL HELD?,HAT + ZERO? STACK /?CND6 + FCLEAR HAT,WORNBIT + MOVE HAT,LIBRARY +?CND6: PRINTI "You run to the foyer in time to see two dragoons dragging out the battered frame of" + CALL TPRINT,HERO + JUMP ?CND1 +?CCL3: PRINTI "and Jamison is dragged out of the ballroom by two burly dragoons" +?CND1: PRINT PCR + PRINTI " An officer quiets the guests, ""This is the buccaneer who has been pirating our ships. He had the audacity to come here tonight intending to assassinate our dear governor. Do not worry, ladies, he was arrogant enough to come alone."" The officer marches after his men. " + CALL CTPRINT,DANCERS + PRINTI "s return to their banal conversations" + PRINT PCR + ZERO? FROM-LDANCE \?CCL10 + CRLF + CALL GOTO,FOYER + RSTACK +?CCL10: CALL QUEUE,I-LDANCE,1 + SET 'PARTNER,LAFOND + PRINT INDENT + PRINTI "Only the painful grip" + CALL TPRINT,LAFOND + PRINTR " has on your arm prevents you from swooning away. ""Ah, so that's the way of it,"" he purrs, noticing your sudden pallor. ""All the better for me."" He pulls you unresisting into a dance." + + + .FUNCT I-HFOLLY,CALLED-BY-HERO-F=0 + EQUAL? HERE,FOLLY \FALSE + SET 'QUESTIONER,HERO + ZERO? CALLED-BY-HERO-F \?CND4 + PRINT INDENT +?CND4: EQUAL? HERO-CTR,1 \?CCL8 + CALL QUEUE,I-HFOLLY,-1 + MOVE HERO,FOLLY + PRINTD HERO + PRINTI " enters" + CALL TPRINT,FOLLY-OBJECT + PRINTI ", stooping to avoid the flowers dangling over the door. ""I thought I heard someone." + ZERO? MET-ALREADY \?CCL11 + SET 'MET-ALREADY,TRUE-VALUE + PRINTC 32 + PRINT FIRST-SIGHTING + JUMP ?CND9 +?CCL11: PRINTI """ Jamison " +?CND9: PRINTI "sighs. ""What an astonishing girl you are, my dear. " + FSET? CHEMISE,EVERYBIT /?CCL14 + PRINTI "If --""" + PRINT EYES-RAKE + PRINTI ", ""somewhat underdressed" + JUMP ?CND12 +?CCL14: ZERO? BOY-DRESS? /?CCL16 + PRINTI "And so ingeniously dressed" + JUMP ?CND12 +?CCL16: PRINTI "And looking more lovely than ever" +?CND12: PRINTI "."" He plucks" + CALL APRINT,FLOWER + PRINTI " from the tangle above the door, and sets it in your hair. ""The beauty of this blossom is nothing to yours.""" + CRLF + MOVE FLOWER,PROTAGONIST + FCLEAR FLOWER,NDESCBIT + FSET FLOWER,TAKEBIT + JUMP ?CND1 +?CCL8: EQUAL? REACTION,REACTION-NEGATIVE /?PRD20 + EQUAL? HERO-CTR,6 \?CCL18 +?PRD20: IN? HERO,HERE \?CCL18 + CALL DEQUEUE,I-HFOLLY + SET 'QUESTIONER,FALSE-VALUE + REMOVE HERO + PRINTI "Jamison backs away from you, smiling wistfully" + PRINTC 46 + PRINT HERO-LEAVES-FOLLY + JUMP ?CND1 +?CCL18: EQUAL? HERO-CTR,2 \?CCL24 + PRINTI "Catching his breath, Jamison pulls you against him, his hands circling your waist" + IN? FLOWER,PROTAGONIST \?CND25 + PRINTI ", crushing" + CALL TPRINT,FLOWER + PRINTI " between you" +?CND25: PRINTI ". ""Darling,"" he whispers, leaning over you, ""oh, my angel ...""" + CRLF + JUMP ?CND1 +?CCL24: EQUAL? HERO-CTR,3 \?CCL28 + SET 'AWAITING-REPLY,15 + CALL QUEUE,I-REPLY,2 + PRINTI """My lovely,"" Jamison says huskily. His eyes burn intently, their blue like the sea on a summer day. A shiver of warmth flows through you, and you tremble at his touch. The pirate's hands, warm and exciting, caress you, searing through the thin linen of your chemise. His lips near yours, his breath softly scented. ""May I kiss you?""" + CRLF + JUMP ?CND1 +?CCL28: EQUAL? HERO-CTR,4 \?CCL30 + PRINTI "Tender is his kiss, soft his lips as his body presses hard against you. You drown in the tide of your passion, swept like the sea against the rocks of the shore." + CRLF + JUMP ?CND1 +?CCL30: EQUAL? HERO-CTR,5 \?CND1 + REMOVE HERO + PRINTI "With a pent-up sigh, Nicholas forces himself away from you. ""Now is not the time or the place to advance my suit,"" he says, wistfully. ""But the night is still young and you are so beautiful! I must be gone, lest I lose my soul in you.""" + PRINT HERO-LEAVES-FOLLY +?CND1: INC 'HERO-CTR + RETURN HERO-CTR + + + .FUNCT HERO-TALKS + PRINT INDENT + RANDOM 100 + LESS? 65,STACK /?CCL3 + LESS? WHAT-HERO-SAYS,3 \?CCL3 + ZERO? WHAT-HERO-SAYS \?CCL8 + ZERO? HDAD-SPEECH /?CCL8 + CALL PICK-ONE,MANNERISMS + PRINT STACK + PRINT PCR + RTRUE +?CCL8: GET HERO-SPEECHES,WHAT-HERO-SAYS + PRINT STACK + PRINT PCR + INC 'WHAT-HERO-SAYS + RETURN WHAT-HERO-SAYS +?CCL3: CALL PICK-ONE,MANNERISMS + PRINT STACK + PRINT PCR + RTRUE + + + .FUNCT RAPIER-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? HERE,DUNGEON \FALSE + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + PRINTI "A rapier lies in the half-dark of a corner." + RTRUE +?CCL3: EQUAL? PRSA,V?TAKE \?CCL10 + FSET? HERO,DEADBIT /?CCL13 + IN? HERO,HERE \?CCL13 + PRINTR "Jamison prevents you, ""This is not a weapon for ladies.""" +?CCL13: EQUAL? HERE,DUNGEON \?CCL17 + IN? CRULLEY,DUNGEON \?CCL17 + FSET? RAPIER,TOUCHBIT /?CCL17 + CALL ITAKE,FALSE-VALUE + EQUAL? STACK,M-FATAL,FALSE-VALUE /?CCL17 + PRINTI "Taken. " + PRINTD CRULLEY + PRINTR " snorts, ""Be careful, you might hurt yer dearie.""" +?CCL17: IN? RAPIER,COOKIE \FALSE + PRINTD COOKIE + PRINTR " objects. ""It ain't fer a lady.""" +?CCL10: EQUAL? PRSA,V?PUT-THROUGH,V?PUT,V?THROW \?CCL25 + EQUAL? PRSI,TRAP /?CTR24 + EQUAL? PRSI,CRULLEY \?CCL25 + FSET? CRULLEY,MUNGBIT \?CCL25 +?CTR24: PRINTR "But you might need it later!" +?CCL25: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTI "Jamison's rapier is a dangerous looking sword with a narrow pointed blade" + EQUAL? HERE,CABIN,DEUX-DECK /?CND34 + PRINTI ". It is decorated with a big floppy ribbon" +?CND34: PRINT PCR + RTRUE + + .ENDI diff --git a/hero.zil b/hero.zil new file mode 100644 index 0000000..e9ac16d --- /dev/null +++ b/hero.zil @@ -0,0 +1,916 @@ +"HERO for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + + + + +> ;"You've told him about freeing Dad," + ;"(which you can do by NICK, FOLLOW ME - dance)" + ;"OR he's answered your question about Dad." + ;"(To prevent his dance speech happening twice)" + +)) + + )> + > + )> ;"To prevent indent in folly" + + ) + ( + ) + ( + ) + ( + ) + ;( + ) ;"TOLD in MANACLES-DESC" + ( + ) + ( + + + ) + (> + ) + (T + )>) + ( + ) + ( + ) + (T + )> + ) + ( + + > + ) + ( + > + > + >> + ) + ( + ) + (T + )>) + ( + ) + ( + + ;"Dad told you to" + > ;" fetch Nick" + + ) + ( + + ) + ( + + > + + + ) + (T + )>) + (T + )>) + ( + + + + ) + (T + )> + ) + ( + > + + ) + ( + > + + ) + ( + + + ) + ( + ) + ( + + + ,PCR>) + ( + ) + (T + )>) + (T + )> + ) + + ;( + + ,TREE-HOLE ,CLOSET>> + + + + ) + ( + > + + + + ) + (> + + ) + (T + )>) + ;(T + + )>) + ( + + + ) + (T + )>) + ( + > + ) + (T + )>) + ( + > + + + + ) + ( + + > + ) + ( + > + ) + ( + ) + ( + ) + ( + ) + ( + >> + > + ) + (T + )>) + ( + + ) + ( + ) + ( + ) + ( + ) + (T + )>) + ( + + ) + (> + ) + ( + ) + ;( + + ) + (T + )>) + ( + > + + + + ) + (T + )>) + ( + + + ) + (T + )> + ) + ( + > + + + ) + ( + ) + ( + + ) + ( + > + ) + ( + ) + (T + )>) + ( + + ) + ( + + > + ) + ( + + ) + (T + + )>) + ( + > + ) + (T + )>) + ( + > + + ) + ;( + + > + + ) + ( + + > + ) + ( + + + + ) + (T + )>) + ( + + > + )>> + + + +> + ,CREW) + ( + ,CRULLEY) + (T + )>> + + +; + + + + + +;"1st meeting with hero in Cabin, (14-11-86)" + + + + + + + + + + + + ,CABIN-BED> + + ) + (T + )> + ) + (T + )> + ) + +;[Under the impact of his gaze, the hard masculinity +of his broad shoulders, the implied power in the scar that etches his +jaw, you discover yourself blind to the dangers of this infamous pirate, +aware only of the tremors that course your veins, of that flutter deep +in your stomach as he draws near you. In this most unlikely of places, +you have met the man you have been waiting for all these years.] + + ( + + + + ;) + ( + + + + ) + ( + )> + + ) + ( + + > + + ) + (T + + + + ) + (T + )> + + + )>)> + >> + + +;"2nd meeting, in his quarters. Covers three turns." + CR> + + + ) + (T + )> + >> + +> + +; + + ) + ( + + ) + ( + + + ) + (T + )> + >> + + + > + ) + (T + + + + ) + ( + ) + (T + )> + + > + ) + (,BOY-DRESS? + ) + (T + )> + > + )> + + + ;[He takes a white card from" T ,COFFER "] + + + + ) + (T + + )> + + + ) + (T + )> + + + + )>> + +> + + + > + + + + + + + + + ) + ( + + + + ) + (T + )> + + )>) + ( + + + + )>) + ( + + + + )>) + ( + + > + + + + + ) + (T + )> + + > + )>) + (T + )> + >> + +)) + + + + >> + + + )> + ) + (T + )> + + + + ) + (T + + + )>> + +> ;"gets set by first meeting on land." + + + + + +)) + > + ) + (T + + + )> + + + + + + + ) + (T + )> + + > + ) + (,BOY-DRESS? + ) + (T + )> + + + + ) + ( + > + > + + > + + + ) + ( + + + )> + ) + ( + + + + ;) + ( + > + ) + (T + )>) + ( + ) + ( + + ;> + ; + )>)> + >> + +;)) + > + ) + (T + + + )> + + + + + + + + ) + ( + ) + (> + ) + (T + )> + ,PCR>) + (T + + + + )>) + ( + + + + ) + (T + )>) + ( + + + )> + ) + ( + + + + ;) + ( + > + ) + (T + )>) + ( + ) + ( + + > + + )>)> + >> + + + + > + + ,HDAD-SPEECH> + ,PCR>) + (T + ,PCR> + >)>) + (T + ,PCR>)>> + + + +> + +> + + + +)) + + + )> + ) + (T + )>) + ( + > + > + ) + ( + + > + > ,M-FATAL <>>>> + ) + ( + )>) + ( + + + >>> + ) + ( + + > + )> + )>> + + + diff --git a/island.zap b/island.zap new file mode 100644 index 0000000..fb9d852 --- /dev/null +++ b/island.zap @@ -0,0 +1,2503 @@ + + + .FUNCT ISLAND-F + EQUAL? PRSA,V?EXAMINE \FALSE + EQUAL? HERE,LIBRARY \?CCL6 + CALL PERFORM,V?EXAMINE,GLOBE + RSTACK +?CCL6: CALL INNER-DECK,HERE + ZERO? STACK /?CCL8 + PRINT YOU-CANT + PRINTI "see it from here" + PRINT PCR + RTRUE +?CCL8: CALL SHIP-BOARD,HERE + ZERO? STACK \?CTR9 + EQUAL? HERE,SHALLOWS,LAGOON,BY-SHIP /?CTR9 + EQUAL? HERE,ON-LADDER \?CCL10 +?CTR9: PRINTI "St. Sinistra is blessed with lush tropical beauty, jungle besieging the mansion atop the southern cliffs" + PRINT PCR + RTRUE +?CCL10: CALL PERFORM,V?LOOK + RTRUE + + + .FUNCT BELOW-GROUND,RM + EQUAL? RM,STAIRWELL,BOTTOM-STAIRS /TRUE + EQUAL? RM,ANTEROOM,DUNGEON /TRUE + EQUAL? RM,PASSAGE-1,PASSAGE-2,PASSAGE-4 /TRUE + EQUAL? RM,CELL-1,CELL-2,CELL-4 /TRUE + RFALSE + + + .FUNCT BEACH-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + PRINTI "This is a tiny beach, at the base of vine-covered cliffs. To the east," + FSET? SHIP,MUNGBIT \?CCL6 + PRINTI " across the debris-ridden lagoon, black reefs speckle the blue endless sea" + JUMP ?CND4 +?CCL6: CALL TPRINT,SHIP + PRINTI " floats serenely on the lagoon" +?CND4: ZERO? ENDGAME /?CND7 + PRINTI ". Halfway out to the ship is a skiff crowded with men; another skiff sits on the sand" +?CND7: PRINT PCR + PRINT INDENT + PRINTI "Immediately north of you, a rocky staircase is hewn into the cliff. " + CALL RUNNING?,I-ENDGAME + ZERO? STACK /TRUE + PRINTI "A sizable number of dragoons huddle at the top." + RTRUE +?CCL3: EQUAL? RARG,M-END \?CCL13 + ZERO? ENDGAME /?CCL13 + FSET? STONE,TOUCHBIT /?CCL13 + CALL QUEUED?,I-ENDGAME + ZERO? STACK /?CCL13 + MOVE STONE,BEACH + FSET STONE,TOUCHBIT + PRINT INDENT + PRINTI "You splash into the rising surf and pain needles up your leg. Blood swirls out from your shoe in the shallow water, flowing over a small pointed stone" + PRINT PCR + RTRUE +?CCL13: EQUAL? RARG,M-BEG \?CCL19 + EQUAL? PRSA,V?ENTER \?CCL19 + EQUAL? PRSO,SHALLOWS \?CCL19 + CALL DO-WALK,P?EAST + RTRUE +?CCL19: EQUAL? RARG,M-ENTER \FALSE + IN? COOKIE,LAWN \FALSE + PRINTR """I know 'e ain't down there!"" Cookie cries." + + + .FUNCT BEACH-EXIT + CALL RUNNING?,I-ENDGAME + ZERO? STACK /?CCL3 + PRINTI "You would be safer aboard" + CALL TRPRINT,SHIP + RFALSE +?CCL3: RETURN LAWN + + + .FUNCT P-SKIFF-F + EQUAL? HERE,BEACH \?CCL3 + CALL CTPRINT,SKIFF + PRINTI " is out of reach. Wade into the shallows" + PRINT PCR + RTRUE +?CCL3: EQUAL? HERE,ON-LADDER \FALSE + ZERO? SKIFF-TIED \?CCL8 + PRINT YOU-CANT-SEE-ANY + PRINTD SKIFF + PRINTI " here." + CRLF + RETURN 8 +?CCL8: EQUAL? PRSA,V?BOARD,V?ENTER \FALSE + CALL DO-WALK,P?DOWN + RSTACK + + + .FUNCT LAWN-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + PRINTI "Jungle looms around this clipped lawn, a path meandering westward into the dense undergrowth. To the east is a folly entangled in blooming jasmine. The way to the beach is obscure, but visible to the southeast. Behind the folly a thorny hedge blocks the cliff view of the sea." + ZERO? ENDGAME \TRUE + CRLF + PRINT INDENT + PRINTI "Music and voices float from the veranda to the north." + RTRUE +?CCL3: EQUAL? RARG,M-END \FALSE + FSET? HERE,ACTORBIT /?CCL11 + FSET HERE,ACTORBIT + PRINT INDENT + PRINTR "Two men stand whispering in the shadows. You catch an occasional word, ""Davis dead... girl... Falcon on Sinistra."" The men separate, the well-dressed one going into the ballroom as the other slinks into the bushes. You see his face. Crulley!" +?CCL11: ZERO? COOKIE-LOOKING /TRUE + CALL I-COOKIE,TRUE-VALUE + RSTACK + + + .FUNCT GEN-FLOWER + EQUAL? HERE,FOLLY \FALSE + RETURN FLOWER + + + .FUNCT FLOWER-F + EQUAL? PRSA,V?PICK,V?TAKE \?CCL3 + FSET? FLOWER,TAKEBIT /?CCL3 + PRINTI "You can't bear to pick" + CALL TRPRINT,FLOWER + RSTACK +?CCL3: EQUAL? PRSA,V?SMELL \FALSE + PRINTI "Ah, jasmine! Mama grew this in her garden" + PRINT PCR + RTRUE + + + .FUNCT FOLLY-F,RARG + EQUAL? RARG,M-ENTER \FALSE + FSET? FOLLY,TOUCHBIT /FALSE + FSET? LAFS-ROOM,TOUCHBIT /FALSE + IN? DAD,CELL-4 \FALSE + SET 'HERO-CTR,1 + CALL QUEUE,I-HFOLLY,2 + RSTACK + + + .FUNCT FOLLY-OBJ-F + EQUAL? PRSA,V?ENTER \?CCL3 + EQUAL? HERE,IN-HEDGE \?CCL6 + CALL DO-WALK,P?WEST + RSTACK +?CCL6: EQUAL? HERE,LAWN \?CCL8 + CALL DO-WALK,P?EAST + RSTACK +?CCL8: PRINT LOOK-AROUND + RTRUE +?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE + EQUAL? HERE,IN-HEDGE \?CCL13 + CALL CTPRINT,FOLLY-OBJECT + PRINTI " is invisible beyond the leaves to the west" + PRINT PCR + RTRUE +?CCL13: EQUAL? HERE,FOLLY \?CCL15 + CALL V-LOOK + RTRUE +?CCL15: CALL CTPRINT,FOLLY-OBJECT + PRINTI " is obscured by tangled vines" + PRINT PCR + RTRUE + + + .FUNCT SLAT-F + EQUAL? PRSA,V?TAKE \?CCL3 + ZERO? SLAT-OPEN \?CCL3 + PRINTI "Only the bottom of the slat is loose. The rest is tightly woven into the frame of the folly" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?REMOVE,V?UNTIE \?CCL7 + CALL IMPOSSIBLES + RSTACK +?CCL7: EQUAL? PRSA,V?PUSH,V?FIDDLE,V?MOVE \?CCL9 + ZERO? SLAT-OPEN /?CCL12 + PRINT YOU-HAVE-ALREADY + PRINTR " done that." +?CCL12: SET 'SLAT-OPEN,TRUE-VALUE + FCLEAR HOLE,INVISIBLE + FSET SLAT,NDESCBIT + PRINTI "You twist aside the " + PRINTD SLAT + PRINTI ", wedging the end into the woven wall. The remaining hole, just above the bench, looks big enough to snake " + PRINTD ME + PRINTI " through" + PRINT PCR + RTRUE +?CCL9: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTI "The bamboo slat at the back of the folly " + FSET? SLAT,NDESCBIT \?CCL17 + PRINTI "has been pulled aside, making a hole in the wall" + PRINT PCR + RTRUE +?CCL17: PRINTI "appears to be loose" + PRINT PCR + RTRUE + + + .FUNCT HOLE-F + EQUAL? PRSA,V?ENTER \?CCL3 + CALL DO-WALK,P?EAST + RSTACK +?CCL3: EQUAL? PRSA,V?PUT,V?PUT-THROUGH,V?THROW \?CCL5 + EQUAL? PRSO,HANDS \?CCL8 + PRINT HUH + RTRUE +?CCL8: EQUAL? PRSO,RETICULE /FALSE + CALL PRONOUN + PRINTI " fall" + FSET? PRSO,PLURALBIT /?CND11 + PRINTC 115 +?CND11: PRINTI " through the hole" + MOVE PRSO,IN-HEDGE + PRINT PCR + RTRUE +?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE + PRINT YOU-SEE + PRINTI " a few leaves near to you, more fading into green obscurity" + PRINT PCR + RTRUE + + + .FUNCT FOLLY-EXIT + ZERO? SLAT-OPEN /?CCL3 + FSET? GOWN,WORNBIT /?CTR5 + RETURN IN-HEDGE +?CTR5: PRINTI "You might rip" + CALL TRPRINT,GOWN + RFALSE +?CCL3: PRINT CANT-GO + RETURN FALSE + + + .FUNCT BY-HOUSE-F,RARG + EQUAL? RARG,M-LOOK \FALSE + PRINTI "You crouch in" + CALL TPRINT,HEDGE + PRINTI " by the house, twigs poking into you, the cliff crumbling away to the east. " + CALL CTPRINT,HEDGE + PRINTI " seems less dense to the south. A" + CALL TELL-OPEN/CLOSED,LIB-WINDOW,TRUE-VALUE + PRINTI " window is directly west of you." + RTRUE + + + .FUNCT VERANDA-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + PRINTI "Steps lead south from this white marble veranda to a clipped lawn. To the north" + CALL QUEUED?,I-ENDGAME + ZERO? STACK /?CCL6 + PRINTI " the wreckage left by the duel is visible in the ballroom." + RTRUE +?CCL6: FSET? VER-DOOR,OPENBIT /?CND4 + PRINTI ", beyond a closed glass door," +?CND4: ZERO? ENDGAME /?CCL10 + PRINTI " is" + JUMP ?CND8 +?CCL10: PRINTI " a line of people blocks your view of" +?CND8: PRINTI " the ballroom." + RTRUE +?CCL3: EQUAL? RARG,M-END \FALSE + ZERO? COOKIE-LOOKING /FALSE + CALL I-COOKIE,TRUE-VALUE + RSTACK + + + .FUNCT AROUND-HOUSE + PRINTI "The gravel path is just wide enough for a cart to pass. It bends around the west wing of the house, leading you to" + PRINT ELLIPSIS + EQUAL? HERE,MAIN-ENTRANCE /?CTR2 + RETURN MAIN-ENTRANCE +?CTR2: RETURN TRADE-ENTRANCE + + + .FUNCT FOREST-F,RARG + EQUAL? RARG,M-END \FALSE + FSET? FOREST,EVERYBIT \FALSE + CALL DEQUEUE,I-CATCH-KISS + FCLEAR FOREST,EVERYBIT + PRINT INDENT + PRINTI "Two whispered voices come from the path ahead, one reassuring, the other desperate -- they sound like" + CALL TPRINT,DAD + PRINTR " and Lucy. Peering over a bush, you see the couple share a fond embrace before they meander off into the jungle." + + + .FUNCT CLEARING-F,RARG + EQUAL? RARG,M-BEG \FALSE + EQUAL? PRSO,WINDOW /?CCL3 + EQUAL? PRSI,WINDOW \FALSE +?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL10 + PRINT YOU-SEE + PRINTR " only an embossed ceiling." +?CCL10: EQUAL? PRSA,V?ENTER \?CCL12 + CALL DO-WALK,P?UP + RTRUE +?CCL12: CALL CANT-REACH,WINDOW + RSTACK + + + .FUNCT VINE-F + EQUAL? HERE,BEACH \?CCL3 + EQUAL? PRSA,V?EXAMINE /?CCL3 + CALL CANT-REACH,VINE + RSTACK +?CCL3: EQUAL? PRSA,V?TAKE \?CCL7 + PRINTI "You tug, but are unable to get any substantial length of vine" + PRINT PCR + RTRUE +?CCL7: EQUAL? PRSA,V?CLIMB \?CCL9 + EQUAL? HERE,CLEARING \?CCL9 + CALL DO-WALK,P?UP + RTRUE +?CCL9: EQUAL? PRSA,V?CLIMB-DOWN,V?CLIMB \FALSE + EQUAL? HERE,BEDROOM \FALSE + CALL DO-WALK,P?DOWN + RTRUE + + + .FUNCT KITCHEN-F,RARG + EQUAL? RARG,M-END \FALSE + IN? LUCY,KITCHEN \FALSE + ZERO? BOY-DRESS? /?CCL8 + FSET? LUCY,TOUCHBIT /FALSE + FSET LUCY,TOUCHBIT + CALL QUEUE,I-LUCY,2 + PRINT INDENT + PRINTR "The woman smiles uncertainly, then rushes over. ""Are you come from the village, boy? Dost know Lord Dimsford?"" She sighs at your surprise. ""So he sent you -- I am his Lucy. It's been so long since I've seen him. Lafond caught me eavesdropping and now I can't leave the grounds.""" +?CCL8: FSET? GOWN,WORNBIT \?CCL13 + PRINT INDENT + PRINTI """Milady,"" exclaims the woman. ""Lafond's guests are wisest not to stray. Maybe you should stay at the ball."" You find " + PRINTD ME + PRINTI " ushered into a hallway" + PRINT PCR + CRLF + CALL GOTO,HALL-W + RSTACK +?CCL13: PRINT INDENT + PRINTI "The woman shrieks, pushing you out the door. ""Has not the governor made clear his position on light-skirts? Out, slattern, before I report you!"" Her voice drops to a whisper, ""Sorry, but it's not safe around here. Stay in the village."" You find yourself outside" + PRINT PCR + CRLF + CALL GOTO,TRADE-ENTRANCE + RSTACK + + + .FUNCT KITCHEN-EXIT + CALL META-LOC,GARTER + EQUAL? STACK,HERE \?CCL3 + CALL HELD?,GARTER + ZERO? STACK \?CCL3 + IN? LUCY,HERE \?CCL3 + IN? DAD,HERE /?CCL3 + REMOVE GARTER + CALL DEQUEUE,I-LUCY + PRINTI "Lucy spits at you, ""Yes, desert a helpless woman. Tell Lafond I'm a spy. Dimsford will avenge me, runt!"" She comes after you with a rolling pin, pushing you out the door" + PRINT PCR + CRLF + RETURN TRADE-ENTRANCE +?CCL3: IN? LUCY,HERE \?CND8 + IN? DAD,HERE /?CND8 + FSET? GARTER,TOUCHBIT \?CND8 + PRINTI """Don't forget -- tell Dimsford,""" + CALL TPRINT,LUCY + PRINT CALLS-AFTER +?CND8: EQUAL? P-WALK-DIR,P?SOUTH /?CTR14 + RETURN TRADE-ENTRANCE +?CTR14: RETURN HALL-W + + + .FUNCT BALLROOM-ENTRANCE + EQUAL? HERE,VERANDA \?CCL3 + FSET? VER-DOOR,OPENBIT /?CCL3 + CALL CTPRINT,DOOR + PRINT IS-CLOSED + PRINT PCR + RFALSE +?CCL3: ZERO? ENDGAME /?CCL7 + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL10 + PRINT YOU-CANT + PRINTI "force " + PRINTD ME + PRINTI " between the amazed spectators of the duel" + PRINT PCR + RETURN FALSE +?CCL10: RETURN BALLROOM +?CCL7: FSET? GOWN,WORNBIT /?CCL12 + PRINTI "Though you glimpse whirling bodies beyond, the spectators fail to admit such a " + ZERO? BOY-DRESS? /?CCL15 + PRINTI "grubby youth" + JUMP ?CND13 +?CCL15: PRINTI "poorly dressed female" +?CND13: PRINTI ". +" + RETURN FALSE +?CCL12: PRINTI "The sea of spectators parts to admit you, murmuring approval" + PRINT PCR + CRLF + RETURN BALLROOM + + + .FUNCT FOYER-F,RARG + EQUAL? RARG,M-END \?CCL3 + FSET? BUTLER,DEADBIT /?CCL6 + IN? BUTLER,HERE \?CCL6 + FSET? GOWN,WORNBIT \?CCL11 + FSET? FOYER,EVERYBIT \?CCL14 + FCLEAR FOYER,EVERYBIT + REMOVE BUTLER + PRINT INDENT + PRINTI """Miss, the master has been expecting you, up in his room. I did look for you."" " + CALL CTPRINT,BUTLER + PRINTR " bows and leaves." +?CCL14: FSET? BUTLER,MUNGBIT \FALSE + PRINT INDENT + PRINTC 34 + PRINT NO-LOITERING + PRINT PUSHING-YOU-OUT + CRLF + CALL GOTO,MAIN-ENTRANCE + RSTACK +?CCL11: ZERO? BOY-DRESS? /?CCL18 + CALL KICKED-OUT + RSTACK +?CCL18: PRINT INDENT + PRINTI """You may not ply your wares here, Paphian. Leave before I have you thrown off the cliff!"" You contemplate this pleasant prospect as you are tossed onto the gravel drive." + CRLF + CRLF + CALL GOTO,MAIN-ENTRANCE + RSTACK +?CCL6: ZERO? COOKIE-LOOKING /TRUE + CALL I-COOKIE,TRUE-VALUE + RSTACK +?CCL3: EQUAL? RARG,M-ENTER \FALSE + FSET? BUTLER,DEADBIT /FALSE + FSET? BUTLER,INDOORSBIT /FALSE + CALL QUEUE,I-BUTLER,3 + RSTACK + + + .FUNCT FOYER-EXIT + FSET? BUTLER,INDOORSBIT \?CCL3 + EQUAL? P-WALK-DIR,P?SOUTH \?CCL6 + CALL BALLROOM-ENTRANCE + RSTACK +?CCL6: EQUAL? P-WALK-DIR,P?WEST \?CCL8 + RETURN HALL-W +?CCL8: EQUAL? P-WALK-DIR,P?UP \?CCL10 + RETURN STAIRTOP +?CCL10: EQUAL? P-WALK-DIR,P?EAST,P?UP \FALSE + IN? BUTLER,HERE /?CTR14 + RETURN HALL-E +?CTR14: PRINTI """No, ma'am, that way's private."" The butler stops you" + PRINT PCR + RFALSE +?CCL3: CALL RUNNING?,I-BUTLER + ZERO? STACK /?CCL17 + CALL QUEUE,I-BUTLER,2 + PRINTI """Excuse me!"" The " + PRINTD BUTLER + PRINTI " pushes you back. ""Your invitation, please!""" + CRLF + RFALSE +?CCL17: CALL QUEUE,I-BUTLER,2 + SET 'AWAITING-FAKE-ORPHAN,TRUE-VALUE + PRINTI "The butler prevents you. ""Miss... your invitation?""" + CRLF + RFALSE + + + .FUNCT BALLROOM-F,RARG=0 + EQUAL? RARG,M-LOOK \?CCL3 + ZERO? ENDGAME /?CCL6 + CALL QUEUED?,I-ENDGAME + ZERO? STACK /?CCL9 + CALL CTPRINT,DANCERS + PRINTI "s stare amazed at Lafond's limp body, some disbelieving, some hopeful, all stock still. The pirates have fled to the darkness of the lawn" + JUMP ?CND4 +?CCL9: PRINTI "All is chaos, screaming women fainting on terrified men. Several of Jamison's scruffiest men round the dancers into a huddle in the center of" + PRINT DANCE-FLOOR + JUMP ?CND4 +?CCL6: PRINTI "Lafond's party is well attended: you can hardly move for the crush. However, the room is oddly silent, no talk interrupting the musical efforts of" + CALL TPRINT,MUSICIANS + PRINTI " to the west. Despite the heat, no one ventures south to the veranda, nor through the opening east. The foyer is north of you" +?CND4: PRINTC 46 + RTRUE +?CCL3: EQUAL? RARG,M-ENTER \?CCL11 + FSET? HERE,TOUCHBIT /?CCL14 + SET 'HERO-CTR,1 + CALL QUEUE,I-HDANCE,-1 + RSTACK +?CCL14: ZERO? PARTNER \FALSE + EQUAL? DANCED-WITH,HERO \FALSE + ZERO? ENDGAME \FALSE + SET 'LAFOND-CTR,1 + CALL QUEUE,I-LDANCE,1 + RFALSE +?CCL11: EQUAL? RARG,M-BEG \?CCL21 + EQUAL? CREW,PRSO,PRSI \?CCL24 + CALL NOUN-USED,W?MAN,CREW + ZERO? STACK \?CCL24 + EQUAL? PRSA,V?ASK-ABOUT /?CCL24 + EQUAL? PRSO,LAFOND,HERO /?CCL24 + FSET? BALLROOM,EVERYBIT /?CCL24 + PRINT YOU-CANT-SEE-ANY + PRINTI "of Jamison's crew here" + PRINT PCR + CALL STOP + RSTACK +?CCL24: EQUAL? PRSA,V?ASK-FOR \?CCL31 + IN? PRSO,HERE \?CCL31 + EQUAL? PRSI,BALLROOM \?CCL31 + CALL PERFORM,V?DANCE,PRSO + RTRUE +?CCL31: EQUAL? PRSA,V?PUT \?CCL36 + EQUAL? PRSI,BALLROOM \?CCL36 + CALL PERFORM,V?DROP,PRSO + RTRUE +?CCL36: EQUAL? PARTNER,HERO,LAFOND \FALSE + CALL TOUCHING?,VER-DOOR + ZERO? STACK /FALSE + PRINTD PARTNER + PRINTR " sweeps you past." +?CCL21: EQUAL? RARG,M-END \FALSE + ZERO? COOKIE-LOOKING /FALSE + CALL I-COOKIE,TRUE-VALUE + RSTACK + + + .FUNCT BALLROOM-EXIT + EQUAL? PARTNER,HERO \?CCL3 + PRINTI """Would you rather not dance? " + EQUAL? P-WALK-DIR,P?SOUTH \?CCL6 + PRINTI "Apparently the guests have orders not to go outside."" Instead" + CALL TPRINT,HERO + PRINTI " whirls and twirls you towards" + CALL TRPRINT,MUSICIANS + CRLF + RETURN ORCHESTRA +?CCL6: EQUAL? P-WALK-DIR,P?EAST \?CCL8 + PRINTI "Hungry?"" He guides you into the supper room, then tsks in dismay. ""They've cleared the food away already!""" + CRLF + CRLF + RETURN SUPPER-ROOM +?CCL8: EQUAL? P-WALK-DIR,P?WEST \?CCL10 + PRINTI "Let's listen to the music while we talk."" He walks you towards" + CALL TRPRINT,MUSICIANS + CRLF + RETURN ORCHESTRA +?CCL10: PRINTI "It wouldn't be wise to put ourselves into the butler's sight, though."" He escorts you into the supper-room instead" + PRINT PCR + CRLF + RETURN SUPPER-ROOM +?CCL3: CALL QUEUED?,I-CKILLS-DAD + ZERO? STACK /?CCL12 + PRINTD LAFOND + PRINTI " stops you. ""Stay until we hear the sad news.""" + CRLF + RFALSE +?CCL12: EQUAL? LAFOND,PARTNER \?CCL14 + PRINTI """How dare you walk away!"" Lafond grips your arm, so you may not leave the floor" + PRINT PCR + RFALSE +?CCL14: CALL RUNNING?,I-LDANCE + ZERO? STACK /?CND1 + LOC LAFOND + EQUAL? STACK,HERE \?CND1 + SET 'QUESTIONER,LAFOND + PRINTI """Your answer, cherie?"" His twists your wrist mercilessly" + PRINT PCR + RFALSE +?CND1: EQUAL? P-WALK-DIR,P?NORTH \?CCL20 + RETURN FOYER +?CCL20: EQUAL? P-WALK-DIR,P?SOUTH \?CCL22 + FSET? VER-DOOR,OPENBIT \?CCL25 + RETURN VERANDA +?CCL25: CALL CTPRINT,DOOR + PRINT IS-CLOSED + PRINT PCR + RFALSE +?CCL22: EQUAL? P-WALK-DIR,P?WEST \?CCL27 + RETURN ORCHESTRA +?CCL27: EQUAL? P-WALK-DIR,P?EAST \FALSE + RETURN SUPPER-ROOM + + + .FUNCT MUSICIANS-F + EQUAL? PRSA,V?LISTEN,V?EXAMINE \?CCL3 + ZERO? ENDGAME /?CCL6 + PRINTI "The musicians are with" + CALL TPRINT,DANCERS + PRINTR "s in the ballroom." +?CCL6: PRINTR "The small band is made up of a virginal, bass and treble viols, and several recorders. They are playing ""I Want to Kiss Your Hand,"" by J.S. Beatle." +?CCL3: CALL UNIMPORTANT-THING + CALL STOP + RSTACK + + + .FUNCT ORCHESTRA-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + ZERO? ENDGAME /?CCL6 + CALL QUEUED?,I-ENDGAME + ZERO? STACK \?CCL6 + PRINTI "This end of the ballroom is empty of people." + RTRUE +?CCL6: PRINTI "A few older women and young girls sit near the small orchestra assembled at this end of the ballroom." + RTRUE +?CCL3: EQUAL? RARG,M-END \FALSE + ZERO? COOKIE-LOOKING /FALSE + CALL I-COOKIE,TRUE-VALUE + RSTACK + + + .FUNCT SUPPER-ROOM-F,RARG + EQUAL? RARG,M-ENTER \?CCL3 + MOVE LONG-TABLE,HERE + RTRUE +?CCL3: EQUAL? RARG,M-END \FALSE + ZERO? COOKIE-LOOKING /FALSE + CALL I-COOKIE,TRUE-VALUE + RSTACK + + + .FUNCT UNDER-TABLE + PRINTI "You scuttle underneath" + CALL TRPRINT,LONG-TABLE + CRLF + EQUAL? HERE,HALL-E /?CTR2 + RETURN HALL-E +?CTR2: RETURN SUPPER-ROOM + + + .FUNCT HALL-E-F,RARG + EQUAL? RARG,M-END \?CCL3 + FSET? BUTLER,DEADBIT /?CCL3 + IN? BUTLER,FOYER \?CCL3 + FSET? GOWN,WORNBIT /?CCL9 + CALL KICKED-OUT + RSTACK +?CCL9: FSET? BUTLER,INDOORSBIT /FALSE + PRINT INDENT + PRINTI "A " + PRINTD BUTLER + PRINTI " takes your arm, pulling you into the foyer. ""I have not seen your " + PRINTD INVITE + PRINTI ", Miss.""" + CRLF + CRLF + CALL GOTO,FOYER + RSTACK +?CCL3: EQUAL? RARG,M-ENTER \FALSE + MOVE LONG-TABLE,HALL-E + RTRUE + + + .FUNCT LIBRARY-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + PRINTI "Everything in this private office is larger than life. A huge " + PRINTD PORTRAIT + FSET? PORTRAIT,OPENBIT \?CND4 + PRINTI ", slightly awry from the wall," +?CND4: PRINTI " decorates the north side, and black drapes mask the east wall. Bookshelves tower over a cherry desk, and a massive wooden globe squats in a corner." + ZERO? ENDGAME \?CND6 + PRINTI " Music wafts distantly from the ballroom across the hall to the south." +?CND6: FSET? KNOB,DEADBIT /TRUE + CRLF + PRINT INDENT + PRINTI "A knob juts out of the wall." + RTRUE +?CCL3: EQUAL? RARG,M-ENTER \?CCL12 + IN? COOKIE,HERE \?CCL12 + FSET? COOKIE,EVERYBIT /?CCL12 + FSET COOKIE,EVERYBIT + PRINT SURPRISE + PRINTD COOKIE + PRINTI " is here, studying the walls. ""Cap'n said somethin' about a secret door, mebbe.""" + CRLF + CRLF + RTRUE +?CCL12: EQUAL? RARG,M-END \FALSE + IN? DAD,HERE \?CCL20 + EQUAL? DANCED-WITH,LAFOND \?CND21 + ZERO? HERO-ARRESTED \?CND21 + CALL QUEUE,I-HARRESTED,2 +?CND21: CALL QUEUE,I-CATCH-KISS,25 + FSET FOREST,EVERYBIT + FSET LIB-WINDOW,OPENBIT + SET 'SLAT-OPEN,TRUE-VALUE + FCLEAR HOLE,INVISIBLE + FSET SLAT,NDESCBIT + REMOVE DAD + REMOVE LUCY + PRINT INDENT + PRINTI """A " + PRINTD WINDOW + PRINTI "!"" your father exclaims. ""I shall creep out to the kitchen. Get the Falcon."" He climbs out" + CALL TRPRINT,WINDOW + RSTACK +?CCL20: IN? COOKIE,HERE \FALSE + CALL RUNNING?,I-DUEL + ZERO? STACK /FALSE + MOVE COOKIE,GALLERY + REMOVE CREW + PRINT INDENT + PRINTD COOKIE + PRINTI " cocks his head. ""What is that noise? Is Cap'n duelling Lafond? There's no chance he could win as beaten as he is!"" Cookie races out towards the ballroom" + PRINT PCR + RTRUE + + + .FUNCT PORTRAIT-EXIT + FSET? PORTRAIT,MUNGBIT /?CCL3 + PRINT CANT-GO + RFALSE +?CCL3: FSET? PORTRAIT,OPENBIT /?CCL5 + CALL CTPRINT,PORTRAIT + PRINT IS-CLOSED + PRINT PCR + RFALSE +?CCL5: CALL HELD?,HAT + ZERO? STACK /?CND6 + CALL SAFETY-SAKE + PRINT INDENT +?CND6: PRINTI "You move beyond" + CALL TPRINT,PORTRAIT + PRINTI " into the " + EQUAL? HERE,STAIRWELL \?CCL10 + PRINTI "library" + PRINT PCR + CRLF + RETURN LIBRARY +?CCL10: EQUAL? HERE,LIBRARY \FALSE + PRINTI "flickering torchlight" + PRINT PCR + CRLF + RETURN STAIRWELL + + + .FUNCT DRAPES-F + EQUAL? PRSA,V?LOOK-BEHIND \?CCL3 + EQUAL? HERE,LAFS-ROOM \?CCL6 + PRINT THERES-NOTHING + PRINTI "interesting behind" + CALL TRPRINT,DRAPES + RSTACK +?CCL6: PRINTI "In the dark behind" + CALL TPRINT,DRAPES + PRINTI " is" + CALL ARPRINT,WINDOW + RSTACK +?CCL3: EQUAL? PRSA,V?MOVE,V?PUSH,V?OPEN \?CCL8 + PRINT PULL-FABRIC + CRLF + RTRUE +?CCL8: EQUAL? PRSA,V?CLOSE \?CCL10 + EQUAL? HERE,LIBRARY \?CCL13 + PRINT ALREADY-ARE + RTRUE +?CCL13: PRINT BEAUTIFUL-NIGHT + RTRUE +?CCL10: EQUAL? PRSA,V?EXAMINE \FALSE + EQUAL? HERE,LIBRARY \?CCL18 + PRINTI "Dark drapes cover an entire wall of the room" + PRINT PCR + RTRUE +?CCL18: PRINTI "The purple hangings are densely embroidered with gold" + PRINT PCR + RTRUE + + + .FUNCT TORCH-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + CALL CTPRINT,TORCH + PRINTR " is flickering madly in the breeze." +?CCL3: EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL5 + FSET? PRSI,BURNBIT \?CCL5 + PRINTR "Mama disapproved of pyromaniacs." +?CCL5: CALL TOUCHING?,TORCH + ZERO? STACK /FALSE + PRINT YOU-CANT + PRINTI "reach" + CALL TPRINT,TORCH + PRINTR ". Ladies don't carry them anyway." + + + .FUNCT PORTRAIT-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + EQUAL? HERE,LIBRARY \?CCL6 + FSET? PORTRAIT,OPENBIT \?CCL9 + PRINTI "Cool air seeps out from" + CALL TRPRINT,PORTRAIT + RSTACK +?CCL9: CALL CTPRINT,PORTRAIT + PRINTI " seems familiar, and you realize it is exactly the picture on the front of" + CALL TPRINT,BANKNOTE + CALL TPRINT,LAFOND + PRINTR " sent you, same clothes, same surroundings, same pose." +?CCL6: PRINT YOU-SEE + PRINT THE-BACK + CALL TRPRINT,PORTRAIT + RSTACK +?CCL3: EQUAL? PRSA,V?LOOK-BEHIND \?CCL11 + FSET? PORTRAIT,OPENBIT \?CCL14 + CALL PERFORM,V?EXAMINE,PORTRAIT + RTRUE +?CCL14: CALL CTPRINT,PORTRAIT + PRINTI " is firmly fastened to the wall" + PRINT PCR + RTRUE +?CCL11: EQUAL? PRSA,V?WALK,V?HIDE,V?ENTER \?CCL16 + FSET? PORTRAIT,MUNGBIT /?CCL19 + PRINTI "This is a " + PRINTD PORTRAIT + PRINTI ", not a looking glass" + PRINT PCR + RTRUE +?CCL19: CALL DO-WALK,P?IN + RSTACK +?CCL16: EQUAL? PRSA,V?OPEN \?CCL21 + FSET? PORTRAIT,OPENBIT \?CCL24 + PRINT ALREADY-IS + RTRUE +?CCL24: FSET? PORTRAIT,MUNGBIT \?CCL26 + FSET PORTRAIT,OPENBIT + EQUAL? HERE,LIBRARY \?CCL29 + PRINTI "Quickly you pull the book, joggle" + CALL TPRINT,KNOB + PRINTI " and touch" + CALL TPRINT,GLOBE + PRINTI ", and" + CALL TPRINT,PORTRAIT + PRINTI " pops open." + IN? COOKIE,HERE \?CND30 + PRINT COOKIE-HARRUMPHS +?CND30: CRLF + RTRUE +?CCL29: PRINTI "You push outwards on the wall, opening" + CALL TRPRINT,PORTRAIT + RSTACK +?CCL26: PRINTI "Open a " + PRINTD PORTRAIT + PRINTR "?!" +?CCL21: EQUAL? PRSA,V?CLOSE \FALSE + FSET? PORTRAIT,MUNGBIT /?CCL36 + PRINT HUH + RTRUE +?CCL36: FSET? PORTRAIT,OPENBIT \FALSE + FCLEAR PORTRAIT,OPENBIT + FCLEAR POWER,EVERYBIT + FCLEAR KNOB,EVERYBIT + CALL CTPRINT,PORTRAIT + PRINTR " swings shut with a tiny snap." + + + .FUNCT GLOBE-F + EQUAL? PRSA,V?PUSH,V?TOUCH /?CTR2 + EQUAL? PRSA,V?PUT-ON \?CCL3 + EQUAL? PRSO,HANDS \?CCL3 +?CTR2: PRINTI "You press the " + CALL NOUN-USED,W?SINISTRA,GLOBE + ZERO? STACK \?CTR9 + CALL NOUN-USED,W?ISLAND,GLOBE + ZERO? STACK \?CTR9 + CALL ADJ-USED,A?ST + ZERO? STACK /?CCL10 +?CTR9: PRINTI "painted island, and it sinks into the wooden sea." + FSET? KNOB,EVERYBIT \?CND8 + FSET? POWER,EVERYBIT \?CND8 + FSET? PORTRAIT,OPENBIT /?CND8 + FSET PORTRAIT,OPENBIT + FSET? PORTRAIT,MUNGBIT /?CND19 + FSET PORTRAIT,MUNGBIT + INC 'SCORE +?CND19: PRINTI " You hear a whirr and a click and" + CALL TPRINT,PORTRAIT + PRINTI " pops open. A draft of sea-scented air flows in from behind it." + IN? COOKIE,HERE \?CND8 + PRINT COOKIE-HARRUMPHS +?CND8: CRLF + RTRUE +?CCL10: PRINTR "globe at random." +?CCL3: EQUAL? PRSA,V?SET,V?TAKE \?CCL24 + CALL CTPRINT,GLOBE + PRINTR " is solidly fastened to the floor." +?CCL24: EQUAL? PRSA,V?FIND \?CCL26 + EQUAL? PRSI,GLOBE \?CCL26 + CALL NOUN-USED,W?SINISTRA,GLOBE + ZERO? STACK \?CTR25 + CALL NOUN-USED,W?ISLAND,GLOBE + ZERO? STACK \?CTR25 + CALL ADJ-USED,A?ST + ZERO? STACK /?CCL26 +?CTR25: PRINTR "It is in the West Indies, surrounded by blue." +?CCL26: EQUAL? PRSA,V?EXAMINE \FALSE + CALL NOUN-USED,W?SINISTRA,GLOBE + ZERO? STACK \?CTR36 + CALL NOUN-USED,W?ISLAND,GLOBE + ZERO? STACK \?CTR36 + CALL ADJ-USED,A?ST + ZERO? STACK /?CCL37 +?CTR36: PRINTI "A tiny replica of " + PRINTD ISLAND + PRINTI " is painted on" + CALL TPRINT,GLOBE + PRINTI " in greater detail than any other country, showing even the road from Santa Ananas to Lafond's mansion" + PRINT PCR + RTRUE +?CCL37: PRINTI "The massive wooden globe, painted in greens and blues and white, describes the world as presently known" + PRINT PCR + RTRUE + + + .FUNCT BOOKS-GLOBAL-F + EQUAL? PRSA,V?TAKE,V?READ,V?LOOK-INSIDE /?CTR2 + EQUAL? PRSA,V?OPEN \?CCL3 +?CTR2: PRINTI "You pick one at random. You always preferred horses to reading, so you put it back" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?SEARCH,V?EXAMINE \?CCL7 + PRINTI "Most of the books appear unread, their pages uncut, the spines not yet creased. All except one, ""Treatise of Power"" by Sir Michael Villiers" + PRINT PCR + RTRUE +?CCL7: EQUAL? PRSA,V?PUSH,V?MOVE \FALSE + PRINT HUH + RTRUE + + + .FUNCT BOOKCASE-F + EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \?CCL3 + CALL PERFORM,V?EXAMINE,BOOKS-GLOBAL + RTRUE +?CCL3: EQUAL? PRSA,V?SET,V?PUSH,V?MOVE \?CCL5 + SET 'AWAITING-REPLY,3 + CALL QUEUE,I-REPLY,2 + PRINTI "Why tamper with a " + PRINTD BOOKCASE + PRINTR "? Searching for a secret door or some such?" +?CCL5: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE + CALL WASTES + RSTACK + + + .FUNCT POWER-F + EQUAL? PRSA,V?OPEN,V?TAKE,V?READ /?CTR2 + EQUAL? PRSA,V?FIDDLE,V?MOVE \?CCL3 +?CTR2: PRINTI "You half tip" + CALL TPRINT,POWER + PRINTI " out of the shelf when it snaps surprisingly back into place" + FSET? POWER,MUNGBIT /?CND6 + FSET POWER,MUNGBIT + INC 'SCORE +?CND6: FSET? POWER,EVERYBIT /?CND8 + FSET POWER,EVERYBIT + PRINTI ". There is a mysterious scraping sound from inside the wall" +?CND8: PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE + PRINTR "You gaze at ""Treatise of Power"" without taking it. It seems to be the only book that has been read in the library, the leather creased and dull with use." + + + .FUNCT GENERIC-BOOK,X,Y + EQUAL? HERE,LIBRARY \FALSE + RETURN BOOKS-GLOBAL + + + .FUNCT KNOB-F + EQUAL? PRSA,V?SET,V?MOVE,V?PUSH /?CTR2 + EQUAL? PRSA,V?FIDDLE,V?LOWER \?CCL3 +?CTR2: FSET? KNOB,EVERYBIT \?CCL8 + CALL HACK-HACK,STR?261 + RSTACK +?CCL8: FSET KNOB,EVERYBIT + CALL KNOB-CAUSES-TINGLE,STR?317 + RSTACK +?CCL3: EQUAL? PRSA,V?PUT,V?PUT-ON \?CCL10 + EQUAL? PRSO,HAT \?CCL10 + FSET? KNOB,DEADBIT \?CCL15 + PRINT ALREADY-IS + RTRUE +?CCL15: CALL HELD?,HAT + ZERO? STACK \?CCL17 + PRINT YNH + CALL TRPRINT,HAT + RSTACK +?CCL17: FSET HAT,EVERYBIT + FSET KNOB,DEADBIT + MOVE HAT,LIBRARY + PRINTI "You prop" + CALL TPRINT,HAT + PRINTI " back on" + CALL TRPRINT,KNOB + RSTACK +?CCL10: EQUAL? PRSA,V?EXAMINE \FALSE + FSET? KNOB,DEADBIT \FALSE + CALL CTPRINT,HAT + PRINTI " is on" + CALL TRPRINT,KNOB + RSTACK + + + .FUNCT STAIRTOP-F,RARG + EQUAL? RARG,M-LOOK \FALSE + PRINTI "The east-west hallway opens here to curve into a grand staircase sweeping down to the foyer." + RTRUE + + + .FUNCT DIVAN-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + PRINTI "Backless, upholstered in Oriental silk," + CALL TPRINT,DIVAN + PRINTI " looks exotic and comfortable" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?ENTER,V?CLIMB-ON,V?BOARD \?CCL5 + PRINTR "You haven't time to relax now." +?CCL5: CALL UNIMPORTANT-THING + RSTACK + + + .FUNCT PAIR-F + CALL TOUCHING?,PAIR + ZERO? STACK /FALSE + PRINT YOU-CANT + PRINTI "reach them. Ladies don't carry " + PRINTD PISTOL + PRINTR "s, anyway." + + + .FUNCT LAFS-ROOM-F,RARG,THING + EQUAL? RARG,M-BEG \?CCL3 + ZERO? LAFOND-LOOKING /?CCL3 + GRTR? LAFOND-CTR,9 \?CCL8 + EQUAL? PRSO,SPICES,PINCH /?CCL8 + EQUAL? PRSA,V?WEAR,V?TAKE \?CCL8 + EQUAL? PRSA,V?WEAR,V?TAKE \TRUE + PRINTD LAFOND + PRINTI " stops you" + PRINT PCR + RTRUE +?CCL8: EQUAL? PRSI,LAUD,BOTTLE /?CTR14 + EQUAL? PRSO,LAUD,BOTTLE \?CCL15 +?CTR14: SET 'THING,BOTTLE + JUMP ?CND6 +?CCL15: EQUAL? PRSA,V?POINT,V?WAVE,V?PUT \FALSE + EQUAL? MIRROR,PRSO,PRSI \?CCL22 + SET 'THING,MIRROR + JUMP ?CND6 +?CCL22: EQUAL? TRAY,PRSO,PRSI \FALSE + SET 'THING,TRAY +?CND6: REMOVE THING + PRINTI "Lafond bounds to your side, grabbing" + CALL TPRINT,THING + PRINTI " out of " + PRINTD HANDS + PRINTI " before you can use it. ""What have we here? Trying to " + EQUAL? THING,BOTTLE \?CCL27 + PRINTI "poison " + PRINTD ME + PRINTI "? Or me?" + JUMP ?CND25 +?CCL27: EQUAL? THING,MIRROR,TRAY \?CND25 + PRINTI "signal for help? You are beyond help." +?CND25: PRINTI """ He throws it out" + CALL TRPRINT,SHUTTERS + RSTACK +?CCL3: EQUAL? RARG,M-ENTER \?CCL30 + FSET? LAFS-ROOM,TOUCHBIT /?CCL30 + FSET LAFS-ROOM,TOUCHBIT + INC 'SCORE + SET 'LAFOND-CTR,1 + CALL QUEUE,I-LSED,1 + PRINTI """Welcome, ma petite" + FSET? GOWN,WORNBIT /?CND33 + PRINTI " -- but where is your " + PRINTD GOWN + PRINTI "? Ah, chacun a son gout" +?CND33: PRINTI "."" Lafond bows you in" + PRINT PCR + CRLF + RTRUE +?CCL30: EQUAL? RARG,M-LOOK \FALSE + PRINTD LAFOND + PRINTI "'s bedroom shows all the outpourings of his megalomania. Royal hues of purple and gold weigh down the hangings on the bed and the eastward window, as if trying to smother the moonbeam shining in." + RTRUE + + + .FUNCT LAFS-EXIT + ZERO? LAFOND-LOOKING /?CCL3 + PRINTI "Lafond whirls you around. ""My pretty, you came here freely, but you may not leave freely.""" + CRLF + RFALSE +?CCL3: IN? BUTLER,HERE \?CCL5 + FSET? BUTLER,DEADBIT /?CCL5 + CALL CTPRINT,BUTLER + PRINTI " stops you easily" + PRINT PCR + RFALSE +?CCL5: PRINTI "You " + FSET? LDOOR,OPENBIT /?CND8 + FSET LDOOR,OPENBIT + PRINTI "open the door and " +?CND8: FSET? BUTLER,DEADBIT \?CCL12 + LOC LAFOND + EQUAL? STACK,HERE /?CCL12 + PRINTI "creep over the prostrate butler" + PRINT PCR + CRLF + RETURN UPPER-HALL-E +?CCL12: PRINTI "run out -- into" + CALL TPRINT,BUTLER + PRINTI "'s barrel chest and leering grin. You return to the bedroom" + IN? LAFOND,HERE \?CCL17 + PRINTC 46 + CALL TPRINT,LAFOND + PRINTI " acts as if nothing has happened" + PRINT PCR + RFALSE +?CCL17: MOVE BUTLER,LAFS-ROOM + PRINTC 44 + CALL TPRINT,BUTLER + PRINTI " following. ""The governor said you were not to leave this room.""" + CRLF + RFALSE + + + .FUNCT SHUTTERS-F + EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?ENTER /?CTR2 + EQUAL? PRSA,V?BOARD,V?LEAP-OFF \?CCL3 +?CTR2: PRINTR "One look at the sheer drop, from sill to hedge to jagged rocks far below, is enough to dissuade you." +?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL7 + PRINTI "The full moon is high in the night sky. Some distance out from the shallow curve of the island, " + FSET? SHIP,MUNGBIT \?CCL10 + PRINTI "black reefs catch the full force of the sea" + JUMP ?CND8 +?CCL10: PRINTI "you see the slow swelling of sails, grey turning black turning grey, on" + CALL TPRINT,SHIP +?CND8: PRINTR "." +?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL12 + PRINTI "Old fashioned wooden " + PRINTD SHUTTERS + PRINTI ", not glass, fill" + CALL TPRINT,WINDOW + PRINTI " frame. A dusty " + PRINTD MOONBEAM + PRINTI " swirls in, setting alight threads of gold embroidered in" + CALL TRPRINT,DRAPES + RSTACK +?CCL12: EQUAL? PRSA,V?SPOINT \?CCL14 + EQUAL? PRSO,SHIP \?CCL14 + CALL PROPOSE + RSTACK +?CCL14: EQUAL? PRSA,V?CLOSE \?CCL18 + PRINT BEAUTIFUL-NIGHT + RTRUE +?CCL18: EQUAL? PRSA,V?PUT-THROUGH \FALSE + EQUAL? PRSO,HANDS \?CCL23 + PRINT HUH + RTRUE +?CCL23: EQUAL? PRSO,GREEN-GLASS,BLUE-GLASS,FLAGON \?CCL25 + IN? LAFOND,HERE \?CCL25 + PRINTD LAFOND + PRINTR " stops you." +?CCL25: CALL PUT-OBJ-THRU-WINDOW + RSTACK + + + .FUNCT GEN-SPICES + CALL HELD?,PINCH + ZERO? STACK /?CCL3 + RETURN PINCH +?CCL3: RETURN SPICES + + + .FUNCT SPICES-F + EQUAL? PRSA,V?TAKE \?CCL3 + IN? PINCH,PROTAGONIST \?CCL6 + PRINT YOU-HAVE-ALREADY + CALL ARPRINT,PINCH + RSTACK +?CCL6: MOVE PINCH,PROTAGONIST + FSET PINCH,TOUCHBIT + SET 'HOLDING-PINCH,TRUE-VALUE + CALL QUEUE,I-SPICE-DROP,3 + PRINTI "You take" + CALL APRINT,PINCH + PRINTI " between your thumb and forefinger" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8 + IN? PINCH,PROTAGONIST \?CCL11 + PRINTI "You are holding" + CALL APRINT,PINCH + PRINTI ". " + CALL HELD?,TRAY,HERE + ZERO? STACK /?CND12 + LOC SPICES + EQUAL? STACK,WELL \?CND12 + PRINTI "More is in" + CALL TPRINT,WELL + PRINTI " of" + CALL TRPRINT,TRAY +?CND12: CRLF + RTRUE +?CCL11: CALL PERFORM,V?EXAMINE,WELL + RTRUE +?CCL8: EQUAL? PRSA,V?EAT \?CCL17 + MOVE PINCH,SPICES + PRINTI "Your eyes start to water" + PRINT PCR + RTRUE +?CCL17: EQUAL? PRSA,V?SMELL \?CCL19 + MOVE PINCH,SPICES + PRINTI "You take a sharp sniff of" + CALL TPRINT,SPICES + PRINTI " and sneeze, until " + PRINTD EYES + PRINTI " fill with tears" + PRINT PCR + RTRUE +?CCL19: EQUAL? PRSA,V?THROW \?CCL21 + ZERO? PRSI /?CCL21 + EQUAL? PRSI,SPICES /?CCL21 + CALL PERFORM,V?THROW-AT,PRSO,PRSI + RTRUE +?CCL21: EQUAL? PRSA,V?THROW-AT,V?PUT-ON,V?BLOW \FALSE + IN? PINCH,PROTAGONIST \?CCL29 + EQUAL? PRSI,BUTLER \?CCL32 + FSET? BUTLER,DEADBIT /?CCL32 + PRINTI "You try to get close enough to" + CALL TPRINT,BUTLER + PRINTR ", but he backs off. ""That wouldn't be seemly, Miss.""" +?CCL32: EQUAL? PRSI,ME \?CCL36 + CALL IMPOSSIBLES + RTRUE +?CCL36: EQUAL? PRSI,DAD,COOKIE,LUCY \?CCL38 + PRINT UNLADY + RTRUE +?CCL38: EQUAL? PRSI,CRULLEY \?CND30 + LOC CRULLEY + EQUAL? STACK,DUNGEON \?CND30 + PRINTD CRULLEY + PRINTR " snaps the whip at your elbow. ""Keep away from me!""" +?CND30: PRINTI "You blow" + CALL TPRINT,SPICES + PRINTI " off your fingertips" + MOVE PINCH,SPICES + ZERO? PRSI /?CTR43 + FSET? PRSI,DEADBIT \?CCL44 +?CTR43: PRINT PCR + RTRUE +?CCL44: EQUAL? PRSI,LAFOND \?CCL48 + EQUAL? HERE,LAFS-ROOM \?CCL48 + INC 'SCORE + MOVE PINCH,SPICES + REMOVE LAFOND + SET 'LAFOND-LOOKING,FALSE-VALUE + CALL DEQUEUE,I-LSED + CALL DEQUEUE,I-WONT-DRINK + CALL QUEUE,I-LRETURNS,15 + FSET LDOOR,OPENBIT + REMOVE LAF-GLASS + PRINTI ", directly into Lafond's face. He sneezes, his eyes watering from the heat of the peppers. Reaching blindly for some wine, he instead upsets the table, shattering a glass. Lafond stumbles cursing out of the room, in search of relief" + GRTR? LAFOND-CTR,HORNY \?CND51 + MOVE PROTAGONIST,HERE + MOVE RETICULE,PROTAGONIST + MOVE CHEMISE,PROTAGONIST + FCLEAR CHEMISE,EVERYBIT + FSET CHEMISE,WORNBIT + MOVE SHOES,PROTAGONIST + FSET SHOES,WORNBIT + PRINTI ". You stand up, quickly pulling on" + CALL TPRINT,CHEMISE +?CND51: PRINT PCR + RTRUE +?CCL48: PRINTI " at" + CALL TPRINT-PRSI + PRINTI ". " + PRINT NOTHING-HAPPENS + RTRUE +?CCL29: PRINT YNH + PRINTI " any " + PRINTD SPICES + PRINT PCR + RTRUE + + + .FUNCT I-LRETURNS + EQUAL? HERE,UPPER-HALL-E,LAFS-ROOM /?PRD5 + FSET? SHIP,MUNGBIT \FALSE +?PRD5: IN? COOKIE,HERE /FALSE + CALL JIGS-UP,STR?318 + RSTACK + + + .FUNCT I-SPICE-DROP + IN? PINCH,PROTAGONIST \FALSE + MOVE PINCH,SPICES + PRINT INDENT + PRINTI "The spices dribble out from between your fingers" + PRINT PCR + RTRUE + + + .FUNCT TRAY-F + EQUAL? PRSA,V?EXAMINE \?CCL3 + PRINTI "Cabbage leaves are etched onto the mirror-bright " + PRINTD TRAY + PRINTI ", forming a well in the center where the metallic stalks meet." + LOC CHICKEN + EQUAL? STACK,TRAY \?CCL6 + PRINTI " Some " + PRINTD CHICKEN + PRINTI " is heaped around the dry spices filling" + CALL TRPRINT,WELL + RSTACK +?CCL6: CRLF + RTRUE +?CCL3: EQUAL? PRSA,V?POINT,V?PUT \?CCL8 + EQUAL? PRSI,MOONBEAM,SHUTTERS,SHIP \?CCL8 + CALL SIGNAL-SHIP,TRAY + RSTACK +?CCL8: EQUAL? PRSA,V?EMPTY \?CCL12 + PRINTI "You have no other way of carrying" + CALL TRPRINT,CHICKEN + RSTACK +?CCL12: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE + EQUAL? PRSI,TRAY \FALSE + PRINTI "Because of the metal work, nothing sits flat on" + CALL TRPRINT,TRAY + RSTACK + + + .FUNCT WELL-F + EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3 + IN? SPICES,WELL \?CCL6 + CALL CTPRINT,WELL + PRINTI " in" + CALL TPRINT,TRAY + PRINTI " is filled with a mixture of salt and other spices, predominantly red and black pepper" + PRINT PCR + RTRUE +?CCL6: PRINTR "It is empty." +?CCL3: EQUAL? PRSA,V?TAKE \FALSE + CALL CTPRINT,WELL + PRINTR " is part of the tray!" + + + .FUNCT CHICKEN-F + EQUAL? PRSA,V?TAKE,V?EAT \?CCL3 + PRINTI "You sprinkle some " + PRINTD SPICES + PRINTI " on a wing and nibble at it. The peppery heat hits you like a wave, leaving you gasping, eyes watering" + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 + IN? CHICKEN,TRAY \?CCL8 + CALL PERFORM,V?EXAMINE,TRAY + RTRUE +?CCL8: CALL CTPRINT,CHICKEN + PRINTI " looks tasty" + PRINT PCR + RTRUE +?CCL5: EQUAL? PRSA,V?PUT-ON \?CCL10 + EQUAL? PRSO,PINCH,SPICES \?CCL10 + CALL PERFORM,V?EAT,CHICKEN + RTRUE +?CCL10: EQUAL? PRSA,V?PUT \FALSE + EQUAL? PRSO,CHICKEN \FALSE + CALL PERFORM,V?EAT,CHICKEN + RTRUE + + + .FUNCT FLAGON-F + EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SHAKE \?CCL3 + PRINTR "Some wine sloshes around inside." +?CCL3: EQUAL? PRSA,V?TAKE \?CCL5 + FSET? FLAGON,TRYTAKEBIT \?CCL5 + PRINTI "Lafond takes it from you, setting it on" + CALL TRPRINT,TABLE + RSTACK +?CCL5: EQUAL? PRSA,V?DROP \?CCL9 + EQUAL? HERE,LAFS-ROOM \?CCL9 + MOVE FLAGON,TABLE + PRINTI "You set" + CALL TPRINT,FLAGON + PRINTI " on" + CALL TRPRINT,TABLE + RSTACK +?CCL9: EQUAL? PRSA,V?THROW,V?EMPTY \?CCL13 + EQUAL? HERE,LAFS-ROOM \?CCL13 + IN? LAFOND,HERE \?CCL13 + CALL FWTD,SMACK-YOUR-FACE + RSTACK +?CCL13: EQUAL? PRSA,V?DRINK-FROM \FALSE + PRINT UNLADY + RTRUE + + + .FUNCT WINE-F + EQUAL? PRSA,V?GIVE,V?DRINK,V?EAT /?CTR2 + EQUAL? PRSA,V?SHOW \?CCL3 +?CTR2: CALL HELD?,BLUE-GLASS + ZERO? STACK /?CCL8 + CALL IMBIBE-WINE,BLUE-GLASS + RSTACK +?CCL8: CALL HELD?,GREEN-GLASS + ZERO? STACK /?CCL10 + CALL IMBIBE-WINE,GREEN-GLASS + RSTACK +?CCL10: PRINT YNH + PRINTR " a goblet of wine!" +?CCL3: EQUAL? PRSO,WINE \?CCL12 + EQUAL? PRSA,V?POUR \?CCL12 + ZERO? PRSI \?CCL17 + EQUAL? P-PRSA-WORD,W?SPILL \?CCL20 + EQUAL? HERE,LAFS-ROOM \?CCL20 + IN? LAFOND,HERE \?CCL20 + CALL FWTD,SMACK-YOUR-FACE + RSTACK +?CCL20: CALL SPECIFY-WHAT,STR?277,PRSO + RSTACK +?CCL17: EQUAL? PRSI,FLAGON \?CCL25 + PRINTI "It's not sanitary to pour wine back into" + CALL TRPRINT,FLAGON + RSTACK +?CCL25: EQUAL? PRSI,GREEN-GLASS,BLUE-GLASS \?CCL27 + GETP PRSI,P?CONTENTS + EQUAL? STACK,WINED,W-P \?CCL30 + PRINTR "It is already full!" +?CCL30: CALL POUR-WINE,PRSI + RSTACK +?CCL27: PRINT POLITE-SOCIETY + RTRUE +?CCL12: EQUAL? PRSA,V?WRING,V?POUR-FROM \?CCL32 + EQUAL? PRSO,WINE \?CCL32 + CALL SPECIFY-WHAT,STR?277,PRSO + RSTACK +?CCL32: EQUAL? PRSA,V?THROW,V?DROP \FALSE + EQUAL? HERE,LAFS-ROOM \?CCL39 + IN? LAFOND,HERE \?CCL39 + CALL LAFS-DROP + RSTACK +?CCL39: CALL HELD?,BLUE-GLASS + ZERO? STACK /?CCL43 + GETP BLUE-GLASS,P?CONTENTS + GRTR? STACK,0 \?CCL43 + CALL PERFORM,V?DROP,BLUE-GLASS + RTRUE +?CCL43: CALL HELD?,GREEN-GLASS + ZERO? STACK /?CCL47 + GETP GREEN-GLASS,P?CONTENTS + GRTR? STACK,0 \?CCL47 + CALL PERFORM,V?DROP,GREEN-GLASS + RTRUE +?CCL47: PRINT YNH + PRINTR " any wine!" + + + .FUNCT IMBIBE-WINE,VESSEL + GETP VESSEL,P?CONTENTS + EQUAL? STACK,0,POISONED \?CCL3 + PRINTI "There is no wine in" + CALL TRPRINT,VESSEL + RTRUE +?CCL3: EQUAL? PRSA,V?SHOW,V?GIVE \?CCL5 + CALL PERFORM,V?GIVE,VESSEL,PRSI + RTRUE +?CCL5: GETP VESSEL,P?CONTENTS + EQUAL? STACK,W-P \?CND1 + CALL QUEUED?,I-SLEEP + ZERO? STACK \?CND1 + CALL QUEUE,I-SLEEP,2 +?CND1: SET 'REACTION,REACTION-POSITIVE + PUTP VESSEL,P?CONTENTS,0 + PRINTI "You empty" + CALL TPRINT,VESSEL + PRINTI " of wine" + PRINT PCR + RTRUE + + + .FUNCT POUR-WINE,VESSEL,LAFOND-POURS=0 + GETP FLAGON,P?CONTENTS + EQUAL? STACK,POISONED \?CCL3 + PUTP VESSEL,P?CONTENTS,W-P + JUMP ?CND1 +?CCL3: GETP VESSEL,P?CONTENTS + ADD STACK,1 + PUTP VESSEL,P?CONTENTS,STACK +?CND1: ZERO? LAFOND-POURS \TRUE + PRINTI "You fill" + CALL TPRINT,VESSEL + PRINTI " with wine" + PRINT PCR + RTRUE + + + .FUNCT I-WATCH-SLEEP + ZERO? DRUGGEE /FALSE + EQUAL? DRUGGEE,BUTLER \?CCL5 + EQUAL? WATCH-CTR,2 \?CCL5 + INC 'SCORE + FSET BUTLER,DEADBIT + IN? BUTLER,HERE /?CCL10 + PRINT INDENT + PRINTI "You hear a ""thump-phoosh,"" like someone slumping against a wall" + PRINT PCR + JUMP ?CND8 +?CCL10: EQUAL? HERE,LAFS-ROOM \?CND8 + CALL HELD?,BOTTLE,HERE + ZERO? STACK /?CND12 + REMOVE BOTTLE + PRINT INDENT + PRINTI "With a grunt of anger, the butler realizes he has been drugged. He grabs" + CALL TPRINT,BOTTLE + PRINTI " and throws it out" + CALL TRPRINT,SHUTTERS +?CND12: PRINT INDENT + CALL CTPRINT,DRUGGEE + GET WATCHING-SLEEPY,WATCH-CTR + PRINT STACK + PRINT PCR +?CND8: SET 'DRUGGEE,FALSE-VALUE + RTRUE +?CCL5: IN? DRUGGEE,HERE \?CND1 + PRINT INDENT + CALL CTPRINT,DRUGGEE + GET WATCHING-SLEEPY,WATCH-CTR + PRINT STACK + PRINT PCR +?CND1: CALL QUEUE,I-WATCH-SLEEP,1 + INC 'WATCH-CTR + RETURN WATCH-CTR + + + .FUNCT I-CROC-SLEEPS + EQUAL? HERE,ANTEROOM \?CND1 + PRINT INDENT + PRINTI "Without warning," + CALL TPRINT,CROC + PRINTI " relaxes, eyes closed, asleep." + CRLF +?CND1: INC 'SCORE + SET 'CROC-SLEEP,TRUE-VALUE + SET 'MOUTH-SHUT,TRUE-VALUE + RFALSE + + + .FUNCT I-SLEEP + PRINT INDENT + INC 'SLEEP-CTR + GET GETTING-SLEEPY,SLEEP-CTR + PRINT STACK + CRLF + LESS? SLEEP-CTR,4 \?CCL3 + CALL QUEUE,I-SLEEP,2 + RSTACK +?CCL3: EQUAL? SLEEP-CTR,4 \FALSE + PRINT INDENT + EQUAL? HERE,ON-LADDER,RIGGING-ROOM \?CCL8 + CALL JIGS-UP,STR?319 + RSTACK +?CCL8: CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL10 + CALL QUEUED?,I-LOOK-SEA + ZERO? STACK \?CTR9 + CALL QUEUED?,I-SHIP-EXPLODES + ZERO? STACK /?CCL10 +?CTR9: CALL JIGS-UP,STR?320 + RSTACK +?CCL10: PRINTI "You wake at sunrise" + FSET? LAFS-ROOM,TOUCHBIT /?CND15 + PRINTI ", too late to save your father or his friend Jamison" +?CND15: CALL FWTD,STR?321 + RSTACK + + + .FUNCT GLASS-F + EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3 + CALL CTPRINT,PRSO + GETP PRSO,P?CONTENTS + GET GLASS-DESC,STACK + PRINT STACK + PRINT PCR + RTRUE +?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5 + CALL IMPOSSIBLES + RSTACK +?CCL5: EQUAL? PRSA,V?DRINK-FROM \?CCL7 + ZERO? PRSI /?CCL10 + CALL IMBIBE-WINE,PRSI + RSTACK +?CCL10: CALL IMBIBE-WINE,PRSO + RSTACK +?CCL7: EQUAL? PRSA,V?FILL \?CCL12 + CALL PERFORM,V?POUR,WINE,PRSO + RTRUE +?CCL12: EQUAL? PRSA,V?DROP \?CCL14 + EQUAL? HERE,LAFS-ROOM \?CCL14 + MOVE PRSO,TABLE + PRINTI "You set" + CALL TPRINT-PRSO + PRINTI " on" + CALL TRPRINT,TABLE + RSTACK +?CCL14: EQUAL? PRSA,V?THROW-AT,V?MUNG,V?THROW \?CCL18 + CALL LAFS-DROP + RSTACK +?CCL18: EQUAL? PRSA,V?TAKE \FALSE + EQUAL? PRSO,LAUD \?CCL23 + CALL IMPOSSIBLES + RSTACK +?CCL23: EQUAL? PRSO,GREEN-GLASS \?CCL25 + LESS? LAFOND-CTR,3 \?CCL25 + EQUAL? HERE,LAFS-ROOM \?CCL25 + PRINTD LAFOND + PRINTR " stops you. ""That is mine.""" +?CCL25: CALL HELD?,BLUE-GLASS + ZERO? STACK \?CTR29 + CALL HELD?,GREEN-GLASS + ZERO? STACK /FALSE +?CTR29: PRINT YOU-HAVE-ALREADY + PRINTI " a goblet" + PRINT PCR + RTRUE + + + .FUNCT LAFS-DROP + EQUAL? PRSO,BLUE-GLASS,GREEN-GLASS \?CCL3 + REMOVE PRSO + PUTP PRSO,P?CONTENTS,0 + PRINTI "The delicate glass of" + CALL TPRINT-PRSO + PRINTI " shatters into pieces." + CRLF + JUMP ?CND1 +?CCL3: EQUAL? PRSO,WINE \?CCL5 + PRINTI "You dash" + CALL TPRINT,WINE + PRINTI " into Lafond's face." + CRLF + JUMP ?CND1 +?CCL5: CALL WASTES +?CND1: EQUAL? HERE,LAFS-ROOM \TRUE + IN? LAFOND,HERE \TRUE + CALL FWTD,SMACK-YOUR-FACE + RSTACK + + + .FUNCT GALLERY-F,RARG,GUY=0 + EQUAL? RARG,M-BEG \?CCL3 + SET 'GUY,HERO + CALL TOUCHING?,GUY + ZERO? STACK \?CTR5 + SET 'GUY,LAFOND + CALL TOUCHING?,GUY + ZERO? STACK \?CTR5 + SET 'GUY,DAD + CALL TOUCHING?,GUY + ZERO? STACK \?CTR5 + SET 'GUY,LUCY + CALL TOUCHING?,GUY + ZERO? STACK \?CTR5 + SET 'GUY,COOKIE + CALL TOUCHING?,GUY + ZERO? STACK \?CTR5 + SET 'GUY,RAPIER + CALL TOUCHING?,GUY + ZERO? STACK /?CCL6 +?CTR5: CALL CANT-REACH,GUY + RSTACK +?CCL6: EQUAL? PRSA,V?THROW-AT \?CCL14 + PRINTR "You missed." +?CCL14: EQUAL? PRSO,GALLERY \?CCL16 + EQUAL? PRSA,V?LOOK,V?EXAMINE \?CCL16 + CALL V-LOOK + RSTACK +?CCL16: EQUAL? PRSO,BALLROOM \?CCL20 + EQUAL? PRSA,V?EXAMINE \?CCL23 + CALL V-LOOK + RSTACK +?CCL23: EQUAL? PRSA,V?LEAP,V?ENTER \FALSE + CALL PERFORM,V?SWING,ROPE + RTRUE +?CCL20: EQUAL? PRSA,V?LEAP-OFF \?CCL27 + CALL PERFORM,V?SWING,ROPE + RTRUE +?CCL27: EQUAL? PRSA,V?SWING \?CCL29 + EQUAL? PRSO,ROOMS \?CCL29 + CALL PERFORM,V?SWING,ROPE + RTRUE +?CCL29: EQUAL? PRSA,V?TELL-ABOUT,V?TELL,V?ASK-ABOUT \FALSE + CALL RUNNING?,I-DUEL + ZERO? STACK /FALSE + PRINTI "No one is listening to you." + CRLF + CALL STOP + RTRUE +?CCL3: EQUAL? RARG,M-ENTER \?CCL37 + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL37 + FSET HERO,NDESCBIT + FSET LAFOND,NDESCBIT + FSET COOKIE,NDESCBIT + RTRUE +?CCL37: EQUAL? RARG,M-LOOK \FALSE + PRINTI "You are on a wide balcony overlooking the ballroom. A hallway lies to the north. + Down on" + PRINT DANCE-FLOOR + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL44 + CALL TPRINT,DANCERS + PRINTI "s are pressed in a wide circle around Nicholas and Lafond. Cookie stands anxiously in the door to the veranda, near" + CALL TPRINT,DAD + PRINTI " and Lucy" + JUMP ?CND42 +?CCL44: FSET? BALLROOM,EVERYBIT \?CCL46 + PRINTI " a small number of Jamison's scruffiest men are corralling" + CALL TPRINT,DANCERS + PRINTI " into a screaming huddle in the center of the room" + JUMP ?CND42 +?CCL46: PRINTI " you see myriad colors as the guests weave the intricate steps of their dances" +?CND42: PRINTC 46 + RTRUE + + + .FUNCT ROPE-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + PRINT INDENT + CALL DESC-ROPE + RSTACK +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7 + CALL DESC-ROPE + RSTACK +?CCL7: EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-DOWN,V?SWING \?CCL9 + FSET? ROPE,EVERYBIT \?CCL12 + CALL CTPRINT,ROPE + PRINTI " is looped over the railing -- you'd hang " + PRINTD ME + PRINT PCR + RTRUE +?CCL12: IN? COOKIE,HERE \?CCL14 + CALL RUNNING?,I-DUEL + ZERO? STACK \?CCL14 + PRINTD COOKIE + PRINTR " grabs hold of you, ""Ye lost yer mind, lass!""" +?CCL14: PRINTI """Aaieeee!"" The cry comes uncalled to your lips as you swoop down from the balcony" + ZERO? BOY-DRESS? \?CND17 + PRINTI ", petticoats flying," +?CND17: PRINTI " on the end of" + CALL TRPRINT,ROPE + PRINT INDENT + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL21 + LESS? HERO-CTR,15 \?CCL24 + CALL DEQUEUE,I-DUEL + FCLEAR RAPIER,NDESCBIT + MOVE HERO,BEACH + FCLEAR HERO,NDESCBIT + MOVE LAFOND,BALLROOM + FCLEAR LAFOND,NDESCBIT + MOVE DAD,BEACH + MOVE LUCY,BEACH + MOVE COOKIE,BEACH + FCLEAR COOKIE,NDESCBIT + FCLEAR BALLROOM,EVERYBIT + FSET VER-DOOR,OPENBIT + FSET LAFOND,MUNGBIT + INC 'SCORE + IN? BLUE-GLASS,PROTAGONIST \?CCL27 + REMOVE BLUE-GLASS + JUMP ?CND25 +?CCL27: IN? GREEN-GLASS,PROTAGONIST \?CND25 + REMOVE GREEN-GLASS +?CND25: IN? PINCH,PROTAGONIST \?CND29 + MOVE PINCH,SPICES +?CND29: CALL ROB,PROTAGONIST,BALLROOM + SET 'LAFOND-CTR,1 + CALL QUEUE,I-ENDGAME,6 + PRINTI "Your timing is perfect: you slam into Lafond just as he steps into his lunge. His rapier stabs wildly, piercing Nicholas's shoulder, missing his heart. You and Lafond roll into a snowball of " + ZERO? BOY-DRESS? \?CCL33 + PRINTI "petticoats" + JUMP ?CND31 +?CCL33: PRINTI "breeches" +?CND31: PRINTI " and brocade, dropping everything between you." + CALL CLEAR-SCREEN,15 + PRINT INDENT + PRINTI "Nicholas shouts, from far away, ""Let me go! Let me deliver Lafond to a 'better' world."" + ""A gentleman can't kill an unconscious man!"" That is Papa's voice. ""And you're in no shape to continue, Nicholas. Rodney -- help my daughter. I'll take Nick."" + Cookie leans over you. ""We must get back to the ship, Miss. Dragoons surround the house."" Nicholas, injured but still arguing, is already on the veranda, half-forced, half-supported by your father, shadowed by Lucy. Cookie helps you to your feet and rushes after them, expecting you to follow. Lafond lies nearby, apparently unconscious" + PRINT PCR + CRLF + CALL GOTO,BALLROOM + RSTACK +?CCL24: CALL JIGS-UP,STR?322 + RSTACK +?CCL21: FSET? BALLROOM,EVERYBIT \?CCL35 + CALL JIGS-UP,STR?323 + RSTACK +?CCL35: CALL FWTD,STR?324 + RSTACK +?CCL9: EQUAL? PRSA,V?TIE \?CCL37 + EQUAL? PRSI,RAILING \?CCL37 + FSET? ROPE,EVERYBIT \?CCL42 + PRINT ALREADY-IS + RTRUE +?CCL42: FSET ROPE,EVERYBIT + PRINTR "Tied." +?CCL37: EQUAL? PRSA,V?REMOVE,V?UNTIE \?CCL44 + FSET? ROPE,EVERYBIT \?CCL47 + FCLEAR ROPE,EVERYBIT + PRINTI "Untied. " + CALL CTPRINT,CHANDELIER + PRINTR " swings slightly, dribs of hot wax spilling to the floor." +?CCL47: CALL WASTES + RSTACK +?CCL44: EQUAL? PRSA,V?TAKE \?CCL49 + FSET? ROPE,EVERYBIT \?CCL52 + CALL DO-FIRST,STR?325 + RSTACK +?CCL52: FSET? ROPE,DEADBIT \?CCL54 + CALL CANT-REACH,ROPE + RSTACK +?CCL54: PRINTI "Pray describe what you intend to do with" + CALL TRPRINT,ROPE + RSTACK +?CCL49: EQUAL? PRSA,V?FIDDLE,V?RAISE,V?MOVE \FALSE + CALL CTPRINT,CHANDELIER + PRINTI " swings, but is too heavy for you to pull up" + PRINT PCR + RTRUE + + + .FUNCT DESC-ROPE + PRINTI "A " + PRINTD CHANDELIER + PRINTI " is held above" + PRINT DANCE-FLOOR + PRINTI " by a rope and pulley system, so that the servants can lower it to light and snuff its candles. Several feet of " + PRINTD ROPE + PRINTI " hang down from the pulley, the " + FSET? ROPE,EVERYBIT \?CCL3 + PRINTI "excess tied around" + JUMP ?CND1 +?CCL3: PRINTI "end resting on" +?CND1: CALL TPRINT,RAILING + PRINTC 46 + EQUAL? PRSA,V?EXAMINE \TRUE + CRLF + RTRUE + + + .FUNCT CHAND-F + EQUAL? PRSA,V?OFF \?CCL3 + CALL CANT-REACH,CHANDELIER + RSTACK +?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5 + PRINTI "Held in place by a rope running through a pulley," + CALL TPRINT,CHANDELIER + PRINTI " gently swings its one hundred candles over" + PRINT DANCE-FLOOR + PRINT PCR + RTRUE +?CCL5: EQUAL? PRSA,V?SWING,V?UNTIE \FALSE + CALL PERFORM-PRSA,ROPE + RSTACK + + + .FUNCT CRACK-F + EQUAL? PRSA,V?LOOK-INSIDE \?CCL3 + CALL PERFORM,V?EXAMINE,SHIP + RTRUE +?CCL3: EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?ENTER \FALSE + CALL CTPRINT,CRACK + PRINTR " is too narrow." + + + .FUNCT HORN-F + EQUAL? PRSA,V?EMPTY \?CCL3 + PRINTR "You start to empty it, but reconsider." +?CCL3: EQUAL? PRSA,V?EMPTY-FROM \?CCL5 + EQUAL? PRSI,HORN \?CCL5 + CALL PERFORM,V?EMPTY,HORN + RTRUE +?CCL5: EQUAL? PRSA,V?TAKE \?CCL9 + CALL ITAKE,FALSE-VALUE + EQUAL? STACK,M-FATAL,FALSE-VALUE /?CCL9 + FSET? HORN,TOUCHBIT /?CCL9 + FCLEAR POWDER,INVISIBLE + PRINTR "Taken." +?CCL9: EQUAL? PRSA,V?FILL \?CCL14 + EQUAL? PRSO,HORN \?CCL14 + CALL CANT-VERB-A-PRSO,STR?326 + RSTACK +?CCL14: EQUAL? PRSA,V?PUT,V?POUR \?CCL18 + EQUAL? PRSI,HORN \?CCL18 + CALL PERFORM,V?FILL,PRSI,PRSO + RTRUE +?CCL18: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL22 + PRINT YOU-CANT-SEE-ANY + PRINT WAY-TO-DO-THAT + RTRUE +?CCL22: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL24 + PRINTI "Almost triangular, with a little spout on top," + CALL TPRINT,HORN + PRINTI " is similar to the one your father used to carry when hunting. It is filled with a mixture of " + PRINTD POWDER + PRINTI " and shot" + PRINT PCR + RTRUE +?CCL24: EQUAL? PRSA,V?TAKE \FALSE + CALL NOUN-USED,W?POWDER,HORN + ZERO? STACK /FALSE + CALL HELD?,HORN + ZERO? STACK /FALSE + PRINTI "You pour out some " + PRINTD POWDER + PRINTR ". It blows away." + + + .FUNCT ANTEROOM-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + PRINTI "Two exits lead from this cavernous room, north and south. The walls drip with wet, forming a huge pool on the floor." + RTRUE +?CCL3: EQUAL? RARG,M-END \FALSE + ZERO? CROC-FREE \?CCL8 + IN? DAD,HERE \?CCL8 + PRINT INDENT + PRINTI "Your father stops, smiling at" + CALL TPRINT,CROC + PRINTI ", ""Hello, chum, how are you?"" He bends over the creature, and " + ZERO? MUZZLED /?CCL13 + SET 'AWAITING-REPLY,6 + CALL QUEUE,I-REPLY,2 + MOVE GARTER,DAD + FCLEAR GARTER,NDESCBIT + PRINTI "laughs. ""That's my Lucy! Never one to shirk belling the cat. What a woman! Have you been to the kitchen, dear?"" He slips off" + CALL TPRINT,GARTER + PRINTI " and" + JUMP ?CND11 +?CCL13: ZERO? CROC-SLEEP /?CND11 + PRINTI "scratches its bumpy snout, muttering, ""Never seen you sleep like this before."" It stirs to life as " + PRINTD DAD +?CND11: PRINTI " walks over to you by the north entrance. The reptile" + ZERO? CROC-SLEEP /?CND15 + PRINTI ", waking," +?CND15: SET 'CROC-FREE,TRUE-VALUE + SET 'MOUTH-SHUT,FALSE-VALUE + SET 'MUZZLED,FALSE-VALUE + SET 'CROC-SLEEP,FALSE-VALUE + FCLEAR GARTER,TRYTAKEBIT + FSET GARTER,TAKEBIT + PRINTR " lunges after him, choking on its chain." +?CCL8: ZERO? COOKIE-FIGHTING-CROC \FALSE + IN? COOKIE,HERE \FALSE + SET 'COOKIE-FIGHTING-CROC,TRUE-VALUE + FSET CROC,NDESCBIT + PRINT INDENT + PRINTI "Cookie rushes at" + CALL TPRINT,CROC + PRINTI ", crying, ""I'll take care of this monster, sweetheart. You run by and do what you must do."" He dives headlong into" + CALL TPRINT,POOL + IN? RAPIER,COOKIE \?CND21 + MOVE RAPIER,HERE + PRINTI ", throwing free" + CALL TPRINT,RAPIER +?CND21: PRINT PCR + RTRUE + + + .FUNCT CROC-EXIT + ZERO? COOKIE-FIGHTING-CROC /?CCL3 + CALL DUNGEON-ENTRANCE + RSTACK +?CCL3: ZERO? MUZZLED \?CTR4 + ZERO? CROC-SLEEP /?CCL5 +?CTR4: PRINTI "You edge past the reptile" + PRINT PCR + CRLF + RETURN DUNGEON +?CCL5: CALL RUNNING?,I-CROC-OPENS-MOUTH + ZERO? STACK /?CND8 + CALL DEQUEUE,I-CROC-OPENS-MOUTH +?CND8: CALL CTPRINT,CROC + PRINTI " roars at you. You retreat to the north entrance and the monster stills, waiting, chops open, almost smiling" + PRINT PCR + RFALSE + + + .FUNCT DUNGEON-ENTRANCE + ZERO? COOKIE-FIGHTING-CROC \?CCL2 + RETURN DUNGEON +?CCL2: FCLEAR DUNGEON,TOUCHBIT + SET 'VERBOSITY,1 + FSET? CRULLEY,MUNGBIT /?CND1 + ZERO? CRULLEY-BACK \?CND1 + SET 'CRULLEY-CTR,1 + CALL QUEUE,I-CDUNG,-1 + PRINTI "A whip cracks " + ZERO? WHIPPING-SPEECH /?CCL9 + SET 'WHIPPING-SPEECH,FALSE-VALUE + PRINTI "the air. ""Flogs me, will ye, Cap'n? Taste it " + PRINTD ME + PRINTI ", har."" Jamison groans, half conscious" + JUMP ?CND7 +?CCL9: PRINTI "against flesh" +?CND7: PRINTI ". You rush in" + PRINT PCR + CRLF +?CND1: RETURN DUNGEON + + + .FUNCT CROC-F,OARG=0 + ZERO? OARG /?CCL3 + EQUAL? OARG,M-DESC? /TRUE + FSET? CROC,TOUCHBIT \?CCL8 + PRINT INDENT + CALL CTPRINT,CROC + JUMP ?CND6 +?CCL8: FSET CROC,TOUCHBIT + PRINT INDENT + PRINTI "A " + PRINTD CROC +?CND6: PRINTI " lies half in the pool, " + ZERO? CROC-SLEEP /?CND9 + PRINTI "sleeping." + RTRUE +?CND9: PRINTI "gazing at you," + ZERO? MUZZLED /?CCL13 + CALL APRINT,GARTER + PRINTI " around its snout." + RTRUE +?CCL13: ZERO? MOUTH-SHUT /?CCL15 + PRINTI " mouth closed." + RTRUE +?CCL15: PRINTI " with baleful eyes, jaws wide open. Dagger-sharp teeth glint in" + CALL TPRINT,TORCH + PRINTI "light." + RTRUE +?CCL3: EQUAL? PRSA,V?PUT-ON \?CCL17 + EQUAL? PRSO,GARTER \?CCL17 + ZERO? CROC-FREE /?CCL22 + REMOVE PRSO + PRINT CROC-LUNGES + PRINTI "Screaming, you dash back, dropping" + CALL TPRINT,GARTER + PRINTI " into" + CALL TRPRINT,POOL + RSTACK +?CCL22: ZERO? MOUTH-SHUT /?CCL24 + MOVE GARTER,CROC + FSET GARTER,NDESCBIT + SET 'MUZZLED,TRUE-VALUE + FSET GARTER,TRYTAKEBIT + FCLEAR GARTER,TAKEBIT + ZERO? CROC-SLEEP \?CCL27 + CALL QUEUED?,I-CROC-SLEEPS + ZERO? STACK \?CND28 + INC 'SCORE +?CND28: PRINTI "With great daring and greater speed, you slip" + CALL TPRINT,GARTER + PRINTI " around" + CALL TPRINT,CROC + PRINTI "'s snout. " + CALL CTPRINT,CROC + PRINTR " thrashes about, unable to remove it." +?CCL27: CALL CTPRINT,GARTER + PRINTI " fits on its snout like a ring on a wedding finger" + PRINT PCR + RTRUE +?CCL24: CALL CTPRINT,GARTER + PRINTI " won't fit around that open maw" + PRINT PCR + RTRUE +?CCL17: ZERO? CROC-SLEEP /?CCL31 + EQUAL? PRSA,V?ALARM \?CCL31 + PRINTR "That is the last thing you want to do!" +?CCL31: EQUAL? PRSA,V?EMBRACE,V?KISS \?CCL35 + PRINTR "The very thought makes you shiver." +?CCL35: EQUAL? PRSA,V?TOUCH,V?PUT-ON,V?PUT /?CTR36 + EQUAL? PRSA,V?ENTER \?CCL37 +?CTR36: PRINTI "It would be safer to stay distant and throw things at" + CALL TRPRINT,CROC + RSTACK +?CCL37: CALL NOUN-USED,W?MOUTH,CROC + ZERO? STACK /?CCL41 + GET P-ADJW,0 + ZERO? STACK \?CCL41 + GET P-ADJW,1 + ZERO? STACK /FALSE +?CCL41: EQUAL? PRSA,V?MUZZLE \?CCL46 + EQUAL? PRSI,GARTER \?CCL46 + CALL PERFORM,V?PUT-ON,GARTER,CROC + RTRUE +?CCL46: EQUAL? PRSA,V?THROW-TO,V?GIVE,V?THROW /?CTR49 + EQUAL? PRSA,V?THROW-AT \?CCL50 +?CTR49: ZERO? COOKIE-FIGHTING-CROC /?CCL55 + CALL CTPRINT,CROC + PRINTR " is too busy fighting Cookie to notice." +?CCL55: EQUAL? PRSO,BOTTLE \?CCL57 + PRINTR "You might need that later." +?CCL57: EQUAL? PRSO,RETICULE /FALSE + ZERO? CROC-SLEEP /?CCL61 + EQUAL? PRSO,SALTS \?CCL64 + EQUAL? PRSA,V?GIVE \?CCL64 + CALL PERFORM,V?ALARM,CROC,SALTS + RTRUE +?CCL64: PRINTI "But" + CALL TPRINT,CROC + PRINTR " is asleep." +?CCL61: EQUAL? PRSO,PINCH,SPICES \?CCL68 + IN? PINCH,PROTAGONIST \?CCL68 + MOVE PINCH,SPICES + CALL CTPRINT,CROC + PRINTI " blinks its eyes once, but takes no other notice of" + CALL TRPRINT,SPICES + RSTACK +?CCL68: ZERO? CROC-FREE /?CCL72 + REMOVE PRSO + PRINT CROC-LUNGES + CALL CTPRINT,PRSO + PRINTI " drops ignored into" + CALL TRPRINT,POOL + RTRUE +?CCL72: ZERO? MUZZLED /?CCL74 + CALL CTPRINT,CROC + PRINTI " is helpless! " + PRINT MOTHER + RTRUE +?CCL74: REMOVE PRSO + SET 'MOUTH-SHUT,TRUE-VALUE + CALL QUEUE,I-CROC-OPENS-MOUTH,2 + CALL CTPRINT,CROC + PRINTI " snaps its jaws shut as" + CALL TPRINT-PRSO + EQUAL? PRSO,SALTS \?CCL77 + PRINTI " bounce" + PRINTI " off its hide, sinking into" + CALL TRPRINT,POOL + RSTACK +?CCL77: PRINTI " disappear" + EQUAL? PRSO,PANTS /?CND78 + PRINTC 115 +?CND78: PRINTI " into" + EQUAL? PRSO,PORK \?CCL82 + ZERO? PORK-DOPED /?CND83 + CALL QUEUE,I-CROC-SLEEPS,3 +?CND83: PRINTR " its maw." +?CCL82: CALL TRPRINT,POOL + RSTACK +?CCL50: EQUAL? PRSA,V?LEAP \?CCL86 + PRINTR "You can't jump that far." +?CCL86: EQUAL? PRSA,V?THROW-AT,V?STHROW,V?SGIVE \?CCL88 + CALL PERFORM,V?THROW-TO,PRSI,CROC + RTRUE +?CCL88: EQUAL? PRSA,V?EXAMINE \?CCL90 + ZERO? COOKIE-FIGHTING-CROC /?CCL93 + CALL CTPRINT,POOL + PRINTI " boils with the bodies of" + CALL TPRINT,CROC + PRINTI " and" + CALL TRPRINT,COOKIE + RSTACK +?CCL93: ZERO? MUZZLED /?CCL95 + CALL CTPRINT,CROC + PRINTI "'s snout is pinned closed by" + CALL APRINT,GARTER + ZERO? CROC-SLEEP /?CND96 + PRINT SNORTS-IN-SLEEP +?CND96: PRINT PCR + RTRUE +?CCL95: ZERO? MOUTH-SHUT /?CCL99 + PRINTI "Two gleaming teeth poke out of" + CALL TPRINT,CROC + PRINTI "'s closed mouth" + ZERO? CROC-SLEEP /?CND100 + PRINT SNORTS-IN-SLEEP +?CND100: PRINT PCR + RTRUE +?CCL99: CALL CTPRINT,CROC + PRINTI " smiles at you invitingly, white teeth shining in" + CALL TPRINT,TORCH + PRINTR "light." +?CCL90: EQUAL? PRSA,V?KICK,V?MUNG,V?KILL \FALSE + ZERO? COOKIE-FIGHTING-CROC /?CCL106 + PRINTD COOKIE + PRINTI " is seeing to" + CALL TRPRINT,CROC + RSTACK +?CCL106: ZERO? CROC-SLEEP /?CCL108 + PRINTI "Harm a sleeping animal! " + PRINT MOTHER + RTRUE +?CCL108: ZERO? MUZZLED /?CCL110 + PRINTI "The tear welling up in" + CALL TPRINT,CROC + PRINTI "'s eye is rather poignant. You can't bear to hurt the beast in this state" + PRINT PCR + RTRUE +?CCL110: PRINTI "You have no wish to get any closer to" + CALL TRPRINT,CROC + RSTACK + + + .FUNCT I-CROC-OPENS-MOUTH + ZERO? MUZZLED \FALSE + IN? CROC,HERE \FALSE + SET 'MOUTH-SHUT,FALSE-VALUE + PRINT INDENT + PRINTI "With an inaudible creak," + CALL TPRINT,CROC + PRINTI "'s mouth opens again" + PRINT PCR + RTRUE + + + .FUNCT POOL-F + EQUAL? PRSA,V?SWIM,V?CRAWL-UNDER,V?ENTER \?CCL3 + PRINTI "You splash around at the outskirts of" + CALL TRPRINT,POOL + RSTACK +?CCL3: EQUAL? PRSA,V?THROW-AT,V?THROW-TO,V?THROW \?CCL5 + EQUAL? PRSO,PORK \?CCL8 + ZERO? MOUTH-SHUT \?CCL8 + ZERO? CROC-SLEEP \?CCL8 + PRINTI "With a terrific splash," + CALL TPRINT,CROC + PRINTI " throws itself after" + CALL TPRINT-PRSO + PRINTI ". " + CALL PERFORM,V?THROW,PORK,CROC + RTRUE +?CCL8: EQUAL? PRSO,BOTTLE \?CCL13 + CALL PERFORM,V?THROW,BOTTLE,CROC + RTRUE +?CCL13: REMOVE PRSO + CALL CTPRINT,PRSO + PRINTI " splashes into" + CALL TRPRINT,POOL + RSTACK +?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \?CCL15 + PRINTI "It's too murky to see anything" + PRINT PCR + RTRUE +?CCL15: EQUAL? PRSA,V?PUT \?CCL17 + REMOVE PRSO + CALL CTPRINT,PRSO + PRINTR " sinks from sight." +?CCL17: EQUAL? PRSA,V?DRINK-FROM,V?DRINK \FALSE + PRINTR "Yechh!" + + + .FUNCT DUNGEON-F,RARG + EQUAL? RARG,M-LOOK \?CCL3 + PRINTI "You sense, rather than see, the rusty skeletons of old cages and torture devices that line the walls of this cavernous room. One flaming torch, high on a wall, casts mad licks of light into the darkness. Passages lead north and west. Set deep in the rocky floor is a" + CALL TELL-OPEN/CLOSED,TRAP,TRUE-VALUE + PRINTC 32 + PRINTD TRAP + PRINT PCR + PRINT INDENT + CALL DESC-MANACLES + RSTACK +?CCL3: EQUAL? RARG,M-BEG \?CCL5 + ZERO? ENDGAME /?CCL5 + IN? CRULLEY,HERE \?CCL5 + FSET? CRULLEY,MUNGBIT /?CCL5 + EQUAL? HERO,PRSO,PRSI \?PRD14 + CALL AFFIRMATIVE-ANSWER + ZERO? STACK \?CTR11 +?PRD14: CALL TOUCHING?,HERO + ZERO? STACK \?CTR11 + CALL TOUCHING?,MANACLES + ZERO? STACK /?CCL12 +?CTR11: PRINTD CRULLEY + PRINTR " growls, ""Keep away from 'im.""" +?CCL12: CALL TOUCHING?,TRAP + ZERO? STACK /FALSE + EQUAL? PRSA,V?BOARD,V?ENTER /FALSE + PRINTD CRULLEY + PRINTR " barks, ""Leave that alone.""" +?CCL5: EQUAL? RARG,M-END \FALSE + ZERO? CRULLEY-BACK /FALSE + PRINT INDENT + PRINTD CRULLEY + PRINTI " jumps out of the shadows at you." + CALL JIGS-UP,FALL-TO-BOTTOM + RSTACK + + + .FUNCT DUNGEON-EXIT + CALL RUNNING?,I-CDUNG + ZERO? STACK /?CND1 + CALL DEQUEUE,I-CDUNG + FCLEAR CRULLEY,EVERYBIT + PRINTI """Come back 'ere, wench!""" + CALL TPRINT,CRULLEY + PRINT CALLS-AFTER +?CND1: EQUAL? P-WALK-DIR,P?WEST \?CCL5 + RETURN PASSAGE-4 +?CCL5: EQUAL? P-WALK-DIR,P?NORTH \FALSE + RETURN ANTEROOM + + + .FUNCT MANACLES-F + EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3 + CALL DESC-MANACLES + RSTACK +?CCL3: EQUAL? PRSA,V?CLOSE \?CCL5 + ZERO? PRSI /?CCL8 + CALL PERFORM,V?PUT-ON,MANACLES,PRSI + RTRUE +?CCL8: CALL OPEN-CLOSE,PRSO,FALSE-VALUE,STR?327 + RSTACK +?CCL5: EQUAL? PRSA,V?OPEN \?CCL10 + FSET? MANACLES,OPENBIT \?CCL13 + PRINTR "They are already open!" +?CCL13: EQUAL? PRSI,JEWEL \?CCL15 + CALL PROPOSE + RSTACK +?CCL15: PRINTI "It isn't that easy" + PRINT PCR + RTRUE +?CCL10: EQUAL? PRSA,V?UNLOCK,V?PICK \?CCL17 + EQUAL? PRSI,JEWEL \?CCL17 + PRINTI "You twist the pin of" + CALL TPRINT,JEWEL + PRINTI " in the " + IN? HERO,MANACLES \?CCL22 + MOVE HERO,HERE + INC 'SCORE + FSET MANACLES,OPENBIT + PRINTI "locks, quickly freeing Nicholas. " + FSET? HERO,DEADBIT \?CCL25 + PRINTI "He falls in a faint at your feet" + PRINT PCR + RTRUE +?CCL25: CRLF + CALL NICK-RUNS-OFF + RSTACK +?CCL22: FSET MANACLES,OPENBIT + FCLEAR MANACLES,LOCKEDBIT + PRINTI "manacles until they pop open" + PRINT PCR + RTRUE +?CCL17: EQUAL? PRSA,V?UNLOCK \?CCL27 + PRINTI "That key is much too large to fit in" + CALL TRPRINT,MANACLES + RSTACK +?CCL27: EQUAL? PRSA,V?WEAR,V?REACH-IN \?CCL29 + CALL PERFORM,V?PUT-ON,MANACLES,ME + RTRUE +?CCL29: EQUAL? PRSA,V?PUT \?CCL31 + EQUAL? PRSO,ME \?CCL34 + CALL PERFORM,V?PUT-ON,MANACLES,ME + RTRUE +?CCL34: EQUAL? PRSO,LARGE-KEY \?CCL36 + CALL PERFORM,V?UNLOCK,MANACLES + RTRUE +?CCL36: MOVE PRSO,HERE + CALL CTPRINT,PRSO + PRINTR " drops to the floor." +?CCL31: EQUAL? PRSA,V?WEAR,V?PUT-ON /?CCL38 + EQUAL? PRSA,V?TIE \FALSE + EQUAL? P-PRSA-WORD,W?FASTEN,W?SECURE,W?ATTACH \FALSE +?CCL38: EQUAL? PRSI,ME \?CCL45 + PRINTI "Mama would not have praised your intelligence" + PRINT PCR + RTRUE +?CCL45: EQUAL? PRSI,DAD \?CCL47 + SET 'AWAITING-REPLY,1 + CALL QUEUE,I-REPLY,2 + PRINTR "He wanders off before you can get them on him. ""Oh dear, you have learned atrocious manners these last few year in London!""" +?CCL47: EQUAL? PRSI,HERO \?CCL49 + PRINT YOU-CANT + PRINTR "lift him high enough." +?CCL49: PRINT YOU-CANT + PRINTI "put that in " + PRINTD MANACLES + PRINTR "!" + + + .FUNCT DESC-MANACLES + IN? HERO,MANACLES \?CCL3 + PRINTI "Nicholas is spread-eagled against the wall, shackled in the " + PRINTD MANACLES + PRINTC 46 + JUMP ?CND1 +?CCL3: IN? PROTAGONIST,MANACLES \?CCL5 + PRINTI "You lean against the wall, one arm raised above " + PRINTD HEAD + PRINTI ", cuffed in a manacle." + JUMP ?CND1 +?CCL5: PRINTI "A " + PRINTD MANACLES + PRINTI " hangs from iron chains attached high on the wall." +?CND1: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \TRUE + CRLF + RTRUE + + + .FUNCT GEN-WELL + EQUAL? HERE,DUNGEON \FALSE + RETURN TRAP + + + .FUNCT TRAP-F + EQUAL? PRSA,V?MOVE,V?RAISE,V?OPEN /?CTR2 + EQUAL? PRSA,V?LOWER,V?CLOSE \?CCL3 +?CTR2: CALL OPEN-CLOSE,TRAP,STR?328,FALSE-VALUE + RSTACK +?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-UNDER \?CCL7 + FSET? TRAP,OPENBIT \?CCL10 + IN? CRULLEY,TRAP \?CCL13 + PRINTD CRULLEY + PRINTR " is slowly climbing up the well." +?CCL13: PRINTI "You smell salt water and mold, but you can see nothing" + PRINT PCR + RTRUE +?CCL10: PRINTI "It" + PRINT IS-CLOSED + PRINT PCR + RTRUE +?CCL7: EQUAL? PRSA,V?STAND-ON,V?BOARD,V?ENTER \?CCL15 + FSET? TRAP,OPENBIT \?CCL18 + PRINTI "You start to climb down the well, but lose your footing on the slimy rock." + FSET? CRULLEY,MUNGBIT \?CND16 + PRINTI " At least you take" + CALL TPRINT,CRULLEY + PRINTI " with you as you fall." + JUMP ?CND16 +?CCL18: PRINTI "As you stand on" + CALL TPRINT,TRAP + PRINTI ", the rotted wood tears away." +?CND16: CALL JIGS-UP,FALL-TO-BOTTOM + RSTACK +?CCL15: EQUAL? PRSA,V?PUT-ON \?CCL22 + FSET? TRAP,OPENBIT \?CCL22 + CALL PERFORM,V?THROW,PRSO,TRAP + RTRUE +?CCL22: EQUAL? PRSA,V?PUT-THROUGH,V?PUT,V?THROW /?CCL26 + EQUAL? PRSA,V?THROW-AT \FALSE +?CCL26: EQUAL? PRSO,RAPIER \?CCL31 + PRINTD HERO + PRINTR " would not thank you for doing that." +?CCL31: EQUAL? PRSO,RETICULE /FALSE + FSET? CRULLEY,MUNGBIT \?CCL35 + CALL PERFORM,V?THROW,PRSO,CRULLEY + RTRUE +?CCL35: REMOVE PRSO + PRINTI "You drop" + CALL TPRINT-PRSO + PRINTI " into the well. Several seconds later you hear a tiny splash" + PRINT PCR + RTRUE + + + .FUNCT CELL-4-F,RARG + EQUAL? RARG,M-END \?CCL3 + FSET? DAD,TOUCHBIT /?CCL3 + FSET DAD,TOUCHBIT + FCLEAR DAD,NDESCBIT + INC 'SCORE + EQUAL? DANCED-WITH,LAFOND \?CND6 + CALL QUEUE,I-SUMMONS,15 +?CND6: CALL QUEUE,I-DAD,2 + PRINT INDENT + PRINTI "As you enter, a tall bony man moves out of the darkness. ""Papa,"" you cry, rushing into his arms. + ""Why, hullo, my dear."" He hugs you tightly. ""Nick certainly took his time about fetching you." + ZERO? BOY-DRESS? \?CCL9 + FSET? CHEMISE,EVERYBIT /?CND8 +?CCL9: PRINTI """ He squints in horror at your clothes. ""I have always found the London fashions quite abominable." + FSET? CHEMISE,EVERYBIT /?CND8 + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTI " Aren't you a trifle cold?" +?CND8: PRINTR """" +?CCL3: ZERO? RARG \FALSE + RFALSE + + + .FUNCT CELL-OBJ-F + EQUAL? PRSA,V?BOARD,V?ENTER \?CCL3 + EQUAL? HERE,CELL-1,CELL-2,CELL-4 \?CCL6 + PRINT LOOK-AROUND + RTRUE +?CCL6: EQUAL? HERE,PASSAGE-1,PASSAGE-2 \?CCL8 + CALL DO-WALK,P?EAST + RSTACK +?CCL8: EQUAL? HERE,PASSAGE-4 \FALSE + CALL DO-WALK,P?NORTH + RSTACK +?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK \FALSE + EQUAL? HERE,CELL-1,CELL-2,CELL-4 \?CCL15 + CALL V-LOOK + RSTACK +?CCL15: PRINTI "You would do better to enter it" + PRINT PCR + RTRUE + + .ENDI diff --git a/island.zil b/island.zil new file mode 100644 index 0000000..202bf15 --- /dev/null +++ b/island.zil @@ -0,0 +1,3501 @@ +"ISLAND for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + + + + ) + ( + ) + ( + > + ) + (T + + )>)>> + + + + + > + ) + (T )>> + + + + + + + + + ) + (T + )> + )> + + + ) + (T + )> + ;) + >) + ( + ,ENDGAME + > + > + + + ) + ( + + > + + ) + ( + > + )>> + + + + ) + (T + )>> + + + + + ) + ( + + + ) + ( + ) + (T + )>)>> + + + + + + + ) + (T + )>) + ( + > + + ) + (,COOKIE-LOOKING + ) + (T + )>)>> + + + ,FLOWER)>> + + + + + >> + ) + ( + )>> + + + + + + > + > + > + + )>> + + + + + + ) + ( + ) + (T + )>) + ( + + ) + ( + + ) + (T + )>)>> + + + +> + + + + + > + ) + ( + ) + ( + ) + (T + + + + )>) + ( + + + ) + (T + )>)>> + + + + + ) + ( + + ) + ( + ) + ;( + ) + (T + + + > + )> + + + )>) + ( + )>> + + + + ) + (T + ; + + + + + )> + )> + ; ,FOLLY> + )> + )>) + (T + + )>> + + + + + + + + + )>> + + + + + + + + + + + + ) + (> + )> + ) + (T + )> + ) + ( + ,COOKIE-LOOKING> + )>> + + + + + + + + ) + (T + )>> + + + + + > + + + )>> + + + + + + >> + + ) + ( + + ) + (T + )>)>> + + + + + >> + ) + ( + ) + ;( + > + ) + ( + > + + ) + ( + > + + )>> + +; + + ) + (T + + )>) + (T + + )>> + + + + + +; + ) + ( + > + + + )>> + + + + + +; + +;)) + > + + )> + + )> + + + ) + ( + + ) + (T + )> + ) + (T + )> + >> + +; + + + +;"IF LUCY IS THERE: Can't enter kitchen except as boy." + + > + > + + + )>) + ( + + ) + (T + + )>)>> + + ,HERE> + > + + >> + + ; + + + ) + (T + + > + > + )> + + ) + (T + )>)>> + + + + + >> + + ) + (,ENDGAME + + + ) + (T + )>) + (> + + ) + (T + )> + + ) + (T + ; + >> + )> + + )>> + +; + +; + + + )> + > + + + + + + + > + > + + + + + ) + ( + + ) + (T + )>) + (,BOY-DRESS? + ) + (T + ; + >> + + )>) + (,COOKIE-LOOKING + ) + (T + )>) + ;( + > + + > + ) + ( + > + >> + )>> + + + + ) + ( + ) + ( + ) + ( + + + ) + (T + )>)>) + ( + + + ) + (T + + + + )>> + + + + +> ;"Keeps track of your dances, with Nick, with Lafond" + +)) + + + ) + (T + )>) + (T + )> + ) + ( + > + + ) + ( + + > + + + ) + (T + )>) + ( + + > + > + > + >> + + ) + ( + + > + + ) + ( + > + + ) + ( + > + ) + (T + )>) + ( + ,COOKIE-LOOKING> + )>> + + + + + + ) + ( + + ) + ( + + ) + (T + + )>) + ( + + ) + ( + ;> + ; + ; + ; + + ) + ( + ,HERE> + ;>> + + + )> + + ) + ( + + ) + (T + + )>) + ( + ) + ( + )>> + + + + + ) + (T + )>) + (T + + )>> + + + + + >> + ) + (T + )>) + ( + ,COOKIE-LOOKING> + )>> + + + + + ) + ( + ,COOKIE-LOOKING> + )>> + + + + ) + (T + )>> + + + +;)>> + + + + + > + > + > + ) + (> + + ) + (T + )>) + ( + )>> + + + + + + + + )> + + + )> + > + ) + (T + )>) + ( + + >> + + ) + ( + ;"can't get anymore" + >> + + ,HERE> + )> + + ) + ( + ) + (T + )> + + ) + ( + + > + )> + + + + + + + + + ) + ( + > + + ;"get them out of ballroom" + ) + (T + )>)>> + +;> + + ) + (T + ; + + + + + + )> + + ) + (T + )>)>> + +> + + ) + (> + + ) + (T + + + )> + + + + ; + + )> + ) + ( + + )>)>> + + + + + + ) + (T + )>) + ( + + ;) + ( + + ) + (T + )>) + ( + + ) + (T + )>)>> + +; + +; + > + + + + + ) + ( + + + ) + (T + )>) + ;( + > + + + ) + (T + )> + ) + (T + )>) + ( + > + + + + > + + )> + + ) + (T )>) + ( + + > + + > + + ) + (T + + + ) + (T + )>)>) + ( + + + ) + (T )> + )>> + + + + + ) + ( + > + ) + ( + + ;)>> + + + + + + + + + ) + (T + )>) + (T + )>) + ( + + + ) + (T + )>) + ;( + ) + ( + > + ) + (T + )>) + ( + + ) + ( + + + + + )> + ) + (T + )>) + (T + )>) + ( + > + ) + ( + + + + )>)>> + + + + + + >> + + + + > + + + + >> + + > + + >)> + + + )>)>) + (T + )> + ) + ( + ) + ( + + + + >> + ) + ( + + + > + ) + (T + )>)>> + + + + + ) + ( + ) + ( + )>> + + + + + + ) + ( + + + ) + ( + )>> + + + + + + > + + >)> + > + + )> + ) + ( + )>> + + + + ,BOOKS-GLOBAL)>> + + + + + + ) + (T + + )>) + ( + > + + ) + (> + ) + (T + + + + )>) + ( + > + )>> + + + + + + + + + + + )>> + +; + + )>> + + + + + + + ) + ( + ) + (T + ) + ;( + + ;)>> + + + + + )>> + + + + + + + + + ,LAFOND-LOOKING> + > ;"(9)" + > + > + + ) + ;( + + )> + ) + ( + > + ) + ( + + ) + ( + ) + (T + )>) + (T + )> + + + + ) + ( + )> + ) + ( + >> + + > + + + + > + )> + ) + ( + )>> + + + + + ) + ( + >> + + ) + (T + + > + + )> + + ,HERE>>> + + ) + (T + + + ) + (T + + )> + )>)>> + + + +;> + +; + + + + + ) + ( + + + ) + ( + ) + (T + )> + + ; + > + + )> + ) + ( + + ; + ) + (T + )> + ; + > + + ) + (T + )>) + ( + > + ) + ( + ) + ( + + ) + ( + > + ) + (T + )>) + ;( + "You close the shutters, blocking +out the night, moonlight, and fresh air. The room gets darker and closer">)>> + + + +;)) T> + +> + + + + + ) + (T + )>> + + + + + + ) + (T + + + + + )>) + ( + + + + ,WELL>> + )> + ) + (T + + )>) + ( + + ) + ( + + ) + ;( + + >> + ) + ( + ,PRSI + >> + + ) + ( + + + ; ,HERE> + >> + + ) + ( + + ) + ( + + ) + ( + ,DUNGEON>> + + )> + + + + > + ) + ( + + ;> + > + + + > + + + + + + ; + ) + (T + )> + + + + + + + + + + )> + ) + (T + )>) + (T + )>)>> + + + > + >> + ) + (T + )>> + + + + ) + (T + )>> + + + + + + ,TRAY> + ) + (T + )>) + ( + > + ) + ( + ) + ( + > + )>> + + + + + + ) + (T + )>) + ( + )>> + + + + + ) + ( + + ; + + ) + (T + )>) + ( + > + + ) + ( + > + + )>> + + + + + + ; + > + ) + (T + )>) + ( + > + ) + ( + > + + ) + ( + + > + ) + ( + ; + ; + )>> + + + +; + + + + ) + ( + ) + (T + )>) + ( + > + + ) + ( + + + > + ) + (T + )>) + ( + ) + ( + + ,WINED ,W-P> + + ) + (T + )>) + (T + )>) + ( + > + ) + ( + + > + ) + ( + 0>> + + ) + ( + 0>> + + ) + (T + )>)>> + + 0 ,POISONED> + + ) + ( + + ) + ( ,W-P> + >> + )> + + + > + +)) + ,POISONED> + ) + (T + 1>>)> + + ) + (T + )>> + + +> ;"set to person who gets drugged" + ;"following you falling asleep" + ;"watching someone else fall asleep" + + + ) + ( + > + > + + > + ) + ( + + + )> + ,PCR>)> + > + ) + ( + ,PCR>)> + + >> + + + )> + > + + + > + +> + +>> CR> + + ) + ( + + + ) + ( + + >> + ) + (T + + > + )> + )>) + (T + )>> + +> + +> +;> + + + + + + + + +> + + + + + + + > ,PCR>) + ( + ) + ( + ) + (T + )>) + ( + + ) + ( + > + + ) + ( + ) + ( + + ) + ( + + > + ) + ( + > + ) + (T )>)>> + +> + + + + + ) + ( + ) + (T + )> + + > + ) + (T + )>> + + + +)) + + > + > + > + > + > + >> + ; + + + + + > + ) + ( + ) + ( + > + ) + ( + + ) + ( + + ) + (T + )>) + ( + + ) + ( + > + + ) + ( + > + + + + ;) + (T + )>) + ( + > + + + ) + ( + + + ) + ( + ) + (T + )> + + ;)>> + +;"Used by the Gallery and Stairtop." + +; + + ) + ( + ) + (T + )> + > + + + + + + +)) + + )> + + ) + ( + ) + ( + + ) + ( + >> + ) + (T + + + )> + + + + + + + + + + + + + + + + + > + + ) + ( + )> + + )> + + + + + + ) + (T + )> + + + ; + + ; + ) + (T + ; + )>) + ( + ) + (T + ; + )>)>) + ;( + + > + + + ) + ( + + ; + > + + ) + (T + + + + + + )>) + ( + )>)>) + ( + > + + ) + (T + + )>) + ( + + + + ; + ;) + (T + )>) + ( + + ) + ( + ) + (T + + ;)>) + ( + )>> + + + + ) + (T + )> + + + ) + (T + )>> + + + + + ) + ( + ) + ( + )>> + +; + + + )> + + > + + > + >> + )> + ) + ( + ) + (T + )>> + + + +; + + > + )>> + + + + + + + + + + + + ) + ( + )>> + + + +> + + + + + ) + ( + > + + ) + ( + > ,M-FATAL <>>> + >> + + ) + ( + > + + ; + ; + + ) + (T + )>) + ( + > + + ) + ( + ) + ( + ) + ( + + > + )>> + + + + + + + +; "Mud is splashed ankle deep, filling a deep pit in the floor." + + + +; + +; + ) + (T + )>> + + + + + ) + ( + + > + + + + + + ) + (,CROC-SLEEP + )> + + )> ;"in MUZZLED case" + + > + > + > + ;"stop implicit take" + + ) + ( + > + + + + + + )> + )>)>> + + + +) + ( + + ) + (T + + )> + + )>> + + ;"So there's a new room desc." + + > + > ;"before he goes down or" + ;"comes back up well" + + + > + ) + (T + )> + )>)> + > + + +> +> +> ;"<> until Dad takes either the garter or wakes it" +> + + + + + + + +)) + + )> + + ) + (T + + )> + + + )> + + ) + (,MOUTH-SHUT + ) + (T + )>) + ( + > + + ) + (,MOUTH-SHUT + + + + ;"stop implicit take" + + + > + >)> + ) + (T + )>) + (T + )>) + (> + ) + ( + ) + ( + ) + ( + > + >> + ) ;"OPEN/L AT/etc. MOUTH" + ( + > + + ) + ( + ) + ( + ) + ( + ) + (,CROC-SLEEP + + > + + ) + (T + )>) + ( + > + + ) + (,CROC-FREE + + + ) + (,MUZZLED + ) + (T + + + + + + + ; + )> + ) + (T + + > + )> + + + )> + ) + (T + )>)>)>) + ( + ) + ( + + ) + ( + ) + (,MUZZLED + + )> + ) + (,MOUTH-SHUT + + )> + ) + (T + )>) + ( + ) + (,CROC-SLEEP + ) + (,MUZZLED + ) + (T + + ;)>)>> + + + > + > + ) + (T + )>> + + + + + ) + ( + + + > + + + ) + ( + + ) + (T + + )>) + ( + ) + ( + + ) + ( + )>> + + + + + + + + ; + )> + ; + ) + ( + ,ENDGAME + + >> + + > + + + ;> + ) + ( + >> + ; + > + ) + (T + )>) + ( + + ) + (T + )>)>> + + + + + )> + + ) + ( + )> + ; + + ) + (T + + + )> + + ) + ( + )>)>> + + + + + ) + ( + + ) + (T + "They clamp shut">)>) + ( + + > + ) + ( + ) + ( + ) + (T + )>) + ( + > + + + + + ) + ( + + > + + + + ) + (T + + )>) + (T + + + )>) + ( + + ; + ) + ;( + )> + ;) + ( + + ) + ( + + + ) + ( + + ) + (T + + )>) + ( + + >> + + ) + ;( + + + + ) + ( + + + ) + ( + ) + (T + )>)>> + +;> + + + ) + ( + ) + (T + )> + + ) + (T + )>> + + + ,TRAP)>> + + + + + > + >) + ( + + + ) + (T + )>) + (T )>) + ( + + + + )>) + (T + )> + ) + ( + > + + ) + ( + + ) + ( + ) + ( + + ) + (T + + )>)>> + + + + + + + + + >> + + + > + + )> + + + >> + + > + + + )>)> + ) + (.RARG + )>> + + + + + + ) + ( + ) + ( + )>) + ( + + ) + (T + )>)>> diff --git a/misc.zap b/misc.zap new file mode 100644 index 0000000..19f69f6 --- /dev/null +++ b/misc.zap @@ -0,0 +1,562 @@ + + + .FUNCT PICK-ONE,TBL,LENGTH,CNT,RND,MSG,RFROB + GET TBL,0 >LENGTH + GET TBL,1 >CNT + DEC 'LENGTH + ADD TBL,2 >TBL + MUL CNT,2 + ADD TBL,STACK >RFROB + SUB LENGTH,CNT + RANDOM STACK >RND + GET RFROB,RND >MSG + GET RFROB,1 + PUT RFROB,RND,STACK + PUT RFROB,1,MSG + INC 'CNT + EQUAL? CNT,LENGTH \?CND1 + SET 'CNT,0 +?CND1: PUT TBL,0,CNT + RETURN MSG + + + .FUNCT APRINT,OBJ + FSET? OBJ,NARTICLEBIT /?CTR2 + EQUAL? OBJ,PANTS,RUM,SALTS \?CCL3 +?CTR2: PRINTC 32 + JUMP ?CND1 +?CCL3: FSET? OBJ,VOWELBIT \?CCL7 + PRINTI " an " + JUMP ?CND1 +?CCL7: PRINTI " a " +?CND1: PRINTD OBJ + RTRUE + + + .FUNCT TPRINT,OBJ + FSET? OBJ,NARTICLEBIT \?CCL3 + PRINTC 32 + JUMP ?CND1 +?CCL3: PRINTI " the " +?CND1: PRINTD OBJ + RTRUE + + + .FUNCT CTPRINT,OBJ + PRINTI "The " + PRINTD OBJ + RTRUE + + + .FUNCT TPRINT-PRSO + CALL TPRINT,PRSO + RSTACK + + + .FUNCT TPRINT-PRSI + CALL TPRINT,PRSI + RSTACK + + + .FUNCT ARPRINT,OBJ + CALL APRINT,OBJ + PRINT PCR + RTRUE + + + .FUNCT TRPRINT,OBJ + CALL TPRINT,OBJ + PRINT PCR + RTRUE + + + .FUNCT GO +START:: + +?FCN: PRINTI ">SHOOT THE PIRATE +Trembling, you fire the heavy arquebus. You hear its loud report over the roaring wind, yet the dark figure still approaches. The gun falls from your nerveless hands. + ""You won't kill me,"" he says, stepping over the weapon. ""Not when I am the only protection you have from Jean Lafond."" + " + PRINT NUTBROWN + PRINTI "Lips curving," + PRINT EYES-RAKE + PRINTI ". You are intensely aware of the strength of his hard seaworn body, of the deep sea blue of his eyes. And then his mouth is on yours, lips parted, demanding, and you arch into his kiss... + He presses you against him, head bent. ""But who, my dear,"" he whispers into your hair, ""will protect you from me?"" +" + CRLF + PRINT HIT-RETURN + PRINTI "begin.]" + CRLF + READ P-INBUF,P-LEXV + USL + CALL CLEAR-SCREEN,11 + SET 'HERE,CABIN + USL + CALL V-VERSION + CRLF + PRINTI "LATE ONE SPRING NIGHT IN THE WEST INDIES... + + A crash overhead! Pirates are boarding the Lafond Deux! The first mate hurries you into Captain Davis's cabin. + ""Good, you brought the girl,"" Davis smirks. ""She'll keep the pirates busy. She was only a tool of Lafond's, anyway. Let me just find that cof--"" A man on deck screams in agony and Davis starts. ""Let's go."" The captain thrusts you on the bed and walks out, locking the door. + His laugh echoes. ""Best get comfortable, girl. You're likely to be there for the rest of your life.""" + CRLF + CRLF + CALL V-LOOK + CALL MAIN-LOOP + JUMP ?FCN + + + .FUNCT CLEAR-SCREEN,CNT=24 +?PRG1: CRLF + DEC 'CNT + ZERO? CNT \?PRG1 + RTRUE + + + .FUNCT MAIN-LOOP,TRASH +?PRG1: CALL MAIN-LOOP-1 >TRASH + JUMP ?PRG1 + + + .FUNCT MAIN-LOOP-1,ICNT,OCNT,NUM,CNT=0,OBJ=0,TBL,V,PTBL=1,OBJ1,TMP,ONUM,?TMP1 + CALL PARSER >P-WON + ZERO? P-WON /?CCL3 + GETB P-PRSI,P-MATCHLEN >ICNT + GETB P-PRSO,P-MATCHLEN >OCNT + ZERO? P-IT-OBJECT /?CND4 + CALL ACCESSIBLE?,P-IT-OBJECT + ZERO? STACK /?CND4 + SET 'TMP,FALSE-VALUE +?PRG8: IGRTR? 'CNT,ICNT /?REP9 + GETB P-PRSI,CNT + EQUAL? STACK,IT \?PRG8 + CALL TOO-DARK-FOR-IT? + ZERO? STACK \TRUE + PUTB P-PRSI,CNT,P-IT-OBJECT + SET 'TMP,TRUE-VALUE +?REP9: ZERO? TMP \?CND17 + SET 'CNT,0 +?PRG19: IGRTR? 'CNT,OCNT /?CND17 + GETB P-PRSO,CNT + EQUAL? STACK,IT \?PRG19 + CALL TOO-DARK-FOR-IT? + ZERO? STACK \TRUE + PUTB P-PRSO,CNT,P-IT-OBJECT +?CND17: SET 'CNT,0 +?CND4: GETB P-SYNTAX,P-SBITS + BAND STACK,P-SONUMS >ONUM + ZERO? OCNT /?CTR29 + ZERO? ICNT \?CCL30 + EQUAL? ONUM,2 \?CCL30 +?CTR29: SET 'NUM,0 + JUMP ?CND28 +?CCL30: GRTR? OCNT,1 \?CCL36 + SET 'TBL,P-PRSO + ZERO? ICNT \?CCL39 + SET 'OBJ,FALSE-VALUE + JUMP ?CND37 +?CCL39: GETB P-PRSI,1 >OBJ +?CND37: SET 'NUM,OCNT + JUMP ?CND28 +?CCL36: GRTR? ICNT,1 \?CCL41 + SET 'PTBL,FALSE-VALUE + SET 'TBL,P-PRSI + GETB P-PRSO,1 >OBJ + SET 'NUM,ICNT + JUMP ?CND28 +?CCL41: SET 'NUM,1 +?CND28: ZERO? OBJ \?CND42 + EQUAL? ICNT,1 \?CND42 + GETB P-PRSI,1 >OBJ +?CND42: EQUAL? PRSA,V?WALK \?CCL48 + CALL PERFORM-PRSA,PRSO >V + JUMP ?CND46 +?CCL48: ZERO? NUM \?CCL50 + GETB P-SYNTAX,P-SBITS + BAND STACK,P-SONUMS + ZERO? STACK \?CCL53 + CALL PERFORM-PRSA >V + SET 'PRSO,FALSE-VALUE + JUMP ?CND46 +?CCL53: PRINTI "There isn't anything to " + GET P-ITBL,P-VERBN >TMP + EQUAL? PRSA,V?TELL \?CCL56 + PRINTI "talk to" + JUMP ?CND54 +?CCL56: ZERO? P-OFLAG \?CTR57 + ZERO? P-MERGED /?CCL58 +?CTR57: GET TMP,0 + PRINTB STACK + JUMP ?CND54 +?CCL58: GETB TMP,2 >?TMP1 + GETB TMP,3 + CALL WORD-PRINT,?TMP1,STACK +?CND54: PRINTC 33 + CRLF + SET 'V,FALSE-VALUE + CALL STOP + JUMP ?CND46 +?CCL50: SET 'P-NOT-HERE,0 + SET 'P-MULT,FALSE-VALUE + GRTR? NUM,1 \?CND61 + SET 'P-MULT,TRUE-VALUE +?CND61: SET 'TMP,FALSE-VALUE +?PRG63: IGRTR? 'CNT,NUM \?CCL67 + GRTR? P-NOT-HERE,0 \?CCL70 + PRINTI "[The " + EQUAL? P-NOT-HERE,NUM /?CND71 + PRINTI "other " +?CND71: PRINTI "object" + EQUAL? P-NOT-HERE,1 /?CND73 + PRINTC 115 +?CND73: PRINTI " that you mentioned " + EQUAL? P-NOT-HERE,1 /?CCL77 + PRINTI "are" + JUMP ?CND75 +?CCL77: PRINTI "is" +?CND75: PRINTI "n't here.]" + CRLF + JUMP ?CND46 +?CCL70: ZERO? TMP \?CND46 + CALL REFERRING + JUMP ?CND46 +?CCL67: ZERO? PTBL /?CCL81 + GETB P-PRSO,CNT >OBJ1 + JUMP ?CND79 +?CCL81: GETB P-PRSI,CNT >OBJ1 +?CND79: ZERO? PTBL /?CCL84 + SET 'PRSO,OBJ1 + JUMP ?CND82 +?CCL84: SET 'PRSO,OBJ +?CND82: ZERO? PTBL /?CCL87 + SET 'PRSI,OBJ + JUMP ?CND85 +?CCL87: SET 'PRSI,OBJ1 +?CND85: GRTR? NUM,1 /?CCL89 + GET P-ITBL,P-NC1 + GET STACK,0 + EQUAL? STACK,W?ALL,W?EVERYT \?CND88 +?CCL89: CALL DONT-ALL,OBJ1 + ZERO? STACK \?PRG63 + EQUAL? OBJ1,IT \?CCL97 + PRINTD P-IT-OBJECT + JUMP ?CND95 +?CCL97: EQUAL? OBJ1,HIM \?CCL99 + PRINTD P-HIM-OBJECT + JUMP ?CND95 +?CCL99: EQUAL? OBJ1,HER \?CCL101 + PRINTD P-HER-OBJECT + JUMP ?CND95 +?CCL101: PRINTD OBJ1 +?CND95: PRINTI ": " +?CND88: SET 'TMP,TRUE-VALUE + CALL PERFORM-PRSA,PRSO,PRSI >V + EQUAL? V,M-FATAL \?PRG63 +?CND46: EQUAL? V,M-FATAL \?CND104 + SET 'P-CONT,FALSE-VALUE +?CND104: CALL CLOCKER-VERB? + ZERO? STACK /?CND1 + EQUAL? PRSA,V?TELL /?CND1 + ZERO? P-WON /?CND1 + GETP HERE,P?ACTION + CALL STACK,M-END >V + JUMP ?CND1 +?CCL3: SET 'P-CONT,FALSE-VALUE +?CND1: ZERO? P-WON /FALSE + CALL CLOCKER-VERB? + ZERO? STACK /?CND114 + CALL CLOCKER >V +?CND114: SET 'PRSA,FALSE-VALUE + SET 'PRSO,FALSE-VALUE + SET 'PRSI,FALSE-VALUE + RETURN PRSI + + + .FUNCT TOO-DARK-FOR-IT? + ZERO? LIT \FALSE + CALL HELD?,P-IT-OBJECT,WINNER + ZERO? STACK \FALSE + IN? WINNER,P-IT-OBJECT /FALSE + PRINT TOO-DARK + CRLF + RTRUE + + + .FUNCT DONT-ALL,OBJ1,L + LOC OBJ1 >L + EQUAL? OBJ1,NOT-HERE-OBJECT \?CCL3 + INC 'P-NOT-HERE + RTRUE +?CCL3: EQUAL? PRSA,V?TAKE \?CCL5 + ZERO? PRSI /?CCL5 + IN? PRSO,PRSI \TRUE +?CCL5: CALL ACCESSIBLE?,OBJ1 + ZERO? STACK /TRUE + EQUAL? P-GETFLAGS,P-ALL \FALSE + ZERO? PRSI /?CCL15 + EQUAL? PRSO,PRSI /TRUE +?CCL15: EQUAL? PRSA,V?TAKE \?CCL19 + FSET? OBJ1,TAKEBIT /?CCL22 + FSET? OBJ1,TRYTAKEBIT \TRUE +?CCL22: EQUAL? L,WINNER,HERE,PRSI /?CCL26 + LOC WINNER + EQUAL? L,STACK /?CCL26 + FSET? L,SURFACEBIT \TRUE + FSET? L,TAKEBIT /TRUE + RFALSE +?CCL26: EQUAL? OBJ1,BOOKS-GLOBAL,POWER /TRUE + ZERO? PRSI \FALSE + CALL HELD?,PRSO + ZERO? STACK /FALSE + RTRUE +?CCL19: EQUAL? PRSA,V?PUT-ON,V?PUT,V?DROP /?PRD43 + EQUAL? PRSA,V?SGIVE,V?GIVE \?CCL41 +?PRD43: IN? OBJ1,WINNER \TRUE +?CCL41: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE + IN? PRSO,WINNER /FALSE + CALL HELD?,PRSO,PRSI + ZERO? STACK \TRUE + RFALSE + + + .FUNCT CLOCKER-VERB? + EQUAL? PRSA,V?$RECORD,V?HELP,V?VERSION /FALSE + EQUAL? PRSA,V?$RANDOM,V?$COMMAND,V?$UNRECORD /FALSE + EQUAL? PRSA,V?RESTART,V?RESTORE,V?SAVE /FALSE + EQUAL? PRSA,V?UNSCRIPT,V?SCRIPT,V?QUIT /FALSE + EQUAL? PRSA,V?VERBOSE,V?SUPER-BRIEF,V?BRIEF /FALSE + EQUAL? PRSA,V?SCORE /FALSE + RTRUE + + + .FUNCT FAKE-ORPHAN,IT-WAS-USED=0,TMP,?TMP1 + CALL ORPHAN,P-SYNTAX,FALSE-VALUE + GET P-OTBL,P-VERBN >TMP + PRINTI "[Be specific: Wh" + ZERO? IT-WAS-USED /?CCL3 + PRINTI "at object" + JUMP ?CND1 +?CCL3: PRINTC 111 +?CND1: PRINT DO-YOU-WANT + ZERO? TMP \?CCL6 + PRINTI "tell" + JUMP ?CND4 +?CCL6: GETB P-VTBL,2 + ZERO? STACK \?CCL8 + GET TMP,0 + PRINTB STACK + JUMP ?CND4 +?CCL8: GETB TMP,2 >?TMP1 + GETB TMP,3 + CALL WORD-PRINT,?TMP1,STACK + PUTB P-VTBL,2,0 +?CND4: SET 'P-OFLAG,TRUE-VALUE + SET 'P-WON,FALSE-VALUE + GETB P-SYNTAX,P-SPREP1 + CALL PREP-PRINT,STACK + PRINTR "?]" + + + .FUNCT PERFORM-PRSA,O=0,I=0 + CALL PERFORM,PRSA,O,I + RTRUE + + + .FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI + SET 'OA,PRSA + SET 'OO,PRSO + SET 'OI,PRSI + SET 'PRSA,A + EQUAL? IT,O,I \?CND1 + EQUAL? A,V?WALK /?CND1 + CALL VISIBLE?,P-IT-OBJECT + ZERO? STACK /?CCL7 + EQUAL? IT,O \?CCL10 + SET 'O,P-IT-OBJECT + JUMP ?CND1 +?CCL10: SET 'I,P-IT-OBJECT +?CND1: EQUAL? HIM,O,I \?CND16 + EQUAL? A,V?WALK /?CND16 + CALL VISIBLE?,P-HIM-OBJECT + ZERO? STACK /?CCL22 + EQUAL? HIM,O \?CCL25 + SET 'O,P-HIM-OBJECT + JUMP ?CND16 +?CCL7: ZERO? I \?CCL13 + CALL FAKE-ORPHAN,TRUE-VALUE + RETURN 8 +?CCL13: CALL REFERRING + RETURN 8 +?CCL25: SET 'I,P-HIM-OBJECT +?CND16: EQUAL? HER,O,I \?CND31 + EQUAL? A,V?WALK /?CND31 + CALL VISIBLE?,P-HER-OBJECT + ZERO? STACK /?CCL37 + EQUAL? HER,O \?CCL40 + SET 'O,P-HER-OBJECT + JUMP ?CND31 +?CCL22: ZERO? I \?CCL28 + CALL FAKE-ORPHAN + RETURN 8 +?CCL28: CALL REFERRING,TRUE-VALUE + RETURN 8 +?CCL40: SET 'I,P-HER-OBJECT +?CND31: SET 'PRSO,O + SET 'PRSI,I + EQUAL? A,V?WALK /?CCL48 + EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CCL48 + CALL D-APPLY,STR?232,NOT-HERE-OBJECT-F >V + ZERO? V /?CCL48 + SET 'P-WON,FALSE-VALUE + JUMP ?CND46 +?CCL37: ZERO? I \?CCL43 + CALL FAKE-ORPHAN + RETURN 8 +?CCL43: CALL REFERRING,TRUE-VALUE + RETURN 8 +?CCL48: SET 'O,PRSO + SET 'I,PRSI + CALL THIS-IS-IT,PRSI + CALL THIS-IS-IT,PRSO + GETP WINNER,P?ACTION + CALL D-APPLY,STR?233,STACK >V + ZERO? V \?CND46 + LOC WINNER + GETP STACK,P?ACTION + CALL D-APPLY,STR?234,STACK,M-BEG >V + ZERO? V \?CND46 + GET PREACTIONS,A + CALL D-APPLY,STR?235,STACK >V + ZERO? V \?CND46 + ZERO? I /?CCL60 + GETP I,P?ACTION + CALL D-APPLY,STR?236,STACK >V + ZERO? V \?CND46 +?CCL60: ZERO? O /?CCL64 + EQUAL? A,V?WALK /?CCL64 + GETP O,P?ACTION + CALL D-APPLY,STR?237,STACK >V + ZERO? V \?CND46 +?CCL64: GET ACTIONS,A + CALL D-APPLY,FALSE-VALUE,STACK >V + ZERO? V /?CND46 +?CND46: SET 'PRSA,OA + SET 'PRSO,OO + SET 'PRSI,OI + RETURN V + + + .FUNCT D-APPLY,STR,FCN,FOO=0,RES + ZERO? FCN /FALSE + ZERO? FOO /?CCL6 + CALL FCN,FOO >RES + RETURN RES +?CCL6: CALL FCN >RES + RETURN RES + + + .FUNCT DEQUEUE,RTN + CALL QUEUED?,RTN >RTN + ZERO? RTN /FALSE + PUT RTN,C-RTN,0 + RTRUE + + + .FUNCT QUEUED?,RTN,C,E + ADD C-TABLE,C-TABLELEN >E + ADD C-TABLE,C-INTS >C +?PRG1: EQUAL? C,E /FALSE + GET C,C-RTN + EQUAL? STACK,RTN \?CND3 + GET C,C-TICK + ZERO? STACK /FALSE + RETURN C +?CND3: ADD C,C-INTLEN >C + JUMP ?PRG1 + + + .FUNCT RUNNING?,RTN,C + CALL QUEUED?,RTN >C + ZERO? C /FALSE + GET C,C-TICK + GRTR? STACK,1 \TRUE + RFALSE + + + .FUNCT QUEUE,RTN,TICK,C,E,INT=0 + ADD C-TABLE,C-TABLELEN >E + ADD C-TABLE,C-INTS >C +?PRG1: EQUAL? C,E \?CCL5 + ZERO? INT /?CCL8 + SET 'C,INT + JUMP ?CND6 +?CCL8: LESS? C-INTS,C-INTLEN \?CND9 + PRINTI "**Too many ints!**" + CRLF +?CND9: SUB C-INTS,C-INTLEN >C-INTS + LESS? C-INTS,C-MAXINTS \?CND11 + SET 'C-MAXINTS,C-INTS +?CND11: ADD C-TABLE,C-INTS >INT +?CND6: PUT INT,C-RTN,RTN + JUMP ?REP2 +?CCL5: GET C,C-RTN + EQUAL? STACK,RTN \?CCL14 + SET 'INT,C +?REP2: ZERO? CLOCK-HAND /?CND16 + GRTR? INT,CLOCK-HAND \?CND16 + ADD TICK,3 + SUB 0,STACK >TICK +?CND16: PUT INT,C-TICK,TICK + RETURN INT +?CCL14: GET C,C-RTN + ZERO? STACK \?CND3 + SET 'INT,C +?CND3: ADD C,C-INTLEN >C + JUMP ?PRG1 + + + .FUNCT CLOCKER,E,TICK,RTN,FLG=0,Q?=0,OWINNER + ZERO? CLOCK-WAIT /?CND1 + SET 'CLOCK-WAIT,FALSE-VALUE + RFALSE +?CND1: ADD C-TABLE,C-INTS >CLOCK-HAND + ADD C-TABLE,C-TABLELEN >E + SET 'OWINNER,WINNER + SET 'WINNER,PROTAGONIST +?PRG3: EQUAL? CLOCK-HAND,E \?CCL7 + SET 'CLOCK-HAND,E + INC 'MOVES + SET 'WINNER,OWINNER + RETURN FLG +?CCL7: GET CLOCK-HAND,C-RTN + ZERO? STACK /?CND5 + GET CLOCK-HAND,C-TICK >TICK + LESS? TICK,-1 \?CCL11 + SUB 0,TICK + SUB STACK,3 + PUT CLOCK-HAND,C-TICK,STACK + SET 'Q?,CLOCK-HAND + JUMP ?CND5 +?CCL11: ZERO? TICK /?CND5 + GRTR? TICK,0 \?CND13 + DEC 'TICK + PUT CLOCK-HAND,C-TICK,TICK +?CND13: ZERO? TICK /?CND15 + SET 'Q?,CLOCK-HAND +?CND15: GRTR? TICK,0 /?CND5 + GET CLOCK-HAND,C-RTN >RTN + ZERO? TICK \?CND19 + PUT CLOCK-HAND,C-RTN,0 +?CND19: CALL RTN + ZERO? STACK /?CND21 + SET 'FLG,TRUE-VALUE +?CND21: ZERO? Q? \?CND5 + GET CLOCK-HAND,C-RTN + ZERO? STACK /?CND5 + SET 'Q?,TRUE-VALUE +?CND5: ADD CLOCK-HAND,C-INTLEN >CLOCK-HAND + ZERO? Q? \?PRG3 + ADD C-INTS,C-INTLEN >C-INTS + JUMP ?PRG3 + + .ENDI diff --git a/misc.zil b/misc.zil new file mode 100644 index 0000000..5d81ae7 --- /dev/null +++ b/misc.zil @@ -0,0 +1,775 @@ +"MISC for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + +;"macros" + + + D * + A * + T ,PRSO + T ,PRSI + T * + AR * + TR * + N * + C * + CTHE * > + +> + +> + +> + +> + + + ) + ( ) + (ELSE )>>)> + )> + > + + + >>) + (ELSE .ATM)> GVAL>) + (ELSE .ATM)> + !.L)> + > + 3> )>> + !.L>)>>> + >> + +> + +> + +> + + + ) + (
) + (ELSE )>>)> + > + > + .ATM) + (ELSE )>> + !.O)>>> + + >> + +>>> + + ,PLUS-MODE> + ) + (T )>> + + ,PLUS-MODE> + ) + (T )>> + + ,PLUS-MODE> + ) + (T )>> + +;>>> + +;"this new PICK-ONE won't begin repeating any of the items in the table until + they've all been used." +> + > + > + > + >> + >> + > + > + + > + + )> + + .MSG> + +; + + ) + (T + )> + ) + ;( + >) + ( + >) + (T + )>> + +;> + + + > + ) + ( + ) + (T + )> + > + + + ) + (T + )> + > + + + > + +> + +> + + + > + + + > + + 3> + )> + + > NOUN>)> + + > ADJECTIVE>)> + <3 .OBJ>>> + .V>> + +;"MAIN-LOOP and associated routines" + + + + + + + +; + + + + +SHOOT THE PIRATE") + (DESC "Plundered Hearts") + (NW "You can't go that way.") + (SW "You can't go that way.") + (SYNONYM ZZMGCK) ;"No, this synonym doesn't need to exist... sigh"> + + + + ;"else, ZIL gets confused between verb-word GO and routine GO" + + + SHOOT THE PIRATE| +Trembling, you fire the heavy arquebus. You hear its loud report over the +roaring wind, yet the dark figure still approaches. The gun falls from your +nerveless hands.| + \"You won't kill me,\" he says, stepping over the weapon. \"Not when I am +the only protection you have from Jean Lafond.\"| + " ,NUTBROWN "Lips curving," ,EYES-RAKE ". You are intensely aware of the +strength of his hard seaworn body, of the deep sea blue of his eyes. And +then his mouth is on yours, lips parted, demanding, and you arch into his +kiss...| + He presses you against him, head bent. \"But who, my dear,\" he whispers +into your hair, \"will protect you from me?\"|"> + ; + + + + + ; + + ; + + + + + + ; + ; + ; + ; + + > + + + > + + )>>> + +>>> + +) TBL + V (PTBL T) OBJ1 TMP ONUM) + > + > + > + > + > + > .ICNT> + ) + (T + ,IT> + )> + + + )>)>> + + + > .OCNT> + ) + (T + ,IT> + )> + + )>)>>)> + )> + ,P-SONUMS>> + + + >> + 0) + ( + + >) + (T >)> + .OCNT) + ( + > + + > + .ICNT) + (T 1)>> + ; + .OCNT) + ( + + + >) + (T + >)> + .OCNT) + ( + > + + > + .ICNT) + (T + 1 ;.ICNT)>> + + <1? .ICNT>> + >)> + + >) + (<0? .NUM> + ,P-SONUMS>> + > + >) + ;( + + ) + (T + + > + + ) + ( + >) + (T + >)> + + > + )>) + (T + + > + + )> + > + > .NUM> + + + > + )> + + > + )> + + > + ) + (T + )> + ) + ( + )> + ) + (T + >) + (T + >)> + > + > + + 0> + ,W?ALL + ,W?EVERYT>> + + ) + (T + + ) + ( + ) + ( + ) + (T + )> + )>)> + + > + + )>)>>)> + + >)> + + > + ,P-WON ;"fake YOU CANT SEE responses set P-WON to false"> + ,M-END>>)>) + (T + >)> + + >)> + > + > + >)> + ;> + )>> + + + > + >> + + )>> + +)) + ;"RFALSE if OBJ1 should be included in the ALL, otherwise RTRUE" + + > + ) + (;"TAKE prso FROM prsi and prso isn't in prsi" + ,PRSI + >> + ) + (> ;"can't get at object" + ) + ( ;"cases for ALL" + > + ) + ( + ;"TAKE ALL and object not accessible or takeable" + > + >> + ) + (> + >>> + + >> ;"tray" + ) + (T + )>) + ( + ) + ( + > ;"already have it" + ) + (T + )>) + ( + ;"VERB ALL, object not held" + >> + ) + ( ;"PUT ALL IN X,obj already in x" + > + > + )>)>> + + + ) + (T + )>> + +> + +> + + + +) "AUX" TMP) + > + > + + ) + (T + )> + + + ) + (<0? > + >) + (T + > + )> + + > + > + > + +) (I <>)) + + > + +) (I <>) "AUX" V OA OO OI) + ; + % + ') + (T + ' 1>>>)> + )> + + + + + + >> + + + ) + (T + )>) + (T + + ) + (T + )> + )>)> + + >> + + + ) + (T + )>) + (T + + ) + (T + )> + )>)> + + >> + + + ) + (T + )>) + (T + + ) + (T + )> + )>)> + + + > + + >> + >) + (T + + + + + >> + T) + ( ,P?ACTION> + ,M-BEG>> + T) + (>> + T) + (>>> + T) + ;(> + + ,P?CONTFCN> + ,P?CONTFCN>>>> + T) + (> + >>> + T) + ( >> + T)>)> + + + + .V> + +) "AUX" RES) + <>) + (T + ; + " CR>) + (T + ">)>)> + ) + (T + )>> + ; + + ) + ( + ) + (T )>)> + .RES)>> + +;"CLOCKER and related routines" + + ;30 + ;% + ') + (T + ')>> + +> + +>> + + + +> + + + ;"length of an interrupt entry" + ;"offset of routine name" + ;"offset of count" + +> + )>> + +> + > + + ) + ( .RTN> + > + ) + (T + )>)> + >>> + +> + 1>>> + )>> + +;> + > + + ) + ( .RTN> + > + 1>> + ) + (T + )>)> + >>> + +)) ;"automatically enables as well" + > + > + + ) + (T + + )> + > + + )> + >)> + + ) + ( .RTN> + + ) + (> + )> + >> + + ') + (T + ' >)>> + >>)> + + .INT> + +) (Q? <>) OWINNER) + > + )> + > + > + + + + + > + + ) + (>> + > + + 3>> + ) + (> + + > + )> + > + )> + > + + ') + (ELSE + ' + 1>>)>> + + )> + + )> + + >>> + )>)>)>)> + > + + >)>>> + +; + +;> 127> + + )>> \ No newline at end of file diff --git a/parser.zap b/parser.zap new file mode 100644 index 0000000..f094504 --- /dev/null +++ b/parser.zap @@ -0,0 +1,1871 @@ + + + .FUNCT THIS-IS-IT,OBJ + ZERO? OBJ /TRUE + EQUAL? PRSA,V?WALK \?PRD6 + EQUAL? PRSO,OBJ /TRUE +?PRD6: EQUAL? OBJ,PROTAGONIST /TRUE + EQUAL? OBJ,NOT-HERE-OBJECT,ME,GLOBAL-ROOM /TRUE + FSET? OBJ,FEMALEBIT \?CCL11 + SET 'P-HER-OBJECT,OBJ + RETURN P-HER-OBJECT +?CCL11: FSET? OBJ,ACTORBIT \?CCL13 + SET 'P-HIM-OBJECT,OBJ + RETURN P-HIM-OBJECT +?CCL13: SET 'P-IT-OBJECT,OBJ + RETURN P-IT-OBJECT + + + .FUNCT OOPS-WARNING,STR + PRINTI "[Warning: there are too many " + PRINT STR + PRINTR " after OOPS.]" + + + .FUNCT PARSER,PTR=P-LEXSTART,WRD,VAL=0,VERB=0,OMERGED,OWINNER,OLEN,LEN,DIR=0,NW=0,LW=0,CNT=-1,?TMP2,?TMP1 +?PRG1: IGRTR? 'CNT,P-ITBLLEN /?REP2 + ZERO? P-OFLAG \?CND6 + GET P-ITBL,CNT + PUT P-OTBL,CNT,STACK +?CND6: PUT P-ITBL,CNT,0 + JUMP ?PRG1 +?REP2: SET 'OMERGED,P-MERGED + SET 'OWINNER,WINNER + SET 'P-ADVERB,FALSE-VALUE + SET 'P-MERGED,FALSE-VALUE + SET 'P-END-ON-PREP,FALSE-VALUE + PUTB P-PRSO,P-MATCHLEN,0 + PUTB P-PRSI,P-MATCHLEN,0 + PUTB P-BUTS,P-MATCHLEN,0 + ZERO? QUOTE-FLAG \?CND8 + EQUAL? WINNER,PROTAGONIST /?CND8 + SET 'WINNER,PROTAGONIST + LOC WINNER + FSET? STACK,VEHBIT /?CND12 + LOC WINNER >HERE +?CND12: CALL LIT?,HERE >LIT +?CND8: ZERO? RESERVE-PTR /?CCL16 + SET 'PTR,RESERVE-PTR + CALL STUFF,P-LEXV,RESERVE-LEXV + CALL INBUF-STUFF,P-INBUF,RESERVE-INBUF + ZERO? VERBOSITY /?CND17 + EQUAL? PROTAGONIST,WINNER \?CND17 + CRLF +?CND17: SET 'RESERVE-PTR,FALSE-VALUE + SET 'P-CONT,FALSE-VALUE + JUMP ?CND14 +?CCL16: ZERO? P-CONT /?CCL22 + SET 'PTR,P-CONT + ZERO? VERBOSITY /?CND23 + EQUAL? PROTAGONIST,WINNER \?CND23 + CRLF +?CND23: SET 'P-CONT,FALSE-VALUE + JUMP ?CND14 +?CCL22: SET 'WINNER,PROTAGONIST + SET 'QUOTE-FLAG,FALSE-VALUE + LOC WINNER + FSET? STACK,VEHBIT /?CND27 + LOC WINNER >HERE +?CND27: CALL LIT?,HERE >LIT + ZERO? VERBOSITY /?CND29 + CRLF +?CND29: PRINTC 62 + READ P-INBUF,P-LEXV + GETB P-LEXV,P-LEXWORDS >OLEN +?CND14: GETB P-LEXV,P-LEXWORDS >P-LEN + ZERO? P-LEN \?CCL33 + PRINTI "[Prithee, pardon?]" + CRLF + RFALSE +?CCL33: GET P-LEXV,PTR + EQUAL? STACK,W?OOPS \?CCL35 + ADD PTR,P-LEXELEN + GET P-LEXV,STACK + EQUAL? STACK,W?PERIOD,W?COMMA \?CND36 + ADD PTR,P-LEXELEN >PTR + DEC 'P-LEN +?CND36: GRTR? P-LEN,1 /?CCL40 + CALL CANT-USE-THAT-WAY,STR?238 + RFALSE +?CCL40: GET OOPS-TABLE,O-PTR >VAL + ZERO? VAL /?CCL42 + GETB AGAIN-LEXV,0 + MUL 2,STACK >LEN + SUB P-LEN,2 >CNT + MUL P-LEXELEN,CNT + ADD VAL,STACK + LESS? LEN,STACK \?CND43 + SUB LEN,VAL + DIV STACK,P-LEXELEN >CNT + CALL OOPS-WARNING,STR?239 +?CND43: ZERO? CNT /?CND45 + GETB AGAIN-LEXV,P-LEXWORDS >LEN + ADD LEN,CNT + PUTB AGAIN-LEXV,P-LEXWORDS,STACK + MUL P-LEXELEN,CNT >CNT + MUL P-LEXELEN,LEN >LEN +?PRG47: ADD CNT,LEN >?TMP1 + GET AGAIN-LEXV,LEN + PUT AGAIN-LEXV,?TMP1,STACK + DLESS? 'LEN,VAL \?PRG47 +?CND45: SET 'CNT,P-LEN +?PRG51: DLESS? 'CNT,1 /?REP52 + ADD PTR,P-LEXELEN >PTR + GET P-LEXV,PTR + PUT AGAIN-LEXV,VAL,STACK + MUL PTR,P-LEXELEN + ADD STACK,2 >WRD + GETB P-LEXV,WRD >?TMP2 + ADD WRD,1 + GETB P-LEXV,STACK >?TMP1 + MUL VAL,P-LEXELEN + ADD STACK,3 + CALL INBUF-ADD,?TMP2,?TMP1,STACK + ZERO? STACK \?CND55 + CALL OOPS-WARNING,STR?240 +?REP52: SET 'WINNER,OWINNER + CALL STUFF,P-LEXV,AGAIN-LEXV + GETB P-LEXV,P-LEXWORDS >P-LEN + GET OOPS-TABLE,O-START >PTR + CALL INBUF-STUFF,P-INBUF,OOPS-INBUF + JUMP ?CND31 +?CND55: ADD VAL,P-LEXELEN >VAL + JUMP ?PRG51 +?CCL42: PUT OOPS-TABLE,O-END,FALSE-VALUE + PRINTI "[There was no word to replace!]" + CRLF + RFALSE +?CCL35: PUT OOPS-TABLE,O-END,FALSE-VALUE +?CND31: GET P-LEXV,PTR + EQUAL? STACK,W?AGAIN,W?G \?CCL59 + ZERO? P-OFLAG /?CCL62 + CALL CANT-USE-THAT-WAY,STR?241 + RFALSE +?CCL62: ZERO? P-WON \?CCL64 + PRINTI "[That would just repeat a mistake!]" + CRLF + RFALSE +?CCL64: EQUAL? OWINNER,PROTAGONIST /?CCL66 + CALL VISIBLE?,OWINNER + ZERO? STACK \?CCL66 + PRINTC 91 + PRINT YOU-CANT + PRINTI "see " + PRINTD OWINNER + PRINTI " any more.]" + CRLF + RFALSE +?CCL66: GRTR? P-LEN,1 \?CCL70 + ADD PTR,P-LEXELEN + GET P-LEXV,STACK + EQUAL? STACK,W?PERIOD,W?COMMA,W?THEN /?CTR72 + ADD PTR,P-LEXELEN + GET P-LEXV,STACK + EQUAL? STACK,W?AND \?CCL73 +?CTR72: ADD PTR,4 >PTR + GETB P-LEXV,P-LEXWORDS + SUB STACK,2 + PUTB P-LEXV,P-LEXWORDS,STACK + JUMP ?CND60 +?CCL73: CALL RECOGNIZE + RFALSE +?CCL70: ADD PTR,P-LEXELEN >PTR + GETB P-LEXV,P-LEXWORDS + SUB STACK,1 + PUTB P-LEXV,P-LEXWORDS,STACK +?CND60: GETB P-LEXV,P-LEXWORDS + GRTR? STACK,0 \?CCL78 + CALL STUFF,RESERVE-LEXV,P-LEXV + CALL INBUF-STUFF,RESERVE-INBUF,P-INBUF + SET 'RESERVE-PTR,PTR + JUMP ?CND76 +?CCL78: SET 'RESERVE-PTR,FALSE-VALUE +?CND76: SET 'WINNER,OWINNER + SET 'P-MERGED,OMERGED + CALL INBUF-STUFF,P-INBUF,OOPS-INBUF + CALL STUFF,P-LEXV,AGAIN-LEXV + SET 'CNT,-1 + SET 'DIR,AGAIN-DIR +?PRG79: IGRTR? 'CNT,P-ITBLLEN /?CND57 + GET P-OTBL,CNT + PUT P-ITBL,CNT,STACK + JUMP ?PRG79 +?CCL59: CALL STUFF,AGAIN-LEXV,P-LEXV + CALL INBUF-STUFF,OOPS-INBUF,P-INBUF + PUT OOPS-TABLE,O-START,PTR + MUL 4,P-LEN + PUT OOPS-TABLE,O-LENGTH,STACK + GETB P-LEXV,P-LEXWORDS + MUL P-LEXELEN,STACK + ADD PTR,STACK + MUL 2,STACK >LEN + SUB LEN,1 + GETB P-LEXV,STACK >?TMP1 + SUB LEN,2 + GETB P-LEXV,STACK + ADD ?TMP1,STACK + PUT OOPS-TABLE,O-END,STACK + SET 'RESERVE-PTR,FALSE-VALUE + SET 'LEN,P-LEN + SET 'P-NCN,0 + SET 'P-GETFLAGS,0 +?PRG84: DLESS? 'P-LEN,0 \?CCL88 + SET 'QUOTE-FLAG,FALSE-VALUE + JUMP ?CND57 +?CCL88: GET P-LEXV,PTR >WRD + ZERO? WRD \?CTR89 + CALL NUMBER?,PTR >WRD + ZERO? WRD /?CCL90 +?CTR89: CALL NEXT-WORD,PTR >NW + EQUAL? WRD,W?TO \?CCL95 + EQUAL? VERB,ACT?TELL,ACT?ASK \?CCL95 + CALL WT?,NW,64,1 + ZERO? STACK /?CCL95 + PUT P-ITBL,P-VERB,ACT?TELL + SET 'WRD,W?QUOTE + JUMP ?CND93 +?CCL95: EQUAL? WRD,W?THEN \?CCL100 + GRTR? P-LEN,0 \?CCL100 + ZERO? VERB \?CCL100 + ZERO? QUOTE-FLAG \?CCL100 + PUT P-ITBL,P-VERB,ACT?TELL + PUT P-ITBL,P-VERBN,0 + SET 'WRD,W?QUOTE + JUMP ?CND93 +?CCL100: EQUAL? WRD,W?PERIOD \?CND93 + EQUAL? LW,W?ST \?CND93 + DEC 'P-NCN + CALL CHANGE-LEXV,PTR,LW,TRUE-VALUE + SET 'WRD,LW + SET 'LW,0 +?CND93: EQUAL? WRD,W?THEN,W?PERIOD /?CTR109 + EQUAL? WRD,W?QUOTE \?CCL110 +?CTR109: EQUAL? WRD,W?QUOTE \?CND113 + ZERO? QUOTE-FLAG /?CCL117 + SET 'QUOTE-FLAG,FALSE-VALUE + JUMP ?CND113 +?CCL117: SET 'QUOTE-FLAG,TRUE-VALUE +?CND113: ZERO? P-LEN /?PEN118 + ADD PTR,P-LEXELEN >P-CONT +?PEN118: PUTB P-LEXV,P-LEXWORDS,P-LEN + JUMP ?CND57 +?CCL110: CALL WT?,WRD,16,3 >VAL + ZERO? VAL /?CCL121 + EQUAL? VERB,FALSE-VALUE,ACT?WALK,ACT?GO \?CCL121 + EQUAL? LEN,1 /?CTR120 + EQUAL? LEN,2 \?PRD127 + EQUAL? VERB,ACT?WALK,ACT?GO /?CTR120 +?PRD127: EQUAL? NW,W?THEN,W?PERIOD,W?QUOTE \?PRD130 + LESS? LEN,2 \?CTR120 +?PRD130: ZERO? QUOTE-FLAG /?PRD133 + EQUAL? LEN,2 \?PRD133 + EQUAL? NW,W?QUOTE /?CTR120 +?PRD133: GRTR? LEN,2 \?CCL121 + EQUAL? NW,W?COMMA,W?AND \?CCL121 +?CTR120: SET 'DIR,VAL + EQUAL? NW,W?COMMA,W?AND \?CND139 + ADD PTR,P-LEXELEN + CALL CHANGE-LEXV,STACK,W?THEN +?CND139: GRTR? LEN,2 /?CND86 + SET 'QUOTE-FLAG,FALSE-VALUE + JUMP ?CND57 +?CCL121: CALL WT?,WRD,64,1 >VAL + ZERO? VAL /?CCL144 + ZERO? VERB \?CCL144 + SET 'P-PRSA-WORD,WRD + SET 'VERB,VAL + PUT P-ITBL,P-VERB,VAL + PUT P-ITBL,P-VERBN,P-VTBL + PUT P-VTBL,0,WRD + MUL PTR,2 + ADD STACK,2 >CNT + GETB P-LEXV,CNT + PUTB P-VTBL,2,STACK + ADD CNT,1 + GETB P-LEXV,STACK + PUTB P-VTBL,3,STACK + JUMP ?CND86 +?CCL144: CALL WT?,WRD,8,0 >VAL + ZERO? VAL \?CTR147 + EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?CTR147 + EQUAL? WRD,W?EVERYT /?CTR147 + CALL WT?,WRD,32 + ZERO? STACK \?CTR147 + CALL WT?,WRD,128 + ZERO? STACK /?CCL148 +?CTR147: GRTR? P-LEN,0 \?CCL155 + EQUAL? NW,W?OF \?CCL155 + ZERO? VAL \?CCL155 + EQUAL? WRD,W?ALL,W?ONE,W?A /?CCL155 + EQUAL? WRD,W?BOTH,W?EVERYT \?CND86 +?CCL155: ZERO? VAL /?CCL162 + ZERO? P-LEN /?CTR161 + EQUAL? NW,W?THEN,W?PERIOD \?CCL162 +?CTR161: SET 'P-END-ON-PREP,TRUE-VALUE + LESS? P-NCN,2 \?CND86 + PUT P-ITBL,P-PREP1,VAL + PUT P-ITBL,P-PREP1N,WRD + JUMP ?CND86 +?CCL162: EQUAL? P-NCN,2 \?CCL170 + PRINTI "[There were too many nouns in that sentence.]" + CRLF + RFALSE +?CCL170: INC 'P-NCN + CALL CLAUSE,PTR,VAL,WRD >PTR + ZERO? PTR /FALSE + LESS? PTR,0 \?CND86 + SET 'QUOTE-FLAG,FALSE-VALUE +?CND57: PUT OOPS-TABLE,O-PTR,FALSE-VALUE + ZERO? DIR /?CND181 + SET 'PRSA,V?WALK + SET 'P-PRSA-WORD,FALSE-VALUE + SET 'PRSO,DIR + SET 'P-OFLAG,FALSE-VALUE + SET 'P-WALK-DIR,DIR + SET 'AGAIN-DIR,DIR + RTRUE +?CCL148: CALL WT?,WRD,4 + ZERO? STACK \?CND86 + EQUAL? VERB,ACT?TELL \?CCL177 + CALL WT?,WRD,64,1 + ZERO? STACK /?CCL177 + EQUAL? WINNER,PROTAGONIST \?CCL177 + CALL SEE-MANUAL,STR?242 + RFALSE +?CCL177: CALL CANT-USE,PTR + RFALSE +?CCL90: CALL UNKNOWN-WORD,PTR + RFALSE +?CND86: SET 'LW,WRD + ADD PTR,P-LEXELEN >PTR + JUMP ?PRG84 +?CND181: SET 'P-WALK-DIR,FALSE-VALUE + SET 'AGAIN-DIR,FALSE-VALUE + ZERO? P-OFLAG /?CND183 + CALL ORPHAN-MERGE +?CND183: CALL SYNTAX-CHECK + ZERO? STACK /FALSE + CALL SNARF-OBJECTS + ZERO? STACK /FALSE + CALL MANY-CHECK + ZERO? STACK /FALSE + CALL TAKE-CHECK + ZERO? STACK \TRUE + RFALSE + + + .FUNCT CHANGE-LEXV,PTR,WRD,PTRS?=0,X,Y,Z + ZERO? PTRS? /?CND1 + SUB PTR,P-LEXELEN + MUL 2,STACK + ADD 2,STACK >X + GETB P-LEXV,X >Y + MUL 2,PTR + ADD 2,STACK >Z + PUTB P-LEXV,Z,Y + PUTB AGAIN-LEXV,Z,Y + ADD 1,X + GETB P-LEXV,STACK >Y + MUL 2,PTR + ADD 3,STACK >Z + PUTB P-LEXV,Z,Y + PUTB AGAIN-LEXV,Z,Y +?CND1: PUT P-LEXV,PTR,WRD + PUT AGAIN-LEXV,PTR,WRD + RTRUE + + + .FUNCT STUFF,DEST,SRC,MAX=29,PTR=P-LEXSTART,CTR=1,BPTR + GETB SRC,0 + PUTB DEST,0,STACK + GETB SRC,1 + PUTB DEST,1,STACK +?PRG1: GET SRC,PTR + PUT DEST,PTR,STACK + MUL PTR,2 + ADD STACK,2 >BPTR + GETB SRC,BPTR + PUTB DEST,BPTR,STACK + MUL PTR,2 + ADD STACK,3 >BPTR + GETB SRC,BPTR + PUTB DEST,BPTR,STACK + ADD PTR,P-LEXELEN >PTR + IGRTR? 'CTR,MAX \?PRG1 + RTRUE + + + .FUNCT INBUF-STUFF,DEST,SRC,CNT=-1 +?PRG1: IGRTR? 'CNT,P-INBUF-LENGTH /TRUE + GETB SRC,CNT + PUTB DEST,CNT,STACK + JUMP ?PRG1 + + + .FUNCT INBUF-ADD,LEN,BEG,SLOT,DBEG,CTR=0,TMP,?TMP1 + GET OOPS-TABLE,O-END >TMP + ZERO? TMP /?CCL3 + SET 'DBEG,TMP + JUMP ?CND1 +?CCL3: GET OOPS-TABLE,O-LENGTH >TMP + GETB AGAIN-LEXV,TMP >?TMP1 + ADD TMP,1 + GETB AGAIN-LEXV,STACK + ADD ?TMP1,STACK >DBEG +?CND1: ADD DBEG,LEN + PUT OOPS-TABLE,O-END,STACK +?PRG4: ADD DBEG,CTR >?TMP1 + ADD BEG,CTR + GETB P-INBUF,STACK + PUTB OOPS-INBUF,?TMP1,STACK + INC 'CTR + EQUAL? CTR,LEN \?PRG4 + PUTB AGAIN-LEXV,SLOT,DBEG + SUB SLOT,1 + PUTB AGAIN-LEXV,STACK,LEN + RTRUE + + + .FUNCT WT?,PTR,BIT,B1=5,OFFS=P-P1OFF,TYP + GETB PTR,P-PSOFF >TYP + BTST TYP,BIT \FALSE + GRTR? B1,4 /TRUE + EQUAL? BIT,128 /TRUE + BAND TYP,P-P1BITS >TYP + EQUAL? TYP,B1 /?CND9 + INC 'OFFS +?CND9: GETB PTR,OFFS + RSTACK + + + .FUNCT NEXT-WORD,PTR,NW + ZERO? P-LEN /FALSE + ADD PTR,P-LEXELEN + GET P-LEXV,STACK >NW + ZERO? NW /?CCL6 + RETURN NW +?CCL6: ADD PTR,P-LEXELEN + CALL NUMBER?,STACK + RSTACK + + + .FUNCT CLAUSE,PTR,VAL,WRD,OFF,NUM,ANDFLG=0,FIRST??=1,NW,LW=0,?TMP1 + SUB P-NCN,1 + MUL STACK,2 >OFF + ZERO? VAL /?CCL3 + ADD P-PREP1,OFF >NUM + PUT P-ITBL,NUM,VAL + ADD NUM,1 + PUT P-ITBL,STACK,WRD + ADD PTR,P-LEXELEN >PTR + JUMP ?CND1 +?CCL3: INC 'P-LEN +?CND1: ZERO? P-LEN \?CND4 + DEC 'P-NCN + RETURN -1 +?CND4: ADD P-NC1,OFF >NUM + MUL PTR,2 + ADD P-LEXV,STACK + PUT P-ITBL,NUM,STACK +?PRG6: DLESS? 'P-LEN,0 \?CND8 + ADD NUM,1 >?TMP1 + MUL PTR,2 + ADD P-LEXV,STACK + PUT P-ITBL,?TMP1,STACK + RETURN -1 +?CND8: GET P-LEXV,PTR >WRD + ZERO? WRD \?CTR11 + CALL NUMBER?,PTR >WRD + ZERO? WRD /?CCL12 +?CTR11: CALL NEXT-WORD,PTR >NW + ZERO? FIRST?? /?CCL17 + EQUAL? WRD,W?THE,W?A,W?AN /?CTR16 + ZERO? VAL /?CCL17 + CALL WT?,WRD,8 + ZERO? STACK /?CCL17 + CALL WT?,WRD,32 + ZERO? STACK \?CCL17 +?CTR16: GET P-ITBL,NUM + ADD STACK,4 + PUT P-ITBL,NUM,STACK + JUMP ?CND10 +?CCL17: EQUAL? WRD,W?PERIOD \?CCL26 + EQUAL? LW,W?ST \?CCL26 + SET 'LW,0 + JUMP ?CND10 +?CCL26: EQUAL? WRD,W?AND,W?COMMA \?CCL30 + SET 'ANDFLG,TRUE-VALUE + JUMP ?CND10 +?CCL30: EQUAL? WRD,W?ALL,W?ONE,W?BOTH /?CTR31 + EQUAL? WRD,W?EVERYT \?CCL32 +?CTR31: EQUAL? NW,W?OF \?CND10 + DEC 'P-LEN + ADD PTR,P-LEXELEN >PTR + JUMP ?CND10 +?CCL32: EQUAL? WRD,W?THEN,W?PERIOD /?CTR37 + CALL WT?,WRD,8 + ZERO? STACK /?CCL38 + GET P-ITBL,P-VERB + ZERO? STACK /?CCL38 + ZERO? FIRST?? \?CCL38 +?CTR37: INC 'P-LEN + ADD NUM,1 >?TMP1 + MUL PTR,2 + ADD P-LEXV,STACK + PUT P-ITBL,?TMP1,STACK + SUB PTR,P-LEXELEN + RSTACK +?CCL38: ZERO? ANDFLG /?CCL45 + GET P-ITBL,P-VERB + ZERO? STACK \?CCL45 + SUB PTR,4 >PTR + ADD PTR,2 + CALL CHANGE-LEXV,STACK,W?THEN + ADD P-LEN,2 >P-LEN + JUMP ?CND10 +?CCL45: CALL WT?,WRD,128 + ZERO? STACK /?CCL49 + GRTR? P-LEN,0 \?CCL52 + EQUAL? NW,W?OF \?CCL52 + EQUAL? WRD,W?ALL,W?EVERYT,W?ONE \?CND10 +?CCL52: CALL WT?,WRD,32 + ZERO? STACK /?CCL57 + ZERO? NW /?CCL57 + CALL WT?,NW,128 + ZERO? STACK \?CND10 + CALL WT?,NW,32 + ZERO? STACK \?CND10 +?CCL57: ZERO? ANDFLG \?CCL64 + EQUAL? NW,W?BUT,W?EXCEPT /?CCL64 + EQUAL? NW,W?AND,W?COMMA /?CCL64 + ADD NUM,1 >?TMP1 + ADD PTR,2 + MUL STACK,2 + ADD P-LEXV,STACK + PUT P-ITBL,?TMP1,STACK + RETURN PTR +?CCL64: SET 'ANDFLG,FALSE-VALUE + JUMP ?CND10 +?CCL49: CALL WT?,WRD,32 + ZERO? STACK \?CND10 + CALL WT?,WRD,4 + ZERO? STACK \?CND10 + CALL WT?,WRD,8 + ZERO? STACK \?CND10 + CALL CANT-USE,PTR + RFALSE +?CCL12: CALL UNKNOWN-WORD,PTR + RFALSE +?CND10: SET 'LW,WRD + SET 'FIRST??,FALSE-VALUE + ADD PTR,P-LEXELEN >PTR + JUMP ?PRG6 + + + .FUNCT NUMBER?,PTR,CNT,BPTR,CHR,SUM=0,CCTR,TMP,XPTR,?TMP1 + MUL PTR,2 + ADD P-LEXV,STACK + GETB STACK,2 >CNT + MUL PTR,2 + ADD P-LEXV,STACK + GETB STACK,3 >BPTR +?PRG1: GRTR? SUM,10000 /FALSE + DLESS? 'CNT,0 /?REP2 + GETB P-INBUF,BPTR >CHR + LESS? CHR,58 \?CCL10 + GRTR? CHR,47 \?CCL10 + MUL SUM,10 >?TMP1 + SUB CHR,48 + ADD ?TMP1,STACK >SUM + JUMP ?CND8 +?CCL10: EQUAL? CHR,35 \FALSE +?CND8: INC 'BPTR + JUMP ?PRG1 +?REP2: CALL CHANGE-LEXV,PTR,W?NUMBER + ADD PTR,P-LEXELEN + GET P-LEXV,STACK + EQUAL? STACK,W?COMMA \?CND14 + GRTR? P-LEN,1 \?CND14 + ADD PTR,4 >XPTR + CALL AFTER-COMMA-CHECK,XPTR >TMP + ZERO? TMP /?CND14 + MUL PTR,2 + ADD STACK,2 + GETB P-LEXV,STACK >CCTR + MUL XPTR,2 + ADD STACK,2 + GETB P-LEXV,STACK + ADD CCTR,STACK >CCTR + INC 'CCTR + MUL PTR,2 + ADD STACK,2 + PUTB P-LEXV,STACK,CCTR + EQUAL? TMP,1000 \?CND20 + SET 'TMP,0 +?CND20: MUL 1000,SUM + ADD STACK,TMP >SUM + SUB P-LEN,2 >CCTR +?PRG22: DLESS? 'CCTR,0 /?REP23 + ADD PTR,P-LEXELEN >PTR + ADD PTR,4 >XPTR + GET P-LEXV,XPTR + CALL CHANGE-LEXV,PTR,STACK + MUL PTR,2 + ADD STACK,2 >?TMP1 + MUL XPTR,2 + ADD STACK,2 + GETB P-LEXV,STACK + PUTB P-LEXV,?TMP1,STACK + MUL PTR,2 + ADD STACK,3 >?TMP1 + MUL XPTR,2 + ADD STACK,3 + GETB P-LEXV,STACK + PUTB P-LEXV,?TMP1,STACK + JUMP ?PRG22 +?REP23: SUB P-LEN,2 >P-LEN + GETB P-LEXV,P-LEXWORDS + SUB STACK,2 + PUTB P-LEXV,P-LEXWORDS,STACK +?CND14: GRTR? SUM,10000 /FALSE + SET 'P-NUMBER,SUM + RETURN W?NUMBER + + + .FUNCT AFTER-COMMA-CHECK,PTR,CNT,BPTR,CCTR=0,CHR,SUM=0,?TMP1 + MUL PTR,2 + ADD P-LEXV,STACK + GETB STACK,2 >CNT + MUL PTR,2 + ADD P-LEXV,STACK + GETB STACK,3 >BPTR +?PRG1: DLESS? 'CNT,0 /?REP2 + GETB P-INBUF,BPTR >CHR + IGRTR? 'CCTR,3 /?REP2 + LESS? CHR,58 \FALSE + GRTR? CHR,47 \FALSE + MUL SUM,10 >?TMP1 + SUB CHR,48 + ADD ?TMP1,STACK >SUM + INC 'BPTR + JUMP ?PRG1 +?REP2: EQUAL? CCTR,3 \FALSE + ZERO? SUM /?CTR16 + RETURN SUM +?CTR16: RETURN 1000 + + + .FUNCT ORPHAN-MERGE,CNT=-1,TEMP,VERB,BEG,END,ADJ=0,WRD,?TMP1 + SET 'P-OFLAG,FALSE-VALUE + GET P-ITBL,P-VERBN + GET STACK,0 >WRD + CALL WT?,WRD,64,1 >?TMP1 + GET P-OTBL,P-VERB + EQUAL? ?TMP1,STACK /?CTR2 + CALL WT?,WRD,32 + ZERO? STACK /?CCL3 +?CTR2: SET 'ADJ,TRUE-VALUE + JUMP ?CND1 +?CCL3: CALL WT?,WRD,128,0 + ZERO? STACK /?CND1 + ZERO? P-NCN \?CND1 + PUT P-ITBL,P-VERB,0 + PUT P-ITBL,P-VERBN,0 + ADD P-LEXV,2 + PUT P-ITBL,P-NC1,STACK + ADD P-LEXV,6 + PUT P-ITBL,P-NC1L,STACK + SET 'P-NCN,1 +?CND1: GET P-ITBL,P-VERB >VERB + ZERO? VERB /?CCL11 + ZERO? ADJ \?CCL11 + GET P-OTBL,P-VERB + EQUAL? VERB,STACK \FALSE +?CCL11: EQUAL? P-NCN,2 /FALSE + GET P-OTBL,P-NC1 + EQUAL? STACK,1 \?CCL18 + GET P-ITBL,P-PREP1 >TEMP + GET P-OTBL,P-PREP1 + EQUAL? TEMP,STACK /?CTR20 + ZERO? TEMP \FALSE +?CTR20: ZERO? ADJ /?CCL26 + ADD P-LEXV,2 + PUT P-OTBL,P-NC1,STACK + GET P-ITBL,P-NC1L + ZERO? STACK \?CND27 + ADD P-LEXV,6 + PUT P-ITBL,P-NC1L,STACK +?CND27: ZERO? P-NCN \?CND24 + SET 'P-NCN,1 + JUMP ?CND24 +?CCL26: GET P-ITBL,P-NC1 + PUT P-OTBL,P-NC1,STACK +?CND24: GET P-ITBL,P-NC1L + PUT P-OTBL,P-NC1L,STACK + JUMP ?CND9 +?CCL18: GET P-OTBL,P-NC2 + EQUAL? STACK,1 \?CCL32 + GET P-ITBL,P-PREP1 >TEMP + GET P-OTBL,P-PREP2 + EQUAL? TEMP,STACK /?CTR34 + ZERO? TEMP \FALSE +?CTR34: ZERO? ADJ /?CND38 + ADD P-LEXV,2 + PUT P-ITBL,P-NC1,STACK + GET P-ITBL,P-NC1L + ZERO? STACK \?CND38 + ADD P-LEXV,6 + PUT P-ITBL,P-NC1L,STACK +?CND38: GET P-ITBL,P-NC1 + PUT P-OTBL,P-NC2,STACK + GET P-ITBL,P-NC1L + PUT P-OTBL,P-NC2L,STACK + SET 'P-NCN,2 + JUMP ?CND9 +?CCL32: ZERO? P-ACLAUSE /?CND9 + EQUAL? P-NCN,1 /?CCL45 + ZERO? ADJ \?CCL45 + SET 'P-ACLAUSE,FALSE-VALUE + RFALSE +?CCL45: GET P-ITBL,P-NC1 >BEG + ZERO? ADJ /?CND48 + ADD P-LEXV,2 >BEG + SET 'ADJ,FALSE-VALUE +?CND48: GET P-ITBL,P-NC1L >END +?PRG50: GET BEG,0 >WRD + EQUAL? BEG,END \?CCL54 + ZERO? ADJ /?CCL57 + CALL CLAUSE-WIN,ADJ + JUMP ?CND9 +?CCL57: SET 'P-ACLAUSE,FALSE-VALUE + RFALSE +?CCL54: EQUAL? WRD,W?ALL,W?EVERYT,W?ONE /?CTR58 + GETB WRD,P-PSOFF + BTST STACK,32 \?CCL59 + CALL ADJ-CHECK,WRD,ADJ,ADJ + ZERO? STACK /?CCL59 +?CTR58: SET 'ADJ,WRD +?CND52: ADD BEG,P-WORDLEN >BEG + ZERO? END \?PRG50 + SET 'END,BEG + SET 'P-NCN,1 + SUB BEG,4 + PUT P-ITBL,P-NC1,STACK + PUT P-ITBL,P-NC1L,BEG + JUMP ?PRG50 +?CCL59: EQUAL? WRD,W?ONE \?CCL65 + CALL CLAUSE-WIN,ADJ + JUMP ?CND9 +?CCL65: GETB WRD,P-PSOFF + BTST STACK,128 \?CND52 + EQUAL? WRD,P-ANAM \?CCL69 + CALL CLAUSE-WIN,ADJ + JUMP ?CND9 +?CCL69: CALL CLAUSE-WIN +?CND9: GET P-OVTBL,0 + PUT P-VTBL,0,STACK + GETB P-OVTBL,2 + PUTB P-VTBL,2,STACK + GETB P-OVTBL,3 + PUTB P-VTBL,3,STACK + PUT P-OTBL,P-VERBN,P-VTBL + PUTB P-VTBL,2,0 +?PRG72: IGRTR? 'CNT,P-ITBLLEN \?CCL76 + SET 'P-MERGED,TRUE-VALUE + RTRUE +?CCL76: GET P-OTBL,CNT + PUT P-ITBL,CNT,STACK + JUMP ?PRG72 + + + .FUNCT CLAUSE-WIN,ADJ=0 + ZERO? ADJ /?CCL3 + GET P-OTBL,P-VERB + PUT P-ITBL,P-VERB,STACK + JUMP ?CND1 +?CCL3: SET 'ADJ,TRUE-VALUE +?CND1: PUT P-CCTBL,CC-SBPTR,P-ACLAUSE + ADD P-ACLAUSE,1 + PUT P-CCTBL,CC-SEPTR,STACK + EQUAL? P-ACLAUSE,P-NC1 \?CCL6 + PUT P-CCTBL,CC-OCLAUSE,P-OCL1 + JUMP ?CND4 +?CCL6: PUT P-CCTBL,CC-OCLAUSE,P-OCL2 +?CND4: CALL CLAUSE-COPY,P-OTBL,P-OTBL,ADJ + GET P-OTBL,P-NC2 + ZERO? STACK /?PEN7 + SET 'P-NCN,2 +?PEN7: SET 'P-ACLAUSE,FALSE-VALUE + RTRUE + + + .FUNCT WORD-PRINT,CNT,BUF +?PRG1: DLESS? 'CNT,0 /TRUE + GETB P-INBUF,BUF + PRINTC STACK + INC 'BUF + JUMP ?PRG1 + + + .FUNCT UNKNOWN-WORD,PTR,BUF,?TMP1 + PUT OOPS-TABLE,O-PTR,PTR + PRINTI "[I don't know the word """ + MUL PTR,2 >BUF + ADD P-LEXV,BUF + GETB STACK,2 >?TMP1 + ADD P-LEXV,BUF + GETB STACK,3 + CALL WORD-PRINT,?TMP1,STACK + PRINTI ".""]" + CRLF + SET 'QUOTE-FLAG,FALSE-VALUE + SET 'P-OFLAG,FALSE-VALUE + RETURN P-OFLAG + + + .FUNCT CANT-USE,PTR,FOR-EACH-OTHER=0,BUF,?TMP1 + PRINTI "[You used the word """ + ZERO? FOR-EACH-OTHER \?CND1 + MUL PTR,2 >BUF + ADD P-LEXV,BUF + GETB STACK,2 >?TMP1 + ADD P-LEXV,BUF + GETB STACK,3 + CALL WORD-PRINT,?TMP1,STACK +?CND1: PRINTI """ in a way that I don't understand.]" + CRLF + CALL STOP + RSTACK + + + .FUNCT SYNTAX-CHECK,SYN,LEN,NUM,OBJ,DRIVE1=0,DRIVE2=0,PREP,VERB,?TMP2,?TMP1 + GET P-ITBL,P-VERB >VERB + ZERO? VERB \?CND1 + PRINT NO-VERB + RFALSE +?CND1: SUB 255,VERB + GET VERBS,STACK >SYN + GETB SYN,0 >LEN + INC 'SYN +?PRG3: GETB SYN,P-SBITS + BAND STACK,P-SONUMS >NUM + GRTR? P-NCN,NUM /?CND5 + LESS? NUM,1 /?CCL9 + ZERO? P-NCN \?CCL9 + GET P-ITBL,P-PREP1 >PREP + ZERO? PREP /?CTR8 + GETB SYN,P-SPREP1 + EQUAL? PREP,STACK \?CCL9 +?CTR8: SET 'DRIVE1,SYN + JUMP ?CND5 +?CCL9: GETB SYN,P-SPREP1 >?TMP1 + GET P-ITBL,P-PREP1 + EQUAL? ?TMP1,STACK \?CND5 + EQUAL? NUM,2 \?CCL18 + EQUAL? P-NCN,1 \?CCL18 + SET 'DRIVE2,SYN +?CND5: DLESS? 'LEN,1 \?CCL24 + ZERO? DRIVE1 \?REP4 + ZERO? DRIVE2 \?REP4 + CALL RECOGNIZE + RFALSE +?CCL18: GETB SYN,P-SPREP2 >?TMP1 + GET P-ITBL,P-PREP2 + EQUAL? ?TMP1,STACK \?CND5 + CALL SYNTAX-FOUND,SYN + RTRUE +?CCL24: ADD SYN,P-SYNLEN >SYN + JUMP ?PRG3 +?REP4: ZERO? DRIVE1 /?CCL32 + GETB DRIVE1,P-SFWIM1 >?TMP2 + GETB DRIVE1,P-SLOC1 >?TMP1 + GETB DRIVE1,P-SPREP1 + CALL GWIM,?TMP2,?TMP1,STACK >OBJ + ZERO? OBJ /?CCL32 + PUTB P-PRSO,P-MATCHLEN,1 + PUTB P-PRSO,1,OBJ + CALL SYNTAX-FOUND,DRIVE1 + RSTACK +?CCL32: ZERO? DRIVE2 /?CCL36 + GETB DRIVE2,P-SFWIM2 >?TMP2 + GETB DRIVE2,P-SLOC2 >?TMP1 + GETB DRIVE2,P-SPREP2 + CALL GWIM,?TMP2,?TMP1,STACK >OBJ + ZERO? OBJ /?CCL36 + PUTB P-PRSI,P-MATCHLEN,1 + PUTB P-PRSI,1,OBJ + CALL SYNTAX-FOUND,DRIVE2 + RSTACK +?CCL36: EQUAL? WINNER,PROTAGONIST \?CCL41 + CALL ORPHAN,DRIVE1,DRIVE2 + PRINTI "[Wh" + JUMP ?CND39 +?CCL41: PRINTI "[Your command was not complete. Next time, type wh" +?CND39: EQUAL? VERB,ACT?WALK,ACT?GO \?CCL44 + PRINTI "ere" + JUMP ?CND42 +?CCL44: ZERO? DRIVE1 /?PRD48 + GETB DRIVE1,P-SFWIM1 + EQUAL? STACK,ACTORBIT /?CTR45 +?PRD48: ZERO? DRIVE2 /?CCL46 + GETB DRIVE2,P-SFWIM2 + EQUAL? STACK,ACTORBIT \?CCL46 +?CTR45: PRINTI "om" + JUMP ?CND42 +?CCL46: PRINTI "at" +?CND42: EQUAL? WINNER,PROTAGONIST \?CCL55 + PRINT DO-YOU-WANT + JUMP ?CND53 +?CCL55: PRINTI " you want" + CALL TPRINT,WINNER + PRINTI " to " +?CND53: CALL VERB-PRINT + SET 'P-OFLAG,FALSE-VALUE + ZERO? DRIVE2 /?CND56 + SET 'PREP,P-MERGED + SET 'P-MERGED,FALSE-VALUE + CALL CLAUSE-PRINT,P-NC1,P-NC1L + SET 'P-MERGED,PREP +?CND56: ZERO? DRIVE1 /?CCL60 + GETB DRIVE1,P-SPREP1 + JUMP ?CND58 +?CCL60: GETB DRIVE2,P-SPREP2 +?CND58: CALL PREP-PRINT,STACK + EQUAL? WINNER,PROTAGONIST \?CCL63 + SET 'P-OFLAG,TRUE-VALUE + PRINTI "?]" + CRLF + RFALSE +?CCL63: SET 'P-OFLAG,FALSE-VALUE + PRINTI ".]" + CRLF + RFALSE + + + .FUNCT VERB-PRINT,TMP,?TMP1 + GET P-ITBL,P-VERBN >TMP + ZERO? TMP \?CCL3 + PRINTI "tell" + RTRUE +?CCL3: EQUAL? TMP,W?ZZMGCK \?CCL5 + PRINTI "answer" + RTRUE +?CCL5: GETB TMP,2 + ZERO? STACK \?CCL7 + GET TMP,0 + PRINTB STACK + RTRUE +?CCL7: GETB TMP,2 >?TMP1 + GETB TMP,3 + CALL WORD-PRINT,?TMP1,STACK + PUTB TMP,2,0 + RTRUE + + + .FUNCT CANT-ORPHAN + PRINTI """I don't understand! What are you referring to?""" + CRLF + RFALSE + + + .FUNCT ORPHAN,D1,D2,CNT=-1 + ZERO? P-MERGED \?CND1 + PUT P-OCL1,P-MATCHLEN,0 + PUT P-OCL2,P-MATCHLEN,0 +?CND1: GET P-VTBL,0 + PUT P-OVTBL,0,STACK + GETB P-VTBL,2 + PUTB P-OVTBL,2,STACK + GETB P-VTBL,3 + PUTB P-OVTBL,3,STACK +?PRG3: IGRTR? 'CNT,P-ITBLLEN /?REP4 + GET P-ITBL,CNT + PUT P-OTBL,CNT,STACK + JUMP ?PRG3 +?REP4: EQUAL? P-NCN,2 \?CND8 + PUT P-CCTBL,CC-SBPTR,P-NC2 + PUT P-CCTBL,CC-SEPTR,P-NC2L + PUT P-CCTBL,CC-OCLAUSE,P-OCL2 + CALL CLAUSE-COPY,P-ITBL,P-OTBL +?CND8: LESS? P-NCN,1 /?CND10 + PUT P-CCTBL,CC-SBPTR,P-NC1 + PUT P-CCTBL,CC-SEPTR,P-NC1L + PUT P-CCTBL,CC-OCLAUSE,P-OCL1 + CALL CLAUSE-COPY,P-ITBL,P-OTBL +?CND10: ZERO? D1 /?CCL14 + GETB D1,P-SPREP1 + PUT P-OTBL,P-PREP1,STACK + PUT P-OTBL,P-NC1,1 + RTRUE +?CCL14: ZERO? D2 /FALSE + GETB D2,P-SPREP2 + PUT P-OTBL,P-PREP2,STACK + PUT P-OTBL,P-NC2,1 + RTRUE + + + .FUNCT CLAUSE-PRINT,BPTR,EPTR,THE?=1,?TMP1 + GET P-ITBL,BPTR >?TMP1 + GET P-ITBL,EPTR + CALL BUFFER-PRINT,?TMP1,STACK,THE? + RSTACK + + + .FUNCT BUFFER-PRINT,BEG,END,CP,NOSP=0,WRD,FIRST??=1,PN=0,?TMP1 +?PRG1: EQUAL? BEG,END /TRUE + ZERO? NOSP /?CCL8 + SET 'NOSP,FALSE-VALUE + JUMP ?CND6 +?CCL8: PRINTC 32 +?CND6: GET BEG,0 >WRD + EQUAL? WRD,W?PERIOD /?CTR10 + ZERO? FIRST?? /?CCL11 + EQUAL? WRD,W?OF \?CCL11 +?CTR10: SET 'NOSP,TRUE-VALUE + JUMP ?CND3 +?CCL11: EQUAL? WRD,W?ME,W?MYSELF \?CCL17 + PRINTD ME + SET 'PN,TRUE-VALUE + JUMP ?CND3 +?CCL17: CALL NAME?,WRD + ZERO? STACK /?CCL19 + CALL CAPITALIZE,BEG + SET 'PN,TRUE-VALUE + JUMP ?CND3 +?CCL19: ZERO? FIRST?? /?CND20 + ZERO? PN \?CND20 + ZERO? CP /?CND20 + EQUAL? WRD,W?MY,W?HER /?CND20 + PRINTI "the " +?CND20: ZERO? P-OFLAG \?CTR27 + ZERO? P-MERGED /?CCL28 +?CTR27: PRINTB WRD + JUMP ?CND26 +?CCL28: EQUAL? WRD,W?IT,W?THEM \?CCL32 + CALL ACCESSIBLE?,P-IT-OBJECT + ZERO? STACK /?CCL32 + PRINTD P-IT-OBJECT + JUMP ?CND26 +?CCL32: EQUAL? WRD,W?HIM,W?HIMSELF \?CCL36 + CALL ACCESSIBLE?,P-HIM-OBJECT + ZERO? STACK /?CCL36 + PRINTD P-HIM-OBJECT + JUMP ?CND26 +?CCL36: EQUAL? WRD,W?HER,W?HERSELF \?CCL40 + CALL ACCESSIBLE?,P-HER-OBJECT + ZERO? STACK /?CCL40 + PRINTD P-HER-OBJECT + JUMP ?CND26 +?CCL40: GETB BEG,2 >?TMP1 + GETB BEG,3 + CALL WORD-PRINT,?TMP1,STACK +?CND26: SET 'FIRST??,FALSE-VALUE +?CND3: ADD BEG,P-WORDLEN >BEG + JUMP ?PRG1 + + + .FUNCT NAME?,WRD + EQUAL? WRD,W?DAD,W?PAPA,W?FATHER /TRUE + EQUAL? WRD,W?DIMSFORD /TRUE + EQUAL? WRD,W?CRULLEY,W?LUCY,W?LAFOND /TRUE + EQUAL? WRD,W?GOVERNOR /TRUE + EQUAL? WRD,W?JAMISON,W?COOKIE,W?QUICK /TRUE + EQUAL? WRD,W?RODNEY /TRUE + EQUAL? WRD,W?LOUISE,W?DAVIS,W?SINISTRA /TRUE + EQUAL? WRD,W?LATIN /TRUE + EQUAL? WRD,W?NICK,W?NICHOLAS,W?FALCON /TRUE + EQUAL? WRD,W?HELENA /TRUE + EQUAL? WRD,W?JEAN,W?ANDY,W?ANDREW /TRUE + EQUAL? WRD,W?ST /TRUE + EQUAL? WRD,W?ERNEST,W?RYALL,W?RODNEY /TRUE + RFALSE + + + .FUNCT ADJNAME?,ADJ + EQUAL? ADJ,A?NICK,A?NICHOLAS,A?FALCON /TRUE + EQUAL? ADJ,A?HELENA /TRUE + EQUAL? ADJ,A?JEAN,A?ANDY,A?ANDREW /TRUE + EQUAL? ADJ,A?ST /TRUE + EQUAL? ADJ,A?ERNEST,A?RYALL,A?RODNEY /TRUE + RFALSE + + + .FUNCT CAPITALIZE,PTR,?TMP1 + ZERO? P-OFLAG \?CTR2 + ZERO? P-MERGED /?CCL3 +?CTR2: GET PTR,0 + PRINTB STACK + RTRUE +?CCL3: GETB PTR,3 + GETB P-INBUF,STACK + SUB STACK,32 + PRINTC STACK + GETB PTR,2 + SUB STACK,1 >?TMP1 + GETB PTR,3 + ADD STACK,1 + CALL WORD-PRINT,?TMP1,STACK + RSTACK + + + .FUNCT PREP-PRINT,PREP,WRD + ZERO? PREP /FALSE + PRINTC 32 + EQUAL? PREP,PR?THROUGH \?CCL6 + PRINTI "through" + RTRUE +?CCL6: CALL PREP-FIND,PREP >WRD + PRINTB WRD + RTRUE + + + .FUNCT CLAUSE-COPY,SRC,DEST,INSRT=0,OCL,BEG,END,BB,EE,OBEG,CNT,B,E + GET P-CCTBL,CC-SBPTR >BB + GET P-CCTBL,CC-SEPTR >EE + GET P-CCTBL,CC-OCLAUSE >OCL + GET SRC,BB >BEG + GET SRC,EE >END + GET OCL,P-MATCHLEN >OBEG +?PRG1: EQUAL? BEG,END /?REP2 + ZERO? INSRT /?CCL7 + GET BEG,0 + EQUAL? P-ANAM,STACK \?CCL7 + EQUAL? INSRT,TRUE-VALUE \?CCL12 + GET P-ITBL,P-NC1 >B + GET P-ITBL,P-NC1L >E +?PRG13: EQUAL? B,E /?CND5 + GET B,0 + CALL CLAUSE-ADD,STACK + ADD B,P-WORDLEN >B + JUMP ?PRG13 +?CCL12: GET OCL,1 + EQUAL? INSRT,STACK /?CND5 + CALL CLAUSE-ADD,INSRT + GET BEG,0 + CALL CLAUSE-ADD,STACK + JUMP ?CND5 +?CCL7: GET BEG,0 + CALL CLAUSE-ADD,STACK +?CND5: ADD BEG,P-WORDLEN >BEG + JUMP ?PRG1 +?REP2: EQUAL? SRC,DEST \?CND18 + GRTR? OBEG,0 \?CND18 + GET OCL,P-MATCHLEN + SUB STACK,OBEG >CNT + PUT OCL,P-MATCHLEN,0 + INC 'OBEG +?PRG22: GET OCL,OBEG + CALL CLAUSE-ADD,STACK + SUB CNT,2 >CNT + ZERO? CNT /?REP23 + ADD OBEG,2 >OBEG + JUMP ?PRG22 +?REP23: SET 'OBEG,0 +?CND18: MUL OBEG,P-LEXELEN + ADD STACK,2 + ADD OCL,STACK + PUT DEST,BB,STACK + GET OCL,P-MATCHLEN + MUL STACK,P-LEXELEN + ADD STACK,2 + ADD OCL,STACK + PUT DEST,EE,STACK + RTRUE + + + .FUNCT CLAUSE-ADD,WRD,OCL,PTR + GET P-CCTBL,CC-OCLAUSE >OCL + GET OCL,P-MATCHLEN + ADD STACK,2 >PTR + SUB PTR,1 + PUT OCL,STACK,WRD + PUT OCL,PTR,0 + PUT OCL,P-MATCHLEN,PTR + RTRUE + + + .FUNCT PREP-FIND,PREP,CNT=0,SIZE + GET PREPOSITIONS,0 + MUL STACK,2 >SIZE +?PRG1: IGRTR? 'CNT,SIZE /FALSE + GET PREPOSITIONS,CNT + EQUAL? STACK,PREP \?PRG1 + SUB CNT,1 + GET PREPOSITIONS,STACK + RSTACK + + + .FUNCT SYNTAX-FOUND,SYN + SET 'P-SYNTAX,SYN + GETB SYN,P-SACTION >PRSA + RETURN PRSA + + + .FUNCT GWIM,GBIT,LBIT,PREP,OBJ + EQUAL? GBIT,RLANDBIT \?CND1 + RETURN ROOMS +?CND1: SET 'P-GWIMBIT,GBIT + SET 'P-SLOCBITS,LBIT + PUTB P-MERGE,P-MATCHLEN,0 + CALL GET-OBJECT,P-MERGE,FALSE-VALUE + ZERO? STACK /?CCL5 + SET 'P-GWIMBIT,0 + GETB P-MERGE,P-MATCHLEN + EQUAL? STACK,1 \FALSE + GETB P-MERGE,1 >OBJ + PRINTC 91 + ZERO? PREP /?CND9 + ZERO? P-END-ON-PREP \?CND9 + CALL PREP-FIND,PREP >PREP + PRINTB PREP + EQUAL? PREP,W?OUT \?CND13 + PRINTI " of" +?CND13: FSET? OBJ,NARTICLEBIT /?CCL17 + PRINTI " the " + JUMP ?CND9 +?CCL17: PRINTC 32 +?CND9: PRINTD OBJ + PRINTC 93 + CRLF + RETURN OBJ +?CCL5: SET 'P-GWIMBIT,0 + RFALSE + + + .FUNCT SNARF-OBJECTS,PTR + GET P-ITBL,P-NC1 >PTR + ZERO? PTR /?CND1 + SET 'P-PHR,0 + GETB P-SYNTAX,P-SLOC1 >P-SLOCBITS + GET P-ITBL,P-NC1L + CALL SNARFEM,PTR,STACK,P-PRSO + ZERO? STACK /FALSE + GETB P-BUTS,P-MATCHLEN + ZERO? STACK /?CND1 + CALL BUT-MERGE,P-PRSO >P-PRSO +?CND1: GET P-ITBL,P-NC2 >PTR + ZERO? PTR /TRUE + SET 'P-PHR,1 + GETB P-SYNTAX,P-SLOC2 >P-SLOCBITS + GET P-ITBL,P-NC2L + CALL SNARFEM,PTR,STACK,P-PRSI + ZERO? STACK /FALSE + GETB P-BUTS,P-MATCHLEN + ZERO? STACK /TRUE + GETB P-PRSI,P-MATCHLEN + EQUAL? STACK,1 \?CCL15 + CALL BUT-MERGE,P-PRSO >P-PRSO + RTRUE +?CCL15: CALL BUT-MERGE,P-PRSI >P-PRSI + RTRUE + + + .FUNCT BUT-MERGE,TBL,LEN,BUTLEN,CNT=1,MATCHES=0,OBJ,NTBL + GETB TBL,P-MATCHLEN >LEN + PUTB P-MERGE,P-MATCHLEN,0 +?PRG1: DLESS? 'LEN,0 /?REP2 + GETB TBL,CNT >OBJ + CALL ZMEMQB,OBJ,P-BUTS + ZERO? STACK \?CND3 + INC 'MATCHES + PUTB P-MERGE,MATCHES,OBJ +?CND3: INC 'CNT + JUMP ?PRG1 +?REP2: PUTB P-MERGE,P-MATCHLEN,MATCHES + SET 'NTBL,P-MERGE + SET 'P-MERGE,TBL + RETURN NTBL + + + .FUNCT SNARFEM,PTR,EPTR,TBL,BUT=0,LEN,WV,WRD,NW,WAS-ALL=0 + SET 'P-AND,FALSE-VALUE + EQUAL? P-GETFLAGS,P-ALL \?CND1 + SET 'WAS-ALL,TRUE-VALUE +?CND1: SET 'P-GETFLAGS,0 + PUTB P-BUTS,P-MATCHLEN,0 + PUTB TBL,P-MATCHLEN,0 + GET PTR,0 >WRD +?PRG3: EQUAL? PTR,EPTR \?CCL7 + ZERO? BUT /?PRD10 + PUSH BUT + JUMP ?PEN8 +?PRD10: PUSH TBL +?PEN8: CALL GET-OBJECT,STACK >WV + ZERO? WAS-ALL \?CCL12 + RETURN WV +?CCL12: SET 'P-GETFLAGS,P-ALL + RETURN WV +?CCL7: ADD PTR,P-WORDLEN + EQUAL? EPTR,STACK \?CCL15 + SET 'NW,0 + JUMP ?CND13 +?CCL15: GET PTR,P-LEXELEN >NW +?CND13: EQUAL? WRD,W?ALL,W?BOTH,W?EVERYT \?CCL18 + CALL MANY-CHECK,P-PHR + ZERO? STACK /FALSE + SET 'P-GETFLAGS,P-ALL + EQUAL? NW,W?OF \?CND5 + ADD PTR,P-WORDLEN >PTR + JUMP ?CND5 +?CCL18: EQUAL? WRD,W?BUT,W?EXCEPT \?CCL24 + ZERO? BUT /?PRD29 + PUSH BUT + JUMP ?PEN27 +?PRD29: PUSH TBL +?PEN27: CALL GET-OBJECT,STACK + ZERO? STACK /FALSE + SET 'BUT,P-BUTS + PUTB BUT,P-MATCHLEN,0 + JUMP ?CND5 +?CCL24: EQUAL? WRD,W?A,W?ONE \?CCL31 + ZERO? P-ADJ \?CCL34 + SET 'P-GETFLAGS,P-ONE + EQUAL? NW,W?OF \?CND5 + ADD PTR,P-WORDLEN >PTR + JUMP ?CND5 +?CCL34: SET 'P-NAM,P-ONEOBJ + ZERO? BUT /?PRD41 + PUSH BUT + JUMP ?PEN39 +?PRD41: PUSH TBL +?PEN39: CALL GET-OBJECT,STACK + ZERO? STACK /FALSE + ZERO? NW \?CND5 + RTRUE +?CCL31: EQUAL? WRD,W?AND,W?COMMA \?CCL45 + EQUAL? NW,W?AND,W?COMMA /?CCL45 + SET 'P-AND,TRUE-VALUE + ZERO? BUT /?PRD52 + PUSH BUT + JUMP ?PEN50 +?PRD52: PUSH TBL +?PEN50: CALL GET-OBJECT,STACK + ZERO? STACK \?CND5 + RFALSE +?CCL45: CALL WT?,WRD,4 + ZERO? STACK \?CND5 + EQUAL? WRD,W?AND,W?COMMA /?CND5 + EQUAL? WRD,W?OF \?CCL56 + ZERO? P-GETFLAGS \?CND5 + SET 'P-GETFLAGS,P-INHIBIT + JUMP ?CND5 +?CCL56: CALL WT?,WRD,32,2 >WV + ZERO? WV /?CCL60 + CALL ADJ-CHECK,WRD,P-ADJ,P-ADJN + ZERO? STACK /?CCL60 + EQUAL? NW,W?OF /?CCL60 + SET 'P-ADJ,WV + SET 'P-ADJN,WRD + JUMP ?CND5 +?CCL60: CALL WT?,WRD,128,0 + ZERO? STACK /?CND5 + SET 'P-NAM,WRD + SET 'P-ONEOBJ,WRD +?CND5: EQUAL? PTR,EPTR /?PRG3 + ADD PTR,P-WORDLEN >PTR + SET 'WRD,NW + JUMP ?PRG3 + + + .FUNCT ADJ-CHECK,WRD,ADJ,ADJN + ZERO? ADJ \FALSE + RTRUE + + + .FUNCT GET-OBJECT,TBL,VRB=1,BITS,LEN,XBITS,TLEN,GCHECK=0,OLEN=0,OBJ + SET 'XBITS,P-SLOCBITS + GETB TBL,P-MATCHLEN >TLEN + BTST P-GETFLAGS,P-INHIBIT /TRUE + ZERO? P-NAM \?CND3 + ZERO? P-ADJ /?CND3 + CALL WT?,P-ADJN,128,0 + ZERO? STACK /?CCL9 + SET 'P-NAM,P-ADJN + SET 'P-ADJ,FALSE-VALUE + SET 'P-ADJN,FALSE-VALUE + JUMP ?CND3 +?CCL9: CALL WT?,P-ADJN,16,3 >BITS + ZERO? BITS /?CND3 + SET 'P-DIRECTION,BITS +?CND3: ZERO? P-NAM \?CND11 + ZERO? P-ADJ \?CND11 + EQUAL? P-GETFLAGS,P-ALL /?CND11 + ZERO? P-GWIMBIT \?CND11 + ZERO? VRB /FALSE + PRINT NOUN-MISSING + RFALSE +?CND11: EQUAL? P-GETFLAGS,P-ALL \?CCL20 + ZERO? P-SLOCBITS \?CND19 +?CCL20: SET 'P-SLOCBITS,-1 +?CND19: SET 'P-TABLE,TBL +?PRG23: ZERO? GCHECK /?CCL27 + CALL GLOBAL-CHECK,TBL + JUMP ?CND25 +?CCL27: ZERO? LIT \?CTR29 + EQUAL? PRSA,V?TELL \?CCL30 +?CTR29: FCLEAR PROTAGONIST,TRANSBIT + CALL DO-SL,HERE,SOG,SIR + FSET PROTAGONIST,TRANSBIT + JUMP ?CND28 +?CCL30: LOC PROTAGONIST + FSET? STACK,VEHBIT \?CND28 + LOC PROTAGONIST + CALL THIS-IT?,STACK + ZERO? STACK /?CND28 + LOC PROTAGONIST + CALL OBJ-FOUND,STACK,TBL +?CND28: CALL DO-SL,PROTAGONIST,SH,SC +?CND25: GETB TBL,P-MATCHLEN + SUB STACK,TLEN >LEN + BTST P-GETFLAGS,P-ALL /?CND36 + EQUAL? P-GETFLAGS,P-ALL /?CCL39 + GRTR? LEN,1 /?CTR38 + ZERO? LEN \?CCL39 + EQUAL? P-SLOCBITS,-1 /?CCL39 +?CTR38: EQUAL? P-SLOCBITS,-1 \?CCL48 + SET 'P-SLOCBITS,XBITS + SET 'OLEN,LEN + GETB TBL,P-MATCHLEN + SUB STACK,LEN + PUTB TBL,P-MATCHLEN,STACK + JUMP ?PRG23 +?CCL48: CALL PUT-ADJ-NAM + ZERO? LEN \?CND49 + SET 'LEN,OLEN +?CND49: ZERO? P-NAM /?CCL53 + ADD TLEN,1 + GETB TBL,STACK >OBJ + ZERO? OBJ /?CCL53 + GETP OBJ,P?GENERIC + CALL STACK >OBJ + ZERO? OBJ /?CCL53 + EQUAL? OBJ,NOT-HERE-OBJECT /FALSE + PUTB TBL,1,OBJ + PUTB TBL,P-MATCHLEN,1 + SET 'P-NAM,FALSE-VALUE + SET 'P-ADJ,FALSE-VALUE + RTRUE +?CCL53: ZERO? VRB /?CCL60 + EQUAL? WINNER,PROTAGONIST /?CCL60 + CALL CANT-ORPHAN + SET 'P-NAM,FALSE-VALUE + SET 'P-ADJ,FALSE-VALUE + RFALSE +?CCL60: ZERO? VRB /?CCL64 + ZERO? P-NAM /?CCL64 + CALL WHICH-PRINT,TLEN,LEN,TBL + EQUAL? TBL,P-PRSO \?CCL69 + SET 'P-ACLAUSE,P-NC1 + JUMP ?CND67 +?CCL69: SET 'P-ACLAUSE,P-NC2 +?CND67: SET 'P-AADJ,P-ADJ + SET 'P-ANAM,P-NAM + CALL ORPHAN,FALSE-VALUE,FALSE-VALUE + SET 'P-OFLAG,TRUE-VALUE + JUMP ?CND51 +?CCL64: ZERO? VRB /?CND51 + PRINT NOUN-MISSING +?CND51: SET 'P-NAM,FALSE-VALUE + SET 'P-ADJ,FALSE-VALUE + RFALSE +?CCL39: ZERO? LEN \?CCL72 + ZERO? GCHECK /?CCL72 + CALL PUT-ADJ-NAM + ZERO? VRB /?CND75 + SET 'P-SLOCBITS,XBITS + ZERO? LIT \?CTR78 + EQUAL? PRSA,V?TELL,V?OPEN /?CTR78 + EQUAL? PRSA,V?WHERE,V?WHAT \?CCL79 +?CTR78: CALL OBJ-FOUND,NOT-HERE-OBJECT,TBL + SET 'P-XNAM,P-NAM + SET 'P-XADJ,P-ADJ + SET 'P-XADJN,P-ADJN + SET 'P-NAM,FALSE-VALUE + SET 'P-ADJ,FALSE-VALUE + SET 'P-ADJN,FALSE-VALUE + RTRUE +?CCL79: PRINT TOO-DARK + CRLF +?CND75: SET 'P-NAM,FALSE-VALUE + SET 'P-ADJ,FALSE-VALUE + RFALSE +?CCL72: ZERO? LEN \?CND36 + SET 'GCHECK,TRUE-VALUE + JUMP ?PRG23 +?CND36: SET 'P-SLOCBITS,XBITS + CALL PUT-ADJ-NAM + SET 'P-NAM,FALSE-VALUE + SET 'P-ADJ,FALSE-VALUE + RTRUE + + + .FUNCT PUT-ADJ-NAM + EQUAL? P-NAM,W?IT /FALSE + PUT P-NAMW,P-PHR,P-NAM + PUT P-ADJW,P-PHR,P-ADJ + RTRUE + + + .FUNCT MOBY-FIND,TBL,OBJ=1,LEN,FOO,NAM,ADJ + SET 'NAM,P-NAM + SET 'ADJ,P-ADJ + SET 'P-NAM,P-XNAM + SET 'P-ADJ,P-XADJ + PUTB TBL,P-MATCHLEN,0 +?PRG3: CALL THIS-IT?,OBJ >FOO + ZERO? FOO /?CND5 + CALL OBJ-FOUND,OBJ,TBL >FOO +?CND5: IGRTR? 'OBJ,LAST-OBJECT \?PRG3 + GETB TBL,P-MATCHLEN >LEN + EQUAL? LEN,1 \?CND10 + GETB TBL,1 >P-MOBY-FOUND +?CND10: SET 'P-NAM,NAM + SET 'P-ADJ,ADJ + RETURN LEN + + + .FUNCT WHICH-PRINT,TLEN,LEN,TBL,OBJ,RLEN + SET 'RLEN,LEN + PRINTI "[Which" + ZERO? P-OFLAG \?CTR2 + ZERO? P-MERGED \?CTR2 + ZERO? P-AND /?CCL3 +?CTR2: PRINTC 32 + PRINTB P-NAM + JUMP ?CND1 +?CCL3: EQUAL? TBL,P-PRSO \?CCL8 + CALL CLAUSE-PRINT,P-NC1,P-NC1L,FALSE-VALUE + JUMP ?CND1 +?CCL8: CALL CLAUSE-PRINT,P-NC2,P-NC2L,FALSE-VALUE +?CND1: PRINTI " dost thou mean, " +?PRG9: INC 'TLEN + GETB TBL,TLEN >OBJ + FSET? OBJ,NARTICLEBIT /?CND11 + PRINTI "the " +?CND11: PRINTD OBJ + EQUAL? LEN,2 \?CCL15 + EQUAL? RLEN,2 /?CND16 + PRINTC 44 +?CND16: PRINTI " or " + JUMP ?CND13 +?CCL15: GRTR? LEN,2 \?CND13 + PRINTI ", " +?CND13: DLESS? 'LEN,1 \?PRG9 + PRINTR "?]" + + + .FUNCT GLOBAL-CHECK,TBL,LEN,RMG,RMGL,CNT=0,OBJ,OBITS,FOO + GETB TBL,P-MATCHLEN >LEN + SET 'OBITS,P-SLOCBITS + GETPT HERE,P?GLOBAL >RMG + ZERO? RMG /?CND1 + PTSIZE RMG + SUB STACK,1 >RMGL +?PRG3: GETB RMG,CNT >OBJ + CALL THIS-IT?,OBJ + ZERO? STACK /?CND5 + CALL OBJ-FOUND,OBJ,TBL +?CND5: IGRTR? 'CNT,RMGL \?PRG3 +?CND1: GETB TBL,P-MATCHLEN + EQUAL? STACK,LEN \FALSE + SET 'P-SLOCBITS,-1 + SET 'P-TABLE,TBL + CALL DO-SL,GLOBAL-OBJECTS,1,1 + SET 'P-SLOCBITS,OBITS + RETURN P-SLOCBITS + + + .FUNCT DO-SL,OBJ,BIT1,BIT2,BTS + ADD BIT1,BIT2 + BTST P-SLOCBITS,STACK \?CCL3 + CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCALL + RSTACK +?CCL3: BTST P-SLOCBITS,BIT1 \?CCL6 + CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCTOP + RSTACK +?CCL6: BTST P-SLOCBITS,BIT2 \TRUE + CALL SEARCH-LIST,OBJ,P-TABLE,P-SRCBOT + RSTACK + + + .FUNCT SEARCH-LIST,OBJ,TBL,LVL,FLS,NOBJ + FIRST? OBJ >OBJ \FALSE +?PRG4: EQUAL? LVL,P-SRCBOT /?CND6 + GETPT OBJ,P?SYNONYM + ZERO? STACK /?CND6 + CALL THIS-IT?,OBJ + ZERO? STACK /?CND6 + CALL OBJ-FOUND,OBJ,TBL +?CND6: ZERO? LVL \?PRD14 + FSET? OBJ,SEARCHBIT /?PRD14 + FSET? OBJ,SURFACEBIT \?CND11 +?PRD14: FIRST? OBJ >NOBJ \?CND11 + FSET? OBJ,OPENBIT /?CCL19 + FSET? OBJ,TRANSBIT /?CCL19 + ZERO? P-MOBY-FLAG /?CND11 +?CCL19: FSET? OBJ,SURFACEBIT \?CCL25 + PUSH P-SRCALL + JUMP ?CND23 +?CCL25: FSET? OBJ,SEARCHBIT \?CCL27 + PUSH P-SRCALL + JUMP ?CND23 +?CCL27: PUSH P-SRCTOP +?CND23: CALL SEARCH-LIST,OBJ,TBL,STACK >FLS +?CND11: NEXT? OBJ >OBJ /?PRG4 + RTRUE + + + .FUNCT OBJ-FOUND,OBJ,TBL,PTR + GETB TBL,P-MATCHLEN >PTR + ADD PTR,1 + PUTB TBL,STACK,OBJ + ADD PTR,1 + PUTB TBL,P-MATCHLEN,STACK + RTRUE + + + .FUNCT TAKE-CHECK + GETB P-SYNTAX,P-SLOC1 + CALL ITAKE-CHECK,P-PRSO,STACK + ZERO? STACK /FALSE + GETB P-SYNTAX,P-SLOC2 + CALL ITAKE-CHECK,P-PRSI,STACK + RSTACK + + + .FUNCT ITAKE-CHECK,TBL,IBITS,PTR,OBJ,TAKEN + GETB TBL,P-MATCHLEN >PTR + ZERO? PTR /TRUE + BTST IBITS,SHAVE /?PRG8 + BTST IBITS,STAKE \TRUE +?PRG8: DLESS? 'PTR,0 /TRUE + ADD PTR,1 + GETB TBL,STACK >OBJ + EQUAL? OBJ,IT \?CCL15 + CALL VISIBLE?,P-IT-OBJECT + ZERO? STACK \?CCL18 + CALL REFERRING + RFALSE +?CCL18: SET 'OBJ,P-IT-OBJECT + JUMP ?CND13 +?CCL15: EQUAL? OBJ,HIM \?CCL20 + CALL VISIBLE?,P-HIM-OBJECT + ZERO? STACK \?CCL23 + CALL REFERRING,TRUE-VALUE + RFALSE +?CCL23: SET 'OBJ,P-HIM-OBJECT + JUMP ?CND13 +?CCL20: EQUAL? OBJ,HER \?CND13 + CALL VISIBLE?,P-HER-OBJECT + ZERO? STACK \?CCL27 + CALL REFERRING,TRUE-VALUE + RFALSE +?CCL27: SET 'OBJ,P-HER-OBJECT +?CND13: CALL HELD?,OBJ + ZERO? STACK \?PRG8 + EQUAL? OBJ,HANDS /?PRG8 + EQUAL? PRSA,V?TAKE-WITH \?CCL34 + EQUAL? OBJ,MAN /?PRG8 +?CCL34: SET 'PRSO,OBJ + FSET? OBJ,TRYTAKEBIT \?CCL39 + SET 'TAKEN,TRUE-VALUE + JUMP ?CND37 +?CCL39: CALL UNTOUCHABLE?,OBJ + ZERO? STACK /?CCL41 + SET 'TAKEN,TRUE-VALUE + JUMP ?CND37 +?CCL41: EQUAL? OBJ,WINE \?CCL43 + CALL HELD?,BLUE-GLASS + ZERO? STACK \?CTR42 + CALL HELD?,GREEN-GLASS + ZERO? STACK /?CCL43 +?CTR42: SET 'TAKEN,FALSE-VALUE + JUMP ?CND37 +?CCL43: EQUAL? HERE,ON-LADDER \?CCL49 + EQUAL? OBJ,LADDER \?CCL49 + SET 'TAKEN,FALSE-VALUE + JUMP ?CND37 +?CCL49: EQUAL? WINNER,PROTAGONIST /?CCL53 + SET 'TAKEN,FALSE-VALUE + JUMP ?CND37 +?CCL53: BTST IBITS,STAKE \?CCL55 + CALL ITAKE,FALSE-VALUE + EQUAL? STACK,TRUE-VALUE \?CCL55 + SET 'TAKEN,FALSE-VALUE + JUMP ?CND37 +?CCL55: SET 'TAKEN,TRUE-VALUE +?CND37: ZERO? TAKEN /?CCL60 + BTST IBITS,SHAVE \?CCL60 + GETB TBL,P-MATCHLEN + LESS? 1,STACK \?CCL65 + PRINT YNH + PRINTI " those things!" + CRLF + RFALSE +?CCL65: EQUAL? OBJ,NOT-HERE-OBJECT \?CND63 + PRINT YOU-CANT + PRINTI "see that here!" + CRLF + RFALSE +?CND63: EQUAL? WINNER,PROTAGONIST \?CCL69 + PRINT YNH + JUMP ?CND67 +?CCL69: PRINT DOESNT-LOOK + CALL TPRINT,WINNER + PRINTI " has" +?CND67: CALL THIS-IS-IT,OBJ + CALL TRPRINT,OBJ + RFALSE +?CCL60: ZERO? TAKEN \?PRG8 + IN? PROTAGONIST,OBJ /?PRG8 + EQUAL? WINNER,PROTAGONIST \?PRG8 + PRINTI "[taking" + CALL TPRINT,OBJ + PRINTI " first]" + CRLF + JUMP ?PRG8 + + + .FUNCT MANY-CHECK,PHR=2,LOSS=0,TMP,?TMP1 + ZERO? PHR \?CCL3 + GETB P-SYNTAX,P-SLOC1 + BTST STACK,SMANY /?CCL3 + SET 'LOSS,1 + JUMP ?CND1 +?CCL3: EQUAL? PHR,1 \?CCL7 + GETB P-SYNTAX,P-SLOC2 + BTST STACK,SMANY /?CCL7 + SET 'LOSS,2 + JUMP ?CND1 +?CCL7: EQUAL? PHR,2 \?CCL11 + GETB P-PRSO,P-MATCHLEN + GRTR? STACK,1 \?CCL11 + GETB P-SYNTAX,P-SLOC1 + BTST STACK,SMANY /?CCL11 + SET 'LOSS,1 + JUMP ?CND1 +?CCL11: EQUAL? PHR,2 \?CND1 + GETB P-PRSI,P-MATCHLEN + GRTR? STACK,1 \?CND1 + GETB P-SYNTAX,P-SLOC2 + BTST STACK,SMANY /?CND1 + SET 'LOSS,2 +?CND1: ZERO? LOSS /TRUE + PRINTC 91 + PRINT YOU-CANT + PRINTI "use multiple " + EQUAL? LOSS,2 \?CND22 + PRINTI "in" +?CND22: PRINTI "direct objects with """ + GET P-ITBL,P-VERBN >TMP + ZERO? TMP \?CCL26 + PRINTI "tell" + JUMP ?CND24 +?CCL26: ZERO? P-OFLAG \?CTR27 + ZERO? P-MERGED /?CCL28 +?CTR27: GET TMP,0 + PRINTB STACK + JUMP ?CND24 +?CCL28: GETB TMP,2 >?TMP1 + GETB TMP,3 + CALL WORD-PRINT,?TMP1,STACK +?CND24: PRINTI """.]" + CRLF + RFALSE + + + .FUNCT ZMEMQ,ITM,TBL,SIZE=-1,CNT=1 + ZERO? TBL /FALSE + LESS? SIZE,0 /?CCL5 + SET 'CNT,0 + JUMP ?PRG6 +?CCL5: GET TBL,0 >SIZE +?PRG6: GET TBL,CNT + EQUAL? ITM,STACK /TRUE + IGRTR? 'CNT,SIZE \?PRG6 + RFALSE + + + .FUNCT ZMEMQB,ITM,TBL,SIZE=-1,CNT=1 + LESS? SIZE,0 /?CCL3 + SET 'CNT,0 + JUMP ?PRG4 +?CCL3: GETB TBL,0 >SIZE +?PRG4: GETB TBL,CNT + EQUAL? ITM,STACK /TRUE + IGRTR? 'CNT,SIZE \?PRG4 + RFALSE + + + .FUNCT LIT?,RM,RMBIT=1,OHERE,LIT=0 + SET 'P-GWIMBIT,ONBIT + SET 'OHERE,HERE + SET 'HERE,RM + ZERO? RMBIT /?CCL3 + FSET? RM,ONBIT \?CCL3 + SET 'LIT,TRUE-VALUE + JUMP ?CND1 +?CCL3: PUTB P-MERGE,P-MATCHLEN,0 + SET 'P-TABLE,P-MERGE + SET 'P-SLOCBITS,-1 + EQUAL? OHERE,RM \?CND6 + CALL DO-SL,WINNER,1,1 + EQUAL? WINNER,PROTAGONIST /?CND6 + IN? PROTAGONIST,RM \?CND6 + CALL DO-SL,PROTAGONIST,1,1 +?CND6: CALL DO-SL,RM,1,1 + GET P-TABLE,P-MATCHLEN + GRTR? STACK,0 \?CND1 + SET 'LIT,TRUE-VALUE +?CND1: SET 'HERE,OHERE + SET 'P-GWIMBIT,0 + RETURN LIT + + + .FUNCT PRSO-PRINT,PTR + ZERO? P-MERGED \?CTR2 + GET P-ITBL,P-NC1 >PTR + GET PTR,0 + EQUAL? STACK,W?IT \?CCL3 +?CTR2: PRINTC 32 + PRINTD PRSO + RTRUE +?CCL3: GET P-ITBL,P-NC1L + CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE + RSTACK + + + .FUNCT PRSI-PRINT,PTR + ZERO? P-MERGED \?CTR2 + GET P-ITBL,P-NC2 >PTR + GET PTR,0 + EQUAL? STACK,W?IT \?CCL3 +?CTR2: PRINTC 32 + PRINTD PRSI + RTRUE +?CCL3: GET P-ITBL,P-NC2L + CALL BUFFER-PRINT,PTR,STACK,FALSE-VALUE + RSTACK + + + .FUNCT THIS-IT?,OBJ,SYNS,?TMP1 + FSET? OBJ,INVISIBLE /FALSE + ZERO? P-NAM /?CCL5 + GETPT OBJ,P?SYNONYM >SYNS + PTSIZE SYNS + DIV STACK,2 + SUB STACK,1 + CALL ZMEMQ,P-NAM,SYNS,STACK + ZERO? STACK /FALSE +?CCL5: ZERO? P-ADJ /?CCL9 + GETPT OBJ,P?ADJECTIVE >SYNS + ZERO? SYNS /FALSE + PTSIZE SYNS + SUB STACK,1 + CALL ZMEMQB,P-ADJ,SYNS,STACK + ZERO? STACK /FALSE +?CCL9: ZERO? P-GWIMBIT /TRUE + FSET? OBJ,P-GWIMBIT /TRUE + RFALSE + + .ENDI diff --git a/parser.zil b/parser.zil new file mode 100644 index 0000000..dbbce59 --- /dev/null +++ b/parser.zil @@ -0,0 +1,1876 @@ +"PARSER for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + +;"Parser global variable convention: All parser globals will begin +with 'P-'. Local variables are not restricted in any way." + + + +> + +> + +> + +> + + + + + + + +> + +;"pointers used by CLAUSE-COPY (source/destination beginning/end pointers)" + + + + + + + + + >> + >> + >> + +> + + ;"number of bytes in input buffer" +> +> +> + + <> <> <>>> + + + + + +> ;"Parse-cont variable" + +> + +> + +> + + + + > ;"PRSO is a direction" + ;"is this necessary?" + > + ) + ( + ) + ( + ) + (T + )>> + +> + +> ;"Orphan flag" + +> + +> + +> + +> + +;"Parser variables and temporaries" + + ;"Byte offset to # of entries in LEXV" + ;"Word offset to start of LEXV entries" + ;"Number of words per LEXV entry" + + ;"Offset to parts of speech byte" + ;"Offset to first part of speech" + ;"First part of speech bit mask in PSOFF byte" + + +> + +> + +> + +> + + + + + + + + + + + + + +> + +;> + +> + +> + +> + +" Grovel down the input finding the verb, prepositions, and noun clauses. + If the input is or , fall out immediately + setting PRSA to ,V?WALK and PRSO to . Otherwise, perform + all required orphaning, syntax checking, and noun clause lookup." + +) ;(DONT <>) + OMERGED OWINNER OLEN LEN (DIR <>) (NW 0) (LW 0) (CNT -1)) + > ,P-ITBLLEN> ) + (T + + >)> + )>> + + + ;> + ;> + ;> + ;> + > + > + > + + + + + > + + ,VEHBIT>> + >)> + >)> + + + ;"rfix no. 36" + > + > + )> + > + >) + (,P-CONT + + > + > + )> + >) + (T + + > + ,VEHBIT>> + >)> + > + > + )> + "> + + >)> + > + + + ) + ( ,W?OOPS> + > + ,W?PERIOD ,W?COMMA ;,W?\!> + > + >)> + > + ; + + ) + (> + >> + > + >> + ,P-LEXELEN>> + + ;)> + > + > + > + > + > + + > + + )>>)> + + + )> + > + > + 2>> + + > + <+ <* .VAL ,P-LEXELEN> 3>>> + + ; + )> + >> + ;"Fixes OOPS w/chars" + + > + > + + ; + ; + ;>) + (T + > + + )>) + ;( ,W?OOPS> + > ;"rfix 36" + ,W?PERIOD ,W?COMMA> + > + >)> + > + + ) + ( + + )> + + >> + ;"Fixes OOPS w/char" + 6>> + 7>> + <+ <* ,P-LEXELEN> 3>> + + >;"Will this help?" + > + ) + (T + > + + )>) + (T >)> + ,W?AGAIN ,W?G> + + ) + ( + + ) + (> + >> + + ) + ( + > + ,W?PERIOD ,W?COMMA ,W?THEN> + > + ,W?AND>> + >> + 2>>) + (T + + )>) + (T + > + 1>>)> + 0> + + + ) + (T + >)> + ;> + + + + + + + ) + (T >)>>) + (T + + + + > ;"fix #36" + >>>> + > + >>> + > + + ;> + + + > 0> + > + ) + ;(>> + ) + (> + >> + > + + + ;"next clause added 8/20/84 by JW to + enable TELL MY NAME TO BEAST" + > + + ) + ( + + + > + + + ) + ( + > + > + + + )> + + > + + >) + (T + )>)> + + >> + + ) + (> + ,ACT?WALK ,ACT?GO> + + + > + + >> + + > + + >>> + + + + ,W?THEN>)> + > + > + )>) + (> + > + + + + + + 2>>>> + >>) + (> + + + + > + ;> + + + + > + >> + ; + >> + )> + ;"3/3/86 -- fix OPEN BACK DOOR given that + back is also a prep for HAND BACK OBJ -pdl" + + + + > + >>) + (> + + >> + + + + )>) + ( + + ) + (T + > + > + > + + > + )>)>) + ;( + > + ) + () + ( + + ;"Next expr added to fix FORD, TELL ME WHY" + > + + ) + (T + + )>) + (T + + )> + + >>)> + > + + > + ;"else, when input is just a direction, P-PRSA-WORD will remain + whatever it was for the previous turn" + + > + + + ; + )> ;"Unc Parser falling out immediately: dir" + > + > + + >> + ) + (,P-OFLAG + )> + + + + > + T)>> + +; + > + +) "AUX" X Y Z) + >>> + > + >> + + + >> + >> + + )> + + > + +;> + +> + +> + +> + +;"For AGAIN purposes, put contents of one LEXV table into another." +> + > + > + 2>> + > + 3>> + > + > + + )>>> + +;"Put contents of one INBUF into another" + ) + (T >)>>> + +;"Put the word in the positions specified from P-INBUF to the end of +OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV" +> + ) + (T + >> + >>>)> + > + >> + > + )>> + + .LEN>> + +;"WT? checks whether word pointed at by PTR is the correct part of speech. + The second argument is the part of speech (,PS?). The + 3rd argument (,P1?), if given, causes the value + for that part of speech to be returned." + +;> .BIT> + ) + (T + > + > >)> + )>)>> + +> .BIT> + + ) + ( + 1) + (T + > + > + >)> + )>)>> + +> + >> + .NW) + (ELSE + >)>)>> + +;" Scan through a noun clause, leave a pointer to its starting location" +) (FIRST?? T) NW (LW 0)) + 2>> + > + > .VAL> + .WRD> + >) + (T >)> + > )> + > >> + > 0> + >> + )> + > + + ) + (>> + > + + + > + ;"fix 'knock on back door', + break compiler">>> + 4>>) + ( + > + ) + ( + ) + ( + > + + > + >)>) + ( + + + ;"ADDED 4/27 FOR TURTLE,UP" + >> + > + + >> + >) + ;"This next clause was 2 clauses further down" + ;"This attempts to fix EDDIE, TURN ON COMPUTER" + ( 0>> + > + ,W?THEN> + >) + ( + + + >> + T) + ;( + ,ACT?SHOW ,ACT?HAND + ,ACT?FEED> + + > + ;"horrific kludge for + 'give her sword to...' --pdl") + ;( + > + > + + > + + ,ACT?SHOW ,ACT?HAND + ,ACT?FEED>>>) + ( + + + >> + T) + ( + > + >> + + 2>>> + ) + (T >)>) + ;"next clause replaced by following on from games + with characters" + ;( 0>>> + + >>) + ( + >) + ( T) + (T + + )>) + (T )> + + > + >>> + +> 2>> + > 3>> + ) + (> 0> + ) + (T + > + + > + <- .CHR 48>>>) + (>> + )> + >)>> + + ;"next COND handles inputs like 4,000" + > ,W?COMMA> + > + >> + > + 2>>> + 2>>>> + > + 2> + .CCTR> + ;"returning 0 would = false" + )> + .TMP>> + > + + ) + (T + > + >> + > + 2> + 2>>> + 3> + 3>>>)>> + > + 2>>)>)> + ;"this 10000 used to be 3000" + )> + + ,W?NUMBER> + +> 2>> + > 3>> + > 0> + ) + (T + > + > + + ) + ( + > + <- .CHR 48>>>) + (T + )> + >)>> + > ;"only handles 3 digits after the comma" + ) + ( ;"if it returned 0, the calling predicate becomes <>" + ) + (T + )>> + + + +) WRD) + > + 0>> + ,PS?VERB ,P1?VERB> + > + > + ) + ( + > + + + > + > + )> + >>> + + >>> + ) + ( ) + ( 1> + > + > + > + > + > + >)> + )>) + (T + > + ;>)> + >) + (T )>) + ( 1> + > + > + > + > + > + >)>)> + > + > + ) + (T )>) + (,P-ACLAUSE + > > + > + ) + (T + > + > >)> + > + > + + ) + (T > )>) + ( + + ,PS?ADJECTIVE> ;"same as WT?" + >> + ) + ( + + ) + ( ,PS?OBJECT> + + ) + (T + )> + )> + > + + + + > + )>>)>)> + > + > + > + + + ; 0>> > + > ,P-ITBLLEN> + + ) + (T >)>> + T> + +)) + >) + (ELSE )> + + > + + ) + (ELSE + )> + + 0>> > + > + > + +;"Print undefined word in input. + PTR points to the unknown word in P-LEXV" + + ) + (ELSE + > + >)>>> + + + + >> 2> + 3>> + + > + >> + +) "AUX" BUF) + + + ) + (T + )>) + (T + >> 2> + 3>>)> + + > + +;" Perform syntax matching operations, using P-ITBL as the source of + the verb and adjectives for this input. Returns false if no + syntax matches, and does it's own orphaning. If return is true, + the syntax is saved in P-SYNTAX." + + + + + + + + + + + + + + +) (DRIVE2 <>) PREP VERB) + >> + + )> + >> + > + > + ,P-SONUMS>> + T) + (> + + >> + >>> + ) + ( > + > + ) + ( + > + + )>)> + + ) + (T + + )>) + (T >)>> + + + >>> + + + ) + ( + + >>> + + + ) + ;( + + ) + (T + + + ) + (T + )> + + ) + ( ,ACTORBIT>> + ,ACTORBIT>>> + ) + (T + )> + + ) + (T + )> + + > + + > + + )> + ) + (T + )>> + + + ) + (T + > + )> + )>> + +> ;"? ,P-OTBL?" + + ) + ( + ) + (> + >) + (T + > + )>> + + + > + + + + )> + > + > + > + ) + (T >)>> + + + + + )> + > + + + + )> + > + ) + (.D2 + > + )>> + + .THE?>> + +) WRD (FIRST?? T) (PN <>)) + + ) + (T + >) + (T + )> + > ,W?PERIOD> + >> + ) + ( + + ) + ( + + ) + (T + + .CP + >> + )> + + ) + ( + > + ) + ( + > + ) + ( + > + ) + (T + + >)> + >)>)> + >>> + + ;"SYNONYMS first, adjectives follow" + + + + + + + + + ; + ;> + ) + (T + )>> + + + + > + ) + (T + )>> + + + >) + (T + > 32>> + 1> <+ 1>>)>> + +> + + + ) + (T + > + )>)>> + +) + "AUX" OCL BEG END BB EE OBEG CNT B E) + > + > + > + > + > + > + )> + >> + + > + > + )> + > + >>) + (>> + + >)>) + (ELSE + >)> + >> + > + .OBEG>> + + > + > + >> + )> + >> + )> + 2>>> + ,P-LEXELEN> 2>>>> + +> + 2>> + .WRD> + + > + + + + 2>> + ) + ( .PREP> + >>)>>> + + + >> + + + + + )> + + + + > + + 1> + > + + > + > + >> + + )> + > + ) + (T + )>)> + + .OBJ)>) + (T + + )>> + +> 0>> + + > + ,P-PRSO> > + > + >>)> + > 0>> + + > + ,P-PRSI> > + >> + 1> + >) + (T >)>)>)> + > + +> + + + ) + (> ,P-BUTS>> + > + )> + >> + + + + .NTBL> + +> + +> + +> + +> + + + +> + +> + +"These three must be same length:" +> +> +> + +> + +> +> + + + + + + + + + +) LEN WV WRD NW (WAS-ALL <>)) + > + + )> + + ; + ; + + + > + + >> + )> + ) + (T + > + ) + (T >)> + + > + )> + + + >)>) + ;( ;"This clause at PARSER too" + ) + ( + > > + + ) + ( + + + + >)>) + (T + + > > + >)>) + ( + >> + + > > + T) + () + () + ( + + )>) + (> + + >> ;"RFIX NO. 40" + + ) + ( + + )>)> + > + > + )>>> + +; + +;> + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )>> + +;> + +;"grabs the first adjective, unless it comes across a special-cased adjective" + + ) + ;( + > + ) + ;( + ) + ;( + ) + (T + )>> + + + + + + + + + +) (OLEN 0) OBJ) + + > + )> + + ,P-ADJ> + + + > + >) + (> + )>)> ;"Added by JW 4-17-85" + + + > + > + )> + )> + > > + )> + + ) + (T + > + + + ) + ( ,VEHBIT> + >> + .TBL>)> + )> + .TLEN>> + ;>>) + ;( + > + >> + "?]" CR> + ) + (ELSE + + )>) + (> + + >>>> + + + + .LEN>> + ) + (T + + + )> + >> + >>> + + )> + + + > + > + ) + (>> + + > + > + ) + ( + + ,P-NC1) + (T ,P-NC2)>> + + + <>> + ) + (.VRB + )> + > + > + )>) + ( .GCHECK> + + + + > + ;"Changed 6/10/83 - MARC" + + + + + > + > + > + ) + (T + )>)> + > > ) + ( )> + + + > + > + >> + +> + + )>> + + ;"ZILCH should stick the # of the last object here" + +; "ARB - I semi'd out the clause > in the first REPEAT" + + + + + ;)> + + % ;>> ;"ZIP case" + '> + ;> + >> + >)> + + )>>>) + (T ;"ZIL case" + ' + > + + ) + (T + + >)>> + + >)> + > 1> + >)> + + + > + +> +> +> +> +> + + + + + + ) + ( + >) + (T + >)> + + > + > + > + )> + + + > + )> + ) + ( + )> + > 1> + + )>>> + +> + + > + 1>> + >> + )> + + )>>)> + ;> + > + + >>>>) + ;(>>>>) + (> + ,PS?ADJECTIVE ,P1?ADJECTIVE>>>>) + ( + ; + ;) + (T + >)> + + >> + 5>> + >> + > + > + + )> + > + > + )>>)> + .LEN> + + + + + ;> + > + )>)>> + +> + ) + (T + + ) + ( + ) + (T )>)>> + + + + + +> + > + + > + )> + > + + > + >> + + + ,P-MOBY-FLAG> + + ,P-SRCALL) + ( + ,P-SRCALL) + (T ,P-SRCTOP)>>>)>)> + >) (T )>>)>> + +> + .OBJ> + >> + +> + >>> + +> + + >> + > 0> + ) + (T + >> + + > + + ) + (T + )>) + ( + > + + ) + (T + )>) + ( + > + + ) + (T + )>)> + + T) + ( + T) + ( + > + T) ;"for TAKE ME WITH YOU" + (T + + + ) + ( + ) + ( + + >> + >) + ( + > + >) + (> + >) + ( + > T>> + >) + (T + )> + > + > + + ) + ( + + )> + + ) + (T + )> + + + ) + ( + > + > + )>)>)>>) + (T)>> + +) TMP) + + ,SMANY>>> + ) + ( + ,SMANY>>> + ) + ( + 1> + ,SMANY>>> + ) + ( + 1> + ,SMANY>>> + )> + + + )> + + > + + ) + ( + >) + (T + >)> + + ) + (T)>> + + )> + > ) + (ELSE >)> + > + ) + ( + )>>> + +> ) + (ELSE >)> + > + ) + ( + )>>> + +)) + + + + > + ) + (T + + + + + + > + > + )>)> + + 0> + )>)> + + + .LIT> + +> 0> ,W?IT>> + ) + (T + <>>)>> + +> 0> ,W?IT>> + ) + (T + <>>)>> + +;"former CRUFTY.ZIL routine" + + + ) + (> + <- 2> 1>>>> + ) + (>> + 1>>>>> + ) + (> >> + )> + > \ No newline at end of file diff --git a/r1.errors b/r1.errors new file mode 100644 index 0000000..4759b9b --- /dev/null +++ b/r1.errors @@ -0,0 +1,29 @@ +Assembling R1.ZAP.35 on Thursday, July 30, 1987 13:58:39 +Release: 26 + + 64 Inserting R1FREQ.XZAP.3 (610 bytes) + 674 Inserting R1DAT.ZAP.28 (19294 bytes) + 19968 Inserting R1PUR.ZAP.27 (0 bytes) + 19968 Inserting MISC.ZAP.31 (2702 bytes) + 22670 Inserting PARSER.ZAP.30 (7624 bytes) + 30294 Inserting VERBS.ZAP.31 (14399 bytes) + 44693 Inserting GLOBALS.ZAP.32 (9580 bytes) + 54273 Inserting SHIP.ZAP.31 (15519 bytes) + 69792 Inserting HERO.ZAP.30 (7252 bytes) + 77044 Inserting ISLAND.ZAP.30 (17758 bytes) + 94802 Inserting CLOTHES.ZAP.29 (4745 bytes) + 99547 Inserting EXTRAS.ZAP.28 (18641 bytes) +118188 Inserting R1STR.ZAP.27 (10774 bytes) + +Symbols unused: +SORE + +223 objects. +239 globals. +816 word vocabulary. + +128962 bytes (126K). + 19968 bytes of preload. + 9715 bytes of impure. + +Outputting symbol tables diff --git a/r1.zap b/r1.zap new file mode 100644 index 0000000..183b055 --- /dev/null +++ b/r1.zap @@ -0,0 +1,50 @@ +; Low core locations +%ZVERSION:: .BYTE 0 + .BYTE FLAGS +%ZORKID:: ZORKID +%ENDLOD:: ENDLOD +%START:: START +%VOCAB:: VOCAB +%OBJECT:: OBJECT +%GLOBAL:: GLOBAL +%PURBOT:: IMPURE +%FLAGS:: .WORD 0 +%SERIAL:: .WORD 0 +%SERI1:: .WORD 0 +%SERI2:: .WORD 0 +%FWORDS:: WORDS +%PLENTH:: .WORD 0 +%PCHKSM:: .WORD 0 +%INTWRD:: .WORD 0 +%SCRWRD:: .WORD 0 + .WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 +.WORD 0 + .INSERT "PS:R1FREQ" ;Frequent word table + .INSERT "PS:R1DAT" ; Data file + .INSERT "PS:R1PUR" + .INSERT "PS:MISC" + .INSERT "PS:PARSER" + .INSERT "PS:VERBS" + .INSERT "PS:GLOBALS" + .INSERT "PS:SHIP" + .INSERT "PS:HERO" + .INSERT "PS:ISLAND" + .INSERT "PS:CLOTHES" + .INSERT "PS:EXTRAS" + + .INSERT "PS:R1STR" + + .END diff --git a/r1.zil b/r1.zil new file mode 100644 index 0000000..0950f51 --- /dev/null +++ b/r1.zil @@ -0,0 +1,42 @@ +"R1 + for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + +ON!-INITIAL +OFF!-INITIAL ;"makes debugging possible -- pdl" + + + +; + + )> + + + + + >> + + + )> + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/r1.zip b/r1.zip new file mode 100644 index 0000000..b5e076d Binary files /dev/null and b/r1.zip differ diff --git a/r1dat.zap b/r1dat.zap new file mode 100644 index 0000000..247250f --- /dev/null +++ b/r1dat.zap @@ -0,0 +1,13736 @@ + + +; TOP LEVEL DEFINITIONS + + TRUE-VALUE=1 + FALSE-VALUE=0 + FATAL-VALUE=2 + + O?ANY=1 + + PS?OBJECT=128 + PS?VERB=64 + PS?ADJECTIVE=32 + PS?DIRECTION=16 + PS?PREPOSITION=8 + PS?BUZZ-WORD=4 + + P1?NONE=0 + P1?OBJECT=0 + P1?VERB=1 + P1?ADJECTIVE=2 + P1?DIRECTION=3 + + +; OBJECT FLAGS ARE DEFINED HERE + + + PLURALBIT=2 + FX?PLURALBIT=8192 + + BODYBIT=3 + FX?BODYBIT=4096 + + NARTICLEBIT=4 + FX?NARTICLEBIT=2048 + + DEADBIT=5 + FX?DEADBIT=1024 + + EVERYBIT=6 + FX?EVERYBIT=512 + + FEMALEBIT=7 + FX?FEMALEBIT=256 + + INBIT=8 + FX?INBIT=128 + + NDESCBIT=9 + FX?NDESCBIT=64 + + LOCKEDBIT=10 + FX?LOCKEDBIT=32 + + VOWELBIT=11 + FX?VOWELBIT=16 + + INDOORSBIT=12 + FX?INDOORSBIT=8 + + MUNGBIT=13 + FX?MUNGBIT=4 + + TRANSBIT=14 + FX?TRANSBIT=2 + + SEARCHBIT=15 + FX?SEARCHBIT=1 + + OPENBIT=16 + FX?OPENBIT=32768 + + TRYTAKEBIT=17 + FX?TRYTAKEBIT=16384 + + SURFACEBIT=18 + FX?SURFACEBIT=8192 + + TOUCHBIT=19 + FX?TOUCHBIT=4096 + + INVISIBLE=20 + FX?INVISIBLE=2048 + + WEARBIT=21 + FX?WEARBIT=1024 + + WORNBIT=22 + FX?WORNBIT=512 + + TAKEBIT=23 + FX?TAKEBIT=256 + + CONTBIT=24 + FX?CONTBIT=128 + + LIGHTBIT=25 + FX?LIGHTBIT=64 + + DOORBIT=26 + FX?DOORBIT=32 + + BURNBIT=27 + FX?BURNBIT=16 + + VEHBIT=28 + FX?VEHBIT=8 + + ONBIT=29 + FX?ONBIT=4 + + RLANDBIT=30 + FX?RLANDBIT=2 + + ACTORBIT=31 + FX?ACTORBIT=1 + +; ACTION IDENTIFIERS ARE ASSIGNED HERE + + V?VERBOSE=0 + V?BRIEF=1 + V?SUPER-BRIEF=2 + V?INVENTORY=3 + V?I-LOVE-YOU=4 + V?QUIT=5 + V?RESTART=6 + V?RESTORE=7 + V?SAVE=8 + V?SCRIPT=9 + V?UNSCRIPT=10 + V?VERSION=11 + V?$RANDOM=12 + V?$COMMAND=13 + V?$RECORD=14 + V?$UNRECORD=15 + V?$VERIFY=16 + V?APPLAUD=17 + V?WALK-TO=18 + V?ASK-ABOUT=19 + V?ASK-FOR=20 + V?ASK-NO-ONE-FOR=21 + V?KILL=22 + V?BITE=23 + V?BLOW=24 + V?OFF=25 + V?BOARD=26 + V?BRIBE=27 + V?BURN=28 + V?WALK-AROUND=29 + V?CLIMB=30 + V?CLIMB-ON=31 + V?CLIMB-DOWN=32 + V?DISEMBARK=33 + V?CLIMB-OVER=34 + V?ENTER=35 + V?CRAWL-UNDER=36 + V?CLOSE=37 + V?SHUT-UP=38 + V?FOLLOW=39 + V?SPUT-ON=40 + V?CRY=41 + V?DANCE=42 + V?MUNG=43 + V?DIG=44 + V?DRESS=45 + V?DRINK=46 + V?DRINK-FROM=47 + V?DROP=48 + V?PUT=49 + V?PUT-ON=50 + V?PUT-THROUGH=51 + V?EAT=52 + V?EMPTY=53 + V?EMPTY-FROM=54 + V?IN=55 + V?EXAMINE=56 + V?EXIT=57 + V?FEED=58 + V?GIVE=59 + V?SGIVE=60 + V?FIDDLE=61 + V?FILL=62 + V?SFILL=63 + V?FIND=64 + V?FIX=65 + V?WALK=66 + V?HIDE=67 + V?LEAVE=68 + V?LEAP-OVERBOARD=69 + V?HALT=70 + V?LISTEN=71 + V?HELLO=72 + V?HELP=73 + V?SAVE-SOMETHING=74 + V?EMBRACE=75 + V?LEAP=76 + V?LEAP-OFF=77 + V?KICK=78 + V?KISS=79 + V?CURTSEY=80 + V?KNOCK=81 + V?ROLL=82 + V?LAUGH=83 + V?LAUNCH=84 + V?LIE-DOWN=85 + V?ON=86 + V?LOCK=87 + V?LOOK=88 + V?LOOK-DOWN=89 + V?LOOK-UP=90 + V?LOOK-INSIDE=91 + V?LOOK-UNDER=92 + V?LOOK-BEHIND=93 + V?CHASTISE=94 + V?LOWER=95 + V?MAKE-OUT=96 + V?MAKE-LOVE=97 + V?MARRY=98 + V?MOVE=99 + V?PUSH-DIR=100 + V?RAISE=101 + V?MUZZLE=102 + V?NO=103 + V?OPEN=104 + V?PICK=105 + V?TAKE=106 + V?TOUCH=107 + V?SPOINT=108 + V?POINT=109 + V?WRING=110 + V?POUR=111 + V?POUR-FROM=112 + V?PUSH=113 + V?PUT-UNDER=114 + V?RAPE=115 + V?REACH-IN=116 + V?READ=117 + V?REFLECT=118 + V?REMOVE=119 + V?RETURN=120 + V?RIP=121 + V?ROW=122 + V?ROW-DIR=123 + V?ROW-TO=124 + V?SCORE=125 + V?SEARCH=126 + V?SHAKE=127 + V?SHAKE-WITH=128 + V?SHOOT=129 + V?SSHOOT=130 + V?SHOW=131 + V?SSHOW=132 + V?SIGH=133 + V?SINK=134 + V?SIT=135 + V?SLEEP=136 + V?CUT=137 + V?SMELL=138 + V?SOAK=139 + V?STAND=140 + V?STAND-ON=141 + V?WEAR=142 + V?PUT-BEHIND=143 + V?SWIM=144 + V?SWING=145 + V?SWOON=146 + V?TAKE-WITH=147 + V?TAKE-OFF=148 + V?GET-DRESSED=149 + V?GET-UNDRESSED=150 + V?GET-DRUNK=151 + V?TELL=152 + V?TELL-ABOUT=153 + V?STELL=154 + V?THANK=155 + V?THROW=156 + V?THROW-OVERBOARD=157 + V?THROW-AT=158 + V?THROW-TO=159 + V?STHROW=160 + V?THROW-OVER=161 + V?TIE=162 + V?TIE-WITH=163 + V?STOUCH=164 + V?SET=165 + V?UNDRESS=166 + V?UNLOCK=167 + V?UNROLL=168 + V?UNTIE=169 + V?USE=170 + V?WAIT=171 + V?ALARM=172 + V?CLEAN=173 + V?WAVE=174 + V?WAVE-AT=175 + V?WHAT=176 + V?WHERE=177 + V?WRAP=178 + V?SWRAP=179 + V?YELL=180 + V?YES=181 + V?ANSWER-KLUDGE=182 + +; PROPERTIES ARE DEFINED HERE + + P?NW=31 + P?SW=30 + P?SYNONYM=29 + P?NORTH=28 + P?NE=27 + P?EAST=26 + P?SE=25 + P?SOUTH=24 + P?WEST=23 + P?UP=22 + P?DOWN=21 + P?IN=20 + P?OUT=19 + P?ADJECTIVE=18 + P?ACTION=17 + P?SIZE=16 + P?GENERIC=15 + P?CONTENTS=14 + P?DESCFCN=13 + P?LDESC=12 + P?GLOBAL=11 + P?CAPACITY=10 + P?FDESC=9 + +; ADJECTIVES ARE DEFINED HERE + + A?NORTH=255 + A?SOUTH=254 + A?EAST=253 + A?WEST=252 + A?NW=251 + A?NE=250 + A?SW=249 + A?SE=248 + A?SIR=247 + A?BEWIGGED=246 + A?SIRRAH=245 + A?GENTLEMAN=244 + A?ROPE=243 + A?LARGE=242 + A?LOW=241 + A?FRESH=240 + A?SEA=239 + A?DARK=238 + A?COLD=237 + A?MOON=236 + A?BARE=235 + A?MY=234 + A?YOUR=233 + A?HIS=232 + A?LAFOND=231 + A?CROC'S=230 + A?CROCOD=229 + A?HUGE=228 + A?STONE=227 + A?WARM=226 + A?SMOKY=225 + A?WOOD=224 + A?ROCK=223 + A?WET=222 + A?GLASS=221 + A?SMALL=220 + A?PANE=219 + A?PANES=218 + A?HELENA=217 + A?PIRATE=216 + A?PLANK=215 + A?HUMAN=214 + A?CANVAS=213 + A?FLESH=212 + A?METAL=211 + A?HEAVY=210 + A?WHITE=209 + A?MESSY=208 + A?CAPTAIN=207 + A?COVERED=206 + A?MESH=205 + A?WIRE=204 + A?IRON=203 + A?SUPPLIES=202 + A?BURNING=201 + A?SLOW=200 + A?RED=199 + A?AIR=198 + A?CHIPPED=197 + A?PIECE=196 + A?BIT=195 + A?NAVIGA=194 + A?EMPTY=193 + A?RUM=192 + A?WARPED=191 + A?SALT=190 + A?SLAB=189 + A?STAINED=188 + A?WATER=187 + A?ANCHOR=186 + A?MOORING=185 + A?WOODEN=184 + A?STUB=183 + A?TANGLED=182 + A?POINTED=181 + A?SHARP=180 + A?NICHOLAS=179 + A?NICK=178 + A?FALCON=177 + A?ST=176 + A?LOVELY=175 + A?BAMBOO=174 + A?LOOSE=173 + A?DANCE=172 + A?LONG=171 + A?BLACK=170 + A?VELVET=169 + A?PURPLE=168 + A?GOLD=167 + A?OPENING=166 + A?SECRET=165 + A?WORLD=164 + A?BOOK=163 + A?CASE=162 + A?TREATISE=161 + A?WELL-READ=160 + A?TURKEY=159 + A?DUELLI=158 + A?ORNATE=157 + A?LACE-COVERED=156 + A?LACE=155 + A?PINCH=154 + A?SPICE=153 + A?SILVER=152 + A?PIECES=151 + A?BLUE=150 + A?GREEN=149 + A?POWDER=148 + A?JAWS=147 + A?REPTILE=146 + A?GATOR=145 + A?PAIR=144 + A?LOCKS=143 + A?FETTER=142 + A?TRAP=141 + A?CELL=140 + A?BREEKS=139 + A?PILE=138 + A?COTTON=137 + A?BALL=136 + A?SILK=135 + A?SCRAP=134 + A?LINEN=133 + A?KID=132 + A?FIFTY=131 + A?GUINEA=130 + A?FRONT=129 + A?BACK=128 + A?SMELLING=127 + A?AMMONIA=126 + A?BROWN=125 + A?LEATHER=124 + A?LAUD=123 + A?JEWELLED=122 + A?DIAMOND=121 + A?SAPPHI=120 + A?RUBY=119 + A?PLUMED=118 + A?ANDREW=117 + A?ANDY=116 + A?RODNEY=115 + A?BLOND=114 + A?DANCER=113 + A?ERNEST=112 + A?RYALL=111 + A?JEAN=110 + A?NEW=109 + A?DRAGOO=108 + +; BUZZ WORDS ARE DEFINED HERE + + B?A=255 + B?AN=254 + B?THE=253 + B?IS=252 + B?ARE=251 + B?AM=250 + B?AND=249 + B?OF=248 + B?THEN=247 + B?ALL=246 + B?BUT=245 + B?ONE=244 + B?EXCEPT=243 + B?PERIOD=242 + B?COMMA=241 + B?QUOTE=240 + B?PLEASE=239 + B?THIS=238 + B?THAT=237 + B?HERE=236 + B?SOME=235 + B?MORE=234 + B?G=233 + B?AGAIN=232 + B?OOPS=231 + B?SEX=230 + +; PREPOSITIONS ARE DEFINED HERE + + PR?LOVE=255 + PR?ABOUT=254 + PR?TO=253 + PR?FOR=252 + PR?WITH=251 + PR?AT=250 + PR?ON=249 + PR?OUT=248 + PR?UP=247 + PR?IN=246 + PR?DOWN=245 + PR?OFF=244 + PR?OVER=243 + PR?THROUGH=242 + PR?UNDER=241 + PR?FROM=240 + PR?AROUND=239 + PR?BEHIND=238 + PR?AWAY=237 + PR?OVERBOARD=236 + PR?ACROSS=235 + PR?AGAINST=234 + PR?GO=233 + PR?DRESSE=232 + PR?UNDRES=231 + PR?DRUNK=230 + +; DIRECTIONS ARE DEFINED HERE + + +; ACTIONS ARE DEFINED HERE + + ACT?KISS=255 + ACT?APPROA=254 + ACT?BRIBE=253 + ACT?RAPE=252 + ACT?VERBOSE=251 + ACT?SWOON=250 + ACT?WALK=249 + ACT?STICK=248 + ACT?QUIT=247 + ACT?FIND=246 + ACT?HEAR=245 + ACT?YES=244 + ACT?ZZMGCK=243 + ACT?STOP=242 + ACT?SINK=241 + ACT?UNLOCK=240 + ACT?READ=239 + ACT?JUMP=238 + ACT?POUR=237 + ACT?WAIT=236 + ACT?TAKE=235 + ACT?NO=234 + ACT?SIGH=233 + ACT?RAISE=232 + ACT?FOLLOW=231 + ACT?VERSION=230 + ACT?#UNRECORD=229 + ACT?LIGHT=228 + ACT?LIE=227 + ACT?MOVE=226 + ACT?LET=225 + ACT?PLAY=224 + ACT?OPEN=223 + ACT?MARRY=222 + ACT?TOUCH=221 + ACT?#COMMAND=220 + ACT?BLOW=219 + ACT?SHOOT=218 + ACT?WRAP=217 + ACT?KNOCK=216 + ACT?INVENT=215 + ACT?PICK=214 + ACT?BOARD=213 + ACT?#RANDOM=212 + ACT?HUG=211 + ACT?STAND=210 + ACT?LISTEN=209 + ACT?TIE=208 + ACT?WHERE=207 + ACT?PASS=206 + ACT?SHOW=205 + ACT?TAP=204 + ACT?SAVE=203 + ACT?HELP=202 + ACT?TELL=201 + ACT?THROW=200 + ACT?FEED=199 + ACT?DRESS=198 + ACT?FIDDLE=197 + ACT?LOWER=196 + ACT?TALK=195 + ACT?USE=194 + ACT?HIDE=193 + ACT?SHAKE=192 + ACT?ATTACK=191 + ACT?RESTOR=190 + ACT?ENTER=189 + ACT?THANKS=188 + ACT?SEARCH=187 + ACT?WEAR=186 + ACT?PAY=185 + ACT?DISEMBARK=184 + ACT?SWIM=183 + ACT?UNTIE=182 + ACT?WASH=181 + ACT?CIRCLE=180 + ACT?UNSCRIPT=179 + ACT?MUZZLE=178 + ACT?PUSH=177 + ACT?SUPER=176 + ACT?SIT=175 + ACT?RESTAR=174 + ACT?APPLAUD=173 + ACT?UNDRES=172 + ACT?REACH=171 + ACT?DIG=170 + ACT?SOAK=169 + ACT?SCORE=168 + ACT?CRY=167 + ACT?LAUGH=166 + ACT?COVER=165 + ACT?CURTSEY=164 + ACT?COME=163 + ACT?DANCE=162 + ACT?LOOK=161 + ACT?EMPTY=160 + ACT?RIP=159 + ACT?DROP=158 + ACT?ROLL=157 + ACT?LEAVE=156 + ACT?HAND=155 + ACT?WRING=154 + ACT?SCRIPT=153 + ACT?$VERIFY=152 + ACT?EXTINGUISH=151 + ACT?SWING=150 + ACT?DESCEN=149 + ACT?MANACLE=148 + ACT?SMELL=147 + ACT?BRIEF=146 + ACT?SLEEP=145 + ACT?WAKE=144 + ACT?DRINK=143 + ACT?REMOVE=142 + ACT?WHAT=141 + ACT?YELL=140 + ACT?LOCK=139 + ACT?BURN=138 + ACT?KICK=137 + ACT?BITE=136 + ACT?POINT=135 + ACT?TURN=134 + ACT?#RECORD=133 + ACT?MAKE=132 + ACT?CLOSE=131 + ACT?FIX=130 + ACT?GO=129 + ACT?REFLECT=128 + ACT?SLIDE=127 + ACT?WAVE=126 + ACT?EXIT=125 + ACT?EXAMINE=124 + ACT?ROW=123 + ACT?EAT=122 + ACT?FILL=121 + ACT?LEAN=120 + ACT?CLIMB=119 + ACT?LAUNCH=118 + ACT?RETURN=117 + ACT?DEMOLI=116 + ACT?UNROLL=115 + ACT?SLICE=114 + ACT?ASK=113 + ACT?HELLO=112 + +; USER DEFINED CONSTANTS ARE INITIALIZED HERE + + SOG=16 + SIR=32 + DEXITSTR=1 + XEQUAL?=4 + P-ITBLLEN=9 + P-SYNLEN=8 + P-SRCTOP=0 + C-INTLEN=4 + O-START=1 + DEXITOBJ=1 + POISONED=2 + P-P1OFF=5 + O-PTR=0 + O-LENGTH=2 + C-TABLELEN=60 + P-NC2=8 + P-NC1=6 + P-WORDLEN=4 + P-VERBN=1 + SERIAL=0 + P-P1BITS=3 + FEXIT=3 + CC-SEPTR=1 + P-SPREP1=1 + CC-SBPTR=0 + P-PREP1=2 + HORNY=10 + M-BEG=1 + XDIV=3 + M-FATAL=8 + XGRTR?=5 + NEXITSTR=0 + NEXIT=2 + P-SLOC2=6 + SC=64 + P-PREP1N=3 + P-PSOFF=4 + XLESS?=6 + P-VERB=0 + ROWWEST=-3 + FIGHTING=5 + M-ENTER=2 + REACTION-NEGATIVE=-1 + DEXIT=5 + SHAVE=2 + P-SRCBOT=2 + M-OBJDESC=5 + SMANY=4 + REACTION-NEUTRAL=0 + WINED=1 + STAKE=8 + P-SPREP2=2 + XSUB=1 + REACTION-POSITIVE=1 + XADD=0 + CEXIT=4 + P-LEXSTART=1 + M-LOOK=3 + DEAD=7 + UEXIT=1 + D-RECORD-ON=4 + O-END=3 + P-LEXELEN=2 + P-LEXWORDS=1 + P-ALL=1 + XMUL=2 + P-SFWIM1=3 + CC-OCLAUSE=2 + P-INHIBIT=4 + M-DESC?=9 + CEXITFLAG=1 + W-P=3 + D-RECORD-OFF=-4 + M-FLASH=4 + FEXITFCN=0 + M-EXDESC=10 + P-SBITS=0 + CEXITSTR=1 + P-SRCALL=1 + P-SLOC1=5 + M-END=6 + P-PREP2=4 + LOW-DIRECTION=19 + P-SONUMS=3 + D-PARA?=2 + C-TICK=1 + P-INBUF-LENGTH=80 + P-NC2L=9 + P-NC1L=7 + P-ONE=2 + P-SACTION=7 + ROWEAST=2 + P-SFWIM2=4 + D-ALL?=1 + REXIT=0 + SH=128 + C-RTN=0 + +; THE GLOBAL VARIABLES ARE ALL LOCATED HERE + +GLOBAL::.TABLE + .GVAR HERE=FRONTISPIECE + .GVAR SCORE=0 + .GVAR MOVES=0 + .GVAR HEARD-CRULLEY=0 + .GVAR P-END-ON-PREP=0 + .GVAR CHASTISED?=0 + .GVAR LAFOND-CTR=0 + .GVAR P-PHR=0 + .GVAR YOULL-HAVE-TO=STR?51,STRING + .GVAR EYES-RAKE=STR?2,STRING + .GVAR BUTLER-SUMMONS=STR?97,STRING + .GVAR DRIPS-OFF=STR?28,STRING + .GVAR HUH=STR?91,STRING + .GVAR P-BUTS=T?1802,TABLE + .GVAR YOU-CANT-SEE-ANY=STR?47,STRING + .GVAR REEF-DESC=T?306,TABLE + .GVAR QUESTIONER=0 + .GVAR MET-ALREADY=0 + .GVAR DOESNT-RESPOND=STR?32,STRING + .GVAR P-HIM-OBJECT=0 + .GVAR CROC-LUNGES=STR?202,STRING + .GVAR P-ACLAUSE=0 + .GVAR HO-HUM-LIST=T?304,TABLE + .GVAR PULL-FABRIC=STR?53,STRING + .GVAR THE-BALLROOM=STR?57,STRING + .GVAR YOU-HAVE-ALREADY=STR?52,STRING + .GVAR P-SLOCBITS=0 + .GVAR BLOWING-LADDER-C=0 + .GVAR ROWING=0 + .GVAR WATCHING-SLEEPY=T?108,TABLE + .GVAR YOU-ARE-ALREADY=STR?58,STRING + .GVAR SNORTS-IN-SLEEP=STR?203,STRING + .GVAR P-MATCHLEN=0 + .GVAR P-ADVERB=0 + .GVAR P-MULT=0 + .GVAR CLOCK-WAIT=0 + .GVAR WINNING-RANKS=T?104,TABLE + .GVAR PYRAMID-CTR=0 + .GVAR P-NAMW=T?1302,TABLE + .GVAR P-OTBL=T?1002,TABLE + .GVAR NUTBROWN=STR?136,STRING + .GVAR C-MAXINTS=60 + .GVAR HALFWAY=STR?41,STRING + .GVAR P-NAM=0 + .GVAR COOKIE-LOOKING=0 + .GVAR C-TABLE=T?101,TABLE + .GVAR HERO-EYES-CLOSED=STR?138,STRING + .GVAR BATTLE-CRY=STR?112,STRING + .GVAR HDAD-SPEECH=0 + .GVAR P-XNAM=0 + .GVAR P-MOBY-FOUND=0 + .GVAR PRIMED=0 + .GVAR OOPS-TABLE=T?802,TABLE + .GVAR P-WALK-DIR=0 + .GVAR HERO-SHIP-SPEECHES=T?107,TABLE + .GVAR P-ANAM=0 + .GVAR SOMETHING-HITS-YOU=STR?65,STRING + .GVAR CLOCK-HAND=0 + .GVAR REACTION=0 + .GVAR LAST-PSEUDO-LOC=0 + .GVAR DRUGGEE=0 + .GVAR P-CONT=0 + .GVAR P-PRSI=T?1702,TABLE + .GVAR AGAIN-LEXV=T?302,TABLE + .GVAR DARKNESS=STR?31,STRING + .GVAR VERBOSITY=1 + .GVAR RIEF-DESC=STR?62,STRING + .GVAR LAFOND-LOOKING=1 + .GVAR P-DIRECTION=0 + .GVAR HELP-SCREAM=STR?8,STRING + .GVAR DANCED-WITH=0 + .GVAR SKIFF-LOC=5 + .GVAR RESERVE-INBUF=T?602,TABLE + .GVAR CANT-GO=STR?82,STRING + .GVAR IMPOSSIBLE-LIST=T?404,TABLE + .GVAR BUTLER-POINTS=STR?173,STRING + .GVAR PUSHING-YOU-OUT=STR?75,STRING + .GVAR MENACES=T?110,TABLE + .GVAR COOKIE-HARRUMPHS=STR?177,STRING + .GVAR PORK-DOPED=0 + .GVAR COMMON-LOOKING=STR?30,STRING + .GVAR PCR=STR?86,STRING + .GVAR LIT=1 + .GVAR NOUN-MISSING=STR?84,STRING + .GVAR PIRATE-NOISES=T?206,TABLE + .GVAR P-VTBL=T?1102,TABLE + .GVAR P-XADJN=0 + .GVAR P-ADJW=T?1402,TABLE + .GVAR HERO-LEAVES-FOLLY=STR?143,STRING + .GVAR RESERVE-LEXV=T?402,TABLE + .GVAR P-MOBY-FLAG=0 + .GVAR P-ADJ=0 + .GVAR GLASS-DESC=T?308,TABLE + .GVAR P-LEN=0 + .GVAR WET-RAG=0 + .GVAR C-INTS=48 + .GVAR P-CCTBL=T?102,TABLE + .GVAR P-LEXV=T?202,TABLE + .GVAR COOKIE-FIGHTING-CROC=0 + .GVAR NOTHING-NEW=STR?99,STRING + .GVAR ANGER-CTR=0 + .GVAR NO-VERB=STR?100,STRING + .GVAR AFTER-HESITATING=STR?223,STRING + .GVAR HERO-ARRESTED=0 + .GVAR AWAITING-FAKE-ORPHAN=0 + .GVAR SINEWY-ARM=STR?76,STRING + .GVAR TOO-DARK=STR?36,STRING + .GVAR ATTACK-C=0 + .GVAR HOLDING-PINCH=0 + .GVAR PENULTIM-POINT=0 + .GVAR PRSO=0 + .GVAR WHICH-MAST?=0 + .GVAR LAUD-LEFT=5 + .GVAR P-MERGED=0 + .GVAR STEEP-STAIRS=STR?34,STRING + .GVAR P-GWIMBIT=0 + .GVAR FALL-TO-BOTTOM=STR?64,STRING + .GVAR YOU-CANT=STR?49,STRING + .GVAR NO-STRENGTH=STR?74,STRING + .GVAR KILL-L=0 + .GVAR FAILED=STR?89,STRING + .GVAR MUZZLED=0 + .GVAR P-SYNTAX=0 + .GVAR P-XADJ=0 + .GVAR P-AADJ=0 + .GVAR LAUGHS=STR?80,STRING + .GVAR ELLIPSIS=STR?87,STRING + .GVAR ABUSES=T?210,TABLE + .GVAR PRSA=0 + .GVAR P-PRSA-WORD=0 + .GVAR YOU-SEE=STR?46,STRING + .GVAR THE-BACK=STR?54,STRING + .GVAR CTHE-PIRATE-CAPTAIN=STR?137,STRING + .GVAR CROC-SLEEP=0 + .GVAR SPEECHLESS=STR?67,STRING + .GVAR P-PRSO=T?1602,TABLE + .GVAR UP-CTR=0 + .GVAR YNH=STR?42,STRING + .GVAR POLITE-SOCIETY=STR?70,STRING + .GVAR FUSE-LIT=0 + .GVAR P-AND=0 + .GVAR HERO-SPEECHES=T?207,TABLE + .GVAR DAD-KISS=STR?220,STRING + .GVAR P-ONEOBJ=0 + .GVAR THERES-NOTHING=STR?44,STRING + .GVAR GOWN-POINT=0 + .GVAR P-INBUF=T?502,TABLE + .GVAR IT-SEEMS-THAT=STR?45,STRING + .GVAR YOU-ARENT=STR?50,STRING + .GVAR SUICIDE=STR?78,STRING + .GVAR SPICED-WINE=0 + .GVAR SQUEEZE-THRU=STR?77,STRING + .GVAR PARTNER=0 + .GVAR BOY-DRESS?=0 + .GVAR P-MERGE=T?1502,TABLE + .GVAR LADDER-HANGING=0 + .GVAR P-WON=0 + .GVAR BROTHEL=STR?96,STRING + .GVAR STUNNED-THE-SAILOR=STR?211,STRING + .GVAR CRULLEY-CTR=0 + .GVAR WHAT-HERO-SAYS=0 + .GVAR P-OVTBL=T?1202,TABLE + .GVAR DEBRIS-BITS=T?106,TABLE + .GVAR FIRST-SIGHTING=STR?142,STRING + .GVAR WATCH-CTR=0 + .GVAR LOOK-AROUND=STR?79,STRING + .GVAR P-ITBL=T?902,TABLE + .GVAR MANNERISMS=T?307,TABLE + .GVAR NO-LOITERING=STR?73,STRING + .GVAR QUOTE-FLAG=0 + .GVAR DUEL-SOUNDS=T?310,TABLE + .GVAR P-TABLE=0 + .GVAR TANGLED-RIGGING=STR?29,STRING + .GVAR TINY-GLOW=STR?35,STRING + .GVAR P-GETFLAGS=0 + .GVAR WHIPPING-SPEECH=1 + .GVAR GET-AWAY=STR?118,STRING + .GVAR P-OCL2=T?2002,TABLE + .GVAR CANT-FROM-HERE=STR?81,STRING + .GVAR ENDGAME=0 + .GVAR OOPS-INBUF=T?702,TABLE + .GVAR YOU-DIED=STR?12,STRING + .GVAR P-NUMBER=0 + .GVAR CRULLEY-BACK=0 + .GVAR P-OFLAG=0 + .GVAR WINNER=PROTAGONIST,OBJECT + .GVAR P-ADJN=0 + .GVAR SHIP-LOC=5 + .GVAR WAY-TO-DO-THAT=STR?48,STRING + .GVAR HOLDING-IT=STR?83,STRING + .GVAR AGAIN-DIR=0 + .GVAR LAF-GLASS=GREEN-GLASS + .GVAR WASTE-LIST=T?504,TABLE + .GVAR OVER-HEAD=STR?59,STRING + .GVAR HIT-RETURN=STR?69,STRING + .GVAR SQUEEZE-DROPS=STR?210,STRING + .GVAR NOTHING-HAPPENS=STR?88,STRING + .GVAR GAME-CAPS=STR?68,STRING + .GVAR HERO-CTR=1 + .GVAR SLAT-OPEN=0 + .GVAR ISNT-FLUSH=STR?38,STRING + .GVAR AWAITING-REPLY=0 + .GVAR P-IT-OBJECT=0 + .GVAR P-OCL1=T?1902,TABLE + .GVAR SMACK-YOUR-FACE=STR?63,STRING + .GVAR YOUR-GLASS=BLUE-GLASS + .GVAR BUTLER-CTR=0 + .GVAR PRSI=0 + .GVAR RESERVE-PTR=0 + .GVAR D-BIT=0 + .GVAR THOROUGHLY-UNLADYLIKE=STR?40,STRING + .GVAR SKIFF-TIED=1 + .GVAR FOLLOWS=T?204,TABLE + .GVAR POLITE=STR?71,STRING + .GVAR ALREADY-IS=STR?92,STRING + .GVAR GETTING-SLEEPY=T?208,TABLE + .GVAR IS-CLOSED=STR?33,STRING + .GVAR CRULLEY-HIT=0 + .GVAR MOTHER=STR?72,STRING + .GVAR WET-DRESS=0 + .GVAR P-NOT-HERE=0 + .GVAR SLEEP-CTR=0 + .GVAR BEAUTIFUL-NIGHT=STR?95,STRING + .GVAR USED-LAUD=0 + .GVAR OK=STR?90,STRING + .GVAR LAF-GRABS=STR?221,STRING + .GVAR P-NCN=0 + .GVAR CROC-FREE=0 + .GVAR P-HER-OBJECT=0 + .GVAR CASK-LOC=10 + .GVAR DIPPING-OARS=STR?27,STRING + .GVAR LOOKED-LAGOON?=0 + .GVAR INDENT=STR?85,STRING + .GVAR FINAL-RANK=0 + .GVAR MOUTH-SHUT=0 + .GVAR PREPOSITIONS=PRTBL,TABLE + .GVAR ACTIONS=ATBL,TABLE + .GVAR PREACTIONS=PATBL,TABLE + .GVAR VERBS=VTBL,TABLE + .ENDT + +GLOEND:: + + +; PROPERTY DEFAULTS AND OBJECTS ARE DEFINED HERE + +OBJECT::.TABLE + 0 ;() + 0 ;() + 0 ;() + 0 ;() + 0 ;() + 0 ;() + 0 ;() + 0 ;() + 0 ;(P?FDESC) + 5 ;(P?CAPACITY) + 0 ;(P?GLOBAL) + 0 ;(P?LDESC) + 0 ;(P?DESCFCN) + 0 ;(P?CONTENTS) + 0 ;(P?GENERIC) + 5 ;(P?SIZE) + 0 ;(P?ACTION) + 0 ;(P?ADJECTIVE) + 0 ;(P?OUT) + 0 ;(P?IN) + 0 ;(P?DOWN) + 0 ;(P?UP) + 0 ;(P?WEST) + 0 ;(P?SOUTH) + 0 ;(P?SE) + 0 ;(P?EAST) + 0 ;(P?NE) + 0 ;(P?NORTH) + 0 ;(P?SYNONYM) + 0 ;(P?SW) + 0 ;(P?NW) + .OBJECT FOREST,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,TRADE-ENTRANCE,0,T?FOREST + .OBJECT DUNGEON,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,ANTEROOM,TRAP,T?DUNGEON + .OBJECT AIR,0,0,GLOBAL-OBJECTS,UNMENTIONABLES,0,T?AIR + .OBJECT WELL,FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT+FX?OPENBIT,TRAY,0,SPICES,T?WELL + .OBJECT HANDS,FX?BODYBIT+FX?NARTICLEBIT+FX?NDESCBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,MOONBEAM,0,T?HANDS + .OBJECT WHIP,0,FX?TRYTAKEBIT,0,0,0,T?WHIP + .OBJECT PAIR,FX?PLURALBIT,0,X-ROOM,DIVAN,0,T?PAIR + .OBJECT CRULLEY,FX?TRANSBIT+FX?NARTICLEBIT,FX?CONTBIT+FX?OPENBIT+FX?ACTORBIT,0,0,0,T?CRULLEY + .OBJECT TORCH,0,FX?LIGHTBIT+FX?ONBIT+FX?TRYTAKEBIT,LOCAL-GLOBALS,DRAPES,0,T?TORCH + .OBJECT WINDOW,0,0,LOCAL-GLOBALS,CURTAIN,0,T?WINDOW + .OBJECT SALTS,FX?PLURALBIT,FX?TAKEBIT,RETICULE,BANKNOTE,0,T?SALTS + .OBJECT CURTAIN,0,FX?DOORBIT,LOCAL-GLOBALS,STAIRS,0,T?CURTAIN + .OBJECT SHOES,FX?NARTICLEBIT+FX?PLURALBIT,FX?WORNBIT+FX?WEARBIT,PROTAGONIST,CHEMISE,0,T?SHOES + .OBJECT HORN,FX?SEARCHBIT,FX?OPENBIT+FX?CONTBIT+FX?TAKEBIT,CELL-1,CRACK,POWDER,T?HORN + .OBJECT ME,FX?BODYBIT+FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,MOUTH,0,T?ME + .OBJECT RAPIER,0,FX?TAKEBIT+FX?TRYTAKEBIT,HERO,0,0,T?RAPIER + .OBJECT CHEMISE,FX?EVERYBIT,FX?WORNBIT+FX?WEARBIT+FX?TAKEBIT,PROTAGONIST,DRESS,0,T?CHEMISE + .OBJECT ANCHOR,FX?NDESCBIT+FX?VOWELBIT,0,BOWSPRIT,STUB,0,T?ANCHOR + .OBJECT VEROBJ,FX?NDESCBIT,0,LOCAL-GLOBALS,VER-DOOR,0,T?VEROBJ + .OBJECT FRONT-DRIVE,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,MAIN-ENTRANCE,PATROL,T?FRONT-DRIVE + .OBJECT KITCHEN,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,FRONT-DRIVE,LUCY,T?KITCHEN + .OBJECT WINE,FX?NDESCBIT,FX?TRYTAKEBIT,FLAGON,0,0,T?WINE + .OBJECT GRATE,0,0,LOCAL-GLOBALS,HATCH,0,T?GRATE + .OBJECT LAWN,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BEACH,0,T?LAWN + .OBJECT SPICES,FX?PLURALBIT+FX?NDESCBIT,FX?TAKEBIT,WELL,0,PINCH,T?SPICES + .OBJECT CELL-4,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,PASSAGE-4,DAD,T?CELL-4 + .OBJECT LEDGE,FX?SEARCHBIT+FX?TRANSBIT+FX?NDESCBIT,FX?OPENBIT+FX?CONTBIT+FX?VEHBIT,CAPT-QUARTERS,0,0,T?LEDGE + .OBJECT STAIRTOP,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,UPPER-HALL-W,0,T?STAIRTOP + .OBJECT INTDIR,0,0,GLOBAL-OBJECTS,LOCAL-GLOBALS,0,T?INTDIR + .OBJECT UPPER-HALL-E,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,X-ROOM,0,T?UPPER-HALL-E + .OBJECT ROOMS,0,0,0,0,CELL-4,T?ROOMS + .OBJECT POOL,FX?NDESCBIT,0,ANTEROOM,CROC,0,T?POOL + .OBJECT OBJ-QUARTERS,0,0,LOCAL-GLOBALS,DESK,0,T?OBJ-QUARTERS + .OBJECT PASSAGE-1,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BOTTOM-STAIRS,0,T?PASSAGE-1 + .OBJECT PATROL,0,FX?ACTORBIT,FRONT-DRIVE,FRONT-GATE,0,T?PATROL + .OBJECT REEFS,0,0,GLOBAL-OBJECTS,SHIP,0,T?REEFS + .OBJECT LOCAL-GLOBALS,0,0,GLOBAL-OBJECTS,0,DANCERS,T?LOCAL-GLOBALS + .OBJECT HEAD,FX?BODYBIT+FX?NARTICLEBIT,0,GLOBAL-OBJECTS,HANDS,0,T?HEAD + .OBJECT GATE,FX?NDESCBIT+FX?LOCKEDBIT,FX?DOORBIT,HOLD,FENCE,0,T?GATE + .OBJECT CHAIR,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?SURFACEBIT+FX?CONTBIT+FX?VEHBIT,LAFS-ROOM,0,0,T?CHAIR + .OBJECT HER,FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,HIM,0,T?HER + .OBJECT DAGGER,0,FX?TAKEBIT,GALLEY,0,0,T?DAGGER + .OBJECT FRONT-GATE,FX?LOCKEDBIT+FX?NDESCBIT,FX?DOORBIT,FRONT-DRIVE,0,0,T?FRONT-GATE + .OBJECT GLOBAL-SLEEP,FX?NARTICLEBIT,0,GLOBAL-OBJECTS,MAN,0,T?GLOBAL-SLEEP + .OBJECT CUPBOARD-OBJECT,FX?INBIT+FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT+FX?DOORBIT,CAPT-QUARTERS,CAPT-BED,PILE-OF-CLOTHES,T?CUPBOARD-OBJECT + .OBJECT AFT-HOLD,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,SLEEPING-CUPBOARD,0,T?AFT-HOLD + .OBJECT RAILING,0,0,LOCAL-GLOBALS,LDOOR,0,T?RAILING + .OBJECT ANTEROOM,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,CELL-2,POOL,T?ANTEROOM + .OBJECT CHAIN,0,0,LOCAL-GLOBALS,GRATE,0,T?CHAIN + .OBJECT BOWSPRIT,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,GALLEY,ANCHOR,T?BOWSPRIT + .OBJECT GALLEY-OBJECT,FX?NDESCBIT,FX?OPENBIT+FX?CONTBIT,LOCAL-GLOBALS,CHAIN,0,T?GALLEY-OBJECT + .OBJECT SKIFF,FX?INBIT+FX?SEARCHBIT+FX?TRANSBIT,FX?OPENBIT+FX?CONTBIT+FX?VEHBIT,SHALLOWS,0,OARS,T?SKIFF + .OBJECT VER-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,LIB-WINDOW,0,T?VER-DOOR + .OBJECT VINE,FX?NDESCBIT+FX?PLURALBIT,FX?TRYTAKEBIT,LOCAL-GLOBALS,VEROBJ,0,T?VINE + .OBJECT PORTRAIT,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,TORCH,0,T?PORTRAIT + .OBJECT ROPE,FX?EVERYBIT,FX?BURNBIT+FX?TRYTAKEBIT,GALLERY,0,0,T?ROPE + .OBJECT DAD,FX?NDESCBIT+FX?NARTICLEBIT,FX?OPENBIT+FX?CONTBIT+FX?ACTORBIT,CELL-4,0,0,T?DAD + .OBJECT SKY,0,0,GLOBAL-OBJECTS,CEILING,0,T?SKY + .OBJECT CHANDELIER,0,FX?ONBIT+FX?LIGHTBIT,LOCAL-GLOBALS,RAILING,0,T?CHANDELIER + .OBJECT GLOBAL-OBJECTS,FX?DEADBIT+FX?EVERYBIT+FX?FEMALEBIT+FX?INBIT+FX?NDESCBIT+FX?LOCKEDBIT+FX?VOWELBIT+FX?INDOORSBIT+FX?MUNGBIT+FX?TRANSBIT+FX?SEARCHBIT,FX?ACTORBIT+FX?DOORBIT+FX?CONTBIT+FX?VEHBIT+FX?RLANDBIT+FX?LIGHTBIT+FX?ONBIT+FX?WORNBIT+FX?WEARBIT+FX?OPENBIT+FX?TRYTAKEBIT+FX?SURFACEBIT+FX?TOUCHBIT+FX?INVISIBLE,0,0,AIR,T?GLOBAL-OBJECTS + .OBJECT CELL-OBJ,0,0,LOCAL-GLOBALS,IRON-CELL-DOOR,0,T?CELL-OBJ + .OBJECT PASSAGE-2,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,CELL-1,0,T?PASSAGE-2 + .OBJECT IT,FX?NARTICLEBIT+FX?VOWELBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,INTNUM,0,T?IT + .OBJECT WALLS,FX?NDESCBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,GROUND,0,T?WALLS + .OBJECT ORCHESTRA,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BALLROOM,0,T?ORCHESTRA + .OBJECT LAFOND,FX?NARTICLEBIT,FX?OPENBIT+FX?CONTBIT+FX?ACTORBIT,LAFS-ROOM,TABLE,LRING,T?LAFOND + .OBJECT FOLLY,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,LAWN,HOLE,T?FOLLY + .OBJECT MAIN-ENTRANCE,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,CLEARING,0,T?MAIN-ENTRANCE + .OBJECT COFFER,FX?LOCKEDBIT+FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT,CABIN,CABIN-BED,INVITE,T?COFFER + .OBJECT SLAT,0,FX?TRYTAKEBIT,FOLLY,BENCH,0,T?SLAT + .OBJECT HOUSE,0,0,GLOBAL-OBJECTS,GLOBAL-ROOM,0,T?HOUSE + .OBJECT WHEEL,FX?NDESCBIT,0,QUARTERDECK,0,0,T?WHEEL + .OBJECT BEACH,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,SHALLOWS,BUSHES,T?BEACH + .OBJECT LINE,FX?NDESCBIT,0,QUARTERDECK,CASK,0,T?LINE + .OBJECT TABLE,FX?SEARCHBIT,FX?CONTBIT+FX?SURFACEBIT+FX?OPENBIT,LAFS-ROOM,SHUTTERS,GREEN-GLASS,T?TABLE + .OBJECT CHICKEN,0,FX?TRYTAKEBIT,TRAY,WELL,0,T?CHICKEN + .OBJECT DEUX-DECK,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,CABIN,DAVIS,T?DEUX-DECK + .OBJECT LADDER,FX?NDESCBIT,FX?TRYTAKEBIT,LOCAL-GLOBALS,PSEUDO-OBJECT,0,T?LADDER + .OBJECT BUTLER,FX?SEARCHBIT,FX?OPENBIT+FX?ACTORBIT,FOYER,0,0,T?BUTLER + .OBJECT CABIN,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,FRONTISPIECE,COFFER,T?CABIN + .OBJECT DESK,FX?NDESCBIT,FX?CONTBIT+FX?SURFACEBIT,LOCAL-GLOBALS,DEBRIS,0,T?DESK + .OBJECT COT,FX?TRANSBIT+FX?SEARCHBIT,FX?OPENBIT+FX?SURFACEBIT+FX?CONTBIT+FX?VEHBIT,CELL-1,0,LARGE-KEY,T?COT + .OBJECT SUPPER-ROOM,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,ORCHESTRA,0,T?SUPPER-ROOM + .OBJECT DRESS,0,FX?WORNBIT+FX?WEARBIT+FX?TAKEBIT,PROTAGONIST,0,0,T?DRESS + .OBJECT CROWS-NEST,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,RIGGING-ROOM,0,T?CROWS-NEST + .OBJECT HOLE,0,FX?OPENBIT+FX?INVISIBLE,FOLLY,SLAT,0,T?HOLE + .OBJECT HRING,FX?NDESCBIT,0,HERO,RAPIER,0,T?HRING + .OBJECT GARTER,FX?INBIT+FX?SEARCHBIT+FX?TRANSBIT,FX?OPENBIT+FX?CONTBIT+FX?INVISIBLE+FX?WEARBIT+FX?TAKEBIT,LUCY,0,0,T?GARTER + .OBJECT BY-SHIP,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,CROWS-NEST,0,T?BY-SHIP + .OBJECT BLUE-GLASS,0,FX?OPENBIT+FX?CONTBIT+FX?TAKEBIT,TABLE,FLAGON,0,T?BLUE-GLASS + .OBJECT PISTOL,0,FX?TAKEBIT,0,0,0,T?PISTOL + .OBJECT LANDING,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,ON-LADDER,0,T?LANDING + .OBJECT CASK,FX?NDESCBIT+FX?INBIT+FX?SEARCHBIT,FX?OPENBIT+FX?CONTBIT+FX?VEHBIT,QUARTERDECK,CANNON,PORK,T?CASK + .OBJECT X-ROOM,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,STAIRTOP,PAIR,T?X-ROOM + .OBJECT WATER-BARREL,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?CONTBIT,MAIN-DECK,RUM-BARREL,WATER,T?WATER-BARREL + .OBJECT SEA,0,0,LOCAL-GLOBALS,DOOR,0,T?SEA + .OBJECT TREE,0,0,LOCAL-GLOBALS,WINDOW,0,T?TREE + .OBJECT PINCH,0,FX?TAKEBIT+FX?TRYTAKEBIT,SPICES,0,0,T?PINCH + .OBJECT SHALLOWS,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,LAGOON,SKIFF,T?SHALLOWS + .OBJECT PORK,0,0,CASK,0,0,T?PORK + .OBJECT HOLD,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,AFT-HOLD,FUSE,T?HOLD + .OBJECT LAUD,FX?NDESCBIT,FX?TRYTAKEBIT,BOTTLE,0,0,T?LAUD + .OBJECT SHIP,0,0,GLOBAL-OBJECTS,HOUSE,0,T?SHIP + .OBJECT IRON-CELL-DOOR,FX?LOCKEDBIT+FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,WOOD-CELL-DOOR,0,T?IRON-CELL-DOOR + .OBJECT FOLLY-OBJECT,FX?NDESCBIT,0,LOCAL-GLOBALS,PSEUD-SKIFF,0,T?FOLLY-OBJECT + .OBJECT LEVER,FX?NDESCBIT,0,FOCSLE,WINCH,0,T?LEVER + .OBJECT MIRROR,0,FX?TAKEBIT,CREWS-QUARTERS,MESS,0,T?MIRROR + .OBJECT JEWEL,0,FX?TAKEBIT+FX?WEARBIT,0,0,0,T?JEWEL + .OBJECT GALLERY,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,LAFS-ROOM,ROPE,T?GALLERY + .OBJECT DANCERS,0,FX?ACTORBIT,LOCAL-GLOBALS,CREW,0,T?DANCERS + .OBJECT FENCE,FX?NDESCBIT+FX?TRANSBIT+FX?SEARCHBIT,FX?CONTBIT,HOLD,0,SUPPLIES,T?FENCE + .OBJECT FOYER,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,HALL-W,BUTLER,T?FOYER + .OBJECT CLEARING,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,FOREST,0,T?CLEARING + .OBJECT FOCSLE,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,MAIN-DECK,LEVER,T?FOCSLE + .OBJECT LARGE-KEY,0,FX?TRYTAKEBIT+FX?TAKEBIT,COT,0,0,T?LARGE-KEY + .OBJECT UNMENTIONABLES,FX?NDESCBIT+FX?NARTICLEBIT,0,GLOBAL-OBJECTS,ISLAND,0,T?UNMENTIONABLES + .OBJECT GLOBAL-ROOM,0,0,GLOBAL-OBJECTS,ME,0,T?GLOBAL-ROOM + .OBJECT DEBRIS,FX?NARTICLEBIT+FX?PLURALBIT,FX?TRYTAKEBIT,LOCAL-GLOBALS,TREE,0,T?DEBRIS + .OBJECT SUPPLIES,FX?PLURALBIT+FX?NDESCBIT,0,FENCE,0,0,T?SUPPLIES + .OBJECT ISLAND,FX?NARTICLEBIT,0,GLOBAL-OBJECTS,REEFS,0,T?ISLAND + .OBJECT BOTTLE,FX?TRANSBIT+FX?SEARCHBIT,FX?CONTBIT+FX?TAKEBIT,CREWS-QUARTERS,MIRROR,LAUD,T?BOTTLE + .OBJECT HIM,FX?NARTICLEBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,IT,0,T?HIM + .OBJECT LIBRARY,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,HALL-E,HAT,T?LIBRARY + .OBJECT EYES,FX?BODYBIT+FX?PLURALBIT+FX?NARTICLEBIT,0,GLOBAL-OBJECTS,HEAD,0,T?EYES + .OBJECT PILE-OF-CLOTHES,0,FX?WEARBIT+FX?TAKEBIT+FX?TRYTAKEBIT,CUPBOARD-OBJECT,0,0,T?PILE-OF-CLOTHES + .OBJECT HEDGE,0,0,LOCAL-GLOBALS,VINE,0,T?HEDGE + .OBJECT SLEEPING-CUPBOARD,FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,LANDING,SHIRT,T?SLEEPING-CUPBOARD + .OBJECT MANACLES,FX?SEARCHBIT+FX?NDESCBIT+FX?TRANSBIT+FX?PLURALBIT,FX?WEARBIT+FX?OPENBIT+FX?CONTBIT,DUNGEON,0,0,T?MANACLES + .OBJECT TRAP,FX?TRANSBIT+FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT+FX?VEHBIT+FX?DOORBIT,DUNGEON,MANACLES,0,T?TRAP + .OBJECT SHIRT,FX?NDESCBIT,FX?WEARBIT+FX?TAKEBIT,SLEEPING-CUPBOARD,PANTS,0,T?SHIRT + .OBJECT CAPT-BED,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?SURFACEBIT+FX?CONTBIT+FX?VEHBIT,CAPT-QUARTERS,LEDGE,0,T?CAPT-BED + .OBJECT PSEUD-SKIFF,FX?NDESCBIT,0,LOCAL-GLOBALS,RIGGING-OBJECT,0,T?PSEUD-SKIFF + .OBJECT HAT,FX?EVERYBIT+FX?SEARCHBIT,FX?TAKEBIT+FX?WEARBIT,LIBRARY,KNOB,0,T?HAT + .OBJECT GALLEY,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,FOCSLE,COOKIE,T?GALLEY + .OBJECT MUSICIANS,0,FX?ACTORBIT,LOCAL-GLOBALS,HEDGE,0,T?MUSICIANS + .OBJECT MAN,0,0,GLOBAL-OBJECTS,HER,0,T?MAN + .OBJECT HATCH,0,FX?DOORBIT,LOCAL-GLOBALS,OBJ-QUARTERS,0,T?HATCH + .OBJECT STUB,0,FX?TRYTAKEBIT,BOWSPRIT,0,0,T?STUB + .OBJECT LIB-WINDOW,0,0,LOCAL-GLOBALS,FOLLY-OBJECT,0,T?LIB-WINDOW + .OBJECT RUM,FX?NDESCBIT,0,RUM-BARREL,0,0,T?RUM + .OBJECT GREEN-GLASS,0,FX?OPENBIT+FX?CONTBIT+FX?TAKEBIT,TABLE,BLUE-GLASS,0,T?GREEN-GLASS + .OBJECT IN-HEDGE,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,FOLLY,0,T?IN-HEDGE + .OBJECT STONE,0,FX?TAKEBIT,0,0,0,T?STONE + .OBJECT POWDER,FX?NDESCBIT+FX?NARTICLEBIT,0,HORN,0,0,T?POWDER + .OBJECT MOUTH,FX?BODYBIT+FX?NARTICLEBIT,0,GLOBAL-OBJECTS,EYES,0,T?MOUTH + .OBJECT BEDROOM,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,LIBRARY,GOWN,T?BEDROOM + .OBJECT SIGN,FX?NDESCBIT,0,HOLD,KEG,0,T?SIGN + .OBJECT LAGOON,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BY-SHIP,0,T?LAGOON + .OBJECT WOOD-CELL-DOOR,FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,CHANDELIER,0,T?WOOD-CELL-DOOR + .OBJECT WINCH,0,0,FOCSLE,0,0,T?WINCH + .OBJECT MAIN-DECK,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,QUARTERDECK,WATER-BARREL,T?MAIN-DECK + .OBJECT LONG-TABLE,FX?NDESCBIT+FX?SEARCHBIT,FX?OPENBIT+FX?CONTBIT+FX?SURFACEBIT,0,0,0,T?LONG-TABLE + .OBJECT HALL-E,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,SUPPER-ROOM,0,T?HALL-E + .OBJECT GUEST-BED,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?SURFACEBIT+FX?CONTBIT+FX?VEHBIT,BEDROOM,0,0,T?GUEST-BED + .OBJECT CELL-1,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,PASSAGE-1,HORN,T?CELL-1 + .OBJECT DRAPES,FX?NDESCBIT+FX?PLURALBIT,FX?BURNBIT+FX?DOORBIT,LOCAL-GLOBALS,MUSICIANS,0,T?DRAPES + .OBJECT STAIRS,0,0,LOCAL-GLOBALS,FIRE,0,T?STAIRS + .OBJECT FLOWER,FX?NDESCBIT,0,FOLLY,0,0,T?FLOWER + .OBJECT HALL-W,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,KITCHEN,0,T?HALL-W + .OBJECT CANNON,FX?PLURALBIT,0,QUARTERDECK,WHEEL,0,T?CANNON + .OBJECT OARS,FX?NDESCBIT+FX?PLURALBIT,FX?TRYTAKEBIT,SKIFF,0,0,T?OARS + .OBJECT BOOKS-GLOBAL,FX?PLURALBIT+FX?NDESCBIT,FX?TRYTAKEBIT,LIBRARY,GLOBE,0,T?BOOKS-GLOBAL + .OBJECT COOKIE,FX?SEARCHBIT+FX?TRANSBIT+FX?NARTICLEBIT,FX?OPENBIT+FX?CONTBIT+FX?ACTORBIT,GALLEY,DAGGER,0,T?COOKIE + .OBJECT MESS,FX?NDESCBIT,0,CREWS-QUARTERS,0,0,T?MESS + .OBJECT BALLROOM,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,FOYER,0,T?BALLROOM + .OBJECT WATER,FX?NDESCBIT,0,WATER-BARREL,0,0,T?WATER + .OBJECT KEG,FX?NDESCBIT,FX?TRYTAKEBIT,HOLD,GATE,0,T?KEG + .OBJECT GROUND,0,0,GLOBAL-OBJECTS,GLOBAL-SLEEP,0,T?GROUND + .OBJECT CAPT-QUARTERS,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,DEUX-DECK,HERO,T?CAPT-QUARTERS + .OBJECT NOT-HERE-OBJECT,FX?NARTICLEBIT,0,0,0,0,T?NOT-HERE-OBJECT + .OBJECT VERANDA,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BY-HOUSE,0,T?VERANDA + .OBJECT INTNUM,0,0,GLOBAL-OBJECTS,INTDIR,0,T?INTNUM + .OBJECT PASSAGE-4,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,DUNGEON,0,T?PASSAGE-4 + .OBJECT DIVAN,FX?SEARCHBIT+FX?NDESCBIT,FX?SURFACEBIT+FX?CONTBIT,X-ROOM,0,0,T?DIVAN + .OBJECT INVITE,FX?VOWELBIT,FX?TAKEBIT,COFFER,0,0,T?INVITE + .OBJECT LAFS-ROOM,FX?INDOORSBIT+FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,UPPER-HALL-E,LAFOND,T?LAFS-ROOM + .OBJECT LUCY,FX?NARTICLEBIT+FX?FEMALEBIT,FX?OPENBIT+FX?CONTBIT+FX?ACTORBIT,KITCHEN,0,GARTER,T?LUCY + .OBJECT ON-LADDER,FX?NARTICLEBIT,FX?ONBIT,ROOMS,CAPT-QUARTERS,0,T?ON-LADDER + .OBJECT TRADE-ENTRANCE,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,VERANDA,0,T?TRADE-ENTRANCE + .OBJECT CELL-2,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,PASSAGE-2,0,T?CELL-2 + .OBJECT CEILING,FX?NDESCBIT,FX?TOUCHBIT,GLOBAL-OBJECTS,WALLS,0,T?CEILING + .OBJECT GLOBE,FX?NDESCBIT,FX?TRYTAKEBIT,LIBRARY,0,0,T?GLOBE + .OBJECT STAIRWELL,FX?NARTICLEBIT+FX?INDOORSBIT,FX?ONBIT+FX?RLANDBIT,ROOMS,GALLERY,0,T?STAIRWELL + .OBJECT BUSHES,FX?NDESCBIT+FX?PLURALBIT,0,BEACH,0,0,T?BUSHES + .OBJECT POOP,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,CREWS-QUARTERS,0,T?POOP + .OBJECT BANKNOTE,0,FX?TAKEBIT,RETICULE,0,0,T?BANKNOTE + .OBJECT CROC,FX?SEARCHBIT,FX?ACTORBIT+FX?OPENBIT+FX?CONTBIT,ANTEROOM,0,0,T?CROC + .OBJECT FUSE,FX?NDESCBIT,FX?ONBIT+FX?INVISIBLE,HOLD,SIGN,0,T?FUSE + .OBJECT QUARTERDECK,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,POOP,PYRAMID,T?QUARTERDECK + .OBJECT HERO,FX?SEARCHBIT+FX?NARTICLEBIT,FX?OPENBIT+FX?CONTBIT+FX?ACTORBIT,CAPT-QUARTERS,CUPBOARD-OBJECT,HRING,T?HERO + .OBJECT CREW,FX?NDESCBIT+FX?PLURALBIT,FX?ACTORBIT,LOCAL-GLOBALS,CELL-OBJ,0,T?CREW + .OBJECT PROTAGONIST,FX?NDESCBIT,FX?ACTORBIT+FX?INVISIBLE,CABIN-BED,0,RETICULE,T?PROTAGONIST + .OBJECT CREWS-QUARTERS,FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,HOLD,BOTTLE,T?CREWS-QUARTERS + .OBJECT PANTS,FX?NDESCBIT+FX?PLURALBIT,FX?WEARBIT+FX?TAKEBIT,SLEEPING-CUPBOARD,0,0,T?PANTS + .OBJECT FRONTISPIECE,0,0,ROOMS,0,0,T?FRONTISPIECE + .OBJECT PYRAMID,0,0,QUARTERDECK,LINE,0,T?PYRAMID + .OBJECT CRACK,FX?NDESCBIT,0,CELL-1,COT,0,T?CRACK + .OBJECT TRAY,FX?TRANSBIT+FX?SEARCHBIT,FX?SURFACEBIT+FX?OPENBIT+FX?TAKEBIT,0,0,CHICKEN,T?TRAY + .OBJECT FLAGON,FX?SEARCHBIT,FX?OPENBIT+FX?CONTBIT+FX?TAKEBIT+FX?TRYTAKEBIT,TABLE,0,WINE,T?FLAGON + .OBJECT GOWN,0,FX?WEARBIT+FX?TAKEBIT,BEDROOM,GUEST-BED,0,T?GOWN + .OBJECT BOOKCASE,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?CONTBIT,LIBRARY,BOOKS-GLOBAL,POWER,T?BOOKCASE + .OBJECT RAG,0,FX?TAKEBIT,0,0,0,T?RAG + .OBJECT BENCH,FX?SEARCHBIT,FX?OPENBIT+FX?VEHBIT+FX?SURFACEBIT+FX?CONTBIT,FOLLY,FLOWER,0,T?BENCH + .OBJECT POWER,FX?NDESCBIT,FX?TRYTAKEBIT,BOOKCASE,0,0,T?POWER + .OBJECT FIRE,0,FX?ONBIT,LOCAL-GLOBALS,SEA,0,T?FIRE + .OBJECT LETTER,0,FX?TAKEBIT,0,0,0,T?LETTER + .OBJECT RIGGING-ROOM,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BOWSPRIT,0,T?RIGGING-ROOM + .OBJECT UPPER-HALL-W,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,BEDROOM,0,T?UPPER-HALL-W + .OBJECT LRING,FX?NDESCBIT,0,LAFOND,0,0,T?LRING + .OBJECT RUM-BARREL,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?CONTBIT,MAIN-DECK,0,RUM,T?RUM-BARREL + .OBJECT SHUTTERS,FX?PLURALBIT+FX?NDESCBIT,FX?OPENBIT+FX?DOORBIT,LAFS-ROOM,LAFS-BED,0,T?SHUTTERS + .OBJECT BOTTOM-STAIRS,FX?NARTICLEBIT+FX?INDOORSBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,STAIRWELL,0,T?BOTTOM-STAIRS + .OBJECT CABIN-BED,FX?SEARCHBIT+FX?NDESCBIT,FX?OPENBIT+FX?SURFACEBIT+FX?CONTBIT+FX?VEHBIT,CABIN,0,PROTAGONIST,T?CABIN-BED + .OBJECT LAFS-BED,FX?NDESCBIT+FX?SEARCHBIT,FX?OPENBIT+FX?SURFACEBIT+FX?CONTBIT+FX?VEHBIT,LAFS-ROOM,CHAIR,0,T?LAFS-BED + .OBJECT DAVIS,FX?NARTICLEBIT,FX?ACTORBIT,DEUX-DECK,0,0,T?DAVIS + .OBJECT BY-HOUSE,FX?NARTICLEBIT,FX?RLANDBIT+FX?ONBIT,ROOMS,IN-HEDGE,0,T?BY-HOUSE + .OBJECT DOOR,FX?LOCKEDBIT+FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,LADDER,0,T?DOOR + .OBJECT KNOB,FX?DEADBIT+FX?SEARCHBIT+FX?NDESCBIT,FX?CONTBIT+FX?SURFACEBIT,LIBRARY,BOOKCASE,0,T?KNOB + .OBJECT PSEUDO-OBJECT,0,0,LOCAL-GLOBALS,0,0,T?PSEUDO-OBJECT + .OBJECT MOONBEAM,FX?NDESCBIT,0,GLOBAL-OBJECTS,SKY,0,T?MOONBEAM + .OBJECT LDOOR,FX?LOCKEDBIT+FX?NDESCBIT,FX?DOORBIT,LOCAL-GLOBALS,PORTRAIT,0,T?LDOOR + .OBJECT RIGGING-OBJECT,FX?SEARCHBIT+FX?TRANSBIT,FX?CONTBIT+FX?OPENBIT+FX?TRYTAKEBIT,LOCAL-GLOBALS,GALLEY-OBJECT,0,T?RIGGING-OBJECT + .OBJECT RETICULE,FX?SEARCHBIT+FX?NARTICLEBIT,FX?WEARBIT+FX?OPENBIT+FX?CONTBIT,PROTAGONIST,SHOES,SALTS,T?RETICULE + .ENDT + + LAST-OBJECT=223 + +; OBJECT PROPERTY TABLES ARE DEFINED HERE + +OBJPRP:: + +T?FOREST:: .TABLE ; TABLE FOR OBJECT FOREST + .STRL "Forest" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE TRADE-ENTRANCE ; TO ROOM + .PROP 1,P?NE ; UNCONDITIONAL EXIT + .BYTE CLEARING ; TO ROOM + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE LAWN ; TO ROOM + .PROP 2,P?ACTION + FOREST-F + .PROP 2,P?LDESC + STR?162 + .BYTE 0 + .ENDT + +T?DUNGEON:: .TABLE ; TABLE FOR OBJECT DUNGEON + .STRL "Dungeon" + .PROP 2,P?SYNONYM + W?DUNGEON + .PROP 3,P?NORTH ; CONDITIONAL EXIT + DUNGEON-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?WEST ; CONDITIONAL EXIT + DUNGEON-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + DUNGEON-F + .PROP 1,P?GLOBAL + .BYTE TORCH + .BYTE 0 + .ENDT + +T?AIR:: .TABLE ; TABLE FOR OBJECT AIR + .STRL "air" + .PROP 2,P?SYNONYM + W?AIR + .BYTE 0 + .ENDT + +T?WELL:: .TABLE ; TABLE FOR OBJECT WELL + .STRL "well" + .PROP 2,P?SYNONYM + W?WELL + .PROP 2,P?ADJECTIVE + .BYTE A?SPICE + .BYTE A?SILVER + .PROP 2,P?ACTION + WELL-F + .PROP 2,P?GENERIC + GEN-WELL + .BYTE 0 + .ENDT + +T?HANDS:: .TABLE ; TABLE FOR OBJECT HANDS + .STRL "your hand" + .PROP 8,P?SYNONYM + W?HANDS + W?HAND + W?FINGER + W?NAILS + .PROP 3,P?ADJECTIVE + .BYTE A?BARE + .BYTE A?MY + .BYTE A?YOUR + .PROP 2,P?ACTION + HANDS-F + .BYTE 0 + .ENDT + +T?WHIP:: .TABLE ; TABLE FOR OBJECT WHIP + .STRL "whip" + .PROP 2,P?SYNONYM + W?WHIP + .PROP 2,P?ACTION + WHIP-F + .BYTE 0 + .ENDT + +T?PAIR:: .TABLE ; TABLE FOR OBJECT PAIR + .STRL "pair of duelling pistols" + .PROP 4,P?SYNONYM + W?PISTOL + W?GUN + .PROP 1,P?ADJECTIVE + .BYTE A?DUELLI + .PROP 2,P?ACTION + PAIR-F + .PROP 2,P?LDESC + STR?181 + .BYTE 0 + .ENDT + +T?CRULLEY:: .TABLE ; TABLE FOR OBJECT CRULLEY + .STRL "Crulley" + .PROP 6,P?SYNONYM + W?PIRATE + W?CRULLEY + W?HOOK + .PROP 2,P?ADJECTIVE + .BYTE A?ANDREW + .BYTE A?ANDY + .PROP 2,P?ACTION + CRULLEY-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?GENERIC + GEN-PIRATE + .PROP 2,P?DESCFCN + CRULLEY-F + .BYTE 0 + .ENDT + +T?TORCH:: .TABLE ; TABLE FOR OBJECT TORCH + .STRL "torch" + .PROP 4,P?SYNONYM + W?TORCH + W?FLAME + .PROP 1,P?ADJECTIVE + .BYTE A?BURNING + .PROP 2,P?ACTION + TORCH-F + .BYTE 0 + .ENDT + +T?WINDOW:: .TABLE ; TABLE FOR OBJECT WINDOW + .STRL "window" + .PROP 6,P?SYNONYM + W?GLASS + W?WINDOW + W?PORTHOLE + .PROP 5,P?ADJECTIVE + .BYTE A?LARGE + .BYTE A?GLASS + .BYTE A?SMALL + .BYTE A?PANE + .BYTE A?PANES + .PROP 2,P?ACTION + WINDOW-F + .BYTE 0 + .ENDT + +T?SALTS:: .TABLE ; TABLE FOR OBJECT SALTS + .STRL "smelling salts" + .PROP 6,P?SYNONYM + W?SALTS + W?CARBONATE + W?TAG + .PROP 2,P?ADJECTIVE + .BYTE A?SMELLING + .BYTE A?AMMONIA + .PROP 2,P?ACTION + SALTS-F + .PROP 2,P?SIZE + 3 + .BYTE 0 + .ENDT + +T?CURTAIN:: .TABLE ; TABLE FOR OBJECT CURTAIN + .STRL "curtain" + .PROP 2,P?SYNONYM + W?CURTAIN + .PROP 2,P?ACTION + CURTAIN-F + .BYTE 0 + .ENDT + +T?SHOES:: .TABLE ; TABLE FOR OBJECT SHOES + .STRL "your kid slippers" + .PROP 4,P?SYNONYM + W?SHOES + W?SLIPPERS + .PROP 1,P?ADJECTIVE + .BYTE A?KID + .PROP 2,P?ACTION + CHEMISE-F + .BYTE 0 + .ENDT + +T?HORN:: .TABLE ; TABLE FOR OBJECT HORN + .STRL "powder horn" + .PROP 4,P?SYNONYM + W?HORN + W?STRAP + .PROP 1,P?ADJECTIVE + .BYTE A?POWDER + .PROP 2,P?ACTION + HORN-F + .PROP 2,P?FDESC + STR?199 + .BYTE 0 + .ENDT + +T?ME:: .TABLE ; TABLE FOR OBJECT ME + .STRL "yourself" + .PROP 8,P?SYNONYM + W?I + W?ME + W?MYSELF + W?SELF + .PROP 2,P?ACTION + ME-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?CONTENTS + 0 + .BYTE 0 + .ENDT + +T?RAPIER:: .TABLE ; TABLE FOR OBJECT RAPIER + .STRL "rapier" + .PROP 4,P?SYNONYM + W?SWORD + W?RAPIER + .PROP 1,P?ADJECTIVE + .BYTE A?SHARP + .PROP 2,P?ACTION + RAPIER-F + .PROP 2,P?DESCFCN + RAPIER-F + .BYTE 0 + .ENDT + +T?CHEMISE:: .TABLE ; TABLE FOR OBJECT CHEMISE + .STRL "linen chemise" + .PROP 8,P?SYNONYM + W?CLOTHES + W?CHEMISE + W?SLIP + W?PETTICOAT + .PROP 1,P?ADJECTIVE + .BYTE A?LINEN + .PROP 2,P?ACTION + CHEMISE-F + .PROP 2,P?GENERIC + GEN-CLOTHES + .BYTE 0 + .ENDT + +T?ANCHOR:: .TABLE ; TABLE FOR OBJECT ANCHOR + .STRL "anchor" + .PROP 2,P?SYNONYM + W?ANCHOR + .PROP 2,P?ACTION + ANCHOR-F + .BYTE 0 + .ENDT + +T?VEROBJ:: .TABLE ; TABLE FOR OBJECT VEROBJ + .STRL "veranda" + .PROP 4,P?SYNONYM + W?VERANDA + W?PORCH + .BYTE 0 + .ENDT + +T?FRONT-DRIVE:: .TABLE ; TABLE FOR OBJECT FRONT-DRIVE + .STRL "Front Drive" + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?168 ; FAILURE MESSAGE + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?169 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE MAIN-ENTRANCE ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?169 ; FAILURE MESSAGE + .PROP 2,P?LDESC + STR?167 + .BYTE 0 + .ENDT + +T?KITCHEN:: .TABLE ; TABLE FOR OBJECT KITCHEN + .STRL "Kitchen" + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + KITCHEN-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?WEST ; CONDITIONAL EXIT + KITCHEN-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + KITCHEN-F + .PROP 2,P?LDESC + STR?170 + .PROP 1,P?GLOBAL + .BYTE FIRE + .BYTE 0 + .ENDT + +T?WINE:: .TABLE ; TABLE FOR OBJECT WINE + .STRL "quantity of wine" + .PROP 2,P?SYNONYM + W?WINE + .PROP 2,P?ACTION + WINE-F + .PROP 2,P?SIZE + 1 + .BYTE 0 + .ENDT + +T?GRATE:: .TABLE ; TABLE FOR OBJECT GRATE + .STRL "grate" + .PROP 4,P?SYNONYM + W?GRATE + W?HOLE + .PROP 1,P?ADJECTIVE + .BYTE A?AIR + .PROP 2,P?ACTION + GRATE-F + .BYTE 0 + .ENDT + +T?LAWN:: .TABLE ; TABLE FOR OBJECT LAWN + .STRL "Lawn" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE VERANDA ; TO ROOM + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE FOLLY ; TO ROOM + .PROP 1,P?SE ; UNCONDITIONAL EXIT + .BYTE BEACH ; TO ROOM + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE BEACH ; TO ROOM + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE FOREST ; TO ROOM + .PROP 1,P?UP ; UNCONDITIONAL EXIT + .BYTE VERANDA ; TO ROOM + .PROP 1,P?DOWN ; UNCONDITIONAL EXIT + .BYTE BEACH ; TO ROOM + .PROP 1,P?IN ; UNCONDITIONAL EXIT + .BYTE FOLLY ; TO ROOM + .PROP 2,P?ACTION + LAWN-F + .PROP 3,P?GLOBAL + .BYTE VEROBJ + .BYTE FOLLY-OBJECT + .BYTE HEDGE + .BYTE 0 + .ENDT + +T?SPICES:: .TABLE ; TABLE FOR OBJECT SPICES + .STRL "spices" + .PROP 6,P?SYNONYM + W?SPICE + W?SPICES + W?PEPPER + .PROP 1,P?ADJECTIVE + .BYTE A?PINCH + .PROP 2,P?ACTION + SPICES-F + .PROP 2,P?SIZE + 2 + .PROP 2,P?GENERIC + GEN-SPICES + .BYTE 0 + .ENDT + +T?CELL-4:: .TABLE ; TABLE FOR OBJECT CELL-4 + .STRL "Cell" + .PROP 5,P?SOUTH ; CONDITIONAL EXIT + .BYTE PASSAGE-4 ; TO ROOM + .BYTE IRON-CELL-DOOR ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 2,P?ACTION + CELL-4-F + .PROP 2,P?LDESC + STR?205 + .PROP 2,P?GLOBAL + .BYTE IRON-CELL-DOOR + .BYTE CELL-OBJ + .BYTE 0 + .ENDT + +T?LEDGE:: .TABLE ; TABLE FOR OBJECT LEDGE + .STRL "ledge" + .PROP 4,P?SYNONYM + W?LEDGE + W?SILL + .PROP 2,P?ACTION + LEDGE-F + .BYTE 0 + .ENDT + +T?STAIRTOP:: .TABLE ; TABLE FOR OBJECT STAIRTOP + .STRL "Stair Landing" + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE UPPER-HALL-E ; TO ROOM + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE UPPER-HALL-W ; TO ROOM + .PROP 1,P?DOWN ; UNCONDITIONAL EXIT + .BYTE FOYER ; TO ROOM + .PROP 2,P?ACTION + STAIRTOP-F + .PROP 2,P?GLOBAL + .BYTE CHANDELIER + .BYTE RAILING + .BYTE 0 + .ENDT + +T?INTDIR:: .TABLE ; TABLE FOR OBJECT INTDIR + .STRL "direction" + .PROP 2,P?SYNONYM + W?DIRECT + .PROP 8,P?ADJECTIVE + .BYTE A?NORTH + .BYTE A?SOUTH + .BYTE A?EAST + .BYTE A?WEST + .BYTE A?NW + .BYTE A?NE + .BYTE A?SW + .BYTE A?SE + .PROP 2,P?ACTION + INTDIR-F + .BYTE 0 + .ENDT + +T?UPPER-HALL-E:: .TABLE ; TABLE FOR OBJECT UPPER-HALL-E + .STRL "Upstairs Hall" + .PROP 5,P?NORTH ; CONDITIONAL EXIT + .BYTE LAFS-ROOM ; TO ROOM + .BYTE LDOOR ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE GALLERY ; TO ROOM + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE STAIRTOP ; TO ROOM + .PROP 2,P?LDESC + STR?182 + .PROP 1,P?GLOBAL + .BYTE LDOOR + .BYTE 0 + .ENDT + +T?ROOMS:: .TABLE ; TABLE FOR OBJECT ROOMS + .STRL "it" + .PROP 1,P?IN ; UNCONDITIONAL EXIT + .BYTE ROOMS ; TO ROOM + .BYTE 0 + .ENDT + +T?POOL:: .TABLE ; TABLE FOR OBJECT POOL + .STRL "pool" + .PROP 4,P?SYNONYM + W?POOL + W?WATER + .PROP 1,P?ADJECTIVE + .BYTE A?BLACK + .PROP 2,P?ACTION + POOL-F + .BYTE 0 + .ENDT + +T?OBJ-QUARTERS:: .TABLE ; TABLE FOR OBJECT OBJ-QUARTERS + .STRL "quarters" + .PROP 6,P?SYNONYM + W?QUARTE + W?SHIP + W?CABIN + .PROP 1,P?ADJECTIVE + .BYTE A?CAPTAIN + .PROP 2,P?ACTION + OBJ-QUARTERS-F + .PROP 2,P?GENERIC + GEN-BOAT + .BYTE 0 + .ENDT + +T?PASSAGE-1:: .TABLE ; TABLE FOR OBJECT PASSAGE-1 + .STRL "North Passage" + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE CELL-1 ; TO ROOM + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE PASSAGE-2 ; TO ROOM + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE BOTTOM-STAIRS ; TO ROOM + .PROP 2,P?LDESC + STR?196 + .PROP 1,P?GLOBAL + .BYTE CELL-OBJ + .BYTE 0 + .ENDT + +T?PATROL:: .TABLE ; TABLE FOR OBJECT PATROL + .STRL "patrol" + .PROP 4,P?SYNONYM + W?DRAGOO + W?PATROL + .PROP 1,P?ADJECTIVE + .BYTE A?DRAGOO + .PROP 2,P?ACTION + PATROL-F + .PROP 2,P?LDESC + STR?231 + .BYTE 0 + .ENDT + +T?REEFS:: .TABLE ; TABLE FOR OBJECT REEFS + .STRL "reefs" + .PROP 4,P?SYNONYM + W?REEFS + W?REEF + .PROP 2,P?ACTION + REEFS-F + .BYTE 0 + .ENDT + +T?LOCAL-GLOBALS:: .TABLE ; TABLE FOR OBJECT LOCAL-GLOBALS + .STRL "it" + .PROP 2,P?SYNONYM + W?ZZMGCK + .BYTE 0 + .ENDT + +T?HEAD:: .TABLE ; TABLE FOR OBJECT HEAD + .STRL "your head" + .PROP 2,P?SYNONYM + W?HEAD + .PROP 2,P?ADJECTIVE + .BYTE A?YOUR + .BYTE A?MY + .BYTE 0 + .ENDT + +T?GATE:: .TABLE ; TABLE FOR OBJECT GATE + .STRL "gate" + .PROP 6,P?SYNONYM + W?GATE + W?GAP + W?LOCK + .PROP 2,P?ADJECTIVE + .BYTE A?IRON + .BYTE A?MESH + .PROP 2,P?ACTION + GATE-F + .BYTE 0 + .ENDT + +T?CHAIR:: .TABLE ; TABLE FOR OBJECT CHAIR + .STRL "chair" + .PROP 2,P?SYNONYM + W?CHAIR + .BYTE 0 + .ENDT + +T?HER:: .TABLE ; TABLE FOR OBJECT HER + .STRL "her" + .PROP 4,P?SYNONYM + W?HER + W?HERSELF + .BYTE 0 + .ENDT + +T?DAGGER:: .TABLE ; TABLE FOR OBJECT DAGGER + .STRL "dagger" + .PROP 4,P?SYNONYM + W?DAGGER + W?KNIFE + .PROP 2,P?ACTION + DAGGER-F + .PROP 2,P?FDESC + STR?113 + .BYTE 0 + .ENDT + +T?FRONT-GATE:: .TABLE ; TABLE FOR OBJECT FRONT-GATE + .STRL "gate" + .PROP 4,P?SYNONYM + W?GATE + W?FENCE + .BYTE 0 + .ENDT + +T?GLOBAL-SLEEP:: .TABLE ; TABLE FOR OBJECT GLOBAL-SLEEP + .STRL "sleep" + .PROP 6,P?SYNONYM + W?SLEEP + W?NAP + W?SNOOZE + .PROP 2,P?ACTION + GLOBAL-SLEEP-F + .BYTE 0 + .ENDT + +T?CUPBOARD-OBJECT:: .TABLE ; TABLE FOR OBJECT CUPBOARD-OBJECT + .STRL "large cupboard" + .PROP 6,P?SYNONYM + W?CUPBOARD + W?BED + W?DOOR + .PROP 2,P?ACTION + CUPBOARD-OBJECT-F + .PROP 2,P?GENERIC + GEN-BED + .BYTE 0 + .ENDT + +T?AFT-HOLD:: .TABLE ; TABLE FOR OBJECT AFT-HOLD + .STRL "Aft Hold" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE HOLD ; TO ROOM + .PROP 1,P?UP ; UNCONDITIONAL EXIT + .BYTE LANDING ; TO ROOM + .PROP 2,P?LDESC + STR?109 + .PROP 1,P?GLOBAL + .BYTE STAIRS + .BYTE 0 + .ENDT + +T?RAILING:: .TABLE ; TABLE FOR OBJECT RAILING + .STRL "railing" + .PROP 2,P?SYNONYM + W?RAILING + .BYTE 0 + .ENDT + +T?ANTEROOM:: .TABLE ; TABLE FOR OBJECT ANTEROOM + .STRL "Anteroom" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE BOTTOM-STAIRS ; TO ROOM + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + CROC-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + ANTEROOM-F + .PROP 1,P?GLOBAL + .BYTE CHAIN + .BYTE 0 + .ENDT + +T?CHAIN:: .TABLE ; TABLE FOR OBJECT CHAIN + .STRL "chain" + .PROP 2,P?SYNONYM + W?CHAIN + .PROP 1,P?ADJECTIVE + .BYTE A?ANCHOR + .BYTE 0 + .ENDT + +T?BOWSPRIT:: .TABLE ; TABLE FOR OBJECT BOWSPRIT + .STRL "Bowsprit" + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE FOCSLE ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 2,P?ACTION + BOWSPRIT-F + .PROP 3,P?GLOBAL + .BYTE CHAIN + .BYTE SEA + .BYTE RAILING + .BYTE 0 + .ENDT + +T?GALLEY-OBJECT:: .TABLE ; TABLE FOR OBJECT GALLEY-OBJECT + .STRL "shack" + .PROP 6,P?SYNONYM + W?GALLEY + W?HUT + W?SHACK + .PROP 1,P?ADJECTIVE + .BYTE A?WOODEN + .PROP 2,P?ACTION + GALLEY-OBJECT-F + .BYTE 0 + .ENDT + +T?SKIFF:: .TABLE ; TABLE FOR OBJECT SKIFF + .STRL "skiff" + .PROP 4,P?SYNONYM + W?SKIFF + W?BOAT + .PROP 2,P?ACTION + SKIFF-F + .PROP 2,P?GENERIC + GEN-BOAT + .PROP 2,P?DESCFCN + SKIFF-F + .PROP 2,P?CAPACITY + 50 + .BYTE 0 + .ENDT + +T?VER-DOOR:: .TABLE ; TABLE FOR OBJECT VER-DOOR + .STRL "french door" + .PROP 4,P?SYNONYM + W?DOOR + W?DOORS + .PROP 2,P?ACTION + DOOR-F + .BYTE 0 + .ENDT + +T?VINE:: .TABLE ; TABLE FOR OBJECT VINE + .STRL "vine" + .PROP 4,P?SYNONYM + W?VINE + W?VINES + .PROP 1,P?ADJECTIVE + .BYTE A?HEAVY + .PROP 2,P?ACTION + VINE-F + .BYTE 0 + .ENDT + +T?PORTRAIT:: .TABLE ; TABLE FOR OBJECT PORTRAIT + .STRL "portrait" + .PROP 8,P?SYNONYM + W?PORTRAIT + W?PICTUR + W?PAINTING + W?DOOR + .PROP 2,P?ADJECTIVE + .BYTE A?OPENING + .BYTE A?SECRET + .PROP 2,P?ACTION + PORTRAIT-F + .BYTE 0 + .ENDT + +T?ROPE:: .TABLE ; TABLE FOR OBJECT ROPE + .STRL "rope" + .PROP 2,P?SYNONYM + W?ROPE + .PROP 1,P?ADJECTIVE + .BYTE A?HEAVY + .PROP 2,P?ACTION + ROPE-F + .PROP 2,P?DESCFCN + ROPE-F + .BYTE 0 + .ENDT + +T?DAD:: .TABLE ; TABLE FOR OBJECT DAD + .STRL "your father" + .PROP 8,P?SYNONYM + W?DAD + W?PAPA + W?FATHER + W?DIMSFORD + .PROP 3,P?ADJECTIVE + .BYTE A?ERNEST + .BYTE A?RYALL + .BYTE A?MY + .PROP 2,P?ACTION + DAD-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?DESCFCN + DAD-F + .BYTE 0 + .ENDT + +T?SKY:: .TABLE ; TABLE FOR OBJECT SKY + .STRL "sky" + .PROP 2,P?SYNONYM + W?SKY + .PROP 2,P?ACTION + SKY-F + .BYTE 0 + .ENDT + +T?CHANDELIER:: .TABLE ; TABLE FOR OBJECT CHANDELIER + .STRL "chandelier" + .PROP 6,P?SYNONYM + W?CHANDELIER + W?PULLEY + W?CANDLE + .PROP 2,P?ACTION + CHAND-F + .BYTE 0 + .ENDT + +T?GLOBAL-OBJECTS:: .TABLE ; TABLE FOR OBJECT GLOBAL-OBJECTS + .STRL "it" + .PROP 2,P?SYNONYM + W?ZZMGCK + .BYTE 0 + .ENDT + +T?CELL-OBJ:: .TABLE ; TABLE FOR OBJECT CELL-OBJ + .STRL "cell" + .PROP 2,P?SYNONYM + W?CELL + .PROP 2,P?ACTION + CELL-OBJ-F + .BYTE 0 + .ENDT + +T?PASSAGE-2:: .TABLE ; TABLE FOR OBJECT PASSAGE-2 + .STRL "South Passage" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE PASSAGE-1 ; TO ROOM + .PROP 5,P?EAST ; CONDITIONAL EXIT + .BYTE CELL-2 ; TO ROOM + .BYTE WOOD-CELL-DOOR ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 2,P?LDESC + STR?200 + .PROP 2,P?GLOBAL + .BYTE WOOD-CELL-DOOR + .BYTE CELL-OBJ + .BYTE 0 + .ENDT + +T?IT:: .TABLE ; TABLE FOR OBJECT IT + .STRL "it" + .PROP 4,P?SYNONYM + W?IT + W?THEM + .BYTE 0 + .ENDT + +T?WALLS:: .TABLE ; TABLE FOR OBJECT WALLS + .STRL "wall" + .PROP 4,P?SYNONYM + W?WALL + W?WALLS + .BYTE 0 + .ENDT + +T?ORCHESTRA:: .TABLE ; TABLE FOR OBJECT ORCHESTRA + .STRL "Orchestra" + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE BALLROOM ; TO ROOM + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?174 ; FAILURE MESSAGE + .PROP 2,P?ACTION + ORCHESTRA-F + .PROP 3,P?GLOBAL + .BYTE WINDOW + .BYTE DANCERS + .BYTE MUSICIANS + .BYTE 0 + .ENDT + +T?LAFOND:: .TABLE ; TABLE FOR OBJECT LAFOND + .STRL "Lafond" + .PROP 6,P?SYNONYM + W?LAFOND + W?VILLAIN + W?GOVERNOR + .PROP 1,P?ADJECTIVE + .BYTE A?JEAN + .PROP 2,P?ACTION + LAFOND-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?DESCFCN + LAFOND-F + .BYTE 0 + .ENDT + +T?FOLLY:: .TABLE ; TABLE FOR OBJECT FOLLY + .STRL "Folly" + .PROP 2,P?SYNONYM + W?FOLLY + .PROP 3,P?EAST ; CONDITIONAL EXIT + FOLLY-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE LAWN ; TO ROOM + .PROP 3,P?IN ; CONDITIONAL EXIT + FOLLY-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 1,P?OUT ; UNCONDITIONAL EXIT + .BYTE LAWN ; TO ROOM + .PROP 2,P?ACTION + FOLLY-F + .PROP 2,P?LDESC + STR?152 + .PROP 1,P?GLOBAL + .BYTE FOLLY-OBJECT + .BYTE 0 + .ENDT + +T?MAIN-ENTRANCE:: .TABLE ; TABLE FOR OBJECT MAIN-ENTRANCE + .STRL "Main Entrance" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE FRONT-DRIVE ; TO ROOM + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?166 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE FOYER ; TO ROOM + .PROP 3,P?WEST ; CONDITIONAL EXIT + AROUND-HOUSE ; PER FUNCTION + .BYTE 0 + .PROP 1,P?IN ; UNCONDITIONAL EXIT + .BYTE FOYER ; TO ROOM + .PROP 2,P?LDESC + STR?165 + .PROP 1,P?GLOBAL + .BYTE HEDGE + .BYTE 0 + .ENDT + +T?COFFER:: .TABLE ; TABLE FOR OBJECT COFFER + .STRL "coffer" + .PROP 8,P?SYNONYM + W?COFFER + W?CHEST + W?LOCK + W?BOX + .PROP 3,P?ADJECTIVE + .BYTE A?SMALL + .BYTE A?METAL + .BYTE A?HEAVY + .PROP 2,P?ACTION + COFFER-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?CAPACITY + 15 + .BYTE 0 + .ENDT + +T?SLAT:: .TABLE ; TABLE FOR OBJECT SLAT + .STRL "loose slat" + .PROP 2,P?SYNONYM + W?SLAT + .PROP 2,P?ADJECTIVE + .BYTE A?BAMBOO + .BYTE A?LOOSE + .PROP 2,P?ACTION + SLAT-F + .PROP 2,P?LDESC + STR?154 + .BYTE 0 + .ENDT + +T?HOUSE:: .TABLE ; TABLE FOR OBJECT HOUSE + .STRL "mansion" + .PROP 6,P?SYNONYM + W?HOUSE + W?MANSION + W?LIBRARY + .PROP 2,P?ADJECTIVE + .BYTE A?HUGE + .BYTE A?STONE + .PROP 2,P?ACTION + HOUSE-F + .BYTE 0 + .ENDT + +T?WHEEL:: .TABLE ; TABLE FOR OBJECT WHEEL + .STRL "navigation wheel" + .PROP 2,P?SYNONYM + W?WHEEL + .PROP 1,P?ADJECTIVE + .BYTE A?NAVIGA + .PROP 2,P?ACTION + WHEEL-F + .BYTE 0 + .ENDT + +T?BEACH:: .TABLE ; TABLE FOR OBJECT BEACH + .STRL "Beach" + .PROP 3,P?NW ; CONDITIONAL EXIT + BEACH-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?NORTH ; CONDITIONAL EXIT + BEACH-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE SHALLOWS ; TO ROOM + .PROP 3,P?UP ; CONDITIONAL EXIT + BEACH-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + BEACH-F + .PROP 5,P?GLOBAL + .BYTE STAIRS + .BYTE SEA + .BYTE VINE + .BYTE PSEUD-SKIFF + .BYTE DEBRIS + .BYTE 0 + .ENDT + +T?LINE:: .TABLE ; TABLE FOR OBJECT LINE + .STRL "line" + .PROP 4,P?SYNONYM + W?ROPE + W?LINE + .PROP 1,P?ADJECTIVE + .BYTE A?HEAVY + .PROP 2,P?ACTION + LINE-F + .BYTE 0 + .ENDT + +T?TABLE:: .TABLE ; TABLE FOR OBJECT TABLE + .STRL "table" + .PROP 2,P?SYNONYM + W?TABLE + .PROP 4,P?ADJECTIVE + .BYTE A?LACE-COVERED + .BYTE A?LACE + .BYTE A?COVERED + .BYTE A?WOODEN + .PROP 2,P?LDESC + STR?183 + .PROP 2,P?CAPACITY + 14 + .BYTE 0 + .ENDT + +T?CHICKEN:: .TABLE ; TABLE FOR OBJECT CHICKEN + .STRL "cold chicken" + .PROP 8,P?SYNONYM + W?FOOD + W?CHICKEN + W?VIANDS + W?FOWL + .PROP 2,P?ADJECTIVE + .BYTE A?COLD + .BYTE A?PIECES + .PROP 2,P?ACTION + CHICKEN-F + .PROP 2,P?SIZE + 3 + .BYTE 0 + .ENDT + +T?DEUX-DECK:: .TABLE ; TABLE FOR OBJECT DEUX-DECK + .STRL "Deck" + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?106 ; FAILURE MESSAGE + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?106 ; FAILURE MESSAGE + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?106 ; FAILURE MESSAGE + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?105 ; FAILURE MESSAGE + .PROP 2,P?DOWN ; IMPOSSIBLE EXIT + STR?105 ; FAILURE MESSAGE + .PROP 2,P?IN ; IMPOSSIBLE EXIT + STR?105 ; FAILURE MESSAGE + .PROP 2,P?ACTION + DEUX-DECK-F + .PROP 3,P?GLOBAL + .BYTE OBJ-QUARTERS + .BYTE CREW + .BYTE FIRE + .BYTE 0 + .ENDT + +T?LADDER:: .TABLE ; TABLE FOR OBJECT LADDER + .STRL "ladder" + .PROP 4,P?SYNONYM + W?LADDER + W?ROPE + .PROP 1,P?ADJECTIVE + .BYTE A?ROPE + .PROP 2,P?ACTION + LADDER-F + .BYTE 0 + .ENDT + +T?BUTLER:: .TABLE ; TABLE FOR OBJECT BUTLER + .STRL "butler" + .PROP 2,P?SYNONYM + W?BUTLER + .PROP 2,P?ACTION + BUTLER-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?DESCFCN + BUTLER-F + .BYTE 0 + .ENDT + +T?CABIN:: .TABLE ; TABLE FOR OBJECT CABIN + .STRL "Cabin" + .PROP 3,P?EAST ; CONDITIONAL EXIT + CABIN-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?OUT ; CONDITIONAL EXIT + CABIN-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?LDESC + STR?104 + .PROP 3,P?GLOBAL + .BYTE WINDOW + .BYTE DOOR + .BYTE OBJ-QUARTERS + .BYTE 0 + .ENDT + +T?DESK:: .TABLE ; TABLE FOR OBJECT DESK + .STRL "desk" + .PROP 4,P?SYNONYM + W?DESK + W?TABLE + .PROP 1,P?ADJECTIVE + .BYTE A?MESSY + .PROP 2,P?ACTION + PAPERS-F + .BYTE 0 + .ENDT + +T?COT:: .TABLE ; TABLE FOR OBJECT COT + .STRL "cot" + .PROP 4,P?SYNONYM + W?COT + W?BED + .PROP 1,P?ADJECTIVE + .BYTE A?CANVAS + .PROP 2,P?ACTION + BED-F + .PROP 2,P?LDESC + STR?197 + .PROP 2,P?CAPACITY + 20 + .BYTE 0 + .ENDT + +T?SUPPER-ROOM:: .TABLE ; TABLE FOR OBJECT SUPPER-ROOM + .STRL "Supper Room" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + UNDER-TABLE ; PER FUNCTION + .BYTE 0 + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?174 ; FAILURE MESSAGE + .PROP 3,P?WEST ; CONDITIONAL EXIT + BALLROOM-ENTRANCE ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + SUPPER-ROOM-F + .PROP 2,P?LDESC + STR?175 + .PROP 2,P?GLOBAL + .BYTE LONG-TABLE + .BYTE WINDOW + .BYTE 0 + .ENDT + +T?DRESS:: .TABLE ; TABLE FOR OBJECT DRESS + .STRL "cotton frock" + .PROP 6,P?SYNONYM + W?CLOTHES + W?DRESS + W?FROCK + .PROP 1,P?ADJECTIVE + .BYTE A?COTTON + .PROP 2,P?ACTION + GARMENT-F + .PROP 2,P?SIZE + 5 + .PROP 2,P?GENERIC + GEN-CLOTHES + .BYTE 0 + .ENDT + +T?CROWS-NEST:: .TABLE ; TABLE FOR OBJECT CROWS-NEST + .STRL "Crow's Nest" + .PROP 2,P?UP ; IMPOSSIBLE EXIT + STR?122 ; FAILURE MESSAGE + .PROP 1,P?DOWN ; UNCONDITIONAL EXIT + .BYTE RIGGING-ROOM ; TO ROOM + .PROP 2,P?LDESC + STR?121 + .PROP 2,P?GLOBAL + .BYTE RIGGING-OBJECT + .BYTE SEA + .BYTE 0 + .ENDT + +T?HOLE:: .TABLE ; TABLE FOR OBJECT HOLE + .STRL "hole" + .PROP 2,P?SYNONYM + W?HOLE + .PROP 2,P?ACTION + HOLE-F + .BYTE 0 + .ENDT + +T?HRING:: .TABLE ; TABLE FOR OBJECT HRING + .STRL "new ring" + .PROP 4,P?SYNONYM + W?RING + W?LATIN + .PROP 1,P?ADJECTIVE + .BYTE A?NEW + .PROP 2,P?ACTION + RING-F + .PROP 2,P?GENERIC + GEN-RING + .BYTE 0 + .ENDT + +T?GARTER:: .TABLE ; TABLE FOR OBJECT GARTER + .STRL "garter" + .PROP 6,P?SYNONYM + W?GARTER + W?SLING + W?SLINGSHOT + .PROP 1,P?ADJECTIVE + .BYTE A?RED + .PROP 2,P?ACTION + GARTER-F + .PROP 2,P?SIZE + 2 + .PROP 2,P?CAPACITY + 1 + .BYTE 0 + .ENDT + +T?BY-SHIP:: .TABLE ; TABLE FOR OBJECT BY-SHIP + .STRL "By the Ship" + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?134 ; FAILURE MESSAGE + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?134 ; FAILURE MESSAGE + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?134 ; FAILURE MESSAGE + .PROP 3,P?WEST ; CONDITIONAL EXIT + FLOATING ; PER FUNCTION + .BYTE 0 + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + BY-SHIP-F + .PROP 3,P?GLOBAL + .BYTE LADDER + .BYTE SEA + .BYTE PSEUD-SKIFF + .BYTE 0 + .ENDT + +T?BLUE-GLASS:: .TABLE ; TABLE FOR OBJECT BLUE-GLASS + .STRL "blue goblet" + .PROP 6,P?SYNONYM + W?CUP + W?GLASS + W?GOBLET + .PROP 2,P?ADJECTIVE + .BYTE A?BLUE + .BYTE A?MY + .PROP 2,P?ACTION + GLASS-F + .PROP 2,P?SIZE + 2 + .PROP 2,P?CONTENTS + 0 + .PROP 2,P?CAPACITY + 2 + .BYTE 0 + .ENDT + +T?PISTOL:: .TABLE ; TABLE FOR OBJECT PISTOL + .STRL "pistol" + .PROP 4,P?SYNONYM + W?PISTOL + W?GUN + .PROP 2,P?ACTION + PISTOL-F + .PROP 2,P?SIZE + 3 + .BYTE 0 + .ENDT + +T?LANDING:: .TABLE ; TABLE FOR OBJECT LANDING + .STRL "Landing" + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + CURTAIN-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?UP ; IMPOSSIBLE EXIT + STR?107 ; FAILURE MESSAGE + .PROP 1,P?DOWN ; UNCONDITIONAL EXIT + .BYTE AFT-HOLD ; TO ROOM + .PROP 3,P?IN ; CONDITIONAL EXIT + CUPBOARD-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?OUT ; IMPOSSIBLE EXIT + STR?107 ; FAILURE MESSAGE + .PROP 2,P?ACTION + LANDING-F + .PROP 4,P?GLOBAL + .BYTE DOOR + .BYTE CURTAIN + .BYTE STAIRS + .BYTE CUPBOARD-OBJECT + .BYTE 0 + .ENDT + +T?CASK:: .TABLE ; TABLE FOR OBJECT CASK + .STRL "cask" + .PROP 4,P?SYNONYM + W?CASK + W?KEG + .PROP 3,P?ADJECTIVE + .BYTE A?EMPTY + .BYTE A?RUM + .BYTE A?WARPED + .PROP 2,P?ACTION + CASK-F + .PROP 2,P?GENERIC + GEN-CASK + .PROP 2,P?DESCFCN + CASK-F + .BYTE 0 + .ENDT + +T?X-ROOM:: .TABLE ; TABLE FOR OBJECT X-ROOM + .STRL "Parlour" + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE UPPER-HALL-W ; TO ROOM + .PROP 2,P?LDESC + STR?180 + .BYTE 0 + .ENDT + +T?WATER-BARREL:: .TABLE ; TABLE FOR OBJECT WATER-BARREL + .STRL "water barrel" + .PROP 6,P?SYNONYM + W?BARREL + W?CASK + W?KEG + .PROP 2,P?ADJECTIVE + .BYTE A?FRESH + .BYTE A?WATER + .PROP 2,P?ACTION + BARREL-F + .PROP 2,P?GENERIC + GEN-BARREL + .BYTE 0 + .ENDT + +T?SEA:: .TABLE ; TABLE FOR OBJECT SEA + .STRL "sea" + .PROP 8,P?SYNONYM + W?WATER + W?OCEAN + W?LAGOON + W?SHALLOWS + .PROP 3,P?ADJECTIVE + .BYTE A?SEA + .BYTE A?DARK + .BYTE A?COLD + .PROP 2,P?ACTION + WATER-F + .BYTE 0 + .ENDT + +T?TREE:: .TABLE ; TABLE FOR OBJECT TREE + .STRL "tree" + .PROP 4,P?SYNONYM + W?TREE + W?TREES + .PROP 2,P?ACTION + TREE-F + .BYTE 0 + .ENDT + +T?PINCH:: .TABLE ; TABLE FOR OBJECT PINCH + .STRL "pinch of spices" + .PROP 8,P?SYNONYM + W?PINCH + W?SPICE + W?SPICES + W?PEPPER + .PROP 2,P?ACTION + SPICES-F + .PROP 2,P?SIZE + 1 + .PROP 2,P?GENERIC + GEN-SPICES + .BYTE 0 + .ENDT + +T?SHALLOWS:: .TABLE ; TABLE FOR OBJECT SHALLOWS + .STRL "Shallows" + .PROP 2,P?SYNONYM + W?SHALLOWS + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?135 ; FAILURE MESSAGE + .PROP 3,P?EAST ; CONDITIONAL EXIT + FLOATING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?135 ; FAILURE MESSAGE + .PROP 3,P?WEST ; CONDITIONAL EXIT + FLOATING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + SHALLOWS-F + .PROP 2,P?GLOBAL + .BYTE SEA + .BYTE DEBRIS + .BYTE 0 + .ENDT + +T?PORK:: .TABLE ; TABLE FOR OBJECT PORK + .STRL "slab of pork" + .PROP 8,P?SYNONYM + W?PORK + W?MEAT + W?SOMETHING + W?PORK + .PROP 2,P?ADJECTIVE + .BYTE A?SALT + .BYTE A?SLAB + .PROP 2,P?ACTION + PORK-F + .BYTE 0 + .ENDT + +T?HOLD:: .TABLE ; TABLE FOR OBJECT HOLD + .STRL "Hold" + .PROP 2,P?SYNONYM + W?HOLD + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE CREWS-QUARTERS ; TO ROOM + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE AFT-HOLD ; TO ROOM + .PROP 3,P?UP ; CONDITIONAL EXIT + HATCH-ENTRANCE ; PER FUNCTION + .BYTE 0 + .PROP 3,P?OUT ; CONDITIONAL EXIT + HATCH-ENTRANCE ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + HOLD-F + .PROP 2,P?GLOBAL + .BYTE HATCH + .BYTE STAIRS + .BYTE 0 + .ENDT + +T?LAUD:: .TABLE ; TABLE FOR OBJECT LAUD + .STRL "laudanum" + .PROP 8,P?SYNONYM + W?LAUDANUM + W?LIQUID + W?DRUG + W?DROPS + .PROP 1,P?ADJECTIVE + .BYTE A?LAUD + .PROP 2,P?ACTION + LAUD-F + .PROP 2,P?SIZE + 1 + .BYTE 0 + .ENDT + +T?SHIP:: .TABLE ; TABLE FOR OBJECT SHIP + .STRL "Helena Louise" + .PROP 6,P?SYNONYM + W?BOAT + W?SHIP + W?LOUISE + .PROP 2,P?ADJECTIVE + .BYTE A?HELENA + .BYTE A?PIRATE + .PROP 2,P?ACTION + SHIP-F + .PROP 2,P?GENERIC + GEN-BOAT + .BYTE 0 + .ENDT + +T?IRON-CELL-DOOR:: .TABLE ; TABLE FOR OBJECT IRON-CELL-DOOR + .STRL "iron door" + .PROP 2,P?SYNONYM + W?DOOR + .PROP 2,P?ADJECTIVE + .BYTE A?IRON + .BYTE A?CELL + .PROP 2,P?ACTION + DOOR-F + .BYTE 0 + .ENDT + +T?FOLLY-OBJECT:: .TABLE ; TABLE FOR OBJECT FOLLY-OBJECT + .STRL "folly" + .PROP 6,P?SYNONYM + W?FOLLY + W?GAZEBO + W?JASMINE + .PROP 2,P?ACTION + FOLLY-OBJ-F + .PROP 2,P?GENERIC + GEN-FLOWER + .BYTE 0 + .ENDT + +T?LEVER:: .TABLE ; TABLE FOR OBJECT LEVER + .STRL "lever" + .PROP 4,P?SYNONYM + W?LEVER + W?WRITING + .PROP 2,P?ACTION + LEVER-F + .BYTE 0 + .ENDT + +T?MIRROR:: .TABLE ; TABLE FOR OBJECT MIRROR + .STRL "bit of mirror" + .PROP 2,P?SYNONYM + W?MIRROR + .PROP 3,P?ADJECTIVE + .BYTE A?CHIPPED + .BYTE A?PIECE + .BYTE A?BIT + .PROP 2,P?ACTION + MIRROR-F + .PROP 2,P?FDESC + STR?111 + .BYTE 0 + .ENDT + +T?JEWEL:: .TABLE ; TABLE FOR OBJECT JEWEL + .STRL "jewelled brooch" + .PROP 6,P?SYNONYM + W?BROOCH + W?PIN + W?CLASP + .PROP 4,P?ADJECTIVE + .BYTE A?JEWELLED + .BYTE A?DIAMOND + .BYTE A?SAPPHI + .BYTE A?RUBY + .PROP 2,P?ACTION + JEWEL-F + .BYTE 0 + .ENDT + +T?GALLERY:: .TABLE ; TABLE FOR OBJECT GALLERY + .STRL "Gallery" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE UPPER-HALL-E ; TO ROOM + .PROP 2,P?ACTION + GALLERY-F + .PROP 2,P?GLOBAL + .BYTE CHANDELIER + .BYTE RAILING + .BYTE 0 + .ENDT + +T?DANCERS:: .TABLE ; TABLE FOR OBJECT DANCERS + .STRL "dancer" + .PROP 8,P?SYNONYM + W?WOMAN + W?MEN + W?LADY + W?LADIES + .PROP 1,P?ADJECTIVE + .BYTE A?DANCER + .PROP 2,P?ACTION + DANCERS-F + .PROP 2,P?SIZE + 10 + .BYTE 0 + .ENDT + +T?FENCE:: .TABLE ; TABLE FOR OBJECT FENCE + .STRL "fence" + .PROP 4,P?SYNONYM + W?FENCE + W?CAGE + .PROP 2,P?ADJECTIVE + .BYTE A?MESH + .BYTE A?WIRE + .PROP 2,P?ACTION + FENCE-F + .BYTE 0 + .ENDT + +T?FOYER:: .TABLE ; TABLE FOR OBJECT FOYER + .STRL "Foyer" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE MAIN-ENTRANCE ; TO ROOM + .PROP 3,P?EAST ; CONDITIONAL EXIT + FOYER-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + FOYER-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?WEST ; CONDITIONAL EXIT + FOYER-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?UP ; CONDITIONAL EXIT + FOYER-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + FOYER-F + .PROP 2,P?LDESC + STR?172 + .BYTE 0 + .ENDT + +T?CLEARING:: .TABLE ; TABLE FOR OBJECT CLEARING + .STRL "Clearing" + .PROP 1,P?SW ; UNCONDITIONAL EXIT + .BYTE FOREST ; TO ROOM + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?164 ; FAILURE MESSAGE + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE FOREST ; TO ROOM + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 1,P?OUT ; UNCONDITIONAL EXIT + .BYTE FOREST ; TO ROOM + .PROP 2,P?ACTION + CLEARING-F + .PROP 2,P?LDESC + STR?163 + .PROP 3,P?GLOBAL + .BYTE WINDOW + .BYTE TREE + .BYTE VINE + .BYTE 0 + .ENDT + +T?FOCSLE:: .TABLE ; TABLE FOR OBJECT FOCSLE + .STRL "Forecastle" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + BOWSPRIT-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE MAIN-DECK ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?DOWN ; IMPOSSIBLE EXIT + STR?119 ; FAILURE MESSAGE + .PROP 1,P?IN ; UNCONDITIONAL EXIT + .BYTE GALLEY ; TO ROOM + .PROP 2,P?ACTION + FOCSLE-F + .PROP 6,P?GLOBAL + .BYTE CHAIN + .BYTE GRATE + .BYTE SEA + .BYTE RAILING + .BYTE RIGGING-OBJECT + .BYTE GALLEY-OBJECT + .BYTE 0 + .ENDT + +T?LARGE-KEY:: .TABLE ; TABLE FOR OBJECT LARGE-KEY + .STRL "large key" + .PROP 2,P?SYNONYM + W?KEY + .PROP 1,P?ADJECTIVE + .BYTE A?LARGE + .PROP 2,P?ACTION + KEY-F + .PROP 2,P?SIZE + 2 + .BYTE 0 + .ENDT + +T?UNMENTIONABLES:: .TABLE ; TABLE FOR OBJECT UNMENTIONABLES + .STRL "unmentionables" + .PROP 4,P?SYNONYM + W?UNMENTIONABLES + W?SMALLS + .PROP 2,P?ACTION + UNMENTIONABLES-F + .BYTE 0 + .ENDT + +T?GLOBAL-ROOM:: .TABLE ; TABLE FOR OBJECT GLOBAL-ROOM + .STRL "room" + .PROP 8,P?SYNONYM + W?ROOM + W?PLACE + W?LOCATI + W?AREA + .PROP 2,P?ACTION + GLOBAL-ROOM-F + .BYTE 0 + .ENDT + +T?DEBRIS:: .TABLE ; TABLE FOR OBJECT DEBRIS + .STRL "debris" + .PROP 8,P?SYNONYM + W?DEBRIS + W?WOOD + W?REMAINS + W?SAIL + .PROP 4,P?ADJECTIVE + .BYTE A?PLANK + .BYTE A?HUMAN + .BYTE A?CANVAS + .BYTE A?FLESH + .PROP 2,P?ACTION + DEBRIS-F + .PROP 2,P?DESCFCN + DEBRIS-F + .BYTE 0 + .ENDT + +T?SUPPLIES:: .TABLE ; TABLE FOR OBJECT SUPPLIES + .STRL "food and ammunition supplies" + .PROP 6,P?SYNONYM + W?FOOD + W?AMMUNI + W?GUNPOW + .PROP 1,P?ADJECTIVE + .BYTE A?SUPPLIES + .PROP 2,P?ACTION + KEG-F + .BYTE 0 + .ENDT + +T?ISLAND:: .TABLE ; TABLE FOR OBJECT ISLAND + .STRL "St. Sinistra" + .PROP 8,P?SYNONYM + W?ISLAND + W?SINISTRA + W?CLIFF + W?BEACH + .PROP 1,P?ADJECTIVE + .BYTE A?ST + .PROP 2,P?ACTION + ISLAND-F + .BYTE 0 + .ENDT + +T?BOTTLE:: .TABLE ; TABLE FOR OBJECT BOTTLE + .STRL "leather bottle" + .PROP 4,P?SYNONYM + W?BOTTLE + W?LABEL + .PROP 3,P?ADJECTIVE + .BYTE A?BROWN + .BYTE A?SMALL + .BYTE A?LEATHER + .PROP 2,P?ACTION + BOTTLE-F + .PROP 2,P?FDESC + STR?209 + .BYTE 0 + .ENDT + +T?HIM:: .TABLE ; TABLE FOR OBJECT HIM + .STRL "him" + .PROP 4,P?SYNONYM + W?HIM + W?HIMSELF + .BYTE 0 + .ENDT + +T?LIBRARY:: .TABLE ; TABLE FOR OBJECT LIBRARY + .STRL "Library" + .PROP 2,P?SYNONYM + W?LIBRARY + .PROP 3,P?NORTH ; CONDITIONAL EXIT + PORTRAIT-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 5,P?EAST ; CONDITIONAL EXIT + .BYTE BY-HOUSE ; TO ROOM + .BYTE LIB-WINDOW ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE HALL-E ; TO ROOM + .PROP 3,P?IN ; CONDITIONAL EXIT + PORTRAIT-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + LIBRARY-F + .PROP 4,P?GLOBAL + .BYTE PORTRAIT + .BYTE WINDOW + .BYTE DESK + .BYTE DRAPES + .BYTE 0 + .ENDT + +T?EYES:: .TABLE ; TABLE FOR OBJECT EYES + .STRL "your eyes" + .PROP 4,P?SYNONYM + W?EYE + W?EYES + .PROP 4,P?ADJECTIVE + .BYTE A?YOUR + .BYTE A?MY + .BYTE A?HIS + .BYTE A?LAFOND + .PROP 2,P?ACTION + EYES-F + .BYTE 0 + .ENDT + +T?PILE-OF-CLOTHES:: .TABLE ; TABLE FOR OBJECT PILE-OF-CLOTHES + .STRL "pile of clothes" + .PROP 2,P?SYNONYM + W?CLOTHES + .PROP 1,P?ADJECTIVE + .BYTE A?PILE + .PROP 2,P?ACTION + PILE-OF-CLOTHES-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?GENERIC + GEN-CLOTHES + .PROP 2,P?FDESC + STR?206 + .BYTE 0 + .ENDT + +T?HEDGE:: .TABLE ; TABLE FOR OBJECT HEDGE + .STRL "hedge" + .PROP 2,P?SYNONYM + W?HEDGE + .BYTE 0 + .ENDT + +T?SLEEPING-CUPBOARD:: .TABLE ; TABLE FOR OBJECT SLEEPING-CUPBOARD + .STRL "Sleeping Cupboard" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + CUPBOARD-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?OUT ; CONDITIONAL EXIT + CUPBOARD-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + SLEEPING-CUPBOARD-F + .PROP 1,P?GLOBAL + .BYTE DOOR + .BYTE 0 + .ENDT + +T?MANACLES:: .TABLE ; TABLE FOR OBJECT MANACLES + .STRL "pair of manacles" + .PROP 8,P?SYNONYM + W?MANACLE + W?CHAINS + W?LOCK + W?CHAIN + .PROP 4,P?ADJECTIVE + .BYTE A?IRON + .BYTE A?PAIR + .BYTE A?LOCKS + .BYTE A?FETTER + .PROP 2,P?ACTION + MANACLES-F + .BYTE 0 + .ENDT + +T?TRAP:: .TABLE ; TABLE FOR OBJECT TRAP + .STRL "trapdoor" + .PROP 6,P?SYNONYM + W?DOOR + W?WELL + W?TRAPDO + .PROP 1,P?ADJECTIVE + .BYTE A?TRAP + .PROP 2,P?ACTION + TRAP-F + .PROP 2,P?GENERIC + GEN-WELL + .BYTE 0 + .ENDT + +T?SHIRT:: .TABLE ; TABLE FOR OBJECT SHIRT + .STRL "shirt" + .PROP 4,P?SYNONYM + W?SHIRT + W?CLOTHES + .PROP 1,P?ADJECTIVE + .BYTE A?WHITE + .PROP 2,P?ACTION + GARMENT-F + .PROP 2,P?GENERIC + GEN-CLOTHES + .BYTE 0 + .ENDT + +T?CAPT-BED:: .TABLE ; TABLE FOR OBJECT CAPT-BED + .STRL "bed" + .PROP 2,P?SYNONYM + W?BED + .PROP 2,P?ACTION + BED-F + .PROP 2,P?GENERIC + GEN-BED + .PROP 2,P?CAPACITY + 100 + .BYTE 0 + .ENDT + +T?PSEUD-SKIFF:: .TABLE ; TABLE FOR OBJECT PSEUD-SKIFF + .STRL "skiff" + .PROP 4,P?SYNONYM + W?SKIFF + W?BOAT + .PROP 2,P?ACTION + P-SKIFF-F + .BYTE 0 + .ENDT + +T?HAT:: .TABLE ; TABLE FOR OBJECT HAT + .STRL "hat" + .PROP 6,P?SYNONYM + W?HAT + W?TRICORNE + W?QUILL + .PROP 2,P?ADJECTIVE + .BYTE A?PLUMED + .BYTE A?WHITE + .PROP 2,P?ACTION + HAT-F + .PROP 2,P?DESCFCN + HAT-F + .PROP 2,P?CAPACITY + 2 + .BYTE 0 + .ENDT + +T?GALLEY:: .TABLE ; TABLE FOR OBJECT GALLEY + .STRL "Galley" + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE FOCSLE ; TO ROOM + .PROP 1,P?OUT ; UNCONDITIONAL EXIT + .BYTE FOCSLE ; TO ROOM + .PROP 2,P?ACTION + GALLEY-F + .PROP 2,P?LDESC + STR?120 + .PROP 2,P?GLOBAL + .BYTE GALLEY-OBJECT + .BYTE FIRE + .BYTE 0 + .ENDT + +T?MUSICIANS:: .TABLE ; TABLE FOR OBJECT MUSICIANS + .STRL "musicians" + .PROP 4,P?SYNONYM + W?MUSICIANS + W?ORCHESTRA + .PROP 2,P?ACTION + MUSICIANS-F + .BYTE 0 + .ENDT + +T?MAN:: .TABLE ; TABLE FOR OBJECT MAN + .STRL "man" + .PROP 8,P?SYNONYM + W?MAN + W?MEN + W?YOU + W?SAILOR + .PROP 4,P?ADJECTIVE + .BYTE A?SIR + .BYTE A?BEWIGGED + .BYTE A?SIRRAH + .BYTE A?GENTLEMAN + .PROP 2,P?ACTION + MAN-F + .BYTE 0 + .ENDT + +T?HATCH:: .TABLE ; TABLE FOR OBJECT HATCH + .STRL "canvas hatch" + .PROP 4,P?SYNONYM + W?HATCH + W?FRAME + .PROP 2,P?ADJECTIVE + .BYTE A?CANVAS + .BYTE A?COVERED + .PROP 2,P?ACTION + HATCH-F + .BYTE 0 + .ENDT + +T?STUB:: .TABLE ; TABLE FOR OBJECT STUB + .STRL "stub of rope" + .PROP 4,P?SYNONYM + W?ROPE + W?HAWSER + .PROP 1,P?ADJECTIVE + .BYTE A?STUB + .PROP 2,P?ACTION + STUB-F + .PROP 2,P?DESCFCN + STUB-F + .BYTE 0 + .ENDT + +T?LIB-WINDOW:: .TABLE ; TABLE FOR OBJECT LIB-WINDOW + .STRL "window" + .PROP 4,P?SYNONYM + W?GLASS + W?WINDOW + .PROP 5,P?ADJECTIVE + .BYTE A?LARGE + .BYTE A?GLASS + .BYTE A?SMALL + .BYTE A?PANE + .BYTE A?PANES + .PROP 2,P?ACTION + WINDOW-F + .BYTE 0 + .ENDT + +T?RUM:: .TABLE ; TABLE FOR OBJECT RUM + .STRL "rum" + .PROP 4,P?SYNONYM + W?RUM + W?GROG + .PROP 2,P?ACTION + RUM-F + .BYTE 0 + .ENDT + +T?GREEN-GLASS:: .TABLE ; TABLE FOR OBJECT GREEN-GLASS + .STRL "green goblet" + .PROP 6,P?SYNONYM + W?CUP + W?GLASS + W?GOBLET + .PROP 2,P?ADJECTIVE + .BYTE A?GREEN + .BYTE A?HIS + .PROP 2,P?ACTION + GLASS-F + .PROP 2,P?SIZE + 2 + .PROP 2,P?CONTENTS + 0 + .PROP 2,P?CAPACITY + 2 + .BYTE 0 + .ENDT + +T?IN-HEDGE:: .TABLE ; TABLE FOR OBJECT IN-HEDGE + .STRL "In the Hedge" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE BY-HOUSE ; TO ROOM + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?158 ; FAILURE MESSAGE + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?156 ; FAILURE MESSAGE + .PROP 4,P?WEST ; CONDITIONAL EXIT + .BYTE FOLLY ; TO ROOM + .BYTE SLAT-OPEN ; IF FLAG IS TRUE + STR?157 ; FAILURE MESSAGE + .PROP 2,P?LDESC + STR?155 + .PROP 2,P?GLOBAL + .BYTE FOLLY-OBJECT + .BYTE HEDGE + .BYTE 0 + .ENDT + +T?STONE:: .TABLE ; TABLE FOR OBJECT STONE + .STRL "stone" + .PROP 4,P?SYNONYM + W?STONE + W?ROCK + .PROP 2,P?ADJECTIVE + .BYTE A?POINTED + .BYTE A?SHARP + .PROP 2,P?ACTION + STONE-F + .PROP 2,P?SIZE + 1 + .BYTE 0 + .ENDT + +T?POWDER:: .TABLE ; TABLE FOR OBJECT POWDER + .STRL "gunpowder" + .PROP 6,P?SYNONYM + W?POWDER + W?GUNPOW + W?SHOT + .BYTE 0 + .ENDT + +T?MOUTH:: .TABLE ; TABLE FOR OBJECT MOUTH + .STRL "your mouth" + .PROP 8,P?SYNONYM + W?MOUTH + W?LIP + W?LIPS + W?SNOUT + .PROP 5,P?ADJECTIVE + .BYTE A?YOUR + .BYTE A?MY + .BYTE A?CROC'S + .BYTE A?CROCOD + .BYTE A?LAFOND + .PROP 2,P?ACTION + MOUTH-F + .BYTE 0 + .ENDT + +T?BEDROOM:: .TABLE ; TABLE FOR OBJECT BEDROOM + .STRL "Bedroom" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE UPPER-HALL-W ; TO ROOM + .PROP 3,P?DOWN ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?LDESC + STR?178 + .PROP 2,P?GLOBAL + .BYTE WINDOW + .BYTE VINE + .BYTE 0 + .ENDT + +T?SIGN:: .TABLE ; TABLE FOR OBJECT SIGN + .STRL "sign" + .PROP 2,P?SYNONYM + W?SIGN + .PROP 2,P?ACTION + SIGN-F + .BYTE 0 + .ENDT + +T?LAGOON:: .TABLE ; TABLE FOR OBJECT LAGOON + .STRL "Lagoon" + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?134 ; FAILURE MESSAGE + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?134 ; FAILURE MESSAGE + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?134 ; FAILURE MESSAGE + .PROP 3,P?WEST ; CONDITIONAL EXIT + FLOATING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + LAGOON-F + .PROP 2,P?GLOBAL + .BYTE SEA + .BYTE DEBRIS + .BYTE 0 + .ENDT + +T?WOOD-CELL-DOOR:: .TABLE ; TABLE FOR OBJECT WOOD-CELL-DOOR + .STRL "wooden door" + .PROP 2,P?SYNONYM + W?DOOR + .PROP 2,P?ADJECTIVE + .BYTE A?WOOD + .BYTE A?WOODEN + .PROP 2,P?ACTION + DOOR-F + .BYTE 0 + .ENDT + +T?WINCH:: .TABLE ; TABLE FOR OBJECT WINCH + .STRL "mooring winch" + .PROP 6,P?SYNONYM + W?WINCH + W?WINDLASS + W?BARREL + .PROP 2,P?ADJECTIVE + .BYTE A?MOORING + .BYTE A?ANCHOR + .PROP 2,P?ACTION + WINCH-F + .BYTE 0 + .ENDT + +T?MAIN-DECK:: .TABLE ; TABLE FOR OBJECT MAIN-DECK + .STRL "Main Deck" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE FOCSLE ; TO ROOM + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE QUARTERDECK ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 3,P?DOWN ; CONDITIONAL EXIT + HATCH-ENTRANCE ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + MAIN-DECK-F + .PROP 6,P?GLOBAL + .BYTE HATCH + .BYTE STAIRS + .BYTE RAILING + .BYTE CREW + .BYTE SEA + .BYTE RIGGING-OBJECT + .BYTE 0 + .ENDT + +T?LONG-TABLE:: .TABLE ; TABLE FOR OBJECT LONG-TABLE + .STRL "long table" + .PROP 2,P?SYNONYM + W?TABLE + .PROP 1,P?ADJECTIVE + .BYTE A?LONG + .PROP 2,P?CAPACITY + 50 + .BYTE 0 + .ENDT + +T?HALL-E:: .TABLE ; TABLE FOR OBJECT HALL-E + .STRL "East Hallway" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE LIBRARY ; TO ROOM + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + UNDER-TABLE ; PER FUNCTION + .BYTE 0 + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE FOYER ; TO ROOM + .PROP 2,P?ACTION + HALL-E-F + .PROP 2,P?LDESC + STR?176 + .PROP 1,P?GLOBAL + .BYTE LONG-TABLE + .BYTE 0 + .ENDT + +T?GUEST-BED:: .TABLE ; TABLE FOR OBJECT GUEST-BED + .STRL "bed" + .PROP 2,P?SYNONYM + W?BED + .PROP 2,P?ACTION + BED-F + .PROP 2,P?CAPACITY + 100 + .BYTE 0 + .ENDT + +T?CELL-1:: .TABLE ; TABLE FOR OBJECT CELL-1 + .STRL "Guard's Bunkroom" + .PROP 1,P?WEST ; UNCONDITIONAL EXIT + .BYTE PASSAGE-1 ; TO ROOM + .PROP 2,P?LDESC + STR?198 + .PROP 1,P?GLOBAL + .BYTE CELL-OBJ + .BYTE 0 + .ENDT + +T?DRAPES:: .TABLE ; TABLE FOR OBJECT DRAPES + .STRL "drapes" + .PROP 4,P?SYNONYM + W?DRAPES + W?CURTAIN + .PROP 4,P?ADJECTIVE + .BYTE A?BLACK + .BYTE A?VELVET + .BYTE A?PURPLE + .BYTE A?GOLD + .PROP 2,P?ACTION + DRAPES-F + .BYTE 0 + .ENDT + +T?STAIRS:: .TABLE ; TABLE FOR OBJECT STAIRS + .STRL "stair" + .PROP 8,P?SYNONYM + W?STAIR + W?STAIRS + W?STAIRW + W?STEP + .PROP 3,P?ADJECTIVE + .BYTE A?WOOD + .BYTE A?ROCK + .BYTE A?WET + .PROP 2,P?ACTION + STAIRS-F + .BYTE 0 + .ENDT + +T?FLOWER:: .TABLE ; TABLE FOR OBJECT FLOWER + .STRL "flower" + .PROP 4,P?SYNONYM + W?FLOWER + W?JASMINE + .PROP 1,P?ADJECTIVE + .BYTE A?LOVELY + .PROP 2,P?ACTION + FLOWER-F + .PROP 2,P?GENERIC + GEN-FLOWER + .BYTE 0 + .ENDT + +T?HALL-W:: .TABLE ; TABLE FOR OBJECT HALL-W + .STRL "Hall" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE KITCHEN ; TO ROOM + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE FOYER ; TO ROOM + .PROP 2,P?LDESC + STR?171 + .PROP 1,P?GLOBAL + .BYTE DOOR + .BYTE 0 + .ENDT + +T?CANNON:: .TABLE ; TABLE FOR OBJECT CANNON + .STRL "cannon" + .PROP 2,P?SYNONYM + W?CANNON + .PROP 2,P?ACTION + CANNON-F + .PROP 2,P?LDESC + STR?117 + .BYTE 0 + .ENDT + +T?OARS:: .TABLE ; TABLE FOR OBJECT OARS + .STRL "pair of oars" + .PROP 6,P?SYNONYM + W?OARS + W?OAR + W?OARLOCK + .PROP 1,P?ADJECTIVE + .BYTE A?METAL + .PROP 2,P?ACTION + OARS-F + .BYTE 0 + .ENDT + +T?BOOKS-GLOBAL:: .TABLE ; TABLE FOR OBJECT BOOKS-GLOBAL + .STRL "books" + .PROP 4,P?SYNONYM + W?BOOK + W?BOOKS + .PROP 2,P?ACTION + BOOKS-GLOBAL-F + .PROP 2,P?GENERIC + GENERIC-BOOK + .BYTE 0 + .ENDT + +T?COOKIE:: .TABLE ; TABLE FOR OBJECT COOKIE + .STRL "Cookie" + .PROP 8,P?SYNONYM + W?COOKIE + W?QUICK + W?COOK + W?RODNEY + .PROP 1,P?ADJECTIVE + .BYTE A?RODNEY + .PROP 2,P?ACTION + COOKIE-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?DESCFCN + COOKIE-F + .BYTE 0 + .ENDT + +T?MESS:: .TABLE ; TABLE FOR OBJECT MESS + .STRL "mess" + .PROP 8,P?SYNONYM + W?MESS + W?POWDER + W?POTIONS + W?STAINS + .BYTE 0 + .ENDT + +T?BALLROOM:: .TABLE ; TABLE FOR OBJECT BALLROOM + .STRL "Ballroom" + .PROP 6,P?SYNONYM + W?FLOOR + W?DANCE + W?BALLRO + .PROP 3,P?NORTH ; CONDITIONAL EXIT + BALLROOM-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?EAST ; CONDITIONAL EXIT + BALLROOM-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + BALLROOM-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?WEST ; CONDITIONAL EXIT + BALLROOM-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 1,P?ADJECTIVE + .BYTE A?DANCE + .PROP 2,P?ACTION + BALLROOM-F + .PROP 4,P?GLOBAL + .BYTE CHANDELIER + .BYTE VER-DOOR + .BYTE CREW + .BYTE DANCERS + .BYTE 0 + .ENDT + +T?WATER:: .TABLE ; TABLE FOR OBJECT WATER + .STRL "water" + .PROP 2,P?SYNONYM + W?WATER + .PROP 1,P?ADJECTIVE + .BYTE A?FRESH + .PROP 2,P?ACTION + WATER-F + .BYTE 0 + .ENDT + +T?KEG:: .TABLE ; TABLE FOR OBJECT KEG + .STRL "keg" + .PROP 8,P?SYNONYM + W?KEG + W?KEGS + W?CASK + W?CASKS + .PROP 2,P?ACTION + KEG-F + .BYTE 0 + .ENDT + +T?GROUND:: .TABLE ; TABLE FOR OBJECT GROUND + .STRL "ground" + .PROP 6,P?SYNONYM + W?FLOOR + W?GROUND + W?DECK + .PROP 2,P?ACTION + GROUND-F + .BYTE 0 + .ENDT + +T?CAPT-QUARTERS:: .TABLE ; TABLE FOR OBJECT CAPT-QUARTERS + .STRL "Captain's Quarters" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + CURTAIN-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + WINDOW-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + CAPT-QUARTERS-F + .PROP 7,P?GLOBAL + .BYTE CURTAIN + .BYTE WINDOW + .BYTE DESK + .BYTE DOOR + .BYTE SEA + .BYTE LADDER + .BYTE OBJ-QUARTERS + .BYTE 0 + .ENDT + +T?NOT-HERE-OBJECT:: .TABLE ; TABLE FOR OBJECT NOT-HERE-OBJECT + .STRL "it" + .PROP 2,P?ACTION + NOT-HERE-OBJECT-F + .BYTE 0 + .ENDT + +T?VERANDA:: .TABLE ; TABLE FOR OBJECT VERANDA + .STRL "Veranda" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + BALLROOM-ENTRANCE ; PER FUNCTION + .BYTE 0 + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?159 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE LAWN ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?159 ; FAILURE MESSAGE + .PROP 1,P?DOWN ; UNCONDITIONAL EXIT + .BYTE LAWN ; TO ROOM + .PROP 2,P?ACTION + VERANDA-F + .PROP 3,P?GLOBAL + .BYTE STAIRS + .BYTE VEROBJ + .BYTE VER-DOOR + .BYTE 0 + .ENDT + +T?INTNUM:: .TABLE ; TABLE FOR OBJECT INTNUM + .STRL "number" + .PROP 2,P?SYNONYM + W?NUMBER + .BYTE 0 + .ENDT + +T?PASSAGE-4:: .TABLE ; TABLE FOR OBJECT PASSAGE-4 + .STRL "Corner" + .PROP 5,P?NORTH ; CONDITIONAL EXIT + .BYTE CELL-4 ; TO ROOM + .BYTE IRON-CELL-DOOR ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 3,P?EAST ; CONDITIONAL EXIT + DUNGEON-ENTRANCE ; PER FUNCTION + .BYTE 0 + .PROP 2,P?LDESC + STR?204 + .PROP 2,P?GLOBAL + .BYTE IRON-CELL-DOOR + .BYTE CELL-OBJ + .BYTE 0 + .ENDT + +T?DIVAN:: .TABLE ; TABLE FOR OBJECT DIVAN + .STRL "divan" + .PROP 4,P?SYNONYM + W?COUCH + W?DIVAN + .PROP 1,P?ADJECTIVE + .BYTE A?TURKEY + .PROP 2,P?ACTION + DIVAN-F + .BYTE 0 + .ENDT + +T?INVITE:: .TABLE ; TABLE FOR OBJECT INVITE + .STRL "invitation" + .PROP 6,P?SYNONYM + W?INVITE + W?CARD + W?INVITATION + .PROP 2,P?ADJECTIVE + .BYTE A?LARGE + .BYTE A?WHITE + .PROP 2,P?ACTION + INVITE-F + .BYTE 0 + .ENDT + +T?LAFS-ROOM:: .TABLE ; TABLE FOR OBJECT LAFS-ROOM + .STRL "Lafond's Bedroom" + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + LAFS-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + LAFS-ROOM-F + .PROP 4,P?GLOBAL + .BYTE LDOOR + .BYTE TABLE + .BYTE DRAPES + .BYTE SEA + .BYTE 0 + .ENDT + +T?LUCY:: .TABLE ; TABLE FOR OBJECT LUCY + .STRL "Lucy" + .PROP 6,P?SYNONYM + W?WOMAN + W?COOK + W?LUCY + .PROP 1,P?ADJECTIVE + .BYTE A?BLOND + .PROP 2,P?ACTION + LUCY-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?DESCFCN + LUCY-F + .BYTE 0 + .ENDT + +T?ON-LADDER:: .TABLE ; TABLE FOR OBJECT ON-LADDER + .STRL "On the Ladder" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + LADDER-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 3,P?DOWN ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 3,P?IN ; CONDITIONAL EXIT + LADDER-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + ON-LADDER-F + .PROP 4,P?GLOBAL + .BYTE LADDER + .BYTE SEA + .BYTE OBJ-QUARTERS + .BYTE PSEUD-SKIFF + .BYTE 0 + .ENDT + +T?TRADE-ENTRANCE:: .TABLE ; TABLE FOR OBJECT TRADE-ENTRANCE + .STRL "Trade Entrance" + .PROP 3,P?NORTH ; CONDITIONAL EXIT + AROUND-HOUSE ; PER FUNCTION + .BYTE 0 + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE KITCHEN ; TO ROOM + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE FOREST ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?161 ; FAILURE MESSAGE + .PROP 1,P?IN ; UNCONDITIONAL EXIT + .BYTE KITCHEN ; TO ROOM + .PROP 2,P?LDESC + STR?160 + .BYTE 0 + .ENDT + +T?CELL-2:: .TABLE ; TABLE FOR OBJECT CELL-2 + .STRL "Cell" + .PROP 5,P?WEST ; CONDITIONAL EXIT + .BYTE PASSAGE-2 ; TO ROOM + .BYTE WOOD-CELL-DOOR ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 2,P?LDESC + STR?201 + .PROP 2,P?GLOBAL + .BYTE WOOD-CELL-DOOR + .BYTE CELL-OBJ + .BYTE 0 + .ENDT + +T?CEILING:: .TABLE ; TABLE FOR OBJECT CEILING + .STRL "ceiling" + .PROP 4,P?SYNONYM + W?CEILIN + W?ROOF + .PROP 1,P?ADJECTIVE + .BYTE A?LOW + .PROP 2,P?ACTION + CEILING-F + .BYTE 0 + .ENDT + +T?GLOBE:: .TABLE ; TABLE FOR OBJECT GLOBE + .STRL "globe" + .PROP 6,P?SYNONYM + W?GLOBE + W?SINISTRA + W?ISLAND + .PROP 3,P?ADJECTIVE + .BYTE A?WORLD + .BYTE A?ST + .BYTE A?WOODEN + .PROP 2,P?ACTION + GLOBE-F + .BYTE 0 + .ENDT + +T?STAIRWELL:: .TABLE ; TABLE FOR OBJECT STAIRWELL + .STRL "Stairwell" + .PROP 3,P?SOUTH ; CONDITIONAL EXIT + PORTRAIT-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 1,P?DOWN ; UNCONDITIONAL EXIT + .BYTE BOTTOM-STAIRS ; TO ROOM + .PROP 3,P?OUT ; CONDITIONAL EXIT + PORTRAIT-EXIT ; PER FUNCTION + .BYTE 0 + .PROP 2,P?LDESC + STR?194 + .PROP 3,P?GLOBAL + .BYTE STAIRS + .BYTE PORTRAIT + .BYTE TORCH + .BYTE 0 + .ENDT + +T?BUSHES:: .TABLE ; TABLE FOR OBJECT BUSHES + .STRL "bushes" + .PROP 6,P?SYNONYM + W?BUSHES + W?DRAGOO + W?SOLDIERS + .BYTE 0 + .ENDT + +T?POOP:: .TABLE ; TABLE FOR OBJECT POOP + .STRL "Poop" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE QUARTERDECK ; TO ROOM + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 2,P?SOUTH ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 3,P?DOWN ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + POOP-F + .PROP 4,P?GLOBAL + .BYTE LADDER + .BYTE SEA + .BYTE RAILING + .BYTE OBJ-QUARTERS + .BYTE 0 + .ENDT + +T?BANKNOTE:: .TABLE ; TABLE FOR OBJECT BANKNOTE + .STRL "banknote" + .PROP 6,P?SYNONYM + W?MONEY + W?NOTE + W?BANKNOTE + .PROP 4,P?ADJECTIVE + .BYTE A?FIFTY + .BYTE A?GUINEA + .BYTE A?FRONT + .BYTE A?BACK + .PROP 2,P?ACTION + BANKNOTE-F + .PROP 2,P?SIZE + 1 + .BYTE 0 + .ENDT + +T?CROC:: .TABLE ; TABLE FOR OBJECT CROC + .STRL "crocodile" + .PROP 8,P?SYNONYM + W?CROC + W?CROCOD + W?LEBS + W?MOUTH + .PROP 4,P?ADJECTIVE + .BYTE A?CROC'S + .BYTE A?JAWS + .BYTE A?REPTILE + .BYTE A?GATOR + .PROP 2,P?ACTION + CROC-F + .PROP 2,P?DESCFCN + CROC-F + .BYTE 0 + .ENDT + +T?FUSE:: .TABLE ; TABLE FOR OBJECT FUSE + .STRL "fuse" + .PROP 6,P?SYNONYM + W?FUSE + W?GLOW + W?FIRE + .PROP 3,P?ADJECTIVE + .BYTE A?BURNING + .BYTE A?SLOW + .BYTE A?RED + .PROP 2,P?ACTION + FUSE-F + .PROP 2,P?DESCFCN + FUSE-F + .BYTE 0 + .ENDT + +T?QUARTERDECK:: .TABLE ; TABLE FOR OBJECT QUARTERDECK + .STRL "Quarterdeck" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE MAIN-DECK ; TO ROOM + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE POOP ; TO ROOM + .PROP 2,P?WEST ; IMPOSSIBLE EXIT + STR?114 ; FAILURE MESSAGE + .PROP 2,P?UP ; IMPOSSIBLE EXIT + STR?116 ; FAILURE MESSAGE + .PROP 2,P?DOWN ; IMPOSSIBLE EXIT + STR?115 ; FAILURE MESSAGE + .PROP 2,P?IN ; IMPOSSIBLE EXIT + STR?115 ; FAILURE MESSAGE + .PROP 2,P?ACTION + QUARTERDECK-F + .PROP 5,P?GLOBAL + .BYTE DOOR + .BYTE CREW + .BYTE SEA + .BYTE RAILING + .BYTE LINE + .BYTE 0 + .ENDT + +T?HERO:: .TABLE ; TABLE FOR OBJECT HERO + .STRL "Captain Jamison" + .PROP 8,P?SYNONYM + W?HERO + W?PIRATE + W?JAMISON + W?CAPTAIN + .PROP 4,P?ADJECTIVE + .BYTE A?NICHOLAS + .BYTE A?NICK + .BYTE A?CAPTAIN + .BYTE A?FALCON + .PROP 2,P?ACTION + HERO-F + .PROP 2,P?SIZE + 10 + .PROP 2,P?GENERIC + GEN-PIRATE + .PROP 2,P?DESCFCN + HERO-F + .BYTE 0 + .ENDT + +T?CREW:: .TABLE ; TABLE FOR OBJECT CREW + .STRL "pirate" + .PROP 6,P?SYNONYM + W?SAILOR + W?PIRATE + W?SEAMAN + .PROP 2,P?ACTION + CREW-F + .PROP 2,P?SIZE + 10 + .BYTE 0 + .ENDT + +T?PROTAGONIST:: .TABLE ; TABLE FOR OBJECT PROTAGONIST + .STRL "it" + .PROP 2,P?SYNONYM + W?PROTAG + .PROP 2,P?ACTION + PROTAGONIST-F + .BYTE 0 + .ENDT + +T?CREWS-QUARTERS:: .TABLE ; TABLE FOR OBJECT CREWS-QUARTERS + .STRL "Crew's Quarters" + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE HOLD ; TO ROOM + .PROP 2,P?UP ; IMPOSSIBLE EXIT + STR?110 ; FAILURE MESSAGE + .PROP 2,P?ACTION + CREWS-QUARTERS-F + .PROP 1,P?GLOBAL + .BYTE GRATE + .BYTE 0 + .ENDT + +T?PANTS:: .TABLE ; TABLE FOR OBJECT PANTS + .STRL "breeches" + .PROP 8,P?SYNONYM + W?BREECHES + W?PANTS + W?CLOTHES + W?BRITCHES + .PROP 1,P?ADJECTIVE + .BYTE A?BREEKS + .PROP 2,P?ACTION + GARMENT-F + .PROP 2,P?GENERIC + GEN-CLOTHES + .BYTE 0 + .ENDT + +T?FRONTISPIECE:: .TABLE ; TABLE FOR OBJECT FRONTISPIECE + .STRL "Plundered Hearts" + .PROP 2,P?NW + STR?1 + .PROP 2,P?SW + STR?1 + .PROP 2,P?SYNONYM + W?ZZMGCK + .BYTE 0 + .ENDT + +T?PYRAMID:: .TABLE ; TABLE FOR OBJECT PYRAMID + .STRL "pyramid of casks" + .PROP 6,P?SYNONYM + W?PYRAMID + W?CASKS + W?CASK + .PROP 1,P?ADJECTIVE + .BYTE A?RUM + .PROP 2,P?ACTION + PYRAMID-F + .PROP 2,P?GENERIC + GEN-CASK + .PROP 2,P?DESCFCN + PYRAMID-F + .BYTE 0 + .ENDT + +T?CRACK:: .TABLE ; TABLE FOR OBJECT CRACK + .STRL "crack" + .PROP 2,P?SYNONYM + W?CRACK + .PROP 2,P?ACTION + CRACK-F + .BYTE 0 + .ENDT + +T?TRAY:: .TABLE ; TABLE FOR OBJECT TRAY + .STRL "silver tray" + .PROP 2,P?SYNONYM + W?TRAY + .PROP 2,P?ACTION + TRAY-F + .BYTE 0 + .ENDT + +T?FLAGON:: .TABLE ; TABLE FOR OBJECT FLAGON + .STRL "flagon" + .PROP 2,P?SYNONYM + W?FLAGON + .PROP 2,P?ACTION + FLAGON-F + .PROP 2,P?SIZE + 3 + .PROP 2,P?CONTENTS + 1 + .BYTE 0 + .ENDT + +T?GOWN:: .TABLE ; TABLE FOR OBJECT GOWN + .STRL "beautiful ball gown" + .PROP 6,P?SYNONYM + W?GOWN + W?DRESS + W?CLOTHES + .PROP 2,P?ADJECTIVE + .BYTE A?BALL + .BYTE A?SILK + .PROP 2,P?ACTION + GARMENT-F + .PROP 2,P?GENERIC + GEN-CLOTHES + .PROP 2,P?FDESC + STR?207 + .BYTE 0 + .ENDT + +T?BOOKCASE:: .TABLE ; TABLE FOR OBJECT BOOKCASE + .STRL "bookcase" + .PROP 8,P?SYNONYM + W?BOOKCASE + W?BOOKSHELF + W?SHELF + W?SHELVES + .PROP 2,P?ADJECTIVE + .BYTE A?BOOK + .BYTE A?CASE + .PROP 2,P?ACTION + BOOKCASE-F + .PROP 2,P?CAPACITY + 99 + .BYTE 0 + .ENDT + +T?RAG:: .TABLE ; TABLE FOR OBJECT RAG + .STRL "rag" + .PROP 4,P?SYNONYM + W?RAG + W?CLOTH + .PROP 3,P?ADJECTIVE + .BYTE A?WET + .BYTE A?SCRAP + .BYTE A?PIECE + .PROP 2,P?ACTION + RAG-F + .BYTE 0 + .ENDT + +T?BENCH:: .TABLE ; TABLE FOR OBJECT BENCH + .STRL "bench" + .PROP 2,P?SYNONYM + W?BENCH + .PROP 2,P?LDESC + STR?153 + .BYTE 0 + .ENDT + +T?POWER:: .TABLE ; TABLE FOR OBJECT POWER + .STRL "book" + .PROP 4,P?SYNONYM + W?BOOK + W?POWER + .PROP 2,P?ADJECTIVE + .BYTE A?TREATISE + .BYTE A?WELL-READ + .PROP 2,P?ACTION + POWER-F + .PROP 2,P?GENERIC + GENERIC-BOOK + .BYTE 0 + .ENDT + +T?FIRE:: .TABLE ; TABLE FOR OBJECT FIRE + .STRL "fire" + .PROP 6,P?SYNONYM + W?FIRE + W?FIREPIT + W?PIT + .PROP 2,P?ADJECTIVE + .BYTE A?WARM + .BYTE A?SMOKY + .PROP 2,P?ACTION + FIRE-F + .BYTE 0 + .ENDT + +T?LETTER:: .TABLE ; TABLE FOR OBJECT LETTER + .STRL "missive" + .PROP 6,P?SYNONYM + W?PAPER + W?LETTER + W?MISSIVE + .PROP 2,P?ACTION + LETTER-F + .BYTE 0 + .ENDT + +T?RIGGING-ROOM:: .TABLE ; TABLE FOR OBJECT RIGGING-ROOM + .STRL "In the Rigging" + .PROP 3,P?UP ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 3,P?DOWN ; CONDITIONAL EXIT + CLIMBING ; PER FUNCTION + .BYTE 0 + .PROP 2,P?ACTION + RIGGING-ROOM-F + .PROP 3,P?GLOBAL + .BYTE RIGGING-OBJECT + .BYTE SEA + .BYTE LADDER + .BYTE 0 + .ENDT + +T?UPPER-HALL-W:: .TABLE ; TABLE FOR OBJECT UPPER-HALL-W + .STRL "Upstairs Hall" + .PROP 1,P?NORTH ; UNCONDITIONAL EXIT + .BYTE X-ROOM ; TO ROOM + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE STAIRTOP ; TO ROOM + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE BEDROOM ; TO ROOM + .PROP 2,P?LDESC + STR?179 + .BYTE 0 + .ENDT + +T?LRING:: .TABLE ; TABLE FOR OBJECT LRING + .STRL "gold ring" + .PROP 4,P?SYNONYM + W?RING + W?LATIN + .PROP 1,P?ADJECTIVE + .BYTE A?GOLD + .PROP 2,P?ACTION + RING-F + .PROP 2,P?GENERIC + GEN-RING + .BYTE 0 + .ENDT + +T?RUM-BARREL:: .TABLE ; TABLE FOR OBJECT RUM-BARREL + .STRL "rum barrel" + .PROP 8,P?SYNONYM + W?BARREL + W?CASK + W?KEG + W?STAINS + .PROP 3,P?ADJECTIVE + .BYTE A?RUM + .BYTE A?STAINED + .BYTE A?DARK + .PROP 2,P?ACTION + BARREL-F + .PROP 2,P?GENERIC + GEN-BARREL + .BYTE 0 + .ENDT + +T?SHUTTERS:: .TABLE ; TABLE FOR OBJECT SHUTTERS + .STRL "shutters" + .PROP 6,P?SYNONYM + W?SHUTTERS + W?SILL + W?WINDOW + .PROP 1,P?ADJECTIVE + .BYTE A?WOODEN + .PROP 2,P?ACTION + SHUTTERS-F + .BYTE 0 + .ENDT + +T?BOTTOM-STAIRS:: .TABLE ; TABLE FOR OBJECT BOTTOM-STAIRS + .STRL "Bottom of Stairwell" + .PROP 1,P?EAST ; UNCONDITIONAL EXIT + .BYTE PASSAGE-1 ; TO ROOM + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE ANTEROOM ; TO ROOM + .PROP 1,P?UP ; UNCONDITIONAL EXIT + .BYTE STAIRWELL ; TO ROOM + .PROP 2,P?LDESC + STR?195 + .PROP 2,P?GLOBAL + .BYTE STAIRS + .BYTE TORCH + .BYTE 0 + .ENDT + +T?CABIN-BED:: .TABLE ; TABLE FOR OBJECT CABIN-BED + .STRL "bed" + .PROP 2,P?SYNONYM + W?BED + .PROP 2,P?ACTION + BED-F + .PROP 2,P?CAPACITY + 100 + .BYTE 0 + .ENDT + +T?LAFS-BED:: .TABLE ; TABLE FOR OBJECT LAFS-BED + .STRL "bed" + .PROP 2,P?SYNONYM + W?BED + .PROP 2,P?ACTION + BED-F + .PROP 2,P?CAPACITY + 100 + .BYTE 0 + .ENDT + +T?DAVIS:: .TABLE ; TABLE FOR OBJECT DAVIS + .STRL "Davis" + .PROP 2,P?SYNONYM + W?DAVIS + .PROP 2,P?ACTION + DAVIS-F + .PROP 2,P?LDESC + STR?219 + .BYTE 0 + .ENDT + +T?BY-HOUSE:: .TABLE ; TABLE FOR OBJECT BY-HOUSE + .STRL "By the House" + .PROP 2,P?NORTH ; IMPOSSIBLE EXIT + STR?156 ; FAILURE MESSAGE + .PROP 2,P?EAST ; IMPOSSIBLE EXIT + STR?158 ; FAILURE MESSAGE + .PROP 1,P?SOUTH ; UNCONDITIONAL EXIT + .BYTE IN-HEDGE ; TO ROOM + .PROP 5,P?WEST ; CONDITIONAL EXIT + .BYTE LIBRARY ; TO ROOM + .BYTE LIB-WINDOW ; IF DOOR IS OPEN + 0 ; FAILURE MESSAGE + .BYTE 0 + .PROP 2,P?ACTION + BY-HOUSE-F + .PROP 2,P?GLOBAL + .BYTE LIB-WINDOW + .BYTE HEDGE + .BYTE 0 + .ENDT + +T?DOOR:: .TABLE ; TABLE FOR OBJECT DOOR + .STRL "door" + .PROP 4,P?SYNONYM + W?DOOR + W?LOCK + .PROP 2,P?ACTION + DOOR-F + .PROP 2,P?GENERIC + GEN-LOCK + .BYTE 0 + .ENDT + +T?KNOB:: .TABLE ; TABLE FOR OBJECT KNOB + .STRL "knob" + .PROP 2,P?SYNONYM + W?KNOB + .PROP 2,P?ACTION + KNOB-F + .BYTE 0 + .ENDT + +T?PSEUDO-OBJECT:: .TABLE ; TABLE FOR OBJECT PSEUDO-OBJECT + .STRL "pseudo" + .PROP 2,P?ACTION + ME-F + .BYTE 0 + .ENDT + +T?MOONBEAM:: .TABLE ; TABLE FOR OBJECT MOONBEAM + .STRL "moonbeam" + .PROP 8,P?SYNONYM + W?MOONLIGHT + W?MOONBEAM + W?BEAM + W?LIGHT + .PROP 1,P?ADJECTIVE + .BYTE A?MOON + .PROP 2,P?ACTION + MOON-F + .BYTE 0 + .ENDT + +T?LDOOR:: .TABLE ; TABLE FOR OBJECT LDOOR + .STRL "ornate door" + .PROP 4,P?SYNONYM + W?DOOR + W?LOCK + .PROP 1,P?ADJECTIVE + .BYTE A?ORNATE + .PROP 2,P?ACTION + DOOR-F + .BYTE 0 + .ENDT + +T?RIGGING-OBJECT:: .TABLE ; TABLE FOR OBJECT RIGGING-OBJECT + .STRL "rigging" + .PROP 8,P?SYNONYM + W?RIGGING + W?MAST + W?MAINMA + W?FOREMA + .PROP 1,P?ADJECTIVE + .BYTE A?TANGLED + .PROP 2,P?ACTION + RIGGING-OBJECT-F + .BYTE 0 + .ENDT + +T?RETICULE:: .TABLE ; TABLE FOR OBJECT RETICULE + .STRL "your reticule" + .PROP 2,P?SYNONYM + W?RETICULE + .PROP 2,P?ADJECTIVE + .BYTE A?YOUR + .BYTE A?MY + .PROP 2,P?ACTION + RETICULE-F + .PROP 2,P?CAPACITY + 50 + .BYTE 0 + .ENDT + + +; IMPURE TABLES ARE DEFINED HERE + +IMPTBL:: + +T?101:: +T?C-TABLE:: .TABLE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + I-CRULLEY + 9 + I-COFFER + 5 + I-PIRATE-ATTACK + -1 + .ENDT + +T?102:: +T?P-CCTBL:: .TABLE + 0 + 0 + 0 + .ENDT + +T?202:: +T?P-LEXV:: .TABLE + .BYTE 79 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?302:: +T?AGAIN-LEXV:: .TABLE + .BYTE 79 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?402:: +T?RESERVE-LEXV:: .TABLE + .BYTE 79 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?502:: +T?P-INBUF:: .TABLE + .BYTE 80 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?602:: +T?RESERVE-INBUF:: .TABLE + .BYTE 80 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?702:: +T?OOPS-INBUF:: .TABLE + .BYTE 80 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?802:: +T?OOPS-TABLE:: .TABLE + 0 + 0 + 0 + 0 + .ENDT + +T?902:: +T?P-ITBL:: .TABLE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .ENDT + +T?1002:: +T?P-OTBL:: .TABLE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .ENDT + +T?1102:: +T?P-VTBL:: .TABLE + 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?1202:: +T?P-OVTBL:: .TABLE + 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?1302:: +T?P-NAMW:: .TABLE + 0 + 0 + .ENDT + +T?1402:: +T?P-ADJW:: .TABLE + 0 + 0 + .ENDT + +T?1502:: +T?P-MERGE:: .TABLE + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?1602:: +T?P-PRSO:: .TABLE + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?1702:: +T?P-PRSI:: .TABLE + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?1802:: +T?P-BUTS:: .TABLE + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .ENDT + +T?1902:: +T?P-OCL1:: .TABLE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .ENDT + +T?2002:: +T?P-OCL2:: .TABLE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .ENDT + +T?104:: +T?WINNING-RANKS:: .TABLE + 0 + STR?4 + STR?5 + STR?6 + STR?7 + .ENDT + +T?204:: +T?FOLLOWS:: .TABLE + 4 + 0 + STR?9 + STR?10 + STR?11 + .ENDT + +T?304:: +T?HO-HUM-LIST:: .TABLE + 4 + 0 + STR?13 + STR?14 + STR?15 + .ENDT + +T?404:: +T?IMPOSSIBLE-LIST:: .TABLE + 6 + 0 + STR?16 + STR?17 + STR?18 + STR?19 + STR?20 + .ENDT + +T?504:: +T?WASTE-LIST:: .TABLE + 7 + 0 + STR?21 + STR?22 + STR?23 + STR?24 + STR?25 + STR?26 + .ENDT + +T?106:: +T?DEBRIS-BITS:: .TABLE + 4 + 0 + STR?101 + STR?102 + STR?103 + .ENDT + +T?206:: +T?PIRATE-NOISES:: .TABLE + 6 + 0 + STR?123 + STR?124 + STR?125 + STR?126 + STR?127 + .ENDT + +T?306:: +T?REEF-DESC:: .TABLE + 0 + 0 + 0 + 0 + 0 + STR?128 + STR?129 + STR?130 + STR?131 + STR?132 + STR?133 + .ENDT + +T?107:: +T?HERO-SHIP-SPEECHES:: .TABLE + STR?139 + STR?140 + STR?141 + .ENDT + +T?207:: +T?HERO-SPEECHES:: .TABLE + STR?144 + STR?145 + STR?146 + .ENDT + +T?307:: +T?MANNERISMS:: .TABLE + 6 + 0 + STR?147 + STR?148 + STR?149 + STR?150 + STR?151 + .ENDT + +T?108:: +T?WATCHING-SLEEPY:: .TABLE + STR?184 + STR?185 + STR?186 + .ENDT + +T?208:: +T?GETTING-SLEEPY:: .TABLE + 0 + STR?187 + STR?188 + STR?189 + STR?190 + .ENDT + +T?308:: +T?GLASS-DESC:: .TABLE + STR?191 + STR?192 + STR?193 + STR?192 + .ENDT + +T?110:: +T?MENACES:: .TABLE + STR?212 + STR?213 + STR?214 + .ENDT + +T?210:: +T?ABUSES:: .TABLE + 5 + 0 + STR?215 + STR?216 + STR?217 + STR?218 + .ENDT + +T?310:: +T?DUEL-SOUNDS:: .TABLE + 8 + 0 + STR?224 + STR?225 + STR?226 + STR?227 + STR?228 + STR?229 + STR?230 + .ENDT + + +; END OF IMPURENESS + +IMPURE:: + + + +; VERB TABLE IS DEFINED HERE + +VTBL:: .TABLE + ST?KISS + ST?APPROA + ST?BRIBE + ST?RAPE + ST?VERBOSE + ST?SWOON + ST?WALK + ST?STICK + ST?QUIT + ST?FIND + ST?HEAR + ST?YES + ST?ZZMGCK + ST?STOP + ST?SINK + ST?UNLOCK + ST?READ + ST?JUMP + ST?POUR + ST?WAIT + ST?TAKE + ST?NO + ST?SIGH + ST?RAISE + ST?FOLLOW + ST?VERSION + ST?#UNRECORD + ST?LIGHT + ST?LIE + ST?MOVE + ST?LET + ST?PLAY + ST?OPEN + ST?MARRY + ST?TOUCH + ST?#COMMAND + ST?BLOW + ST?SHOOT + ST?WRAP + ST?KNOCK + ST?INVENT + ST?PICK + ST?BOARD + ST?#RANDOM + ST?HUG + ST?STAND + ST?LISTEN + ST?TIE + ST?WHERE + ST?PASS + ST?SHOW + ST?TAP + ST?SAVE + ST?HELP + ST?TELL + ST?THROW + ST?FEED + ST?DRESS + ST?FIDDLE + ST?LOWER + ST?TALK + ST?USE + ST?HIDE + ST?SHAKE + ST?ATTACK + ST?RESTOR + ST?ENTER + ST?THANKS + ST?SEARCH + ST?WEAR + ST?PAY + ST?DISEMBARK + ST?SWIM + ST?UNTIE + ST?WASH + ST?CIRCLE + ST?UNSCRIPT + ST?MUZZLE + ST?PUSH + ST?SUPER + ST?SIT + ST?RESTAR + ST?APPLAUD + ST?UNDRES + ST?REACH + ST?DIG + ST?SOAK + ST?SCORE + ST?CRY + ST?LAUGH + ST?COVER + ST?CURTSEY + ST?COME + ST?DANCE + ST?LOOK + ST?EMPTY + ST?RIP + ST?DROP + ST?ROLL + ST?LEAVE + ST?HAND + ST?WRING + ST?SCRIPT + ST?$VERIFY + ST?EXTINGUISH + ST?SWING + ST?DESCEN + ST?MANACLE + ST?SMELL + ST?BRIEF + ST?SLEEP + ST?WAKE + ST?DRINK + ST?REMOVE + ST?WHAT + ST?YELL + ST?LOCK + ST?BURN + ST?KICK + ST?BITE + ST?POINT + ST?TURN + ST?#RECORD + ST?MAKE + ST?CLOSE + ST?FIX + ST?GO + ST?REFLECT + ST?SLIDE + ST?WAVE + ST?EXIT + ST?EXAMINE + ST?ROW + ST?EAT + ST?FILL + ST?LEAN + ST?CLIMB + ST?LAUNCH + ST?RETURN + ST?DEMOLI + ST?UNROLL + ST?SLICE + ST?ASK + ST?HELLO + .ENDT + +; SYNTAX DEFINITION TABLES ARE DEFINED HERE + +ST?KISS:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?KISS + .ENDT + +ST?APPROA:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-TO + .ENDT + +ST?BRIBE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BRIBE + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BRIBE + .ENDT + +ST?RAPE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RAPE + .ENDT + +ST?VERBOSE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?VERBOSE + .ENDT + +ST?SWOON:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SWOON + .ENDT + +ST?WALK:: .TABLE + .BYTE 13 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?AWAY + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAVE + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-TO + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-DOWN + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB + .BYTE 1 ;OBJECTS + .BYTE PR?BEHIND + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HIDE + .BYTE 1 ;OBJECTS + .BYTE PR?AROUND + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-AROUND + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?ACROSS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-AROUND + .ENDT + +ST?STICK:: .TABLE + .BYTE 11 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE ONBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?OFF + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE SMANY + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?BEHIND + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUT-BEHIND + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE WEARBIT + .BYTE 0 + .BYTE STAKE + .BYTE 0 + .BYTE V?WEAR + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUT-UNDER + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?DROP + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT-ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AROUND + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT-ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT-ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT + .ENDT + +ST?QUIT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?QUIT + .ENDT + +ST?FIND:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FIND + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FIND + .ENDT + +ST?HEAR:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LISTEN + .ENDT + +ST?YES:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?YES + .ENDT + +ST?ZZMGCK:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ANSWER-KLUDGE + .ENDT + +ST?STOP:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HALT + .ENDT + +ST?SINK:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SINK + .ENDT + +ST?UNLOCK:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SHAVE + .BYTE V?UNLOCK + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?UNLOCK + .ENDT + +ST?READ:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?READ + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?READ + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?READ + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?READ + .ENDT + +ST?JUMP:: .TABLE + .BYTE 12 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?OVERBOARD + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP-OVERBOARD + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP-OFF + .BYTE 1 ;OBJECTS + .BYTE PR?ACROSS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .BYTE 1 ;OBJECTS + .BYTE PR?OFF + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP-OFF + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?ACROSS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .BYTE 1 ;OBJECTS + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP + .ENDT + +ST?POUR:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?POUR-FROM + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?POUR-FROM + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?POUR + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?POUR + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?POUR + .ENDT + +ST?WAIT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WAIT + .ENDT + +ST?TAKE:: .TABLE + .BYTE 16 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?DRUNK + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?GET-DRUNK + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG + .BYTE 0 + .BYTE V?DISEMBARK + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG + .BYTE 0 + .BYTE V?DISEMBARK + .BYTE 1 ;OBJECTS + .BYTE PR?UNDRES + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?GET-UNDRESSED + .BYTE 1 ;OBJECTS + .BYTE PR?DRESSE + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?GET-DRESSED + .BYTE 1 ;OBJECTS + .BYTE PR?OFF + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TAKE-OFF + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE SIR+SC+SMANY + .BYTE SHAVE + .BYTE V?TAKE-WITH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SIR+SC+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SIR+SC+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE SIR+SC+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OFF + .BYTE 0 + .BYTE 0 + .BYTE SC+SIR+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE SC+SIR+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STAND + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?BOARD + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?BOARD + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE TAKEBIT + .BYTE 0 + .BYTE SOG+SIR+SMANY + .BYTE 0 + .BYTE V?TAKE + .ENDT + +ST?NO:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?NO + .ENDT + +ST?SIGH:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SIGH + .ENDT + +ST?RAISE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RAISE + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RAISE + .ENDT + +ST?FOLLOW:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FOLLOW + .ENDT + +ST?VERSION:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?VERSION + .ENDT + +ST?#UNRECORD:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?$UNRECORD + .ENDT + +ST?LIGHT:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE LIGHTBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE LIGHTBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?ON + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE LIGHTBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?ON + .ENDT + +ST?LIE:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LIE-DOWN + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LIE-DOWN + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LIE-DOWN + .ENDT + +ST?MOVE:: .TABLE + .BYTE 9 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?MOVE + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?MOVE + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?LOWER + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?RAISE + .BYTE 1 ;OBJECTS + .BYTE PR?AROUND + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-AROUND + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE V?LOWER + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE V?RAISE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH-DIR + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?MOVE + .ENDT + +ST?LET:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?GO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SMANY + .BYTE 0 + .BYTE V?DROP + .ENDT + +ST?PLAY:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TOUCH + .ENDT + +ST?OPEN:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE DOORBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE SOG+SIR+SH+SC+SHAVE + .BYTE V?OPEN + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE DOORBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?OPEN + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE DOORBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?OPEN + .ENDT + +ST?MARRY:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?MARRY + .ENDT + +ST?TOUCH:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE CONTBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TOUCH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STOUCH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TOUCH + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TOUCH + .ENDT + +ST?#COMMAND:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?$COMMAND + .ENDT + +ST?BLOW:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE ONBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?OFF + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE ACTORBIT + .BYTE SH + .BYTE 0 + .BYTE V?BLOW + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AT + .BYTE 0 + .BYTE ACTORBIT + .BYTE SH + .BYTE 0 + .BYTE V?BLOW + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BLOW + .ENDT + +ST?SHOOT:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SSHOOT + .BYTE 1 ;OBJECTS + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SSHOOT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SSHOOT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SHAVE + .BYTE V?SHOOT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SHOOT + .ENDT + +ST?WRAP:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE V?SWRAP + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AROUND + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?WRAP + .ENDT + +ST?KNOCK:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ROLL + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?KILL + .BYTE 1 ;OBJECTS + .BYTE PR?AT + .BYTE 0 + .BYTE DOORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?KNOCK + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE DOORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?KNOCK + .ENDT + +ST?INVENT:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?LOVE + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?I-LOVE-YOU + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?INVENTORY + .ENDT + +ST?PICK:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE TAKEBIT + .BYTE 0 + .BYTE SOG+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PICK + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PICK + .ENDT + +ST?BOARD:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?BOARD + .ENDT + +ST?#RANDOM:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?$RANDOM + .ENDT + +ST?HUG:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EMBRACE + .ENDT + +ST?STAND:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?BEHIND + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HIDE + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STAND-ON + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STAND-ON + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STAND + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STAND + .ENDT + +ST?LISTEN:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LISTEN + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LISTEN + .ENDT + +ST?TIE:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE V?TIE-WITH + .BYTE 2 ;OBJECTS + .BYTE PR?UP + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE V?TIE-WITH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AROUND + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?TIE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?TIE + .ENDT + +ST?WHERE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WHERE + .ENDT + +ST?PASS:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE SMANY+SH+SHAVE + .BYTE SOG + .BYTE V?GIVE + .ENDT + +ST?SHOW:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE V?SSHOW + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?SHOW + .ENDT + +ST?TAP:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?KNOCK + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TOUCH + .ENDT + +ST?SAVE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SAVE-SOMETHING + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SAVE + .ENDT + +ST?HELP:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SAVE-SOMETHING + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HELP + .ENDT + +ST?TELL:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?STELL + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ABOUT + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?TELL-ABOUT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SIR + .BYTE 0 + .BYTE V?TELL + .ENDT + +ST?THROW:: .TABLE + .BYTE 13 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?SHOOT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE 0 + .BYTE V?THROW-OVER + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE SOG+SIR + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE SH+SC + .BYTE V?STHROW + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE SOG+SIR + .BYTE V?THROW-TO + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE SOG+SIR + .BYTE V?THROW + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE SOG+SIR + .BYTE V?THROW-AT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE 0 + .BYTE V?THROW + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?THROW + .BYTE 1 ;OBJECTS + .BYTE PR?OVERBOARD + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE 0 + .BYTE V?THROW-OVERBOARD + .BYTE 1 ;OBJECTS + .BYTE PR?AWAY + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE 0 + .BYTE V?THROW + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SC + .BYTE 0 + .BYTE V?THROW + .ENDT + +ST?FEED:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE SMANY+SH+SHAVE + .BYTE V?SGIVE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG + .BYTE SMANY+SH+SHAVE + .BYTE V?SGIVE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE SMANY+SH+SHAVE + .BYTE SOG + .BYTE V?GIVE + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FEED + .ENDT + +ST?DRESS:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DRESS + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DRESS + .ENDT + +ST?FIDDLE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FIDDLE + .ENDT + +ST?LOWER:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOWER + .ENDT + +ST?TALK:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SIR + .BYTE 0 + .BYTE V?TELL + .ENDT + +ST?USE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE V?USE + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?USE + .ENDT + +ST?HIDE:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?BEHIND + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HIDE + .BYTE 1 ;OBJECTS + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HIDE + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HIDE + .ENDT + +ST?SHAKE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SHAKE-WITH + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SHAKE + .ENDT + +ST?ATTACK:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE SC+SHAVE + .BYTE V?KILL + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?KILL + .ENDT + +ST?RESTOR:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RESTORE + .ENDT + +ST?ENTER:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?IN + .ENDT + +ST?THANKS:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?THANK + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?THANK + .ENDT + +ST?SEARCH:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SEARCH + .BYTE 1 ;OBJECTS + .BYTE PR?FOR + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FIND + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SEARCH + .BYTE 1 ;OBJECTS + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-UNDER + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SEARCH + .ENDT + +ST?WEAR:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE WEARBIT + .BYTE 0 + .BYTE STAKE + .BYTE 0 + .BYTE V?WEAR + .ENDT + +ST?PAY:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE SMANY+SH+SHAVE + .BYTE SOG + .BYTE V?GIVE + .ENDT + +ST?DISEMBARK:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?DISEMBARK + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DISEMBARK + .ENDT + +ST?SWIM:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SWIM + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SWIM + .ENDT + +ST?UNTIE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?UNTIE + .ENDT + +ST?WASH:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?OFF + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CLEAN + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CLEAN + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CLEAN + .ENDT + +ST?CIRCLE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-AROUND + .ENDT + +ST?UNSCRIPT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?UNSCRIPT + .ENDT + +ST?MUZZLE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE V?MUZZLE + .ENDT + +ST?PUSH:: .TABLE + .BYTE 11 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RAISE + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SIR+SOG + .BYTE 0 + .BYTE V?PUSH + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOWER + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE V?RAISE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUT-UNDER + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH-DIR + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE V?LOWER + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH + .ENDT + +ST?SUPER:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SUPER-BRIEF + .ENDT + +ST?SIT:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-ON + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?SIT + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-ON + .ENDT + +ST?RESTAR:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RESTART + .ENDT + +ST?APPLAUD:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?APPLAUD + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?APPLAUD + .ENDT + +ST?UNDRES:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?UNDRESS + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?UNDRESS + .ENDT + +ST?REACH:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?REACH-IN + .ENDT + +ST?DIG:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DIG + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DIG + .ENDT + +ST?SOAK:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?SOAK + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?SOAK + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SOAK + .ENDT + +ST?SCORE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SCORE + .ENDT + +ST?CRY:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CRY + .ENDT + +ST?LAUGH:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LAUGH + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LAUGH + .ENDT + +ST?COVER:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE V?SPUT-ON + .ENDT + +ST?CURTSEY:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CURTSEY + .ENDT + +ST?COME:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FOLLOW + .ENDT + +ST?DANCE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?WITH + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DANCE + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?DANCE + .ENDT + +ST?LOOK:: .TABLE + .BYTE 15 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CHASTISE + .BYTE 1 ;OBJECTS + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EXAMINE + .BYTE 1 ;OBJECTS + .BYTE PR?FOR + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FIND + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EXAMINE + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EXAMINE + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?LOOK-INSIDE + .BYTE 1 ;OBJECTS + .BYTE PR?BEHIND + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-BEHIND + .BYTE 1 ;OBJECTS + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-UNDER + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-INSIDE + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-INSIDE + .BYTE 1 ;OBJECTS + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?EXAMINE + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-UP + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK-DOWN + .BYTE 1 ;OBJECTS + .BYTE PR?AROUND + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOOK + .ENDT + +ST?EMPTY:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE SMANY + .BYTE 0 + .BYTE V?EMPTY-FROM + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EMPTY + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EMPTY + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EMPTY + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EMPTY + .ENDT + +ST?RIP:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RIP + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RIP + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RIP + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?RIP + .ENDT + +ST?DROP:: .TABLE + .BYTE 6 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?PUT-THROUGH + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT-ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?PUT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?PUT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY+SHAVE + .BYTE 0 + .BYTE V?DROP + .ENDT + +ST?ROLL:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ROLL + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUSH + .ENDT + +ST?LEAVE:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT-ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH+SMANY + .BYTE 0 + .BYTE V?PUT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAVE + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAVE + .ENDT + +ST?HAND:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE SMANY+SHAVE + .BYTE V?SGIVE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE SOG + .BYTE SMANY+SHAVE + .BYTE V?SGIVE + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE ACTORBIT + .BYTE SMANY+SH+SHAVE + .BYTE SOG + .BYTE V?GIVE + .ENDT + +ST?WRING:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WRING + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WRING + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WRING + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WRING + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?WRING + .ENDT + +ST?SCRIPT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SCRIPT + .ENDT + +ST?$VERIFY:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?$VERIFY + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?$VERIFY + .ENDT + +ST?EXTINGUISH:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ONBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?OFF + .ENDT + +ST?SWING:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AT + .BYTE 0 + .BYTE ACTORBIT + .BYTE SH+SC+SHAVE + .BYTE 0 + .BYTE V?SWING + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SHAVE + .BYTE 0 + .BYTE V?SWING + .BYTE 1 ;OBJECTS + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE STAKE + .BYTE 0 + .BYTE V?SWING + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE STAKE + .BYTE 0 + .BYTE V?SWING + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE STAKE + .BYTE 0 + .BYTE V?SWING + .ENDT + +ST?DESCEN:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-DOWN + .ENDT + +ST?MANACLE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?PUT-ON + .ENDT + +ST?SMELL:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SMELL + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SMELL + .ENDT + +ST?BRIEF:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BRIEF + .ENDT + +ST?SLEEP:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SIR+SOG + .BYTE 0 + .BYTE V?BOARD + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SIR+SOG + .BYTE 0 + .BYTE V?BOARD + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SLEEP + .ENDT + +ST?WAKE:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ALARM + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ALARM + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ALARM + .ENDT + +ST?DRINK:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SHAVE + .BYTE V?DRINK-FROM + .BYTE 1 ;OBJECTS + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC + .BYTE 0 + .BYTE V?DRINK-FROM + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?DRINK + .ENDT + +ST?REMOVE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE TAKEBIT + .BYTE 0 + .BYTE SIR+SC+SMANY + .BYTE 0 + .BYTE V?TAKE + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE WORNBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?REMOVE + .ENDT + +ST?WHAT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WHAT + .ENDT + +ST?YELL:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?YELL + .BYTE 1 ;OBJECTS + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?YELL + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?YELL + .ENDT + +ST?LOCK:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?LOCK + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LOCK + .ENDT + +ST?BURN:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE BURNBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BURN + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE BURNBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BURN + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE BURNBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BURN + .ENDT + +ST?KICK:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?KICK + .ENDT + +ST?BITE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?BITE + .ENDT + +ST?POINT:: .TABLE + .BYTE 7 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?POINT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?OUT + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?POINT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE STAKE + .BYTE V?SPOINT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?POINT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE 0 + .BYTE V?POINT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?POINT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FROM + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SPOINT + .ENDT + +ST?TURN:: .TABLE + .BYTE 5 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?OFF + .BYTE 0 + .BYTE LIGHTBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?OFF + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE LIGHTBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ON + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SET + .BYTE 1 ;OBJECTS + .BYTE PR?AROUND + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SET + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SET + .ENDT + +ST?#RECORD:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?$RECORD + .ENDT + +ST?MAKE:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?LOVE + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?MAKE-LOVE + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?MAKE-OUT + .ENDT + +ST?CLOSE:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ON + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE V?CLOSE + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?SHUT-UP + .BYTE 1 ;OBJECTS + .BYTE PR?OFF + .BYTE 0 + .BYTE LIGHTBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR+STAKE + .BYTE 0 + .BYTE V?OFF + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE DOORBIT + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?CLOSE + .ENDT + +ST?FIX:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SHAVE + .BYTE 0 + .BYTE V?FIX + .ENDT + +ST?GO:: .TABLE + .BYTE 12 ;NUMBER OF SYNTAXES + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAP-OVERBOARD + .BYTE 1 ;OBJECTS + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?FOLLOW + .BYTE 1 ;OBJECTS + .BYTE PR?AWAY + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LEAVE + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-TO + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-DOWN + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB + .BYTE 1 ;OBJECTS + .BYTE PR?BEHIND + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HIDE + .BYTE 1 ;OBJECTS + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CRAWL-UNDER + .BYTE 1 ;OBJECTS + .BYTE PR?AROUND + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK-AROUND + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WALK + .ENDT + +ST?REFLECT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH + .BYTE V?REFLECT + .ENDT + +ST?SLIDE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-DOWN + .ENDT + +ST?WAVE:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?AT + .BYTE 0 + .BYTE 0 + .BYTE SHAVE + .BYTE 0 + .BYTE V?POINT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SHAVE + .BYTE 0 + .BYTE V?POINT + .BYTE 1 ;OBJECTS + .BYTE PR?AT + .BYTE 0 + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?WAVE-AT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SHAVE + .BYTE 0 + .BYTE V?WAVE + .ENDT + +ST?EXIT:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EXIT + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EXIT + .ENDT + +ST?EXAMINE:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?EXAMINE + .ENDT + +ST?ROW:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ROW-TO + .BYTE 1 ;OBJECTS + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ROW-TO + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ROW-DIR + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ROW + .ENDT + +ST?EAT:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SOG+SIR + .BYTE 0 + .BYTE V?EAT + .ENDT + +ST?FILL:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?IN + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SHAVE + .BYTE 0 + .BYTE V?SFILL + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE CONTBIT + .BYTE 0 + .BYTE SH+SC+SHAVE + .BYTE 0 + .BYTE V?FILL + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE CONTBIT + .BYTE 0 + .BYTE SH+SC+SHAVE + .BYTE 0 + .BYTE V?FILL + .ENDT + +ST?LEAN:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?AGAINST + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?EMBRACE + .ENDT + +ST?CLIMB:: .TABLE + .BYTE 10 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?UNDER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CRAWL-UNDER + .BYTE 1 ;OBJECTS + .BYTE PR?THROUGH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ENTER + .BYTE 1 ;OBJECTS + .BYTE PR?IN + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?BOARD + .BYTE 1 ;OBJECTS + .BYTE PR?OVER + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-OVER + .BYTE 1 ;OBJECTS + .BYTE PR?OFF + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?DISEMBARK + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?DISEMBARK + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-DOWN + .BYTE 1 ;OBJECTS + .BYTE PR?UP + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB + .BYTE 1 ;OBJECTS + .BYTE PR?ON + .BYTE 0 + .BYTE VEHBIT + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB-ON + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?CLIMB + .ENDT + +ST?LAUNCH:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?LAUNCH + .ENDT + +ST?RETURN:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SHAVE + .BYTE SOG + .BYTE V?RETURN + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+SHAVE + .BYTE 0 + .BYTE V?RETURN + .ENDT + +ST?DEMOLI:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?DOWN + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?KILL + .BYTE 1 ;OBJECTS + .BYTE PR?OUT + .BYTE 0 + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?MUNG + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SH+SC+STAKE + .BYTE V?MUNG + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SOG+SIR + .BYTE 0 + .BYTE V?MUNG + .ENDT + +ST?UNROLL:: .TABLE + .BYTE 1 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?UNROLL + .ENDT + +ST?SLICE:: .TABLE + .BYTE 3 ;NUMBER OF SYNTAXES + .BYTE 2 ;OBJECTS + .BYTE PR?THROUGH + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SC+SH + .BYTE V?CUT + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?WITH + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE SC+SH + .BYTE V?CUT + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?CUT + .ENDT + +ST?ASK:: .TABLE + .BYTE 4 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE PR?FOR + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ASK-NO-ONE-FOR + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?FOR + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ASK-FOR + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?TO + .BYTE ACTORBIT + .BYTE RLANDBIT + .BYTE 0 + .BYTE 0 + .BYTE V?ASK-FOR + .BYTE 2 ;OBJECTS + .BYTE 0 + .BYTE PR?ABOUT + .BYTE ACTORBIT + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?ASK-ABOUT + .ENDT + +ST?HELLO:: .TABLE + .BYTE 2 ;NUMBER OF SYNTAXES + .BYTE 1 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HELLO + .BYTE 0 ;OBJECTS + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE 0 + .BYTE V?HELLO + .ENDT + + +; THE ACTION CALLING TABLE IS DEFINED HERE + +ATBL:: .TABLE + V-VERBOSE + V-BRIEF + V-SUPER-BRIEF + V-INVENTORY + V-I-LOVE-YOU + V-QUIT + V-RESTART + V-RESTORE + V-SAVE + V-SCRIPT + V-UNSCRIPT + V-VERSION + V-$RANDOM + V-$COMMAND + V-$RECORD + V-$UNRECORD + V-$VERIFY + V-APPLAUD + V-WALK-TO + V-ASK-ABOUT + V-ASK-FOR + V-ASK-NO-ONE-FOR + V-KILL + V-BITE + V-BLOW + V-OFF + V-BOARD + V-BRIBE + V-BURN + V-WALK-AROUND + V-CLIMB + V-CLIMB-ON + V-CLIMB-DOWN + V-DISEMBARK + V-CLIMB-OVER + V-ENTER + V-CRAWL-UNDER + V-CLOSE + V-SHUT-UP + V-FOLLOW + V-SPUT-ON + V-CRY + V-DANCE + V-MUNG + WASTES + V-DRESS + V-DRINK + V-DRINK-FROM + V-DROP + V-PUT + V-PUT-ON + V-PUT-THROUGH + V-EAT + V-EMPTY + V-EMPTY-FROM + V-IN + V-EXAMINE + V-EXIT + V-FEED + V-GIVE + V-SGIVE + V-FIDDLE + V-FILL + V-SFILL + V-FIND + V-FIX + V-WALK + V-HIDE + V-LEAVE + V-LEAP-OVERBOARD + V-HALT + V-LISTEN + V-HELLO + V-HELP + V-SAVE-SOMETHING + V-EMBRACE + V-LEAP + V-LEAP-OFF + V-KICK + V-KISS + V-CURTSEY + V-KNOCK + V-ROLL + V-LAUGH + V-LAUNCH + V-LIE-DOWN + V-ON + WASTES + V-LOOK + V-LOOK-DOWN + V-LOOK-UP + V-LOOK-INSIDE + V-LOOK-UNDER + V-LOOK-BEHIND + V-CHASTISE + V-RAISE + V-MAKE-OUT + V-MAKE-OUT + V-MARRY + V-MOVE + V-PUSH-DIR + V-RAISE + V-MUZZLE + V-NO + V-OPEN + V-PICK + V-TAKE + V-TOUCH + V-SPOINT + V-POINT + V-WRING + WASTES + V-EMPTY-FROM + V-PUSH + WASTES + V-RAPE + V-REACH-IN + V-READ + V-REFLECT + V-REMOVE + V-RETURN + V-RIP + V-ROW + V-ROW-DIR + V-ROW-TO + V-SCORE + V-SEARCH + V-SHAKE + V-SHAKE-WITH + V-SHOOT + V-SSHOOT + V-SHOW + V-SSHOW + V-SIGH + IMPOSSIBLES + V-SIT + V-SLEEP + V-CUT + V-SMELL + V-SOAK + V-STAND + WASTES + V-WEAR + WASTES + V-SWIM + V-SWING + V-SWOON + V-TAKE-WITH + V-TAKE-OFF + V-GET-DRESSED + V-GET-UNDRESSED + V-GET-DRUNK + V-TELL + V-TELL-ABOUT + V-STELL + V-THANK + V-THROW + V-THROW-OVERBOARD + V-THROW-AT + V-THROW-TO + V-STHROW + V-THROW-OVER + WASTES + V-TIE-WITH + V-STOUCH + V-SET + V-UNDRESS + V-UNLOCK + IMPOSSIBLES + IMPOSSIBLES + MORE-SPECIFIC + V-WAIT + V-ALARM + V-CLEAN + V-WAVE + V-WAVE-AT + V-WHAT + V-WHERE + WASTES + V-SWRAP + V-YELL + V-YES + V-ANSWER-KLUDGE + .ENDT + +; THE PREACTION CALLING TABLE IS DEFINED HERE + +PATBL:: .TABLE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-TOUCH + PRE-BOARD + 0 + PRE-TOUCH + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-TOUCH + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + IDROP + PRE-PUT + PRE-PUT + IDROP + 0 + PRE-TOUCH + 0 + 0 + 0 + 0 + 0 + PRE-GIVE + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-TOUCH + 0 + 0 + PRE-TOUCH + 0 + 0 + 0 + PRE-TOUCH + PRE-LOCK + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-TOUCH + 0 + 0 + 0 + PRE-TOUCH + 0 + PRE-TOUCH + 0 + 0 + PRE-TOUCH + PRE-LOCK + PRE-TAKE + PRE-TOUCH + 0 + 0 + PRE-POUR + PRE-POUR + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-DOFF + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-SSHOOT + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-WEAR + 0 + 0 + 0 + 0 + 0 + PRE-DOFF + 0 + PRE-DOFF + 0 + 0 + 0 + 0 + 0 + IDROP + IDROP + IDROP + IDROP + 0 + IDROP + 0 + 0 + PRE-TOUCH + 0 + PRE-DOFF + PRE-LOCK + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + PRE-PUT + 0 + 0 + 0 + 0 + .ENDT + + +; PREPOSITION TABLE IS DEFINED HERE + +PRTBL:: .TABLE + .WORD 26 + W?DRUNK + PR?DRUNK + W?UNDRES + PR?UNDRES + W?DRESSE + PR?DRESSE + W?GO + PR?GO + W?AGAINST + PR?AGAINST + W?ACROSS + PR?ACROSS + W?OVERBOARD + PR?OVERBOARD + W?AWAY + PR?AWAY + W?BEHIND + PR?BEHIND + W?AROUND + PR?AROUND + W?FROM + PR?FROM + W?UNDER + PR?UNDER + W?THROUGH + PR?THROUGH + W?OVER + PR?OVER + W?OFF + PR?OFF + W?DOWN + PR?DOWN + W?IN + PR?IN + W?UP + PR?UP + W?OUT + PR?OUT + W?ON + PR?ON + W?AT + PR?AT + W?WITH + PR?WITH + W?FOR + PR?FOR + W?TO + PR?TO + W?ABOUT + PR?ABOUT + W?LOVE + PR?LOVE + .ENDT + + +; VOCABULARY TABLE IS HERE + +VOCAB:: .TABLE + .BYTE 3 + .BYTE 46 + .BYTE 44 + .BYTE 34 + .BYTE 7 + 816 +W?$VERIFY:: .ZWORD "$verif" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?$VERIFY + .BYTE 0 +W?PERIOD:: .ZWORD "." + .BYTE PS?BUZZ-WORD + .BYTE B?PERIOD + .BYTE 0 +W?COMMA:: .ZWORD "," + .BYTE PS?BUZZ-WORD + .BYTE B?COMMA + .BYTE 0 +W?#COMMAND:: .ZWORD "#comma" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?#COMMAND + .BYTE 0 +W?#RANDOM:: .ZWORD "#rando" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?#RANDOM + .BYTE 0 +W?#RECORD:: .ZWORD "#recor" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?#RECORD + .BYTE 0 +W?#UNRECORD:: .ZWORD "#unrec" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?#UNRECORD + .BYTE 0 +W?QUOTE:: .ZWORD """" + .BYTE PS?BUZZ-WORD + .BYTE B?QUOTE + .BYTE 0 +W?A:: .ZWORD "a" + .BYTE PS?BUZZ-WORD + .BYTE B?A + .BYTE 0 +W?AAIEEE:: .ZWORD "aaieee" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YELL + .BYTE 0 +W?ABOUT:: .ZWORD "about" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?ABOUT + .BYTE 0 +W?ACROSS:: .ZWORD "across" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?ACROSS + .BYTE 0 +W?AFT:: .ZWORD "aft" + .BYTE PS?DIRECTION+P1?DIRECTION + .BYTE 24 + .BYTE 0 +W?AGAIN:: .ZWORD "again" + .BYTE PS?BUZZ-WORD + .BYTE B?AGAIN + .BYTE 0 +W?AGAINST:: .ZWORD "agains" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?AGAINST + .BYTE 0 +W?AIM:: .ZWORD "aim" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?POINT + .BYTE 0 +W?AIR:: .ZWORD "air" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?AIR + .BYTE 0 +W?ALL:: .ZWORD "all" + .BYTE PS?BUZZ-WORD + .BYTE B?ALL + .BYTE 0 +W?ALONG:: .ZWORD "along" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?AROUND + .BYTE 0 +W?AM:: .ZWORD "am" + .BYTE PS?BUZZ-WORD + .BYTE B?AM + .BYTE 0 +W?AMMONIA:: .ZWORD "ammoni" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?AMMONIA + .BYTE 0 +W?AMMUNI:: .ZWORD "ammuni" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?AN:: .ZWORD "an" + .BYTE PS?BUZZ-WORD + .BYTE B?AN + .BYTE 0 +W?ANCHOR:: .ZWORD "anchor" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ANCHOR + .BYTE 0 +W?AND:: .ZWORD "and" + .BYTE PS?BUZZ-WORD + .BYTE B?AND + .BYTE 0 +W?ANDREW:: .ZWORD "andrew" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ANDREW + .BYTE 0 +W?ANDY:: .ZWORD "andy" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ANDY + .BYTE 0 +W?APPLAUD:: .ZWORD "applau" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?APPLAUD + .BYTE 0 +W?APPROA:: .ZWORD "approa" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?APPROA + .BYTE 0 +W?ARE:: .ZWORD "are" + .BYTE PS?BUZZ-WORD + .BYTE B?ARE + .BYTE 0 +W?AREA:: .ZWORD "area" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?AROUND:: .ZWORD "around" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?AROUND + .BYTE 0 +W?ASK:: .ZWORD "ask" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ASK + .BYTE 0 +W?AT:: .ZWORD "at" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?AT + .BYTE 0 +W?ATTACH:: .ZWORD "attach" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TIE + .BYTE 0 +W?ATTACK:: .ZWORD "attack" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?AWAKE:: .ZWORD "awake" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAKE + .BYTE 0 +W?AWAY:: .ZWORD "away" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?AWAY + .BYTE 0 +W?BACK:: .ZWORD "back" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BACK + .BYTE 0 +W?BALL:: .ZWORD "ball" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BALL + .BYTE 0 +W?BALLRO:: .ZWORD "ballro" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BAMBOO:: .ZWORD "bamboo" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BAMBOO + .BYTE 0 +W?BANKNOTE:: .ZWORD "bankno" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BARE:: .ZWORD "bare" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BARE + .BYTE 0 +W?BARREL:: .ZWORD "barrel" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BASH:: .ZWORD "bash" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?BEACH:: .ZWORD "beach" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BEAM:: .ZWORD "beam" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BED:: .ZWORD "bed" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BEHIND:: .ZWORD "behind" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?BEHIND + .BYTE 0 +W?BELOW:: .ZWORD "below" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?UNDER + .BYTE 0 +W?BENCH:: .ZWORD "bench" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BENEATH:: .ZWORD "beneat" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?UNDER + .BYTE 0 +W?BEWIGGED:: .ZWORD "bewigg" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BEWIGGED + .BYTE 0 +W?BIND:: .ZWORD "bind" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?MANACLE + .BYTE 0 +W?BIT:: .ZWORD "bit" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BIT + .BYTE 0 +W?BITE:: .ZWORD "bite" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BITE + .BYTE 0 +W?BLACK:: .ZWORD "black" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BLACK + .BYTE 0 +W?BLOND:: .ZWORD "blond" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BLOND + .BYTE 0 +W?BLOW:: .ZWORD "blow" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BLOW + .BYTE 0 +W?BLUE:: .ZWORD "blue" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BLUE + .BYTE 0 +W?BOARD:: .ZWORD "board" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BOARD + .BYTE 0 +W?BOAT:: .ZWORD "boat" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BOOK:: .ZWORD "book" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BOOK + .BYTE 0 +W?BOOKCASE:: .ZWORD "bookca" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BOOKS:: .ZWORD "books" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BOOKSHELF:: .ZWORD "booksh" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BOOST:: .ZWORD "boost" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RAISE + .BYTE 0 +W?BOTH:: .ZWORD "both" + .BYTE PS?BUZZ-WORD + .BYTE B?ALL + .BYTE 0 +W?BOTTLE:: .ZWORD "bottle" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BOUNCE:: .ZWORD "bounce" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SHAKE + .BYTE 0 +W?BOW:: .ZWORD "bow" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CURTSEY + .BYTE 0 +W?BOX:: .ZWORD "box" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BREAK:: .ZWORD "break" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?BREECHES:: .ZWORD "breech" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BREEKS:: .ZWORD "breeks" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BREEKS + .BYTE 0 +W?BRIBE:: .ZWORD "bribe" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BRIBE + .BYTE 0 +W?BRIEF:: .ZWORD "brief" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BRIEF + .BYTE 0 +W?BRITCHES:: .ZWORD "britch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BROOCH:: .ZWORD "brooch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BROWN:: .ZWORD "brown" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BROWN + .BYTE 0 +W?BROWSE:: .ZWORD "browse" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?READ + .BYTE 0 +W?BURN:: .ZWORD "burn" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BURN + .BYTE 0 +W?BURNING:: .ZWORD "burnin" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?BURNING + .BYTE 0 +W?BUSHES:: .ZWORD "bushes" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?BUT:: .ZWORD "but" + .BYTE PS?BUZZ-WORD + .BYTE B?BUT + .BYTE 0 +W?BUTLER:: .ZWORD "butler" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CABIN:: .ZWORD "cabin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CAGE:: .ZWORD "cage" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CANDLE:: .ZWORD "candle" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CANNON:: .ZWORD "cannon" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CANVAS:: .ZWORD "canvas" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CANVAS + .BYTE 0 +W?CAPTAIN:: .ZWORD "captai" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CAPTAIN + .BYTE 0 +W?CARBONATE:: .ZWORD "carbon" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CARD:: .ZWORD "card" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CARRY:: .ZWORD "carry" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TAKE + .BYTE 0 +W?CASE:: .ZWORD "case" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CASE + .BYTE 0 +W?CASK:: .ZWORD "cask" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CASKS:: .ZWORD "casks" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CEILIN:: .ZWORD "ceilin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CELL:: .ZWORD "cell" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CELL + .BYTE 0 +W?CHAIN:: .ZWORD "chain" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHAINS:: .ZWORD "chains" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHAIR:: .ZWORD "chair" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHANDELIER:: .ZWORD "chande" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHASE:: .ZWORD "chase" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FOLLOW + .BYTE 0 +W?CHEMISE:: .ZWORD "chemis" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHEST:: .ZWORD "chest" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHICKEN:: .ZWORD "chicke" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CHIPPED:: .ZWORD "chippe" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CHIPPED + .BYTE 0 +W?CIRCLE:: .ZWORD "circle" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CIRCLE + .BYTE 0 +W?CLAP:: .ZWORD "clap" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?APPLAUD + .BYTE 0 +W?CLASP:: .ZWORD "clasp" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CLEAN:: .ZWORD "clean" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WASH + .BYTE 0 +W?CLIFF:: .ZWORD "cliff" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CLIMB:: .ZWORD "climb" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CLIMB + .BYTE 0 +W?CLOSE:: .ZWORD "close" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CLOSE + .BYTE 0 +W?CLOTH:: .ZWORD "cloth" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CLOTHES:: .ZWORD "clothe" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?COFFER:: .ZWORD "coffer" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?COLD:: .ZWORD "cold" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?COLD + .BYTE 0 +W?COME:: .ZWORD "come" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?COME + .BYTE 0 +W?COOK:: .ZWORD "cook" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?COOKIE:: .ZWORD "cookie" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?COT:: .ZWORD "cot" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?COTTON:: .ZWORD "cotton" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?COTTON + .BYTE 0 +W?COUCH:: .ZWORD "couch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?COVER:: .ZWORD "cover" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?COVER + .BYTE 0 +W?COVERED:: .ZWORD "covere" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?COVERED + .BYTE 0 +W?CRACK:: .ZWORD "crack" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CRAWL:: .ZWORD "crawl" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CLIMB + .BYTE 0 +W?CROC:: .ZWORD "croc" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CROC'S:: .ZWORD "croc's" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CROC'S + .BYTE 0 +W?CROCOD:: .ZWORD "crocod" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?CROCOD + .BYTE 0 +W?CRULLEY:: .ZWORD "crulle" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CRUSH:: .ZWORD "crush" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?CRY:: .ZWORD "cry" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CRY + .BYTE 0 +W?CUP:: .ZWORD "cup" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CUPBOARD:: .ZWORD "cupboa" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CURTAIN:: .ZWORD "curtai" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?CURTSEY:: .ZWORD "curtse" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CURTSEY + .BYTE 0 +W?CURTSY:: .ZWORD "curtsy" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CURTSEY + .BYTE 0 +W?CUT:: .ZWORD "cut" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SLICE + .BYTE 0 +W?D:: .ZWORD "d" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?DOWN + .BYTE 21 +W?DAD:: .ZWORD "dad" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DAGGER:: .ZWORD "dagger" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DAMAGE:: .ZWORD "damage" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?DANCE:: .ZWORD "dance" + .BYTE PS?OBJECT+PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DANCE + .BYTE ACT?DANCE +W?DANCER:: .ZWORD "dancer" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DANCER + .BYTE 0 +W?DARK:: .ZWORD "dark" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DARK + .BYTE 0 +W?DAVIS:: .ZWORD "davis" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DEACTIVATE:: .ZWORD "deacti" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXTINGUISH + .BYTE 0 +W?DEBARK:: .ZWORD "debark" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DISEMBARK + .BYTE 0 +W?DEBRIS:: .ZWORD "debris" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DECK:: .ZWORD "deck" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DEMOLI:: .ZWORD "demoli" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?DEPART:: .ZWORD "depart" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXIT + .BYTE 0 +W?DESCEN:: .ZWORD "descen" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DESCEN + .BYTE 0 +W?DESCRIBE:: .ZWORD "descri" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXAMINE + .BYTE 0 +W?DESK:: .ZWORD "desk" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DESTRO:: .ZWORD "destro" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?DEVOUR:: .ZWORD "devour" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EAT + .BYTE 0 +W?DIAMOND:: .ZWORD "diamon" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DIAMOND + .BYTE 0 +W?DIG:: .ZWORD "dig" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DIG + .BYTE 0 +W?DIMSFORD:: .ZWORD "dimsfo" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DIP:: .ZWORD "dip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?DIRECT:: .ZWORD "direct" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DISEMBARK:: .ZWORD "disemb" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DISEMBARK + .BYTE 0 +W?DISROBE:: .ZWORD "disrob" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNDRES + .BYTE 0 +W?DIVAN:: .ZWORD "divan" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DIVE:: .ZWORD "dive" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?JUMP + .BYTE 0 +W?DON:: .ZWORD "don" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WEAR + .BYTE 0 +W?DOOR:: .ZWORD "door" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DOORS:: .ZWORD "doors" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DOUSE:: .ZWORD "douse" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXTINGUISH + .BYTE 0 +W?DOWN:: .ZWORD "down" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?DOWN + .BYTE 21 +W?DOWNSTAIRS:: .ZWORD "downst" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?DOWN + .BYTE 21 +W?DOZE:: .ZWORD "doze" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SLEEP + .BYTE 0 +W?DRAGOO:: .ZWORD "dragoo" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DRAGOO + .BYTE 0 +W?DRAPES:: .ZWORD "drapes" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DRESS:: .ZWORD "dress" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?DRESS + .BYTE 0 +W?DRESSE:: .ZWORD "dresse" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?DRESSE + .BYTE 0 +W?DRINK:: .ZWORD "drink" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DRINK + .BYTE 0 +W?DROP:: .ZWORD "drop" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DROP + .BYTE 0 +W?DROPS:: .ZWORD "drops" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DRUG:: .ZWORD "drug" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?DRUNK:: .ZWORD "drunk" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?DRUNK + .BYTE 0 +W?DRY:: .ZWORD "dry" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WRING + .BYTE 0 +W?DUCK:: .ZWORD "duck" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?GO + .BYTE 0 +W?DUELLI:: .ZWORD "duelli" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DUELLI + .BYTE 0 +W?DUMP:: .ZWORD "dump" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DROP + .BYTE 0 +W?DUNGEON:: .ZWORD "dungeo" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?E:: .ZWORD "e" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 26 + .BYTE A?EAST +W?EAST:: .ZWORD "east" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 26 + .BYTE A?EAST +W?EAT:: .ZWORD "eat" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EAT + .BYTE 0 +W?EMBRACE:: .ZWORD "embrac" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HUG + .BYTE 0 +W?EMPTY:: .ZWORD "empty" + .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?EMPTY + .BYTE ACT?EMPTY +W?ENTER:: .ZWORD "enter" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ENTER + .BYTE 0 +W?ERNEST:: .ZWORD "ernest" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ERNEST + .BYTE 0 +W?EVERYT:: .ZWORD "everyt" + .BYTE PS?BUZZ-WORD + .BYTE B?ALL + .BYTE 0 +W?EXAMINE:: .ZWORD "examin" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXAMINE + .BYTE 0 +W?EXCEPT:: .ZWORD "except" + .BYTE PS?BUZZ-WORD + .BYTE B?EXCEPT + .BYTE 0 +W?EXIT:: .ZWORD "exit" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXIT + .BYTE 0 +W?EXTINGUISH:: .ZWORD "exting" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXTINGUISH + .BYTE 0 +W?EYE:: .ZWORD "eye" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?EYES:: .ZWORD "eyes" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?F:: .ZWORD "f" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 28 + .BYTE A?NORTH +W?FAINT:: .ZWORD "faint" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SWOON + .BYTE 0 +W?FALCON:: .ZWORD "falcon" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?FALCON + .BYTE 0 +W?FASTEN:: .ZWORD "fasten" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TIE + .BYTE 0 +W?FATHER:: .ZWORD "father" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FEED:: .ZWORD "feed" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FEED + .BYTE 0 +W?FEEL:: .ZWORD "feel" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TOUCH + .BYTE 0 +W?FENCE:: .ZWORD "fence" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FETTER:: .ZWORD "fetter" + .BYTE PS?OBJECT+PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?FETTER + .BYTE ACT?MANACLE +W?FIDDLE:: .ZWORD "fiddle" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIDDLE + .BYTE 0 +W?FIFTY:: .ZWORD "fifty" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?FIFTY + .BYTE 0 +W?FIGHT:: .ZWORD "fight" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?FILL:: .ZWORD "fill" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FILL + .BYTE 0 +W?FIND:: .ZWORD "find" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIND + .BYTE 0 +W?FINGER:: .ZWORD "finger" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FIRE:: .ZWORD "fire" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?SHOOT + .BYTE 0 +W?FIREPIT:: .ZWORD "firepi" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FIX:: .ZWORD "fix" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIX + .BYTE 0 +W?FLAGON:: .ZWORD "flagon" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FLAME:: .ZWORD "flame" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FLESH:: .ZWORD "flesh" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?FLESH + .BYTE 0 +W?FLICK:: .ZWORD "flick" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?FLIP:: .ZWORD "flip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?FLOOR:: .ZWORD "floor" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FLOWER:: .ZWORD "flower" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FOLLOW:: .ZWORD "follow" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FOLLOW + .BYTE 0 +W?FOLLY:: .ZWORD "folly" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FOOD:: .ZWORD "food" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FOR:: .ZWORD "for" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?FOR + .BYTE 0 +W?FORE:: .ZWORD "fore" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 28 + .BYTE A?NORTH +W?FOREMA:: .ZWORD "forema" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FORWARD:: .ZWORD "forwar" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 28 + .BYTE A?NORTH +W?FOWL:: .ZWORD "fowl" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FRAME:: .ZWORD "frame" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FREE:: .ZWORD "free" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNTIE + .BYTE 0 +W?FRESH:: .ZWORD "fresh" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?FRESH + .BYTE 0 +W?FROCK:: .ZWORD "frock" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?FROM:: .ZWORD "from" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?FROM + .BYTE 0 +W?FRONT:: .ZWORD "front" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?FRONT + .BYTE 0 +W?FUSE:: .ZWORD "fuse" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?G:: .ZWORD "g" + .BYTE PS?BUZZ-WORD + .BYTE B?G + .BYTE 0 +W?GALLEY:: .ZWORD "galley" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GAP:: .ZWORD "gap" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GARTER:: .ZWORD "garter" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GASP:: .ZWORD "gasp" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CRY + .BYTE 0 +W?GATE:: .ZWORD "gate" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GATOR:: .ZWORD "gator" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?GATOR + .BYTE 0 +W?GAZEBO:: .ZWORD "gazebo" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GENTLEMAN:: .ZWORD "gentle" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?GENTLEMAN + .BYTE 0 +W?GET:: .ZWORD "get" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TAKE + .BYTE 0 +W?GIVE:: .ZWORD "give" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HAND + .BYTE 0 +W?GLASS:: .ZWORD "glass" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?GLASS + .BYTE 0 +W?GLOBE:: .ZWORD "globe" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GLOW:: .ZWORD "glow" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GO:: .ZWORD "go" + .BYTE PS?VERB+PS?PREPOSITION+P1?OBJECT + .BYTE PR?GO + .BYTE ACT?GO +W?GOBLET:: .ZWORD "goblet" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GOLD:: .ZWORD "gold" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?GOLD + .BYTE 0 +W?GOVERNOR:: .ZWORD "govern" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GOWN:: .ZWORD "gown" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GRAB:: .ZWORD "grab" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TAKE + .BYTE 0 +W?GRATE:: .ZWORD "grate" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GREEN:: .ZWORD "green" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?GREEN + .BYTE 0 +W?GREET:: .ZWORD "greet" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HELLO + .BYTE 0 +W?GRIP:: .ZWORD "grip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TOUCH + .BYTE 0 +W?GROG:: .ZWORD "grog" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GROUND:: .ZWORD "ground" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GUINEA:: .ZWORD "guinea" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?GUINEA + .BYTE 0 +W?GUN:: .ZWORD "gun" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?GUNPOW:: .ZWORD "gunpow" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HAND:: .ZWORD "hand" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?HAND + .BYTE 0 +W?HANDS:: .ZWORD "hands" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HANG:: .ZWORD "hang" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?HAT:: .ZWORD "hat" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HATCH:: .ZWORD "hatch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HAWSER:: .ZWORD "hawser" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HEAD:: .ZWORD "head" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HEAR:: .ZWORD "hear" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HEAR + .BYTE 0 +W?HEAVY:: .ZWORD "heavy" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?HEAVY + .BYTE 0 +W?HEDGE:: .ZWORD "hedge" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HELENA:: .ZWORD "helena" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?HELENA + .BYTE 0 +W?HELLO:: .ZWORD "hello" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HELLO + .BYTE 0 +W?HELP:: .ZWORD "help" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HELP + .BYTE 0 +W?HER:: .ZWORD "her" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HERE:: .ZWORD "here" + .BYTE PS?BUZZ-WORD + .BYTE B?HERE + .BYTE 0 +W?HERO:: .ZWORD "hero" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HERSELF:: .ZWORD "hersel" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HI:: .ZWORD "hi" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HELLO + .BYTE 0 +W?HIDE:: .ZWORD "hide" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HIDE + .BYTE 0 +W?HIM:: .ZWORD "him" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HIMSELF:: .ZWORD "himsel" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HINT:: .ZWORD "hint" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HELP + .BYTE 0 +W?HIS:: .ZWORD "his" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?HIS + .BYTE 0 +W?HIT:: .ZWORD "hit" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?HOBBLE:: .ZWORD "hobble" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?MANACLE + .BYTE 0 +W?HOLD:: .ZWORD "hold" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?TAKE + .BYTE 0 +W?HOLE:: .ZWORD "hole" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HOOK:: .ZWORD "hook" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HORN:: .ZWORD "horn" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HOUSE:: .ZWORD "house" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?HUG:: .ZWORD "hug" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HUG + .BYTE 0 +W?HUGE:: .ZWORD "huge" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?HUGE + .BYTE 0 +W?HUMAN:: .ZWORD "human" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?HUMAN + .BYTE 0 +W?HURL:: .ZWORD "hurl" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?THROW + .BYTE 0 +W?HUT:: .ZWORD "hut" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?I:: .ZWORD "i" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?INVENT + .BYTE 0 +W?IN:: .ZWORD "in" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?IN + .BYTE 20 +W?INSERT:: .ZWORD "insert" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?INSIDE:: .ZWORD "inside" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?IN + .BYTE 0 +W?INSPECT:: .ZWORD "inspec" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXAMINE + .BYTE 0 +W?INTO:: .ZWORD "into" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?IN + .BYTE 0 +W?INVENT:: .ZWORD "invent" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?INVENT + .BYTE 0 +W?INVITATION:: .ZWORD "invita" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?INVITE:: .ZWORD "invite" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?IRON:: .ZWORD "iron" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?IRON + .BYTE 0 +W?IS:: .ZWORD "is" + .BYTE PS?BUZZ-WORD + .BYTE B?IS + .BYTE 0 +W?ISLAND:: .ZWORD "island" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?IT:: .ZWORD "it" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?JAMISON:: .ZWORD "jamiso" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?JASMINE:: .ZWORD "jasmin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?JAWS:: .ZWORD "jaws" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?JAWS + .BYTE 0 +W?JEAN:: .ZWORD "jean" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?JEAN + .BYTE 0 +W?JEWELLED:: .ZWORD "jewell" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?JEWELLED + .BYTE 0 +W?JOGGLE:: .ZWORD "joggle" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIDDLE + .BYTE 0 +W?JUMP:: .ZWORD "jump" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?JUMP + .BYTE 0 +W?KEG:: .ZWORD "keg" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?KEGS:: .ZWORD "kegs" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?KEY:: .ZWORD "key" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?KICK:: .ZWORD "kick" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?KICK + .BYTE 0 +W?KID:: .ZWORD "kid" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?KID + .BYTE 0 +W?KILL:: .ZWORD "kill" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?KISS:: .ZWORD "kiss" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?KISS + .BYTE 0 +W?KNIFE:: .ZWORD "knife" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?KNOB:: .ZWORD "knob" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?KNOCK:: .ZWORD "knock" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?KNOCK + .BYTE 0 +W?L:: .ZWORD "l" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LOOK + .BYTE 0 +W?LABEL:: .ZWORD "label" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LACE:: .ZWORD "lace" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LACE + .BYTE 0 +W?LACE-COVERED:: .ZWORD "lace-c" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LACE-COVERED + .BYTE 0 +W?LADDER:: .ZWORD "ladder" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LADIES:: .ZWORD "ladies" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LADY:: .ZWORD "lady" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LAFOND:: .ZWORD "lafond" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LAFOND + .BYTE 0 +W?LAGOON:: .ZWORD "lagoon" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LARGE:: .ZWORD "large" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LARGE + .BYTE 0 +W?LATIN:: .ZWORD "latin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LAUD:: .ZWORD "laud" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LAUD + .BYTE 0 +W?LAUDANUM:: .ZWORD "laudan" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LAUGH:: .ZWORD "laugh" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LAUGH + .BYTE 0 +W?LAUNCH:: .ZWORD "launch" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LAUNCH + .BYTE 0 +W?LAY:: .ZWORD "lay" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?LEAN:: .ZWORD "lean" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LEAN + .BYTE 0 +W?LEAP:: .ZWORD "leap" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?JUMP + .BYTE 0 +W?LEATHER:: .ZWORD "leathe" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LEATHER + .BYTE 0 +W?LEAVE:: .ZWORD "leave" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LEAVE + .BYTE 0 +W?LEBS:: .ZWORD "lebs" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LEDGE:: .ZWORD "ledge" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LET:: .ZWORD "let" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LET + .BYTE 0 +W?LETTER:: .ZWORD "letter" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LEVER:: .ZWORD "lever" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LIBRARY:: .ZWORD "librar" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LIE:: .ZWORD "lie" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LIE + .BYTE 0 +W?LIFT:: .ZWORD "lift" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RAISE + .BYTE 0 +W?LIGHT:: .ZWORD "light" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?LIGHT + .BYTE 0 +W?LINE:: .ZWORD "line" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LINEN:: .ZWORD "linen" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LINEN + .BYTE 0 +W?LIP:: .ZWORD "lip" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LIPS:: .ZWORD "lips" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LIQUID:: .ZWORD "liquid" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LISTEN:: .ZWORD "listen" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LISTEN + .BYTE 0 +W?LOAD:: .ZWORD "load" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FILL + .BYTE 0 +W?LOCATE:: .ZWORD "locate" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIND + .BYTE 0 +W?LOCATI:: .ZWORD "locati" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LOCK:: .ZWORD "lock" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?LOCK + .BYTE 0 +W?LOCKS:: .ZWORD "locks" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LOCKS + .BYTE 0 +W?LONG:: .ZWORD "long" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LONG + .BYTE 0 +W?LOOK:: .ZWORD "look" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LOOK + .BYTE 0 +W?LOOSE:: .ZWORD "loose" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LOOSE + .BYTE 0 +W?LOOSEN:: .ZWORD "loosen" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNTIE + .BYTE 0 +W?LOUISE:: .ZWORD "louise" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?LOVE:: .ZWORD "love" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?LOVE + .BYTE 0 +W?LOVELY:: .ZWORD "lovely" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LOVELY + .BYTE 0 +W?LOW:: .ZWORD "low" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?LOW + .BYTE 0 +W?LOWER:: .ZWORD "lower" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LOWER + .BYTE 0 +W?LUCY:: .ZWORD "lucy" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MAINMA:: .ZWORD "mainma" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MAKE:: .ZWORD "make" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?MAKE + .BYTE 0 +W?MAN:: .ZWORD "man" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MANACLE:: .ZWORD "manacl" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?MANACLE + .BYTE 0 +W?MANSION:: .ZWORD "mansio" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MARRY:: .ZWORD "marry" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?MARRY + .BYTE 0 +W?MAST:: .ZWORD "mast" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?ME:: .ZWORD "me" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MEAT:: .ZWORD "meat" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MELT:: .ZWORD "melt" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BURN + .BYTE 0 +W?MEN:: .ZWORD "men" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MESH:: .ZWORD "mesh" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?MESH + .BYTE 0 +W?MESS:: .ZWORD "mess" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MESSY:: .ZWORD "messy" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?MESSY + .BYTE 0 +W?METAL:: .ZWORD "metal" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?METAL + .BYTE 0 +W?MIRROR:: .ZWORD "mirror" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MISSIVE:: .ZWORD "missiv" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MOAN:: .ZWORD "moan" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SIGH + .BYTE 0 +W?MONEY:: .ZWORD "money" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MOON:: .ZWORD "moon" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?MOON + .BYTE 0 +W?MOONBEAM:: .ZWORD "moonbe" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MOONLIGHT:: .ZWORD "moonli" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MOOR:: .ZWORD "moor" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TIE + .BYTE 0 +W?MOORING:: .ZWORD "moorin" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?MOORING + .BYTE 0 +W?MORE:: .ZWORD "more" + .BYTE PS?BUZZ-WORD + .BYTE B?MORE + .BYTE 0 +W?MOUNT:: .ZWORD "mount" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BOARD + .BYTE 0 +W?MOUTH:: .ZWORD "mouth" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MOVE:: .ZWORD "move" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?MOVE + .BYTE 0 +W?MURDER:: .ZWORD "murder" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?MUSICIANS:: .ZWORD "musici" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?MUZZLE:: .ZWORD "muzzle" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?MUZZLE + .BYTE 0 +W?MY:: .ZWORD "my" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?MY + .BYTE 0 +W?MYSELF:: .ZWORD "myself" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?N:: .ZWORD "n" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 28 + .BYTE A?NORTH +W?NAILS:: .ZWORD "nails" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?NAP:: .ZWORD "nap" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?SLEEP + .BYTE 0 +W?NAVIGA:: .ZWORD "naviga" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?NAVIGA + .BYTE 0 +W?NAY:: .ZWORD "nay" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?NO + .BYTE 0 +W?NE:: .ZWORD "ne" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 27 + .BYTE A?NE +W?NEVER:: .ZWORD "never" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?NO + .BYTE 0 +W?NEW:: .ZWORD "new" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?NEW + .BYTE 0 +W?NIBBLE:: .ZWORD "nibble" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EAT + .BYTE 0 +W?NICHOLAS:: .ZWORD "nichol" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?NICHOLAS + .BYTE 0 +W?NICK:: .ZWORD "nick" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?NICK + .BYTE 0 +W?NO:: .ZWORD "no" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?NO + .BYTE 0 +W?NOD:: .ZWORD "nod" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?NOPE:: .ZWORD "nope" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?NO + .BYTE 0 +W?NORTH:: .ZWORD "north" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 28 + .BYTE A?NORTH +W?NORTHE:: .ZWORD "northe" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 27 + .BYTE A?NE +W?NORTHWEST:: .ZWORD "northw" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 31 + .BYTE A?NW +W?NOTE:: .ZWORD "note" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?NUMBER:: .ZWORD "number" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?NW:: .ZWORD "nw" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 31 + .BYTE A?NW +W?OAR:: .ZWORD "oar" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?ROW + .BYTE 0 +W?OARLOCK:: .ZWORD "oarloc" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?OARS:: .ZWORD "oars" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?OBSERVE:: .ZWORD "observ" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXAMINE + .BYTE 0 +W?OCEAN:: .ZWORD "ocean" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?OF:: .ZWORD "of" + .BYTE PS?BUZZ-WORD + .BYTE B?OF + .BYTE 0 +W?OFF:: .ZWORD "off" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?OFF + .BYTE 0 +W?OFFER:: .ZWORD "offer" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HAND + .BYTE 0 +W?OK:: .ZWORD "ok" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?OKAY:: .ZWORD "okay" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?ON:: .ZWORD "on" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?ON + .BYTE 0 +W?ONE:: .ZWORD "one" + .BYTE PS?BUZZ-WORD + .BYTE B?ONE + .BYTE 0 +W?ONTO:: .ZWORD "onto" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?ON + .BYTE 0 +W?OOPS:: .ZWORD "oops" + .BYTE PS?BUZZ-WORD + .BYTE B?OOPS + .BYTE 0 +W?OPEN:: .ZWORD "open" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?OPEN + .BYTE 0 +W?OPENING:: .ZWORD "openin" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?OPENING + .BYTE 0 +W?ORCHESTRA:: .ZWORD "orches" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?ORNATE:: .ZWORD "ornate" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ORNATE + .BYTE 0 +W?OUT:: .ZWORD "out" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?OUT + .BYTE 19 +W?OUTSIDE:: .ZWORD "outsid" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?OUT + .BYTE 0 +W?OVER:: .ZWORD "over" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?OVER + .BYTE 0 +W?OVERBOARD:: .ZWORD "overbo" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?OVERBOARD + .BYTE 0 +W?P:: .ZWORD "p" + .BYTE PS?DIRECTION+P1?DIRECTION + .BYTE 23 + .BYTE 0 +W?PAINTING:: .ZWORD "painti" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PAIR:: .ZWORD "pair" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PAIR + .BYTE 0 +W?PANE:: .ZWORD "pane" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PANE + .BYTE 0 +W?PANES:: .ZWORD "panes" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PANES + .BYTE 0 +W?PANTS:: .ZWORD "pants" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PAPA:: .ZWORD "papa" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PAPER:: .ZWORD "paper" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PASS:: .ZWORD "pass" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?PASS + .BYTE 0 +W?PATROL:: .ZWORD "patrol" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PAY:: .ZWORD "pay" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?PAY + .BYTE 0 +W?PEPPER:: .ZWORD "pepper" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PETTICOAT:: .ZWORD "pettic" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PICK:: .ZWORD "pick" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?PICK + .BYTE 0 +W?PICTUR:: .ZWORD "pictur" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PIECE:: .ZWORD "piece" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PIECE + .BYTE 0 +W?PIECES:: .ZWORD "pieces" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PIECES + .BYTE 0 +W?PILE:: .ZWORD "pile" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PILE + .BYTE 0 +W?PIN:: .ZWORD "pin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PINCH:: .ZWORD "pinch" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PINCH + .BYTE 0 +W?PIRATE:: .ZWORD "pirate" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PIRATE + .BYTE 0 +W?PIROUETTE:: .ZWORD "piroue" + .BYTE PS?OBJECT+PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DANCE + .BYTE ACT?DANCE +W?PISTOL:: .ZWORD "pistol" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PIT:: .ZWORD "pit" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PLACE:: .ZWORD "place" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?PLANK:: .ZWORD "plank" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PLANK + .BYTE 0 +W?PLAY:: .ZWORD "play" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?PLAY + .BYTE 0 +W?PLEASE:: .ZWORD "please" + .BYTE PS?BUZZ-WORD + .BYTE B?PLEASE + .BYTE 0 +W?PLUMED:: .ZWORD "plumed" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PLUMED + .BYTE 0 +W?POINT:: .ZWORD "point" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?POINT + .BYTE 0 +W?POINTED:: .ZWORD "pointe" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?POINTED + .BYTE 0 +W?POOL:: .ZWORD "pool" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PORCH:: .ZWORD "porch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PORK:: .ZWORD "pork" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PORT:: .ZWORD "port" + .BYTE PS?DIRECTION+P1?DIRECTION + .BYTE 23 + .BYTE 0 +W?PORTHOLE:: .ZWORD "portho" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PORTRAIT:: .ZWORD "portra" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?POTIONS:: .ZWORD "potion" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?POUND:: .ZWORD "pound" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?KNOCK + .BYTE 0 +W?POUR:: .ZWORD "pour" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?POUR + .BYTE 0 +W?POWDER:: .ZWORD "powder" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?POWDER + .BYTE 0 +W?POWER:: .ZWORD "power" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PRESENT:: .ZWORD "presen" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HAND + .BYTE 0 +W?PRESS:: .ZWORD "press" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?PUSH + .BYTE 0 +W?PROCEE:: .ZWORD "procee" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WALK + .BYTE 0 +W?PROTAG:: .ZWORD "protag" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PULL:: .ZWORD "pull" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?MOVE + .BYTE 0 +W?PULLEY:: .ZWORD "pulley" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?PUNCH:: .ZWORD "punch" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?PURPLE:: .ZWORD "purple" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?PURPLE + .BYTE 0 +W?PURSUE:: .ZWORD "pursue" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FOLLOW + .BYTE 0 +W?PUSH:: .ZWORD "push" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?PUSH + .BYTE 0 +W?PUT:: .ZWORD "put" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?PYRAMID:: .ZWORD "pyrami" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?Q:: .ZWORD "q" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?QUIT + .BYTE 0 +W?QUAFF:: .ZWORD "quaff" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DRINK + .BYTE 0 +W?QUARTE:: .ZWORD "quarte" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?QUICK:: .ZWORD "quick" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?QUILL:: .ZWORD "quill" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?QUIT:: .ZWORD "quit" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?QUIT + .BYTE 0 +W?RAG:: .ZWORD "rag" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?RAILING:: .ZWORD "railin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?RAISE:: .ZWORD "raise" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RAISE + .BYTE 0 +W?RAP:: .ZWORD "rap" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?KNOCK + .BYTE 0 +W?RAPE:: .ZWORD "rape" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RAPE + .BYTE 0 +W?RAPIER:: .ZWORD "rapier" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?REACH:: .ZWORD "reach" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?REACH + .BYTE 0 +W?READ:: .ZWORD "read" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?READ + .BYTE 0 +W?RED:: .ZWORD "red" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?RED + .BYTE 0 +W?REEF:: .ZWORD "reef" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?REEFS:: .ZWORD "reefs" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?REFLECT:: .ZWORD "reflec" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?REFLECT + .BYTE 0 +W?REMAINS:: .ZWORD "remain" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?REMOVE:: .ZWORD "remove" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?REMOVE + .BYTE 0 +W?REPAIR:: .ZWORD "repair" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIX + .BYTE 0 +W?REPTILE:: .ZWORD "reptil" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?REPTILE + .BYTE 0 +W?RESCUE:: .ZWORD "rescue" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SAVE + .BYTE 0 +W?RESTAR:: .ZWORD "restar" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RESTAR + .BYTE 0 +W?RESTOR:: .ZWORD "restor" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RESTOR + .BYTE 0 +W?RETICULE:: .ZWORD "reticu" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?RETURN:: .ZWORD "return" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RETURN + .BYTE 0 +W?REVIVE:: .ZWORD "revive" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAKE + .BYTE 0 +W?RIDE:: .ZWORD "ride" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?BOARD + .BYTE 0 +W?RIGGING:: .ZWORD "riggin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?RING:: .ZWORD "ring" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?RIP:: .ZWORD "rip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RIP + .BYTE 0 +W?RISE:: .ZWORD "rise" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STAND + .BYTE 0 +W?ROCK:: .ZWORD "rock" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ROCK + .BYTE 0 +W?RODNEY:: .ZWORD "rodney" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?RODNEY + .BYTE 0 +W?ROLL:: .ZWORD "roll" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ROLL + .BYTE 0 +W?ROOF:: .ZWORD "roof" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?ROOM:: .ZWORD "room" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?ROPE:: .ZWORD "rope" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ROPE + .BYTE 0 +W?ROTATE:: .ZWORD "rotate" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?ROUSE:: .ZWORD "rouse" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAKE + .BYTE 0 +W?ROW:: .ZWORD "row" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ROW + .BYTE 0 +W?RUB:: .ZWORD "rub" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TOUCH + .BYTE 0 +W?RUBY:: .ZWORD "ruby" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?RUBY + .BYTE 0 +W?RUM:: .ZWORD "rum" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?RUM + .BYTE 0 +W?RUMMAG:: .ZWORD "rummag" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SEARCH + .BYTE 0 +W?RUN:: .ZWORD "run" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WALK + .BYTE 0 +W?RYALL:: .ZWORD "ryall" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?RYALL + .BYTE 0 +W?S:: .ZWORD "s" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 24 + .BYTE A?SOUTH +W?SAIL:: .ZWORD "sail" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SAILOR:: .ZWORD "sailor" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SALT:: .ZWORD "salt" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SALT + .BYTE 0 +W?SALTS:: .ZWORD "salts" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SAPPHI:: .ZWORD "sapphi" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SAPPHI + .BYTE 0 +W?SAVE:: .ZWORD "save" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SAVE + .BYTE 0 +W?SB:: .ZWORD "sb" + .BYTE PS?DIRECTION+P1?DIRECTION + .BYTE 26 + .BYTE 0 +W?SCALE:: .ZWORD "scale" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CLIMB + .BYTE 0 +W?SCORE:: .ZWORD "score" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SCORE + .BYTE 0 +W?SCRAP:: .ZWORD "scrap" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SCRAP + .BYTE 0 +W?SCREAM:: .ZWORD "scream" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YELL + .BYTE 0 +W?SCRIPT:: .ZWORD "script" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SCRIPT + .BYTE 0 +W?SE:: .ZWORD "se" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 25 + .BYTE A?SE +W?SEA:: .ZWORD "sea" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SEA + .BYTE 0 +W?SEAMAN:: .ZWORD "seaman" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SEARCH:: .ZWORD "search" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SEARCH + .BYTE 0 +W?SECRET:: .ZWORD "secret" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SECRET + .BYTE 0 +W?SECURE:: .ZWORD "secure" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TIE + .BYTE 0 +W?SEEK:: .ZWORD "seek" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIND + .BYTE 0 +W?SELF:: .ZWORD "self" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SET:: .ZWORD "set" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?SEX:: .ZWORD "sex" + .BYTE PS?BUZZ-WORD + .BYTE B?SEX + .BYTE 0 +W?SHACK:: .ZWORD "shack" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHACKLE:: .ZWORD "shackl" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?MANACLE + .BYTE 0 +W?SHAKE:: .ZWORD "shake" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SHAKE + .BYTE 0 +W?SHALLOWS:: .ZWORD "shallo" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHARP:: .ZWORD "sharp" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SHARP + .BYTE 0 +W?SHARPEN:: .ZWORD "sharpe" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIX + .BYTE 0 +W?SHELF:: .ZWORD "shelf" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHELVES:: .ZWORD "shelve" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHINE:: .ZWORD "shine" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?POINT + .BYTE 0 +W?SHIP:: .ZWORD "ship" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHIRT:: .ZWORD "shirt" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHOES:: .ZWORD "shoes" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHOOT:: .ZWORD "shoot" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SHOOT + .BYTE 0 +W?SHOT:: .ZWORD "shot" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SHOUT:: .ZWORD "shout" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YELL + .BYTE 0 +W?SHOW:: .ZWORD "show" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SHOW + .BYTE 0 +W?SHRIEK:: .ZWORD "shriek" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YELL + .BYTE 0 +W?SHUT:: .ZWORD "shut" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CLOSE + .BYTE 0 +W?SHUTTERS:: .ZWORD "shutte" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SIDLE:: .ZWORD "sidle" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WALK + .BYTE 0 +W?SIGH:: .ZWORD "sigh" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SIGH + .BYTE 0 +W?SIGN:: .ZWORD "sign" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SIGNAL:: .ZWORD "signal" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?POINT + .BYTE 0 +W?SILK:: .ZWORD "silk" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SILK + .BYTE 0 +W?SILL:: .ZWORD "sill" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SILVER:: .ZWORD "silver" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SILVER + .BYTE 0 +W?SINISTRA:: .ZWORD "sinist" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SINK:: .ZWORD "sink" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SINK + .BYTE 0 +W?SIP:: .ZWORD "sip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DRINK + .BYTE 0 +W?SIR:: .ZWORD "sir" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SIR + .BYTE 0 +W?SIRRAH:: .ZWORD "sirrah" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SIRRAH + .BYTE 0 +W?SIT:: .ZWORD "sit" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SIT + .BYTE 0 +W?SKIFF:: .ZWORD "skiff" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SKIM:: .ZWORD "skim" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?READ + .BYTE 0 +W?SKY:: .ZWORD "sky" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SLAB:: .ZWORD "slab" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SLAB + .BYTE 0 +W?SLAP:: .ZWORD "slap" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?SLAT:: .ZWORD "slat" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SLEEP:: .ZWORD "sleep" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?SLEEP + .BYTE 0 +W?SLICE:: .ZWORD "slice" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SLICE + .BYTE 0 +W?SLIDE:: .ZWORD "slide" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SLIDE + .BYTE 0 +W?SLING:: .ZWORD "sling" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?SHOOT + .BYTE 0 +W?SLINGSHOT:: .ZWORD "slings" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SLIP:: .ZWORD "slip" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SLIPPERS:: .ZWORD "slippe" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SLOW:: .ZWORD "slow" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SLOW + .BYTE 0 +W?SMALL:: .ZWORD "small" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SMALL + .BYTE 0 +W?SMALLS:: .ZWORD "smalls" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SMASH:: .ZWORD "smash" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?SMELL:: .ZWORD "smell" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SMELL + .BYTE 0 +W?SMELLING:: .ZWORD "smelli" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SMELLING + .BYTE 0 +W?SMILE:: .ZWORD "smile" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LAUGH + .BYTE 0 +W?SMOKY:: .ZWORD "smoky" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SMOKY + .BYTE 0 +W?SMOOTH:: .ZWORD "smooth" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TOUCH + .BYTE 0 +W?SNIFF:: .ZWORD "sniff" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SMELL + .BYTE 0 +W?SNOOZE:: .ZWORD "snooze" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?SLEEP + .BYTE 0 +W?SNOUT:: .ZWORD "snout" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SOAK:: .ZWORD "soak" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SOAK + .BYTE 0 +W?SOB:: .ZWORD "sob" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CRY + .BYTE 0 +W?SOLDIERS:: .ZWORD "soldie" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SOME:: .ZWORD "some" + .BYTE PS?BUZZ-WORD + .BYTE B?SOME + .BYTE 0 +W?SOMETHING:: .ZWORD "someth" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SOUTH:: .ZWORD "south" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 24 + .BYTE A?SOUTH +W?SOUTHE:: .ZWORD "southe" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 25 + .BYTE A?SE +W?SOUTHWEST:: .ZWORD "southw" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 30 + .BYTE A?SW +W?SPEAK:: .ZWORD "speak" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TALK + .BYTE 0 +W?SPICE:: .ZWORD "spice" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SPICE + .BYTE 0 +W?SPICES:: .ZWORD "spices" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?SPILL:: .ZWORD "spill" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?POUR + .BYTE 0 +W?SPIN:: .ZWORD "spin" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?SPRINKLE:: .ZWORD "sprink" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?SQUEEZE:: .ZWORD "squeez" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WRING + .BYTE 0 +W?ST:: .ZWORD "st" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?ST + .BYTE 0 +W?STAB:: .ZWORD "stab" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SLICE + .BYTE 0 +W?STAINED:: .ZWORD "staine" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?STAINED + .BYTE 0 +W?STAINS:: .ZWORD "stains" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?STAIR:: .ZWORD "stair" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?STAIRS:: .ZWORD "stairs" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?STAIRW:: .ZWORD "stairw" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?STAND:: .ZWORD "stand" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STAND + .BYTE 0 +W?STARBOARD:: .ZWORD "starbo" + .BYTE PS?DIRECTION+P1?DIRECTION + .BYTE 26 + .BYTE 0 +W?STEP:: .ZWORD "step" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?WALK + .BYTE 0 +W?STICK:: .ZWORD "stick" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STICK + .BYTE 0 +W?STONE:: .ZWORD "stone" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?STONE + .BYTE 0 +W?STOP:: .ZWORD "stop" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?STOP + .BYTE 0 +W?STRAP:: .ZWORD "strap" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?STRIKE:: .ZWORD "strike" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?STRIP:: .ZWORD "strip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNDRES + .BYTE 0 +W?STUB:: .ZWORD "stub" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?STUB + .BYTE 0 +W?STUDY:: .ZWORD "study" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXAMINE + .BYTE 0 +W?SUPER:: .ZWORD "super" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SUPER + .BYTE 0 +W?SUPERBRIEF:: .ZWORD "superb" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SUPER + .BYTE 0 +W?SUPPLIES:: .ZWORD "suppli" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?SUPPLIES + .BYTE 0 +W?SURE:: .ZWORD "sure" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?SW:: .ZWORD "sw" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 30 + .BYTE A?SW +W?SWALLOW:: .ZWORD "swallo" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DRINK + .BYTE 0 +W?SWIM:: .ZWORD "swim" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SWIM + .BYTE 0 +W?SWING:: .ZWORD "swing" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SWING + .BYTE 0 +W?SWITCH:: .ZWORD "switch" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?SWOON:: .ZWORD "swoon" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SWOON + .BYTE 0 +W?SWORD:: .ZWORD "sword" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TABLE:: .ZWORD "table" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TAG:: .ZWORD "tag" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TAKE:: .ZWORD "take" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TAKE + .BYTE 0 +W?TALK:: .ZWORD "talk" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TALK + .BYTE 0 +W?TANGLED:: .ZWORD "tangle" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?TANGLED + .BYTE 0 +W?TAP:: .ZWORD "tap" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TAP + .BYTE 0 +W?TASTE:: .ZWORD "taste" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EAT + .BYTE 0 +W?TEAR:: .ZWORD "tear" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?RIP + .BYTE 0 +W?TELL:: .ZWORD "tell" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TELL + .BYTE 0 +W?THANK:: .ZWORD "thank" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?THANKS + .BYTE 0 +W?THANKS:: .ZWORD "thanks" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?THANKS + .BYTE 0 +W?THAT:: .ZWORD "that" + .BYTE PS?BUZZ-WORD + .BYTE B?THAT + .BYTE 0 +W?THE:: .ZWORD "the" + .BYTE PS?BUZZ-WORD + .BYTE B?THE + .BYTE 0 +W?THEM:: .ZWORD "them" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?THEN:: .ZWORD "then" + .BYTE PS?BUZZ-WORD + .BYTE B?THEN + .BYTE 0 +W?THIS:: .ZWORD "this" + .BYTE PS?BUZZ-WORD + .BYTE B?THIS + .BYTE 0 +W?THROUGH:: .ZWORD "throug" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?THROUGH + .BYTE 0 +W?THROW:: .ZWORD "throw" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?THROW + .BYTE 0 +W?THRU:: .ZWORD "thru" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?THROUGH + .BYTE 0 +W?TIE:: .ZWORD "tie" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TIE + .BYTE 0 +W?TIP:: .ZWORD "tip" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ROLL + .BYTE 0 +W?TO:: .ZWORD "to" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?TO + .BYTE 0 +W?TORCH:: .ZWORD "torch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TOSS:: .ZWORD "toss" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?THROW + .BYTE 0 +W?TOUCH:: .ZWORD "touch" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TOUCH + .BYTE 0 +W?TOWARD:: .ZWORD "toward" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?TO + .BYTE 0 +W?TRAMPLE:: .ZWORD "trampl" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?TRAP:: .ZWORD "trap" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?TRAP + .BYTE 0 +W?TRAPDO:: .ZWORD "trapdo" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TRAY:: .ZWORD "tray" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TREATISE:: .ZWORD "treati" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?TREATISE + .BYTE 0 +W?TREE:: .ZWORD "tree" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TREES:: .ZWORD "trees" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TRICORNE:: .ZWORD "tricor" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?TURKEY:: .ZWORD "turkey" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?TURKEY + .BYTE 0 +W?TURN:: .ZWORD "turn" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TURN + .BYTE 0 +W?TWIRL:: .ZWORD "twirl" + .BYTE PS?OBJECT+PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?DANCE + .BYTE ACT?DANCE +W?U:: .ZWORD "u" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?UP + .BYTE 22 +W?UNATTA:: .ZWORD "unatta" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNTIE + .BYTE 0 +W?UNBAR:: .ZWORD "unbar" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNLOCK + .BYTE 0 +W?UNDER:: .ZWORD "under" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?UNDER + .BYTE 0 +W?UNDERNEATH:: .ZWORD "undern" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?UNDER + .BYTE 0 +W?UNDRES:: .ZWORD "undres" + .BYTE PS?VERB+PS?PREPOSITION+P1?OBJECT + .BYTE PR?UNDRES + .BYTE ACT?UNDRES +W?UNKNOT:: .ZWORD "unknot" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNTIE + .BYTE 0 +W?UNLOCK:: .ZWORD "unlock" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNLOCK + .BYTE 0 +W?UNMENTIONABLES:: .ZWORD "unment" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?UNROLL:: .ZWORD "unroll" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNROLL + .BYTE 0 +W?UNSCRIPT:: .ZWORD "unscri" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNSCRIPT + .BYTE 0 +W?UNTIE:: .ZWORD "untie" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNTIE + .BYTE 0 +W?UNWEAVE:: .ZWORD "unweav" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?UNTIE + .BYTE 0 +W?UP:: .ZWORD "up" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?UP + .BYTE 22 +W?UPSTAIRS:: .ZWORD "upstai" + .BYTE PS?DIRECTION+PS?PREPOSITION+P1?OBJECT + .BYTE PR?UP + .BYTE 22 +W?USE:: .ZWORD "use" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?USE + .BYTE 0 +W?USING:: .ZWORD "using" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?WITH + .BYTE 0 +W?VAULT:: .ZWORD "vault" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?JUMP + .BYTE 0 +W?VELVET:: .ZWORD "velvet" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?VELVET + .BYTE 0 +W?VERANDA:: .ZWORD "verand" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?VERBOSE:: .ZWORD "verbos" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?VERBOSE + .BYTE 0 +W?VERSION:: .ZWORD "versio" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?VERSION + .BYTE 0 +W?VIANDS:: .ZWORD "viands" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?VILLAIN:: .ZWORD "villai" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?VINE:: .ZWORD "vine" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?VINES:: .ZWORD "vines" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?W:: .ZWORD "w" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 23 + .BYTE A?WEST +W?WADE:: .ZWORD "wade" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?GO + .BYTE 0 +W?WAIT:: .ZWORD "wait" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAIT + .BYTE 0 +W?WAKE:: .ZWORD "wake" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAKE + .BYTE 0 +W?WALK:: .ZWORD "walk" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WALK + .BYTE 0 +W?WALL:: .ZWORD "wall" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WALLS:: .ZWORD "walls" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WARM:: .ZWORD "warm" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WARM + .BYTE 0 +W?WARN:: .ZWORD "warn" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?HELP + .BYTE 0 +W?WARPED:: .ZWORD "warped" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WARPED + .BYTE 0 +W?WASH:: .ZWORD "wash" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WASH + .BYTE 0 +W?WATCH:: .ZWORD "watch" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?LOOK + .BYTE 0 +W?WATER:: .ZWORD "water" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WATER + .BYTE 0 +W?WAVE:: .ZWORD "wave" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAVE + .BYTE 0 +W?WEAR:: .ZWORD "wear" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WEAR + .BYTE 0 +W?WEAVE:: .ZWORD "weave" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?TIE + .BYTE 0 +W?WED:: .ZWORD "wed" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?MARRY + .BYTE 0 +W?WEEP:: .ZWORD "weep" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?CRY + .BYTE 0 +W?WELL:: .ZWORD "well" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WELL-READ:: .ZWORD "well-r" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WELL-READ + .BYTE 0 +W?WEST:: .ZWORD "west" + .BYTE PS?ADJECTIVE+PS?DIRECTION+P1?DIRECTION + .BYTE 23 + .BYTE A?WEST +W?WET:: .ZWORD "wet" + .BYTE PS?VERB+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WET + .BYTE ACT?SOAK +W?WHACK:: .ZWORD "whack" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?ATTACK + .BYTE 0 +W?WHAT:: .ZWORD "what" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHAT + .BYTE 0 +W?WHAT':: .ZWORD "what'" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHAT + .BYTE 0 +W?WHATS:: .ZWORD "whats" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHAT + .BYTE 0 +W?WHEEL:: .ZWORD "wheel" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WHERE:: .ZWORD "where" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHERE + .BYTE 0 +W?WHERES:: .ZWORD "wheres" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHERE + .BYTE 0 +W?WHET:: .ZWORD "whet" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIX + .BYTE 0 +W?WHIFF:: .ZWORD "whiff" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?SMELL + .BYTE 0 +W?WHIP:: .ZWORD "whip" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WHITE:: .ZWORD "white" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WHITE + .BYTE 0 +W?WHITHER:: .ZWORD "whithe" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHERE + .BYTE 0 +W?WHO:: .ZWORD "who" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHAT + .BYTE 0 +W?WHOS:: .ZWORD "whos" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WHAT + .BYTE 0 +W?WIGGLE:: .ZWORD "wiggle" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?FIDDLE + .BYTE 0 +W?WINCH:: .ZWORD "winch" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WINDLASS:: .ZWORD "windla" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WINDOW:: .ZWORD "window" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WINE:: .ZWORD "wine" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WIPE:: .ZWORD "wipe" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WASH + .BYTE 0 +W?WIRE:: .ZWORD "wire" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WIRE + .BYTE 0 +W?WITH:: .ZWORD "with" + .BYTE PS?PREPOSITION+P1?OBJECT + .BYTE PR?WITH + .BYTE 0 +W?WITHDR:: .ZWORD "withdr" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXIT + .BYTE 0 +W?WOMAN:: .ZWORD "woman" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?WOOD:: .ZWORD "wood" + .BYTE PS?OBJECT+PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WOOD + .BYTE 0 +W?WOODEN:: .ZWORD "wooden" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WOODEN + .BYTE 0 +W?WORLD:: .ZWORD "world" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?WORLD + .BYTE 0 +W?WRAP:: .ZWORD "wrap" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WRAP + .BYTE 0 +W?WRECK:: .ZWORD "wreck" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?DEMOLI + .BYTE 0 +W?WRING:: .ZWORD "wring" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WRING + .BYTE 0 +W?WRITING:: .ZWORD "writin" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?X:: .ZWORD "x" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?EXAMINE + .BYTE 0 +W?Y:: .ZWORD "y" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?YELL:: .ZWORD "yell" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YELL + .BYTE 0 +W?YES:: .ZWORD "yes" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?YOU:: .ZWORD "you" + .BYTE PS?OBJECT+P1?OBJECT + .BYTE 0 + .BYTE 0 +W?YOUR:: .ZWORD "your" + .BYTE PS?ADJECTIVE+P1?ADJECTIVE + .BYTE A?YOUR + .BYTE 0 +W?YUP:: .ZWORD "yup" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?YES + .BYTE 0 +W?Z:: .ZWORD "z" + .BYTE PS?VERB+P1?VERB + .BYTE ACT?WAIT + .BYTE 0 +W?ZZMGCK:: .ZWORD "zzmgck" + .BYTE PS?OBJECT+PS?VERB+P1?VERB + .BYTE ACT?ZZMGCK + .BYTE 0 + .ENDT + + +; END LOAD + +ENDLOD:: + + + .ENDI diff --git a/r1freq.xzap b/r1freq.xzap new file mode 100644 index 0000000..96a6028 --- /dev/null +++ b/r1freq.xzap @@ -0,0 +1,200 @@ + .FSTR FSTR?1,"the " ;1994 998 + .FSTR FSTR?2,", " ;1167 1168 + .FSTR FSTR?3,"You " ;942 315 + .FSTR FSTR?4,"you " ;720 361 + .FSTR FSTR?5,"your " ;714 239 + .FSTR FSTR?6,"and " ;702 352 + .FSTR FSTR?7,". " ;624 625 + .FSTR FSTR?8,"The " ;477 160 + .FSTR FSTR?9,"to " ;476 477 + .FSTR FSTR?10,"of " ;379 380 + .FSTR FSTR?11,"into " ;360 121 + .FSTR FSTR?12,"from " ;348 117 + .FSTR FSTR?13,"Lafond " ;348 59 + .FSTR FSTR?14,"with " ;306 103 + .FSTR FSTR?15,"is " ;299 300 + .FSTR FSTR?16,"his " ;286 144 + .FSTR FSTR?17,"that " ;255 86 + .FSTR FSTR?18,"He " ;234 118 + .FSTR FSTR?19,"Nicholas " ;232 30 + .FSTR FSTR?20,"in " ;220 221 + .FSTR FSTR?21,"have " ;210 71 + .FSTR FSTR?22,"are " ;202 102 + .FSTR FSTR?23,"Jamison " ;196 29 + .FSTR FSTR?24,"through " ;186 32 + .FSTR FSTR?25,"around " ;175 36 + .FSTR FSTR?26,"not " ;168 85 + .FSTR FSTR?27,"this " ;162 55 + .FSTR FSTR?28,"Your " ;156 40 + .FSTR FSTR?29,"against " ;150 26 + .FSTR FSTR?30,"down " ;147 50 + .FSTR FSTR?31,"It " ;146 74 + .FSTR FSTR?32,"Lafond's " ;144 17 + .FSTR FSTR?33,"you" ;139 140 + .FSTR FSTR?34,"out " ;138 70 + .FSTR FSTR?35,"over " ;129 44 + .FSTR FSTR?36,"I " ;128 129 + .FSTR FSTR?37,"for " ;118 60 + .FSTR FSTR?38,"but " ;116 59 + .FSTR FSTR?39,"on " ;111 112 + .FSTR FSTR?40,"already " ;108 19 + .FSTR FSTR?41,"A " ;106 107 + .FSTR FSTR?42,"haven't " ;105 16 + .FSTR FSTR?43,"would " ;104 27 + .FSTR FSTR?44,"can't " ;100 21 + .FSTR FSTR?45,"Jamison's " ;100 11 + .FSTR FSTR?46,"This " ;96 25 + .FSTR FSTR?47,"isn't " ;95 20 + .FSTR FSTR?48,"It's " ;95 20 + .FSTR FSTR?49,"back " ;93 32 + .FSTR FSTR?50,"That " ;92 24 + .FSTR FSTR?51,"doesn't " ;91 14 + .FSTR FSTR?52,"one " ;88 45 + .FSTR FSTR?53,"looks " ;88 23 + .FSTR FSTR?54,"at " ;87 88 + .FSTR FSTR?55,"will " ;87 30 + .FSTR FSTR?56,"There " ;85 18 + .FSTR FSTR?57,"ballroom" ;84 15 + .FSTR FSTR?58,"You're " ;84 13 + .FSTR FSTR?59,"too " ;82 42 + .FSTR FSTR?60,"There's " ;80 11 + .FSTR FSTR?61,"Jamison" ;78 14 + .FSTR FSTR?62,"like " ;75 26 + .FSTR FSTR?63,"father " ;75 16 + .FSTR FSTR?64,"don't " ;75 16 + .FSTR FSTR?65,"other " ;72 19 + .FSTR FSTR?66,"about " ;72 19 + .FSTR FSTR?67,"it " ;70 71 + .FSTR FSTR?68,"here" ;70 36 + .FSTR FSTR?69,"Lafond" ;70 15 + .FSTR FSTR?70,"only " ;69 24 + .FSTR FSTR?71,"been " ;69 24 + .FSTR FSTR?72,"has " ;68 35 + .FSTR FSTR?73,"he " ;66 67 + .FSTR FSTR?74,"as " ;66 67 + .FSTR FSTR?75,"Don't " ;66 12 + .FSTR FSTR?76,"Cookie " ;66 12 + .FSTR FSTR?77,"enough " ;65 14 + .FSTR FSTR?78,"across " ;65 14 + .FSTR FSTR?79,"seems " ;64 17 + .FSTR FSTR?80,"north " ;64 17 + .FSTR FSTR?81,"They " ;64 17 + .FSTR FSTR?82,"I'm " ;64 17 + .FSTR FSTR?83,"floor" ;63 22 + .FSTR FSTR?84,"eyes " ;63 22 + .FSTR FSTR?85,"get " ;60 31 + .FSTR FSTR?86,"just " ;60 21 + .FSTR FSTR?87,"after " ;60 16 + .FSTR FSTR?88,"With " ;60 16 + .FSTR FSTR?89,"stands " ;60 13 + .FSTR FSTR?90,"looking " ;60 11 + .FSTR FSTR?91,"be " ;58 59 + .FSTR FSTR?92,"see " ;58 30 + .FSTR FSTR?93,"by " ;56 57 + .FSTR FSTR?94,"can " ;56 29 + .FSTR FSTR?95,"something " ;56 8 + .FSTR FSTR?96,"no " ;55 56 + + +;word frequency table of 96 most common words + +WORDS:: .TABLE + FSTR?1 + FSTR?2 + FSTR?3 + FSTR?4 + FSTR?5 + FSTR?6 + FSTR?7 + FSTR?8 + FSTR?9 + FSTR?10 + FSTR?11 + FSTR?12 + FSTR?13 + FSTR?14 + FSTR?15 + FSTR?16 + FSTR?17 + FSTR?18 + FSTR?19 + FSTR?20 + FSTR?21 + FSTR?22 + FSTR?23 + FSTR?24 + FSTR?25 + FSTR?26 + FSTR?27 + FSTR?28 + FSTR?29 + FSTR?30 + FSTR?31 + FSTR?32 + FSTR?33 + FSTR?34 + FSTR?35 + FSTR?36 + FSTR?37 + FSTR?38 + FSTR?39 + FSTR?40 + FSTR?41 + FSTR?42 + FSTR?43 + FSTR?44 + FSTR?45 + FSTR?46 + FSTR?47 + FSTR?48 + FSTR?49 + FSTR?50 + FSTR?51 + FSTR?52 + FSTR?53 + FSTR?54 + FSTR?55 + FSTR?56 + FSTR?57 + FSTR?58 + FSTR?59 + FSTR?60 + FSTR?61 + FSTR?62 + FSTR?63 + FSTR?64 + FSTR?65 + FSTR?66 + FSTR?67 + FSTR?68 + FSTR?69 + FSTR?70 + FSTR?71 + FSTR?72 + FSTR?73 + FSTR?74 + FSTR?75 + FSTR?76 + FSTR?77 + FSTR?78 + FSTR?79 + FSTR?80 + FSTR?81 + FSTR?82 + FSTR?83 + FSTR?84 + FSTR?85 + FSTR?86 + FSTR?87 + FSTR?88 + FSTR?89 + FSTR?90 + FSTR?91 + FSTR?92 + FSTR?93 + FSTR?94 + FSTR?95 + FSTR?96 + .ENDT + + .ENDI diff --git a/r1pur.zap b/r1pur.zap new file mode 100644 index 0000000..a2ba0d2 --- /dev/null +++ b/r1pur.zap @@ -0,0 +1,8 @@ + + +; PURE TABLES ARE DEFINED HERE + +PURTBL:: + +PURTND:: + .ENDI diff --git a/r1str.zap b/r1str.zap new file mode 100644 index 0000000..2f41e2d --- /dev/null +++ b/r1str.zap @@ -0,0 +1,413 @@ + + +; STRINGS ARE DEFINED HERE + +STRBEG:: + + .GSTR STR?15," has no desirable effect." + .GSTR STR?20,"You have lost your mind." + .GSTR STR?74,"You haven't the strength. +" + .GSTR STR?136,"Chestnut hair, tousled by the wind, frames the tanned oval of his face. " + .GSTR STR?146,"""I wish you would call me 'Nicholas' -- I feel I know you much better than our brief acquaintance would allow."" He presses your hand" + .GSTR STR?158,"Death lies that way, my lady." + .GSTR STR?166,"A tall hedge prevents you from going around the east wing of the house." + .GSTR STR?193," has a small pool of liquid at the bottom" + .GSTR STR?225,"You hear metal scrape metal. A woman gasps." + .GSTR STR?227,"You hear a piece of furniture being knocked over." + .GSTR STR?230,"You hear a duellist leap forward, and swords clash, parrying." + .GSTR STR?237,"PRSO" + .GSTR STR?311," The tides are against you, however, and carry you out to sea. Days later you collapse, exhausted, to wake in the heaven on earth of a Swedish merchant marine. A midshipman, an ice-eyed blond with Viking physique and no English, nurses you back to health; in a moment of weakness you thank him in the only language all men and women share." + .GSTR STR?86,". +" + .GSTR STR?88,"Nothing happens. +" + .GSTR STR?235,"Preaction" + .GSTR STR?183,"A lace-covered table crouches beside a wing-backed chair in one corner." + .GSTR STR?264,"sound" + .GSTR STR?269,"Pulling" + .GSTR STR?276,"pick" + .GSTR STR?12," + + *** You have died *** + +" + .GSTR STR?62,"rief descriptions. +" + .GSTR STR?63," Lafond smacks you hard across the face with the back of his hand, ""Fool."" He casts aside all formalities." + .GSTR STR?66,"Dragoons surround you. " +DRAGOONS-SURROUND=STR?66 + .GSTR STR?80,"He laughs triumphantly and pulls you into the dance. +" + .GSTR STR?105,"""It's not safe down there,"" the Falcon calls." + .GSTR STR?126,"With a creak and a crash, somewhere a mast falls to the deck" + .GSTR STR?168,"Dragoons guard the gate." + .GSTR STR?231,"Dragoons, conversing quietly, patrol the other side of the gate." + .GSTR STR?239,"words" + .GSTR STR?267,"with" + .GSTR STR?341,"Dragoons surround you, appearing from nowhere. They show you no mercy, though they let you survive." + .GSTR STR?8,"""Help me!"" you cry, hoping someone will help you." + .GSTR STR?61,"It doesn't look like" +DOESNT-LOOK=STR?61 + .GSTR STR?87,"... + +" + .GSTR STR?266,"look inside" + .GSTR STR?288,"Dagger sharpening" + .GSTR STR?55," the edge of" +THE-EDGE=STR?55 + .GSTR STR?60," the dance floor" +DANCE-FLOOR=STR?60 + .GSTR STR?108,"You might be able to squeeze past it. +" +SQUEEZE-AROUND=STR?108 + .GSTR STR?156,"You might fight your way a few feet into the thorns but you'd only tear your clothes." + .GSTR STR?244,"ends" + .GSTR STR?313," and collapses. + You were warned, of course, but did not listen. A stray keg pushes you off the deck into the sea." + .GSTR STR?5,"Love Transcending Death" + .GSTR STR?22,"That is a waste of time." + .GSTR STR?25,"That seems a useless idea." + .GSTR STR?39,"That is thoroughly unladylike behavior. +" +UNLADY=STR?39 + .GSTR STR?71,"That wouldn't be polite. +" + .GSTR STR?93,"They already are. +" +ALREADY-ARE=STR?93 + .GSTR STR?171,"No expense has been spared to make this long dim hallway anything but a servant's corridor. The foyer is east, a kitchen north of you." + .GSTR STR?214,"They calls me Andy, but I'm really randy" + .GSTR STR?252,"drop" + .GSTR STR?308," Lafond's dragoons deal with you quickly." + .GSTR STR?327,"They clamp shut" + .GSTR STR?340,". Visiting that Neptune you tol' me about. Gone to sea, poor man,"" he laughs, and returns to lurking around the doorway." + .GSTR STR?16,"Think again, guv'nor." + .GSTR STR?51,"You'll have to " + .GSTR STR?57,"The ballroom is a " + .GSTR STR?134,"You'll have to row that way." + .GSTR STR?149,"The blue of the captain's eyes seems to deepen, looking at you" + .GSTR STR?248,"Biting" + .GSTR STR?294,"wear" + .GSTR STR?295,"posi" + .GSTR STR?296,"remove" + .GSTR STR?297," Suddenly, an offshore current pulls you past the reefs into the open sea. You haven't the strength to row back." + .GSTR STR?304,"finely woven" + .GSTR STR?17,"This is no time to get hysterical." + .GSTR STR?21,"What an odd thing to attempt." + .GSTR STR?43,"You pace out the steps. +" +PACE=STR?43 + .GSTR STR?53,"You pull the cloth aside momentarily." + .GSTR STR?94," do you want to " +DO-YOU-WANT=STR?94 + .GSTR STR?99,"This reveals nothing new. +" + .GSTR STR?109,"This is a gloomy, damp area at the bottom of the Helena Louise. To the fore there seems to be a little more light, or you can climb up some steep stairs." + .GSTR STR?120,"This tiny kitchen smells of old stew and yeast. A low door to starboard shows the way out." + .GSTR STR?121,"You perch on a platform high above the deck, giving a view of the endless sea and the southernmost cliffs of the island, where a house pokes out of the vegetation. It gives off a general glow, but no lights can be seen in any of the second story windows. A tiny beach nestles into the base of the cliff." + .GSTR STR?142,"What the devil are you doing here! Lafond is a dangerous man to play with!"" Jamison " + .GSTR STR?176,"The carpeted hallway turns from west to north here, extending into the east wing. A long table blocks the way south." + .GSTR STR?178,"Lit only with moonlight through the open window, tonight this room is serving as a ladies' dressing room. An exit lies to the north." + .GSTR STR?180,"This room is exotically furnished with a Turkey divan and chairs. The exit is south." + .GSTR STR?201,"This tiny cell is airless and shivering cold, entirely empty of anything but darkness. A wooden door leads west." + .GSTR STR?204,"This short passage turns from east to north to stop abruptly at an iron door." + .GSTR STR?242,"talk to characters." + .GSTR STR?243,"begins" + .GSTR STR?263,"Knocking on" + .GSTR STR?290,"talk to" + .GSTR STR?299,"be holding" + .GSTR STR?107,"The door at the top of the stairs won't open." + .GSTR STR?115,"The door is barred." + .GSTR STR?249,"blow" + .GSTR STR?328,"The door creaks open to reveal a black well, water hushing deep within" + .GSTR STR?30,"Completely common looking " + .GSTR STR?127,"You recognize a voice from far away, ""Don't take that! Look in the cabin at the stern -- you'll find some fun there!"" It sounds like Davis" + .GSTR STR?153,"A bench is built into the wall, circling the folly." + .GSTR STR?3,"You shake your head" +SHAKE-HEAD=STR?3 + .GSTR STR?76,"A sinewy arm encircles you, ""Stay, my lady.""" + .GSTR STR?103,"A bit of canvas sail " + .GSTR STR?135,"You stop at a steep cliff-face." + .GSTR STR?165,"The front door stands open to the south, light splayed out onto a drive stretching north into the jungle. A path leads around the western wing of the house; jutting out from the east wing is a tall hedge." + .GSTR STR?179,"You stand in a carpeted hallway, leading east to a stair landing. Rooms lie north and south of you." + .GSTR STR?182,"You stand in a carpeted hallway, leading west to a stair landing. To the north is an ornately carved door. From the south comes the impression of light and air." + .GSTR STR?188,"You stare into space for a long, thoughtless moment. It seems very hard to think, you think, but you aren't sure." + .GSTR STR?210,"You squeeze three colorless drops " + .GSTR STR?218,"Ye're a tasty doxy to let slip, but no 'elp fer it." + .GSTR STR?232,"Not Here" + .GSTR STR?323,"You sweep down into the ballroom, felling dancer and pirate alike. Unfortunately, one of Jamison's crew, mistaking your shortcut for an attack, greets you with a sharpened dagger." + .GSTR STR?9,"mutters something to himself. You hear an occasional ""Zounds!""" + .GSTR STR?77," squeeze through the opening between cupboard and wall" + .GSTR STR?89,"Failed. +" + .GSTR STR?119,"The grate is too small." + .GSTR STR?125,"""The Falcon! The Falcon conquers!"" yells someone" + .GSTR STR?247,"ask" + .GSTR STR?42,"You're not holding" + .GSTR STR?58,"You're already " + .GSTR STR?70,"That's not done in polite society. +" + .GSTR STR?83,"You're holding it! +" + .GSTR STR?98," calls after you. + +" +CALLS-AFTER=STR?98 + .GSTR STR?154,"One bamboo slat at the back seems to be loose." + .GSTR STR?196,"A strong wet breeze blows from a low doorway to the east. A circle of light leads west. The passageway continues south." + .GSTR STR?219,"Out of the smoke staggers Davis, tugging a bloodied knife from the back of a pirate. Davis's eyes gleam white from a face blackened and bloody, his lips dark red as if he has been drinking blood. He turns to face you." + .GSTR STR?260,"look" + .GSTR STR?281,"to" + .GSTR STR?79,"Look around you. +" + .GSTR STR?95,"But it's such a beautiful night! +" + .GSTR STR?124,"""Cap'n Jamison! We've got 'em!"" cries a rough voice" + .GSTR STR?223,", shrugging off your lack of cooperation" + .GSTR STR?301," It's been rather a long time since any of the crew have dealt with the fairer sex, and they are a bit rough, despite Rodney Quick's exhortations." + .GSTR STR?329,". You are pulled struggling into the pool." + .GSTR STR?65,"Something cracks over your head, knocking you unconscious. + You awaken, cuddled in a huge purple and gold curtained bed, with a shocking migraine. The man lying next to you pays no heed to your complaints, and commands you in French when you try to defend yourself. He tires of you within a few weeks, but lets you work the streets of Santa Ananas." + .GSTR STR?110,"A grate blocks your way." + .GSTR STR?172,"A grandiose staircase splits and twists up to the next floor here, framing the entrance south to the ballroom. Long hallways lead east and west; cool night air drifts in through the front door, north of you." + .GSTR STR?278,"Pushing" + .GSTR STR?101,"A plank of wood " + .GSTR STR?192," is brimming with wine" + .GSTR STR?31," only darkness beyond" + .GSTR STR?33," is closed" + .GSTR STR?54," only the back of" + .GSTR STR?97," walks up to you. ""M. Lafond requests your presence in his room immediately, Miss."" He points " + .GSTR STR?113,"A dagger is driven into the wooden floorboards." + .GSTR STR?207,"Draped across the bed is a lovely cream colored watered silk gown. It looks about your size." + .GSTR STR?233,"Actor" + .GSTR STR?312,"A large one rolls into you, stumbling you through the railing into the sea." + .GSTR STR?68,"PLUNDERED HEARTS" + .GSTR STR?202,"The monster lunges at you, chain rattling, roaring and angry. " + .GSTR STR?139,"""We have anchored off St. Sinistra,"" says Captain Jamison, ""and I must look like a guest at Lafond's dance tonight. I will find and free your father, and then finally wreak my revenge on Lafond."" He half draws his rapier from its scabbard." + .GSTR STR?206,"Kicked into a far corner is a pile of clothes." + .GSTR STR?250,"get into" + .GSTR STR?275,"light" + .GSTR STR?283,"get in" + .GSTR STR?300,"stand up" + .GSTR STR?18,"It's Bedlam for you!" + .GSTR STR?24,"It's not worth it. Believe me." + .GSTR STR?29," A tangled mass of rigging hangs down from the mast, like many rope ladders woven together." + .GSTR STR?36,"It's too dark to see a thing." + .GSTR STR?41," halfway up the cliff stairs." + .GSTR STR?216,"What, afrighted of a lick o' the whip?" + .GSTR STR?229,"Rapiers click and slide. ""Bad parry, Captain,"" Lafond says." + .GSTR STR?11,"enters just a few steps behind you." + .GSTR STR?137,"The pirate captain " + .GSTR STR?152,"Perfumed by the heady odor of the night-blooming jasmine entwined in the bamboo latticework, this folly is a cool, dark haven." + .GSTR STR?167,"A rutted drive runs north-south here, from a high spiked gate through the jungle to Lafond's mansion. You hide in the bushes nearby." + .GSTR STR?256,"close" + .GSTR STR?284,"search" + .GSTR STR?326,"put anything into" + .GSTR STR?334,"dainty fists" + .GSTR STR?343,"The pistol fires with a deafening roar, spraying shot into Nicholas. Time stops as he falls, reaching for you, your name his last breath. + The battle afterwards is short and bloody. Spurred by grief, you fight hard, yet greet benumbing death thankfully." + .GSTR STR?254,"climb into" + .GSTR STR?255,"climb onto" + .GSTR STR?265,"open" + .GSTR STR?270,"move" + .GSTR STR?48,"way to do that. +" + .GSTR STR?56,"To your surprise, " +SURPRISE=STR?56 + .GSTR STR?129,"The reefs seem a little larger than you thought before" + .GSTR STR?130,"The reefs are definitely getting larger" + .GSTR STR?147,"Jamison touches your hair softly" + .GSTR STR?148,"Jamison grins down at you, a dazzling white smile" + .GSTR STR?151,"Nicholas's hands are smooth and cool" + .GSTR STR?175,"One long table set across the north entrance indicates that supper was served here earlier. West of you is the ballroom." + .GSTR STR?222,", his wig awry, sprawls across the parquet floor." +LAF-MUNGED=STR?222 + .GSTR STR?234,"M-Beg" + .GSTR STR?240,"letters" + .GSTR STR?262,"Kicking" + .GSTR STR?286,"Shaking" + .GSTR STR?316,"Nicholas stops at your cry, and turns, curious, to face Crulley just as the pistol sprays shot into his chest." + .GSTR STR?14," accomplishes nothing." + .GSTR STR?128,"The ship is floating midway between the island and a line of reefs" + .GSTR STR?133,"The sound of splintering wood reverberates through the ship as it drifts onto the reefs" + .GSTR STR?159,"The steps lead south." + .GSTR STR?220,"He kisses your forehead. +" + .GSTR STR?337,"The study of Latin" + .GSTR STR?37,"Although the lagoon is warm and clear, it is much too deep. +" +TOO-DEEP=STR?37 + .GSTR STR?44,"There's nothing " + .GSTR STR?102,"Some bloodied flesh " + .GSTR STR?140,"""I am sorry you have been confined down here, but I don't trust my lonely crew with such beauty. Crulley isn't the only man aboard with few principles."" He smiles at you, eyes lingering, and takes your hand. You feel your color rising. ""If anything goes wrong, turn to Cookie. He is quite deaf, but capable. He'll see you through.""" + .GSTR STR?215,"Would yer like a taste o' water?" + .GSTR STR?251,"get onto" + .GSTR STR?253,"burn" + .GSTR STR?298,"get on" + .GSTR STR?303,"get off" + .GSTR STR?310,"get out of" + .GSTR STR?106,"The Falcon follows a step behind." + .GSTR STR?161,"The undergrowth is much too thick to enter." + .GSTR STR?169,"The underbrush is much too thick to enter." + .GSTR STR?181,"A pair of duelling pistols is mounted high on one wall." + .GSTR STR?306," Suddenly you appreciate what it is to be a ball in an exploding cannon. The intense heat, the push of fire, and the sense of release when spit from the cannon's mouth -- these you feel when the lighted fuse finally burns up to the largest keg of gunpowder in the hold." + .GSTR STR?338,"steal jewelry" + .GSTR STR?28," drips off your fingers. +" + .GSTR STR?32,"He doesn't respond. +" + .GSTR STR?170,"A firepit in the floor smokes badly, fogging up the depths of this large kitchen, somehow not escaping through either the south or west doors." + .GSTR STR?241,"AGAIN" + .GSTR STR?280,"read" + .GSTR STR?282,"return it to" + .GSTR STR?317,"As you fiddle with the" + .GSTR STR?333,"As you lift the hat from its" + .GSTR STR?38," is not flush against the doorsill. " + .GSTR STR?131,"Bswish! Waves smash against the reefs nearby" + .GSTR STR?164,"The west wall of the house is that way." + .GSTR STR?174,"The windows overlooking the veranda do not open." + .GSTR STR?177," Cookie harrumphs, surprised." + .GSTR STR?198,"Once a cell, now, with the door missing, made into a guard's bunkroom, this room is distinctly uncomfortable. Gasps of air are forced through a crack in the seaward wall of the room. The way out is west of you." + .GSTR STR?258,"drink" + .GSTR STR?259,"drink from" + .GSTR STR?279,"Playing in this way with" + .GSTR STR?10,"follows you." + .GSTR STR?112,"An eerie battle cry arises on the wind, from all sides of the house" + .GSTR STR?185,"'s eyes are getting heavier" + .GSTR STR?186," collapses, head back, snoring loudly" + .GSTR STR?191," is ornate and expensive" + .GSTR STR?224,"Swords engage and disengage." + .GSTR STR?245,"leave the game" + .GSTR STR?257,"have hysterics" + .GSTR STR?289,"Swimming" + .GSTR STR?291,"do that to" + .GSTR STR?150,"His eyes twinkle, like moonlight on the sea" + .GSTR STR?228,"""You must ... pay ... for your actions!"" Nicholas gasps." + .GSTR STR?331,"on" + .GSTR STR?143," With an engaging smile he bows and leaves the folly. +" + .GSTR STR?144,"""I haven't found your father. We've long suspected a passage under the library, but I cannot find an entrance,"" says Jamison" + .GSTR STR?195,"Flickering torchlight lights the bottom of a spiral staircase. A draft blows from the east; a passage leads south." + .GSTR STR?261,"Fiddling with" + .GSTR STR?271,"Trying to destroy" + .GSTR STR?272,"Trying to muzzle" + .GSTR STR?309,"Firing cannon" + .GSTR STR?315,"launch" + .GSTR STR?116,"If you wish to go to the Poop, go AFT." + .GSTR STR?184," seems to be having some problems stifling a yawn" + .GSTR STR?190,"Sleep overtakes you and you slump into unconsiousness." + .GSTR STR?318," Roaring anger and revenge, Lafond runs in, pouncing upon you. Your death, when it comes, is wished for." + .GSTR STR?45,"It seems that" + .GSTR STR?34,"Steep stairs descend " + .GSTR STR?211,"Stunned, Crulley collapses at your feet, his eyes rolling" + .GSTR STR?2," his eyes rake over your inadequately dressed body, the damp chemise clinging to your legs and heaving bosom, your gleaming hair" + .GSTR STR?7,"Happily Ever After" + .GSTR STR?40,"It is thoroughly unladylike to " + .GSTR STR?78,"Suicide is not the answer. +" + .GSTR STR?141,"His look darkens. ""You should know why I hate Lafond: Some years ago, as my brother and his bride sailed to a new life in Virginia, pirates struck. Their ship was boarded, looted and burned, the women taken, never to be seen again. A sailor, the one survivor, watched as a man of Lafond's description shot my brother in the back as he tried to save the women. Lafond has now bought respectability, but he shall never buy peace."" Jamison straightens resolutely, bows, and departs." + .GSTR STR?145,"""If there is any trouble, and I am unable to help -- a signal from an upstairs seaward window will bring my men. They can be here in moments,"" the Captain says" + .GSTR STR?187,"Your face convulses in a prodigious yawn." + .GSTR STR?189,"Your eyes are extraordinarily dry. You blink to moisten them, and snort awake a minute later, drool dripping down your chin." + .GSTR STR?277,"pour" + .GSTR STR?285,"Turning" + .GSTR STR?302,"Your battered hands can take no more. Your grip loosens and the sea comes up to break your fall." + .GSTR STR?69,"[Press RETURN or ENTER to " + .GSTR STR?73,"Sorry, no loitering,"" says the butler" + .GSTR STR?274,"extinguish" + .GSTR STR?292,"Caressing" + .GSTR STR?6,"Pirate Queen" + .GSTR STR?35,"A tiny glow of fire creeps across a stretch of floor -- inside the cage full of ammunition" + .GSTR STR?162,"Buried in the subtropical undergrowth, you lose all sense of being on someone's private estate; jungle seems to extend for miles on all sides of you. A footworn path curves from east to north here, and the vegetation lessens to the northeast." + .GSTR STR?213,"Avast me, but ain't ye a beauty" + .GSTR STR?217,"Leave yer honey be, wench. He'll join ye anon." + .GSTR STR?273,"nega" + .GSTR STR?332,"put" + .GSTR STR?335,"slippered toes" + .GSTR STR?19,"Don't be absurd." + .GSTR STR?23,"Don't dally around." + .GSTR STR?26,"Don't bother." + .GSTR STR?50,"You aren't " + .GSTR STR?52,"You already have" + .GSTR STR?84,"[There seems to be a noun missing in that sentence.] +" + .GSTR STR?91,"Pardon? +" + .GSTR STR?92,"It already is. +" + .GSTR STR?100,"[There was no verb in that sentence!] +" + .GSTR STR?104,"You are in an officer's cabin, lit by the firelight glowing through a porthole. A door is to starboard. Except for the built-in bed, the room seems to have been emptied thoroughly, if hurriedly." + .GSTR STR?117,"Cannon line the deck, aimed at open sea and the island." + .GSTR STR?122,"Don't push your luck too far." + .GSTR STR?132,"You are misted in the spray of waves hitting the reefs. The island is far away" + .GSTR STR?160,"You are on a well-trampled lawn at the side of the house, one low doorway leading in to the east. Gravelled paths lead north and south into the undergrowth." + .GSTR STR?163,"You are in a small clearing under the western side of the house. Heavy vines creep up the wall past a second floor window, open to the night air. Southwest is an opening in the bushes." + .GSTR STR?200,"You are at the far end of a dank passageway heading north. A wooden door leads east." + .GSTR STR?209,"A small bottle has been dropped nearby." + .GSTR STR?293,"in front of" + .GSTR STR?320,"You awake too late to save the ship -- or rather, you never wake at all." + .GSTR STR?322,"Startled, Lafond raises his sword and you fly onto the blade. You fall over your lover's body and expire, your lips on his in a kiss outlasting death." + .GSTR STR?324,"Other cries rise to match yours as you sweep down the center of the ballroom in an avalanche of dancers, knocking yourself unconscious against the far wall. You awaken the next morning, in the village, embarrassed and alone." + .GSTR STR?330,"put the stone in" + .GSTR STR?111,"A chipped piece of mirror sits propped on a shoulder-high timber." + .GSTR STR?118,". ""Hey, boy! Get away from those. It ain't safe!"" yells a sailor." + .GSTR STR?173,""" The butler points up the stairs. +" + .GSTR STR?236,"PRSI" + .GSTR STR?238,"OOPS" + .GSTR STR?1,"You can't go that way." + .GSTR STR?46,"You can see" + .GSTR STR?47,"You can't see any " + .GSTR STR?49,"You can't " + .GSTR STR?81,"You can't do that from here. +" + .GSTR STR?82,"You can't go that way. +" + .GSTR STR?85," " + .GSTR STR?114,"You can't swim, and decide not to jump." + .GSTR STR?155,"You crouch in the green rustlings of the hedge. Not far east, wind keens up the cliff, high above swells breaking against a rocky shore. You know the folly is somewhere to the west. North, the hedge is somewhat less dense." + .GSTR STR?157,"You can't see any way to get past into the folly." + .GSTR STR?194,"Cool salt air, blowing past a torch on a spiral staircase below you, ruffles your hair and circles south into the library." + .GSTR STR?246,"restart" + .GSTR STR?4,"Orphan" + .GSTR STR?27,"You dip the oars and pull them towards you. The " + .GSTR STR?59," over the head with" + .GSTR STR?96," over your white linen chemise. Mama would say you belonged in a brothel. +" + .GSTR STR?138,"Eyes closed, his skin with the pallor of death, Nick looks entirely spent. +" + .GSTR STR?197,"A canvas cot is shoved against a wall." + .GSTR STR?203,". The monster snorts in its sleep" + .GSTR STR?208,". There is a tear at the bottom" +TEAR=STR?208 + .GSTR STR?212,"Me name's Andy Crulley, and ladies learn to love me" + .GSTR STR?221,"Lafond grabs your hair and pulls your head sharply back, clinching your arms to your sides. " + .GSTR STR?226,"Lafond's voice is cold, lazy, ""You will die, you know, Jamison.""" + .GSTR STR?314,". The next few minutes last forever as havoc breaks out. Grabbing a plank, you manage to stay afloat, but you are washed out to sea. A brig, Portuguese by its sails, rescues you. The sailors are brown skinned and smooth, and the first mate, the ship's and yours, is gentle. They leave you in Rio, alone and forgotten." + .GSTR STR?321,". The governor of St. Sinistra provides you with food and shelter; at least, until he grows tired of your body and your presence." + .GSTR STR?336,"Lafond hits you back. The end is not sweet and not fast." + .GSTR STR?339,"Lafond pulls the sheets up to cover you both, pressing his long flaccid body against yours. Waves crash against the base of the cliff." + .GSTR STR?342,"Lafond cries, ""No deal then. Take them, men!"" The dragoons pour down the cliff." + .GSTR STR?64," The fall to the bottom of the well is endless; you've lost consciousness by the time the water overtakes you." + .GSTR STR?75,", pushing you out of the house. +" + .GSTR STR?90,"Aye-aye. +" + .GSTR STR?268,"marrying" + .GSTR STR?287,"soak" + .GSTR STR?307," The blade bites less then you expected." + .GSTR STR?319,"Too drugged to keep your grip on the ropes, you slip into the sea." + .GSTR STR?13," doesn't do anything." + .GSTR STR?67,"You find yourself speechless with dread. +" + .GSTR STR?123,"""Aaieeee!"" echoes a scream, followed by several grunts and thumps" + .GSTR STR?205,"Hewn from dense rock, the cell is a stagnant burrow. Except for the tiniest glow of light from the torch two rooms away, it is pitch black." + .GSTR STR?325,"untie it" + .GSTR STR?72,"Mama would have been shocked. +" + .GSTR STR?199,"A powder horn hangs on a long strap from the wall." + .GSTR STR?305,"thick" + + .ENDI diff --git a/ship.zap b/ship.zap new file mode 100644 index 0000000..c70515a --- /dev/null +++ b/ship.zap @@ -0,0 +1,2148 @@ + + + .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 diff --git a/ship.zil b/ship.zil new file mode 100644 index 0000000..929b704 --- /dev/null +++ b/ship.zil @@ -0,0 +1,3017 @@ +"SHIP for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + + + + + ; + ;> + ) + ( + + > + + ) + (T + )>) + ( + > + + ) + (T + )>) + (T + )>) + ( + + ) + (T + )>) + ( + > + )>> + + + ) + ( ,HERE> + ) + (T + )>> + + + + + )> + > + + ) + (T + )>) + (> + ) + ( + > + + ) + (T + )> + + ;) + ( + )>> + +> + +> ) + ( + + + + > + ) + (T )>> + + + > + ) + (T )>> + + + + + + + + + + + ) + (T + + )>) + ( + ) + ( + + ;> + ) + (T + )> + ; + ) + (T + + + )>> + + + + + + ) + ;( + + > + + ) + ( + ) + (T )>> + + + + + + + )> + + + ) + ( + + > + + + + + ) + (T + )>) + (T + )>) + ;( + > + > + ; + + + + + ) + (T + )>) + ( + > + + ) + ( + ) + ( + > + ) + ;( + + + )>)>> + + + + + + ;)>> + + + + ;["Similar to the card taken by" T ,HERO ","] +;> + + ) + (T + )> + + + + > + + ) + (T + )>) + ;( + > + ) + ( + > + + )>> + +> + + + + ; + + ,CABIN-BED> + + ) + (T + )> + + ) + (T )> + ) + (T + )>> + + + + + + + ) + (> + + + + + ) + (T + )>) + ( + > + + )> + + ,CAPT-BED> + )> + + + ) + (T + )> + + ;> + ) + (T + )> + ;>)>> + +> ;"Is the ladder swinging from Poop?" + + + )> + + > + + ; + + > + + + + + + + ,CAPT-BED ,CAPT-QUARTERS> + ) + (T ;"(Not on the LEDGE)" + )> + )>) + (T + )>> + + + +> + + + + + + ) + ( + + + >>> + ) + ( + + ) + (T + )> + > + )> + )>> + + + + + + > + ) + (T + )>) + ( + + ) + (T + )>)>> + + + + + +; + + + ) + ( + >> + + ) + ( + + ) + (> + > + > + + + )> + + ) + (T + + + )>) + ( + + ) + (T + + )>) + ( + + + ) + (,SKIFF-TIED + > + + ) + (T + + ) + (T + )>)>)>> + +> + + )> + ;"here to avoid indent in SUPERBRIEF on 2" + + ) + ( + ) + ( + ) + ( ;"used to be 9" + )>> + + ;( + ) + ;( + ) + ;( + ) + ;( + ) + +)) + + + ) + (T + )>> + + + + ) + ( ,LEDGE> + ) + (T + > + )> + + ; + ) + (T + )> + + + )> + + + ) + (T + + + + )>)>> + + + + + ;> + + ) + (T + + )>> + + + +)) + + + >> + + + ) + ( + + >> + ) + ( + + + ) + (> + ) + (T + )>) + (T + )>) + (.VARG + ) + ( + + ) + (T + )>) + ( + > + ) + ( + + ) + (T + )>) + ( + + > + ) + ;( + ) + (T + + ; + + )> + ; + > + )> + + )> + + )>) + ( + + )>)>> + +> + + + + + + + ) + ;( + + + >> + ) + (T + )>)>> + + + + + ) + ( + + > + ) + (T + )>)>> + +> + + + ) + (T + + ; + + + )>) + (T + + + )> + + ) + (T + + )> + + )>)>> + + + + + + + ) + ( + > + ) + ( + + ) + ( + ) + ( + + > + >)> + ) + (T + )>) + ( + + ) + ( + ) + (T + )>) + ( + )>> + + + + + +> + + + > + >> + ) + ( + ,FUSE-LIT + >> + + + ) + ( + + )>> + +;"For the sailors unable to read the sign overhead, a high fence +guards the supplies. There is a closed mesh gate in the fence." + + + + + + + ) + (T + + ) + (T + )>)>) + ( + + + ) + (T + )>) + ( + >> + + + + + ) + (T + )>)>> + + + ) + (T + )>> + + + + + + + ) + (T + )>) + ( + ) + ( + ) + ( + ) + ( + )>> + +> + + + + + ) + ( + > + + ) + ( + + ) + ( + + ) + ( + ) + ( + ; + )> + + + + + + + ) + (> + + ) + (T + + + + + ) + ( + + + > + + ; + > + )> + > + )>) + ( + + + ; + + ) + (T + + )>) + (T + + + )> + )>) + ( + > + + )>> + + + + + + + > + )>> + + + + + )>> + +> + + + )> + > + + > + >> + + + + + ) + ( + )>)> + > + + + > + ,FUSE-LIT> + + > + )> + + ) + ( + + ) + (> + + ) + (T + )> + > + )>> + + + + ; + ; + + + + > + ) + ( ,SKIFF ,CASK ,BEACH> + + + ) + (T + >)> + ) + (T + )>) + (T + )>> + +; + + + +) "AUX" (C <>) (X <>)) + + )> + + ;> + ) + (T + )>) + ( + > + ) + ( + ) + ( + > + ) + ( + + > + >> + + + ) + ( + ) + (T ; + )>) + (T + > + >> + + ) + ( + ) + ( + ) + (T + )>)> + + ;) + (T + + ;)>) + ( + > + + )>> + + + + + > + ) + ( + + > + + )> + )>> + + + + + + + + + + + ) + (T + )>)>> + + + + + ) + ( + > + + ) + ( + )>> + + + > + >> + ) + (T + + + + + )> + + + )> + + ;> + + )> + + + + ) + (> + > + > + + ) + (T + )> + ) + (T + )>) + (T + + )>)>> + +> +> + + + + + + + ; + + ;"the crew is rounding up prisoners" + + + + ) + ( + > + + ) + ( + >> + + ) + ( + ) + (T + + + ) + (T + )>)>> + + + + + + + ) + ( + + + ) + ( + ) + ( + ) + (T + )>)>> + + + + + >> + + + + + + )> + >) + ( + + )> + >)>> + + + + + + >) + ( + > + ) + (T )>> + + + + + )>> + + + + + ) + ( + ) + ( + )>> + + + +)) + + + ) + ;( + > + + ) + ( + >> + > + )>) + ( + ) + ( + > + ) + (T + )>) + ( + ) + ( + + + > + )> + + ) + (T + )> + ; + ) + (T + + + > + )> + + ) + (T + )>)>) + ;( + > + ) + ( + ) + ( + + ) + (T + )> + ; + + + + ) + (T + )>) + ;( + > + + + + >>> + + + ) + ( + + ) + ( + + + ) + (T + )>)>> +> + + + + + ) + ( + ) + ( + + >> + + + + ) + (T + + ;)>)>> + + + + + + > + )> + + + ) + (T + )> + ) + ( + + > + + + ) + ( + + >> + + + )> + + ,CASK> + + + + > + > + + + ) + (T + )> + + + + + + ) + ( ,QUARTERDECK> + )>)>) + ( + )>> + + + ) + (T + )>> + + + + + + + +)) + + )> + + + ) + (T + )> + ) + ( + + > + )> + ) + ( + + > + + + )>)> + ) + ( + + ) + (T + > + + + + ) + (T + )> + )>)>> + + + + + + + ) + (T + )> + + > + ) + ( + ,FUSE-LIT + >> + + ) + ( + > + )>> + +> + + ) + ( + + ) + (T + + )>> + + + + + + + + ) + ( + ) + ( + ) + ( + )>> + + + + + ,WATER-BARREL) + (T + )>> + +; "Routine for both water and rum barrels." + + + + + > + ) + (T + )>) + ( + )>) + ( + + + ) + ( + + )>) + ( + + ) + (T + )>) + ( + ) + ( + + ) + (T + )> + + ;) + ( + ) + ( + + ) + ( + ) + (> + ) + ( + + ) + ( + ) + (T + + )>) + ( + > + + + ) + ( + + )>) + (T + )>)>> + +;> + >> + ) + (T + + + + + > + + + ) + ( + ; + )> + ;) + (T + + + + ) + ( + )> + )>)> + > + +)) + + + ) + ( + ) + ( + > + )> + > + >> + + )> + + + > + + + ) + ( + ; + + )> + > + + + + + + >) + ( + > + )>> + + + + + + + ) + ( + + ) + (T + )>) + ( + )>> + + + + + ) + ( + + > + + + + + ) + (T + + + ) + (T + )>)>) + ( + ) + ( + )>> + +> + +; + + + ) + (T + )> + ) + ( + + + + + > + + + + )> + ) + (T + )>) + ( + + ) + (T + + )>) + ( + )>> + + + + + >> + + + ) + (T + )> + + ) + (T + )> + ) + ( + + )>> + + + + + ) + ( + + ) + ( + )>> + + + + + + ) + (T + )> + )>> + + + + + + )> + + ) + (T + + )>> + + + +)) + + )> + + + ) + (T + )>) + ( + )>> + + + + + )>> + + + + + + + ) + (T + )>)>> + + + + + ) + ( + + ) + ( + + ) + ( + )>> + +> + +; + > + + + + ) + ( + > + + ,PROTAGONIST> + )> + + ) + (T + + + ) + (T + + )>)>) + ( + + )>> + + + + +;"I axed the object" +; + + ) + (T + )>)>> + +;"If player hasn't gotten out by now, kill him/her off. On 25th move." +; + + ) + (T )>> + + + ,PCR>)> + > + +> + + + + + + + ; ". Is this advancing every 15 moves, despite +where you look or are, etc? BUG #107. Please investigate and report.]" CR> + )> + + > + + > + ) + (.CANT-SEE-REEFS + + ) + (T + )>) + (T + ,PCR>)>) + (> + ) + ( ; "So it won't desc." + ;"more than once a turn" + >) ;"but it will advance next turn!" + (T + ".">)>> + + +> + + + +> + + + + <+ ,CASK-LOC ,ROWING>) + ( + <+ ,SKIFF-LOC ,ROWING>)>> + + + + + + + ) + ( + >> + + + " lodges in the sand" ,PCR CR> + + + ) + ( + + )>) + ( + + + ) + (T + >)>) ;"added 23.6.87" + (T + )>)> + + + ) + ( + )> + > + +; + <+ ,CASK-LOC ,ROWING>) + ( + <+ ,SKIFF-LOC ,ROWING>)>> + > + > ;"first turn: KLUDGE" + ) + ( + + ;"you can't be there except" + ;"in the skiff" + + ) + ( + >> + + + " lodges in the sand" ,PCR CR> + + + ) + ( + + )>) + (T + )>)> + + ; + > ;"in case rower overshoots" + ;"the mark." + + + ) + ;( + >> + + + + + + ) + ( + + + + )>) + ;( + + + ) + (T + )>) + ;( + > + + ) + ;(T + > + )>)> + + ) + ( + )> + > + + + +) "AUX" (STR <>)) + + ) + ( + + + ) + (T + + )> + ) + (T + )>) + ( + ) + ( + + + ) + (T + + + )> + ) + ( + + >> + ) + ( + + ) + (T + )>) + ( + ,SKIFF> + + ) + (T + )>) + (T + )>) + ( + + ) + ( + )>) + ( + > + + )>> + +;) "AUX" (STR <>)) + + ) + ( + + + ) + (T + )>) + (T + )>) + ( + ) + ( + + + ) + (T + + + )> + ) + ( + + >> + + + + + + ;) + (T + )>) + ( + + ) + (T + )>) + ( + ,SKIFF> + + ) + (T + )>) + (T + )>) + ( + + ) + ( + )>) + ( + > + + )>> + + + + + )>> + + + + ; + + ) + (T + )> + + ;"Get player off skiff before moving it" + + > + + + + + ) + ( + ; + + )> + + + > + + + ) + ( + )>) + (T + )> + + ) + (T + )>) + ( + >> + + )>> + + + +)) + + + ,CASK> + + ,CASK-LOC) + (T + + ,SKIFF-LOC)>> + + 2> + + + ) + (T + )>) + ( 5> + ) + ( + ) + (T + )> + ) + ( + > + ;>> + + )>> + + + + + + + ) + ( + ) + ( 5> + ) + (> + ) + (T + + ) + ( + ) + ( + ) + ( + + ) + ( + ) + ( + + ) + (T + + + + + > + + >> + ) + + ;"Dad, Crull, Laf only" + + ( + + + ; + ;"need for check" + > + + +;"With a quiet thud, it hits D ,PRSI square between the eyes. +He crumples to the ground" + ) + (T + + + )> + )>) + (T + )>)>)>) + ( + > + ) + ( + > + + + ) + ( + ) + (T + + + )> + + )>) + ( + > + ) + (T + + )>) + ( + )>> + + + + + + ,HERE> + ) + (> + ) + (T + )>) + (T + ,CASK> + ) + (T + )> + )> + ) + ( + + ,HERE ,GLOBAL-OBJECTS>> + + ,HERE ,GLOBAL-OBJECTS>>>> + )>> + + + + + + ) + ( + + )>) + (T + + ) + (T + + )>)>) + ( + + ) + (T + + )>> + + + + + + ) + (T + )>)>> + +; \ No newline at end of file diff --git a/syntax.zil b/syntax.zil new file mode 100644 index 0000000..944885d --- /dev/null +++ b/syntax.zil @@ -0,0 +1,893 @@ +"SYNTAX for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + + ;PRY + +;"the following are all to make BODY-PARTS-HANDLER work" + +; +; +; +; +; +; + + + + + + + + + +; + + + + + +; + + + + + + + + + + + + +^L +;"game commands" + + + + + + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; +; +; +; +; +; +; +; + + + + +; + + +;"subtitle real verbs" + +; +; +; + + + + + +; +; + + + + + +; + + + + + + + +; +; +; +; + +; +; + + + + + + +; + + + +; ;"ride horse west" + + + + + + + + +; + + +; +; +; +; + +; +; +; + +; + +; +; +; +; + +; +; +; + + + +; + + + + + + + + + + + + + + + + + + + +; + +; + +; + + + + +; + +; CROSS> +; + + +; + + +; + + + + +; V-DEFLATE> +; +; + + + + + + + + + + DIG> + DIG> + + + + + + + + + + + + + + + + + + + +; +; + + + + + + + +; + + +; + +; +; + + + + + +; + + + + + + + + + +; "See HAND OBJECT stuff." + + + + + + + + + + + + ; "LOAD SHOT INTO PISTOL" + + + + + + + + + + + + ; "NICK, DUCK !" + +; + + + + + + + + + + + + + + + + +; +; +; +; + + + + + + + + + + + + + + + + + + + +; + + + + + +; + +; STAND-ON> + + + + + + + + + + + + + + +; +; + + + + + + + + +; + +; +; +; + + + + + + + +; +; + + + + + + +; +; + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ;LOOK-OVER> + + + +; + + + + + +; + + MAKE-LOVE> +; MAKE-WITH> +; +; + + + + + + + +; + + +; + + + + + + + + + + + + + + + + + + + + +; + + + +; +; + + +; +; +; +; + +; + + + + + +; +; + + + +; +; + + + + + + + + + + + + + + +; WRING> +; WRING> + + + + + POUR-FROM> + POUR-FROM> +; +; + + + + + + + + + PUT-UNDER> + + + + +; +; + + + + + + +; +; +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; ;"ROLL OUT TO THE FORE" +; +; ;"for ROLL SOD ON CIRCLE" +; ;"ditto" + + + + + + + + + +; + +; +; +; + +; +; + + + + + + + + + + + + + + +; +; + + + + + + ;"FIRE GUN IN AIR" + + + + + + + + + SINK> + + + + + +; +; + + + + +; + + + + + + + + + +; + + + + + + + + + + + + + STAND-ON> + STAND-ON> + + + +; +; + + + +; + + +; + + PUT-UNDER> + + PUT-BEHIND> + + + +; +; +; ;"for PUT BABY TO SLEEP" +; + + + + + + ;"Amy adds 17.12.86" + ;"Amy adds 12.6" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; + + + + + + + + + + + + + + + + + + + + + + + + + TIE> + TIE> + + +; + + + + + + + + + + + +; + + + + +; + +; +; + + + + + + + + + + UNROLL> + + UNTIE> + + + USE> + USE> + +; +; + + + + + + + + + + + + + + +; STAND-ON> + ;"formerly V-LEAP" + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; +; + + + + + + + + + + + + + diff --git a/verbs.zap b/verbs.zap new file mode 100644 index 0000000..660c434 --- /dev/null +++ b/verbs.zap @@ -0,0 +1,3441 @@ + + + .FUNCT V-VERBOSE + SET 'VERBOSITY,2 + PRINTI "Maximum verbosity." + CRLF + CRLF + CALL V-LOOK + RSTACK + + + .FUNCT V-BRIEF + SET 'VERBOSITY,1 + PRINTC 66 + PRINT RIEF-DESC + RTRUE + + + .FUNCT V-SUPER-BRIEF + SET 'VERBOSITY,0 + PRINTI "Superb" + PRINT RIEF-DESC + RTRUE + + + .FUNCT V-SAVE + SET 'P-CONT,FALSE-VALUE + SET 'QUOTE-FLAG,FALSE-VALUE + SAVE \?CCL3 + PRINT OK + RTRUE +?CCL3: PRINT FAILED + RTRUE + + + .FUNCT V-RESTORE + RESTORE \?CCL3 + PRINT OK + RTRUE +?CCL3: PRINT FAILED + RTRUE + + + .FUNCT V-SCRIPT + GET 0,8 + BOR STACK,1 + PUT 0,8,STACK + CALL CORP-NOTICE,STR?243 + CALL V-VERSION + RSTACK + + + .FUNCT V-UNSCRIPT + CALL CORP-NOTICE,STR?244 + CALL V-VERSION + GET 0,8 + BAND STACK,-2 + PUT 0,8,STACK + RTRUE + + + .FUNCT CORP-NOTICE,STRING + PRINTI "Here " + PRINT STRING + PRINTR " a transcript of interaction with" + + + .FUNCT V-INVENTORY + CALL RUNNING?,I-LSED + ZERO? STACK /?CND1 + GRTR? LAFOND-CTR,HORNY \?CND1 + CALL HELD?,PINCH + ZERO? STACK /?CCL7 + CALL CTPRINT,PINCH + PRINTI " is not enough to cover" + JUMP ?CND5 +?CCL7: PRINTI "You blush to look at" +?CND5: PRINTR " your naked body." +?CND1: SUB 0,WORNBIT >D-BIT + CALL DESCRIBE-CONTENTS,WINNER,FALSE-VALUE,3 + SET 'D-BIT,WORNBIT + CALL DESCRIBE-CONTENTS,WINNER,FALSE-VALUE,3 + SET 'D-BIT,FALSE-VALUE + CRLF + RTRUE + + + .FUNCT V-QUIT + CALL V-SCORE + CALL DO-YOU-WISH,STR?245 + CALL YES? + ZERO? STACK /?CCL3 + QUIT + RTRUE +?CCL3: PRINT OK + RTRUE + + + .FUNCT V-RESTART + CALL V-SCORE + CALL DO-YOU-WISH,STR?246 + CALL YES? + ZERO? STACK /FALSE + PRINTI "Restarting." + CRLF + RESTART + PRINT FAILED + RTRUE + + + .FUNCT DO-YOU-WISH,STRING + PRINT INDENT + PRINTI "Do you wish to " + PRINT STRING + PRINTI "? (Y is affirmative): " + RTRUE + + + .FUNCT YES? +?FCN: PRINTC 62 + READ P-INBUF,P-LEXV + GET P-LEXV,1 + CALL YES-WORD,STACK + ZERO? STACK \TRUE + GET P-LEXV,1 + CALL NO-WORD,STACK + ZERO? STACK \FALSE + GET P-LEXV,1 + EQUAL? STACK,W?N /FALSE + PRINTI "This is important: please answer YES or NO. " + JUMP ?FCN + + + .FUNCT FINISH,REPEATING=0,CNT=0 +?PRG1: CRLF + ZERO? REPEATING \?CND3 + SET 'REPEATING,TRUE-VALUE + PRINT INDENT + CALL V-SCORE +?CND3: GRTR? SCORE,24 \?CND5 + PRINT INDENT + PRINTI "Thus you have finished the story of " + PRINT GAME-CAPS + PRINTI ", earning the title, """ + GET WINNING-RANKS,FINAL-RANK + PRINT STACK + PRINTI ".""" + LESS? FINAL-RANK,4 \?CND7 + PRINTI " There are other, perhaps more satisfying, conclusions." +?CND7: CRLF +?CND5: PRINT INDENT + PRINTI "You may start over, restore a saved position, or end this session of the game. (Type RESTART, RESTORE, or QUIT): +>" + PUTB P-LEXV,0,10 + READ P-INBUF,P-LEXV + PUTB P-LEXV,0,60 + INC 'CNT + GET P-LEXV,1 + EQUAL? STACK,W?RESTAR \?CCL11 + RESTART + PRINT FAILED + JUMP ?PRG1 +?CCL11: GET P-LEXV,1 + EQUAL? STACK,W?RESTOR \?CCL13 + RESTORE /?CCL13 + PRINT FAILED + JUMP ?PRG1 +?CCL13: GET P-LEXV,1 + EQUAL? STACK,W?QUIT,W?Q /?CCL16 + GRTR? CNT,10 \?PRG1 +?CCL16: QUIT + JUMP ?PRG1 + + + .FUNCT V-VERSION,CNT=17,V + GET 0,1 + BAND STACK,2047 >V + PRINT GAME-CAPS + CRLF + PRINTI "Infocom interactive fiction +Copyright (c) 1987 by Infocom, Inc. All rights reserved. +" + PRINT GAME-CAPS + PRINTI " is a trademark of Infocom, Inc. +Release " + PRINTN V + PRINTI " / Serial number " +?PRG1: IGRTR? 'CNT,23 /?REP2 + GETB 0,CNT + PRINTC STACK + JUMP ?PRG1 +?REP2: CRLF + RTRUE + + + .FUNCT V-$COMMAND + DIRIN 1 + RTRUE + + + .FUNCT V-$RANDOM + EQUAL? PRSO,INTNUM /?CCL3 + PRINTR "ILLEGAL." +?CCL3: SUB 0,P-NUMBER + RANDOM STACK + RTRUE + + + .FUNCT V-$RECORD + DIROUT D-RECORD-ON + RTRUE + + + .FUNCT V-$UNRECORD + DIROUT D-RECORD-OFF + RTRUE + + + .FUNCT V-$VERIFY + EQUAL? PRSO,INTNUM \?CCL3 + EQUAL? P-NUMBER,25 \?CCL3 + PRINTN SERIAL + CRLF + RTRUE +?CCL3: PRINTI "Verifying." + CRLF + VERIFY \?CCL8 + PRINT OK + RTRUE +?CCL8: CRLF + PRINTR "** Bad **" + + + .FUNCT V-ALARM + EQUAL? PRSO,ROOMS \?CCL3 + CALL PERFORM-PRSA,ME + RTRUE +?CCL3: EQUAL? PRSO,ME \?CCL5 + PRINTI "You pinch yourself. " + PRINT YOU-ARENT + PRINTI " dreaming" + PRINT PCR + RTRUE +?CCL5: FSET? PRSO,DEADBIT /?CCL7 + FSET? PRSO,ACTORBIT /?CTR6 + EQUAL? PRSO,CROC \?CCL7 +?CTR6: CALL PRONOUN + PRINTR " isn't asleep." +?CCL7: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-ANSWER-KLUDGE + CALL NOUN-USED,W?I,ME + ZERO? STACK /?CCL3 + CALL V-INVENTORY + RSTACK +?CCL3: SET 'P-WON,FALSE-VALUE + PRINT NO-VERB + CALL STOP + RSTACK + + + .FUNCT V-APPLAUD + PRINTR "Clap." + + + .FUNCT V-ASK-ABOUT,OWINNER + EQUAL? PRSO,ME \?CCL3 + CALL PERFORM,V?TELL,ME + RTRUE +?CCL3: FSET? PRSO,ACTORBIT \?CCL5 + SET 'OWINNER,WINNER + SET 'WINNER,PRSO + CALL PERFORM,V?TELL-ABOUT,ME,PRSI + SET 'WINNER,OWINNER + CALL THIS-IS-IT,PRSI + CALL THIS-IS-IT,PRSO + RTRUE +?CCL5: CALL PERFORM,V?TELL,PRSO + RTRUE + + + .FUNCT V-ASK-FOR + PRINTI "Naturally," + CALL TPRINT-PRSO + PRINTR " doesn't oblige." + + + .FUNCT V-ASK-NO-ONE-FOR,ACTOR + CALL FIND-IN,HERE,ACTORBIT >ACTOR + ZERO? ACTOR /?CCL3 + CALL PERFORM,V?ASK-FOR,ACTOR,PRSO + RTRUE +?CCL3: CALL NO-ONE-HERE,STR?247 + RSTACK + + + .FUNCT V-BITE + CALL HACK-HACK,STR?248 + RSTACK + + + .FUNCT V-BLOW + CALL CANT-VERB-A-PRSO,STR?249 + RSTACK + + + .FUNCT PRE-BOARD + IN? PROTAGONIST,PRSO \?CCL3 + PRINT LOOK-AROUND + RTRUE +?CCL3: CALL HELD?,PRSO + ZERO? STACK /?CCL5 + PRINT HOLDING-IT + RTRUE +?CCL5: CALL UNTOUCHABLE?,PRSO + ZERO? STACK /FALSE + CALL CANT-REACH,PRSO + RSTACK + + + .FUNCT V-BOARD,AV + LOC PROTAGONIST >AV + FSET? PRSO,VEHBIT \?CCL3 + MOVE PROTAGONIST,PRSO + PRINTI "You are now " + FSET? PRSO,INBIT \?CCL6 + PRINTC 105 + JUMP ?CND4 +?CCL6: PRINTC 111 +?CND4: PRINTC 110 + CALL TPRINT-PRSO + PRINTC 46 + LOC PROTAGONIST + GETP STACK,P?ACTION + CALL STACK,M-ENTER + CRLF + RTRUE +?CCL3: FSET? PRSO,ACTORBIT \?CCL8 + PRINT POLITE-SOCIETY + RTRUE +?CCL8: GET P-ITBL,P-PREP1 + EQUAL? STACK,PR?IN \?CCL10 + CALL CANT-VERB-A-PRSO,STR?250 + RSTACK +?CCL10: CALL CANT-VERB-A-PRSO,STR?251 + RSTACK + + + .FUNCT V-BRIBE + ZERO? PRSI \?CCL3 + CALL HELD?,BANKNOTE + ZERO? STACK /?CCL6 + CALL PERFORM,V?GIVE,BANKNOTE,PRSO + RTRUE +?CCL6: PRINTI "A lady bribes only with money" + PRINT PCR + RTRUE +?CCL3: CALL PERFORM,V?GIVE,PRSI,PRSO + RTRUE + + + .FUNCT V-BURN + ZERO? PRSI \?CCL3 + CALL GLOBAL-IN?,FIRE,HERE + ZERO? STACK \?CCL3 + CALL GLOBAL-IN?,TORCH,HERE + ZERO? STACK \?CCL3 + PRINTI "You have no source of fire." + CRLF + FSET? PRSO,WORNBIT \?CCL10 + PRINTI "Unless you relish a fiery death, you had best remove" + CALL TRPRINT,PRSO + RSTACK +?CCL3: PRINTR "Ladies do not play with fire." +?CCL10: EQUAL? PRSO,POWDER \?CCL12 + PRINTI "Papa says never put " + PRINTD POWDER + PRINTR " near a flame." +?CCL12: CALL HELD?,PRSO + ZERO? STACK /?CCL14 + CALL DO-FIRST,STR?252,PRSO + RSTACK +?CCL14: FSET? PRSO,ACTORBIT \?CCL16 + PRINT UNLADY + RTRUE +?CCL16: FSET? PRSO,BURNBIT \?CCL18 + REMOVE PRSO + PRINTI "In an instant," + CALL TPRINT-PRSO + PRINTR " is consumed by fire." +?CCL18: CALL CANT-VERB-A-PRSO,STR?253 + RSTACK + + + .FUNCT V-CHASTISE + EQUAL? PRSO,INTDIR \?CCL3 + PRINT YOULL-HAVE-TO + PRINTI "go in that " + PRINTD INTDIR + PRINTR " to see what's there." +?CCL3: ZERO? CHASTISED? \?CND4 + PRINTI "You may use prepositions to indicate precisely what you want to do: LOOK AT the object, LOOK INSIDE it, LOOK UNDER it, etc. In this case I'll take you to mean LOOK AT the object." + CRLF + PRINT INDENT + SET 'CHASTISED?,TRUE-VALUE +?CND4: EQUAL? PRSO,ROOMS \?CCL8 + CALL PERFORM,V?LOOK + RTRUE +?CCL8: CALL PERFORM,V?EXAMINE,PRSO + RTRUE + + + .FUNCT V-CLEAN + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "Do you also do windows?" + + + .FUNCT V-CLIMB + EQUAL? PRSO,INTDIR \?CCL3 + EQUAL? P-PRSA-WORD,W?CRAWL \?CCL3 + CALL DO-WALK,P-DIRECTION + RTRUE +?CCL3: EQUAL? PRSO,ROOMS \?CCL7 + CALL DO-WALK,P?UP + RSTACK +?CCL7: CALL HELD?,PRSO + ZERO? STACK /?CCL9 + PRINT HOLDING-IT + RTRUE +?CCL9: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-CLIMB-DOWN + EQUAL? PRSO,ROOMS \?CCL3 + CALL DO-WALK,P?DOWN + RSTACK +?CCL3: CALL HELD?,PRSO + ZERO? STACK /?CCL5 + PRINT HOLDING-IT + RTRUE +?CCL5: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-CLIMB-ON + FSET? PRSO,VEHBIT /?CTR2 + FSET? PRSO,ACTORBIT \?CCL3 +?CTR2: CALL PERFORM,V?BOARD,PRSO + RTRUE +?CCL3: CALL HELD?,PRSO + ZERO? STACK /?CCL7 + PRINT HOLDING-IT + RTRUE +?CCL7: GET P-ITBL,P-PREP1 + EQUAL? STACK,PR?IN \?CCL9 + CALL CANT-VERB-A-PRSO,STR?254 + RSTACK +?CCL9: CALL CANT-VERB-A-PRSO,STR?255 + RSTACK + + + .FUNCT V-CLIMB-OVER + CALL HELD?,PRSO + ZERO? STACK /?CCL3 + PRINT HOLDING-IT + RTRUE +?CCL3: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-CLOSE + FSET? PRSO,DOORBIT /?PRD5 + FSET? PRSO,CONTBIT \?CCL3 +?PRD5: FSET? PRSO,SURFACEBIT /?CCL3 + FSET? PRSO,ACTORBIT /?CCL3 + EQUAL? PRSO,RIGGING-OBJECT,GARTER,CROC /?CCL3 + CALL OPEN-CLOSE,PRSO + RSTACK +?CCL3: CALL CANT-VERB-A-PRSO,STR?256 + RSTACK + + + .FUNCT V-CRAWL-UNDER + FSET? PRSO,TAKEBIT /?CCL3 + CALL TELL-HIT-HEAD + RSTACK +?CCL3: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-CRY + CALL NO-TIME-FOR,STR?257 + RSTACK + + + .FUNCT V-CUT + ZERO? PRSI /?CTR2 + EQUAL? PRSI,ROOMS \?CCL3 +?CTR2: CALL HELD?,DAGGER + ZERO? STACK /?CCL8 + CALL PERFORM,V?CUT,PRSO,DAGGER + RTRUE +?CCL8: FSET? PRSO,ACTORBIT \?CCL10 + CALL PERFORM,V?KILL,PRSO + RTRUE +?CCL10: PRINTR "Your fingernails aren't that sharp!" +?CCL3: PRINTI "To put it bluntly, neither" + CALL TPRINT-PRSI + PRINTI " nor you are very sharp" + PRINT PCR + RTRUE + + + .FUNCT V-DANCE,OW + EQUAL? WINNER,PROTAGONIST /?CCL3 + EQUAL? PRSO,FALSE-VALUE,ME,PROTAGONIST \?CCL3 + SET 'OW,WINNER + SET 'WINNER,PROTAGONIST + CALL PERFORM,V?DANCE,OW + SET 'WINNER,OW + RTRUE +?CCL3: FSET? PRSO,ACTORBIT \?CCL7 + EQUAL? HERE,BALLROOM,ORCHESTRA /?CCL10 + PRINTI "This isn't a good place to dance" + PRINT PCR + RTRUE +?CCL10: PRINTI "It is unlikely" + CALL TPRINT-PRSO + PRINTR " would want to dance just now." +?CCL7: EQUAL? PRSO,ROOMS,ME \?CCL12 + ZERO? PARTNER /?CCL15 + PRINT PACE + RTRUE +?CCL15: PRINTR "One cannot dance the minuet alone." +?CCL12: PRINTI "Dancing with" + CALL APRINT,PRSO + PRINTR " is an early symptom of the plague." + + + .FUNCT V-DISEMBARK + ZERO? PRSO \?CCL3 + IN? PROTAGONIST,HERE /?CCL6 + LOC PROTAGONIST + CALL PERFORM-PRSA,STACK + RTRUE +?CCL6: PRINT LOOK-AROUND + RTRUE +?CCL3: EQUAL? P-PRSA-WORD,W?TAKE \?CCL8 + CALL PERFORM,V?TAKE,PRSO + RTRUE +?CCL8: EQUAL? PRSO,LEDGE \?CCL10 + EQUAL? HERE,CABIN \?CCL10 + CALL PERFORM,V?CLIMB-ON,PRSO + RTRUE +?CCL10: IN? PROTAGONIST,PRSO /?CCL14 + PRINT LOOK-AROUND + RETURN 8 +?CCL14: EQUAL? HERE,BY-SHIP,LAGOON \?CCL18 + CALL V-SWIM + RSTACK +?CCL18: MOVE PROTAGONIST,HERE + PRINTI "You" + IN? HERO,PRSO \?CND19 + MOVE HERO,HERE + PRINTI " and " + PRINTD HERO +?CND19: PRINTI " get o" + CALL OFF-VEHICLE?,PRSO + ZERO? STACK /?CCL23 + PRINTI "ff" + JUMP ?CND21 +?CCL23: PRINTI "ut of" +?CND21: CALL TPRINT-PRSO + PRINTR "." + + + .FUNCT V-DRESS + ZERO? PRSO /?CCL3 + FSET? PRSO,ACTORBIT \?CCL6 + PRINTR "There's no need for that." +?CCL6: CALL IMPOSSIBLES + RSTACK +?CCL3: SET 'PRSO,ROOMS + CALL V-GET-DRESSED + RSTACK + + + .FUNCT V-DRINK + CALL CANT-VERB-A-PRSO,STR?258 + RSTACK + + + .FUNCT V-DRINK-FROM + CALL CANT-VERB-A-PRSO,STR?259 + RSTACK + + + .FUNCT V-DROP + CALL SPECIAL-DROP + ZERO? STACK \FALSE + LOC PROTAGONIST + EQUAL? STACK,SKIFF,CASK \?CCL6 + LOC PROTAGONIST + MOVE PRSO,STACK + JUMP ?CND4 +?CCL6: MOVE PRSO,HERE +?CND4: PRINTR "Dropped." + + + .FUNCT SPECIAL-DROP + EQUAL? HERE,BOWSPRIT,ON-LADDER \?CCL3 + REMOVE PRSO + PRINTI "With a splash," + CALL TPRINT-PRSO + PRINTR " is lost forever." +?CCL3: LOC PROTAGONIST + EQUAL? STACK,SHALLOWS \?CCL5 + REMOVE PRSO + PRINTI "With a plop," + CALL TPRINT-PRSO + PRINTR " is dragged out by a wave." +?CCL5: EQUAL? HERE,RIGGING-ROOM /?CCL7 + EQUAL? HERE,CROWS-NEST \FALSE + EQUAL? PRSA,V?THROW \FALSE +?CCL7: FSET? PRSO,WEARBIT \?CCL14 + FSET? PRSO,WORNBIT /?CCL14 + MOVE PRSO,HERE + PRINTI "Billowing out," + CALL TPRINT-PRSO + PRINTI " catch" + FSET? PRSO,PLURALBIT /?CND17 + PRINTI "es" +?CND17: PRINTI " in" + CALL TPRINT,RIGGING-OBJECT + PRINTR " nearby." +?CCL14: MOVE PRSO,WHICH-MAST? + CALL CTPRINT,PRSO + PRINTR " falls to the deck below." + + + .FUNCT V-EAT + PRINTI "A lady is trained to eat anything, but this is absurd" + PRINT PCR + RTRUE + + + .FUNCT V-EMBRACE + CALL TOUCHING?,PRSO + ZERO? STACK /?CCL3 + PRINTI "You give" + CALL TPRINT-PRSO + PRINTI " a brief embrace" + FSET? PRSO,ACTORBIT /?CND4 + PRINTI " and are not surprised when it doesn't respond" +?CND4: PRINT PCR + RTRUE +?CCL3: IN? PRSO,GLOBAL-OBJECTS \?CCL7 + CALL IMPOSSIBLES + RSTACK +?CCL7: CALL CANT-REACH,PRSO + RSTACK + + + .FUNCT V-EMPTY,OBJ,NXT + ZERO? PRSI \?CND1 + SET 'PRSI,GROUND +?CND1: FSET? PRSO,CONTBIT /?CCL5 + PRINT HUH + RTRUE +?CCL5: FSET? PRSO,OPENBIT /?CCL7 + PRINTI "But" + CALL TPRINT-PRSO + PRINTR " isn't open." +?CCL7: FIRST? PRSO /?CCL9 + PRINTI "But" + CALL TPRINT-PRSO + PRINTR " is already empty!" +?CCL9: FIRST? PRSO + EQUAL? PRSI,STACK \?CCL11 + NEXT? PRSI /?CCL11 + PRINT THERES-NOTHING + PRINTI "in" + CALL TPRINT-PRSO + PRINTI " but" + CALL TRPRINT,PRSI + RSTACK +?CCL11: FIRST? PRSO >OBJ /?PRG15 +?PRG15: NEXT? OBJ >NXT /?BOGUS17 +?BOGUS17: EQUAL? OBJ,PROTAGONIST /?CND18 + PRINTD OBJ + PRINTI ": " + FSET? OBJ,TAKEBIT \?CCL22 + MOVE OBJ,PROTAGONIST + EQUAL? PRSI,HANDS \?CCL25 + PRINTI "Taken." + CRLF + JUMP ?CND18 +?CCL25: EQUAL? PRSI,GROUND \?CCL27 + CALL PERFORM,V?DROP,OBJ + JUMP ?CND18 +?CCL27: FSET? PRSI,SURFACEBIT \?CCL29 + CALL PERFORM,V?PUT-ON,OBJ,PRSI + JUMP ?CND18 +?CCL29: CALL PERFORM,V?PUT,OBJ,PRSI + JUMP ?CND18 +?CCL22: CALL WASTES +?CND18: ZERO? NXT /TRUE + SET 'OBJ,NXT + JUMP ?PRG15 + + + .FUNCT V-EMPTY-FROM + IN? PRSO,PRSI \?CCL3 + FSET? PRSO,TAKEBIT \?CCL6 + MOVE PRSO,PROTAGONIST + CALL PERFORM,V?DROP,PRSO + RTRUE +?CCL6: CALL WASTES + RSTACK +?CCL3: CALL NOT-IN + RSTACK + + + .FUNCT V-ENTER + FSET? PRSO,DOORBIT \?CCL3 + CALL OTHER-SIDE,PRSO + CALL DO-WALK,STACK + RTRUE +?CCL3: FSET? PRSO,VEHBIT \?CCL5 + CALL PERFORM,V?BOARD,PRSO + RTRUE +?CCL5: FSET? PRSO,ACTORBIT \?CCL7 + CALL PERFORM,V?BOARD,PRSO + RTRUE +?CCL7: IN? PRSO,LOCAL-GLOBALS \?CCL9 + CALL IMPOSSIBLES + RSTACK +?CCL9: FSET? PRSO,TAKEBIT /?CCL11 + CALL TELL-HIT-HEAD + RSTACK +?CCL11: CALL HELD?,PRSO + ZERO? STACK /?CCL13 + PRINT HOLDING-IT + RTRUE +?CCL13: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-EXAMINE + FSET? PRSO,ACTORBIT \?CCL3 + FIRST? PRSO \?CCL6 + CALL PERFORM,V?LOOK-INSIDE,PRSO + RTRUE +?CCL6: CALL NOTHING-INTERESTING + PRINTI "about" + CALL TRPRINT,PRSO + RSTACK +?CCL3: FSET? PRSO,DOORBIT /?CTR7 + FSET? PRSO,SURFACEBIT \?CCL8 +?CTR7: CALL V-LOOK-INSIDE + RSTACK +?CCL8: FSET? PRSO,CONTBIT \?CCL12 + FSET? PRSO,OPENBIT \?CCL15 + CALL V-LOOK-INSIDE + RSTACK +?CCL15: PRINTI "It" + PRINT IS-CLOSED + PRINT PCR + RTRUE +?CCL12: FSET? PRSO,LIGHTBIT \?CCL17 + PRINTI "It's o" + FSET? PRSO,ONBIT \?CCL20 + PRINTC 110 + JUMP ?CND18 +?CCL20: PRINTI "ff" +?CND18: PRINT PCR + RTRUE +?CCL17: FSET? PRSO,NARTICLEBIT \?CCL22 + CALL SENSE-OBJECT,STR?260 + RSTACK +?CCL22: RANDOM 100 + LESS? 25,STACK \?CTR23 + EQUAL? PRSO,PSEUDO-OBJECT \?CCL24 +?CTR23: PRINT COMMON-LOOKING + PRINTD PRSO + PRINT PCR + RTRUE +?CCL24: RANDOM 100 + LESS? 60,STACK /?CCL28 + CALL NOTHING-INTERESTING + PRINTI "about" + CALL TRPRINT,PRSO + RSTACK +?CCL28: CALL PRONOUN + PRINTI " look" + FSET? PRSO,PLURALBIT /?CND29 + EQUAL? PRSO,ME /?CND29 + PRINTC 115 +?CND29: PRINTI " like every other " + PRINTD PRSO + PRINTR " you've ever seen." + + + .FUNCT NOTHING-INTERESTING + PRINT THERES-NOTHING + RANDOM 100 + LESS? 25,STACK /?CCL3 + PRINTI "unusual" + JUMP ?CND1 +?CCL3: RANDOM 100 + LESS? 33,STACK /?CCL5 + PRINTI "noteworthy" + JUMP ?CND1 +?CCL5: RANDOM 100 + LESS? 50,STACK /?CCL7 + PRINTI "extraordinary" + JUMP ?CND1 +?CCL7: PRINTI "special" +?CND1: PRINTC 32 + RTRUE + + + .FUNCT V-EXIT + ZERO? PRSO /?CCL3 + FSET? PRSO,VEHBIT \?CCL3 + CALL PERFORM,V?DISEMBARK,PRSO + RTRUE +?CCL3: CALL IN-EXITABLE-VEHICLE? + ZERO? STACK \FALSE + CALL DO-WALK,P?OUT + RSTACK + + + .FUNCT IN-EXITABLE-VEHICLE?,AV + LOC PROTAGONIST >AV + EQUAL? AV,CASK,SKIFF,LEDGE /?CTR2 + EQUAL? AV,LAFS-BED,CAPT-BED,COT /?CTR2 + EQUAL? AV,CABIN-BED \FALSE +?CTR2: LOC PROTAGONIST + CALL PERFORM,V?DISEMBARK,STACK + RTRUE + + + .FUNCT V-FEED + CALL MORE-SPECIFIC + RSTACK + + + .FUNCT V-FIDDLE + CALL HACK-HACK,STR?261 + RSTACK + + + .FUNCT V-FILL + ZERO? PRSI \?CCL3 + PRINT THERES-NOTHING + PRINTR "to fill it with." +?CCL3: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-SFILL + CALL PERFORM,V?FILL,PRSI,PRSO + RTRUE + + + .FUNCT V-FIND,WHERE=0,L + LOC PRSO >L + ZERO? L \?CCL3 + CALL PRONOUN + PRINTR " could be anywhere!" +?CCL3: IN? PRSO,PROTAGONIST \?CCL5 + PRINTR "You have it!" +?CCL5: IN? PRSO,HERE \?CCL7 + PRINTR "Right in front of you." +?CCL7: IN? PRSO,GLOBAL-OBJECTS /?CTR8 + CALL GLOBAL-IN?,PRSO,HERE + ZERO? STACK \?CTR8 + EQUAL? PRSO,PSEUDO-OBJECT \?CCL9 +?CTR8: CALL FIGURE-IT-OUT + RSTACK +?CCL9: FSET? L,ACTORBIT \?CCL14 + CALL VISIBLE?,L + ZERO? STACK /?CCL14 + PRINTI "Looks as if" + CALL TPRINT,L + PRINTR " has it." +?CCL14: FSET? L,CONTBIT \?CCL18 + CALL VISIBLE?,PRSO + ZERO? STACK /?CCL18 + IN? L,GLOBAL-OBJECTS /?CCL18 + FSET? L,SURFACEBIT \?CCL24 + PRINTC 79 + JUMP ?CND22 +?CCL24: FSET? L,VEHBIT \?CCL26 + FSET? L,INBIT /?CCL26 + PRINTC 79 + JUMP ?CND22 +?CCL26: PRINTC 73 +?CND22: PRINTC 110 + CALL TRPRINT,L + RSTACK +?CCL18: ZERO? WHERE /?CCL30 + PRINTR "Beats me." +?CCL30: CALL FIGURE-IT-OUT + RSTACK + + + .FUNCT V-FOLLOW + CALL VISIBLE?,PRSO + ZERO? STACK /?CCL3 + PRINTI "But" + CALL TPRINT-PRSO + PRINTR " is right here!" +?CCL3: FSET? PRSO,ACTORBIT /?CCL5 + CALL IMPOSSIBLES + RSTACK +?CCL5: PRINTI "You have no idea where" + CALL TPRINT-PRSO + PRINTR " is." + + + .FUNCT PRE-GIVE,GLASS=0 + FSET? PRSO,DEADBIT \?CCL3 + EQUAL? PRSI,SALTS /?CCL3 + PRINTI "It's unlikely" + CALL TPRINT-PRSO + PRINTR " will want that." +?CCL3: EQUAL? PRSA,V?GIVE \?CCL7 + EQUAL? PRSO,HANDS \?CCL7 + CALL PERFORM,V?SHAKE-WITH,PRSI + RTRUE +?CCL7: EQUAL? PRSO,WINE \?CCL11 + CALL HELD?,BLUE-GLASS + ZERO? STACK \?CTR10 + CALL HELD?,GREEN-GLASS + ZERO? STACK /?CCL11 +?CTR10: CALL HELD?,BLUE-GLASS + ZERO? STACK /?CCL18 + SET 'GLASS,BLUE-GLASS + JUMP ?CND16 +?CCL18: CALL HELD?,GREEN-GLASS + ZERO? STACK /?CND16 + SET 'GLASS,GREEN-GLASS +?CND16: CALL PERFORM-PRSA,GLASS,PRSI + RTRUE +?CCL11: CALL IDROP + ZERO? STACK \TRUE + RFALSE + + + .FUNCT V-GET-DRESSED + EQUAL? PRSO,ROOMS \?CCL3 + CALL MORE-SPECIFIC + RSTACK +?CCL3: CALL RECOGNIZE + RSTACK + + + .FUNCT V-GET-DRUNK + EQUAL? PRSO,ROOMS /?CCL3 + CALL RECOGNIZE + RSTACK +?CCL3: SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "Here?" + + + .FUNCT V-GET-UNDRESSED + EQUAL? PRSO,ROOMS \?CCL3 + CALL REMOVE-CLOTHES,TRUE-VALUE + RSTACK +?CCL3: CALL RECOGNIZE + RSTACK + + + .FUNCT REMOVE-CLOTHES,CALLED-BY-GET-UNDRESSED=0,X,N + ZERO? CALLED-BY-GET-UNDRESSED /?CND1 + CALL LAF-DOFF-CHECK + ZERO? STACK \TRUE + PRINTI "You" + FSET? CHEMISE,EVERYBIT /?CCL8 + FSET? PANTS,WORNBIT /?CCL8 + FSET? SHIRT,WORNBIT /?CCL8 + PRINTR "'re already stripped!" +?CCL8: PRINTI " strip down to your chemise" + PRINT PCR +?CND1: FIRST? PROTAGONIST >X /?PRG13 +?PRG13: ZERO? X /?REP14 + FSET? X,WORNBIT \?CND15 + FCLEAR X,WORNBIT +?CND15: NEXT? X >N /?BOGUS19 +?BOGUS19: SET 'X,N + JUMP ?PRG13 +?REP14: MOVE RETICULE,PROTAGONIST + FSET SHOES,WORNBIT + FSET CHEMISE,WORNBIT + FCLEAR CHEMISE,EVERYBIT + SET 'BOY-DRESS?,FALSE-VALUE + RTRUE + + + .FUNCT V-UNDRESS + ZERO? PRSO /?CCL3 + EQUAL? PRSO,DAD \?CCL6 + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "Undress your father?!" +?CCL6: EQUAL? PRSO,ME \?CCL8 + CALL PERFORM,V?GET-UNDRESSED,ROOMS + RTRUE +?CCL8: FSET? PRSO,ACTORBIT \?CCL10 + FSET? PRSO,FEMALEBIT /?CCL10 + PRINT MOTHER + RTRUE +?CCL10: CALL IMPOSSIBLES + RSTACK +?CCL3: SET 'PRSO,ROOMS + CALL V-GET-UNDRESSED + RSTACK + + + .FUNCT V-GIVE + FSET? PRSI,ACTORBIT \?CCL3 + FSET? PRSI,DEADBIT \?CCL6 + PRINT DOESNT-RESPOND + RTRUE +?CCL6: PRINTI "Briskly," + CALL TPRINT-PRSI + PRINTR " refuses your offer." +?CCL3: PRINT YOU-CANT + PRINTI "give" + CALL APRINT,PRSO + PRINTI " to" + CALL APRINT,PRSI + PRINTR "!" + + + .FUNCT V-HELLO + ZERO? PRSO /?CCL3 + EQUAL? PRSO,W?SAILOR \?CCL6 + PRINTI "Nothing happens" + PRINT PCR + RTRUE +?CCL6: PRINTR "[The proper way to talk to characters in the story is PERSON, HELLO.]" +?CCL3: EQUAL? HERE,CABIN \?CCL8 + IN? HERO,HERE \?CCL8 + CALL PERFORM,V?HELLO,HERO + RTRUE +?CCL8: CALL PERFORM,V?TELL,ME + RTRUE + + + .FUNCT V-HALT + EQUAL? PRSO,ROOMS \?CCL3 + PRINTI "You haven't started" + PRINT PCR + RTRUE +?CCL3: CALL PROPOSE + RSTACK + + + .FUNCT V-HELP + PRINTI "If you're feeling pillaged, maps and hint booklets are available from your dealer, or via mail order with the form" + CALL IN-PACKAGE + RSTACK + + + .FUNCT V-HIDE + PRINT YOU-CANT + PRINTI "hide " + ZERO? PRSO /?CND1 + PRINTC 116 +?CND1: PRINTR "here." + + + .FUNCT V-I-LOVE-YOU + EQUAL? P-PRSA-WORD,W?I \?CCL3 + PRINTR "[Why... I'm speechless! Thank you.]" +?CCL3: CALL RECOGNIZE + RSTACK + + + .FUNCT V-IN,VEHICLE + CALL DO-WALK,P?IN + RSTACK + + + .FUNCT V-KICK + FSET? PRSO,ACTORBIT \?CCL3 + FSET? PRSO,DEADBIT \?CCL6 + PRINT DOESNT-RESPOND + RTRUE +?CCL6: PRINTR """Hey! Cut that out!""" +?CCL3: CALL HACK-HACK,STR?262 + RSTACK + + + .FUNCT V-KILL + PRINTR "Relax." + + + .FUNCT V-KISS + PRINTR """Smooch!""" + + + .FUNCT V-CURTSEY + PRINTR "You curtsey gracefully." + + + .FUNCT V-KNOCK + CALL HACK-HACK,STR?263 + RSTACK + + + .FUNCT V-LAUGH + PRINTR """Ha-ha.""" + + + .FUNCT V-LAUNCH + PRINTR "Your brain is out to launch." + + + .FUNCT V-LEAP + ZERO? PRSO /?CTR2 + EQUAL? PRSO,ROOMS \?CCL3 +?CTR2: EQUAL? HERE,DUNGEON \?CCL8 + FSET? TRAP,OPENBIT \?CCL8 + CALL PERFORM,V?ENTER,TRAP + RTRUE +?CCL8: EQUAL? HERE,RIGGING-ROOM,CROWS-NEST,BOWSPRIT \?CCL12 + PRINT SUICIDE + RTRUE +?CCL12: CALL WHEE + RSTACK +?CCL3: IN? PRSO,HERE /?CCL14 + CALL IMPOSSIBLES + RSTACK +?CCL14: CALL WHEE + RSTACK + + + .FUNCT V-LEAP-OFF + FSET? PRSO,VEHBIT \?CCL3 + CALL PERFORM,V?DISEMBARK,PRSO + RTRUE +?CCL3: CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL5 + PRINT SUICIDE + RTRUE +?CCL5: CALL PERFORM,V?LEAP,PRSO + RTRUE + + + .FUNCT V-LEAP-OVERBOARD + CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL3 + PRINT SUICIDE + RTRUE +?CCL3: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-LEAVE + ZERO? PRSO \?CND1 + SET 'PRSO,ROOMS +?CND1: EQUAL? PRSO,ROOMS \?CCL5 + CALL DO-WALK,P?OUT + RSTACK +?CCL5: IN? PROTAGONIST,PRSO \?CCL7 + CALL PERFORM,V?DISEMBARK,PRSO + RTRUE +?CCL7: CALL PERFORM,V?DROP,PRSO + RTRUE + + + .FUNCT V-LIE-DOWN + FSET? PRSO,VEHBIT /?CTR2 + FSET? PRSO,ACTORBIT \?CCL3 +?CTR2: CALL PERFORM,V?BOARD,PRSO + RTRUE +?CCL3: CALL WASTES + RSTACK + + + .FUNCT V-LISTEN + CALL RUNNING?,I-LUCY + ZERO? STACK /?CCL3 + CALL PERFORM,V?LISTEN,LUCY + RTRUE +?CCL3: IN? HERO,HERE /?CTR4 + IN? DAD,HERE /?CTR4 + IN? LAFOND,HERE /?CTR4 + IN? COOKIE,HERE \?CCL5 +?CTR4: PRINTI "You listen intently" + PRINT PCR + RTRUE +?CCL5: EQUAL? PRSO,PATROL \?CCL11 + CALL CTPRINT,PATROL + PRINTR " confers quietly." +?CCL11: CALL RUNNING?,I-PIRATE-RESCUE + ZERO? STACK /?CCL13 + PRINT THE-BALLROOM + PRINTR "tumult of screams." +?CCL13: EQUAL? HERE,ORCHESTRA,BALLROOM,SUPPER-ROOM \?CCL15 + ZERO? ENDGAME \?CCL15 + PRINTR "The orchestra plays a sprightly dance tune." +?CCL15: ZERO? PRSO /?CCL19 + CALL SENSE-OBJECT,STR?264 + RSTACK +?CCL19: PRINTR "You hear nothing of interest." + + + .FUNCT PRE-LOCK + EQUAL? HERE,QUARTERDECK,LANDING \?CCL3 + EQUAL? P-PRSA-WORD,W?UNBAR /FALSE +?CCL3: EQUAL? PRSO,FLOWER \?CCL7 + EQUAL? PRSA,V?PICK \?CCL7 + CALL PERFORM,V?TAKE,FLOWER + RTRUE +?CCL7: EQUAL? PRSO,HERO \?CCL11 + EQUAL? HERE,DUNGEON \?CCL11 + ZERO? PRSI /?CCL16 + CALL PERFORM,V?UNLOCK,MANACLES,PRSI + RTRUE +?CCL16: CALL PROPOSE + RSTACK +?CCL11: FSET? PRSO,LOCKEDBIT /?PRD20 + EQUAL? PRSA,V?PICK,V?UNLOCK /?CTR17 +?PRD20: FSET? PRSO,LOCKEDBIT \?CCL18 + EQUAL? PRSA,V?LOCK \?CCL18 +?CTR17: EQUAL? PRSO,MANACLES \?CCL27 + PRINT ALREADY-ARE + RTRUE +?CCL27: PRINT ALREADY-IS + RTRUE +?CCL18: ZERO? PRSI \FALSE + EQUAL? PRSA,V?PICK \?CCL32 + CALL HELD?,JEWEL + ZERO? STACK /?CCL32 + PRINTI "[with" + CALL TPRINT,JEWEL + PRINTC 93 + CRLF + CALL PERFORM-PRSA,PRSO,JEWEL + RSTACK +?CCL32: CALL HELD?,LARGE-KEY + ZERO? STACK /?CCL36 + PRINTI "[with" + CALL TPRINT,LARGE-KEY + PRINTC 93 + CRLF + CALL PERFORM-PRSA,PRSO,LARGE-KEY + RSTACK +?CCL36: CALL PROPOSE + RTRUE + + + .FUNCT V-LOOK + CALL DESCRIBE-ROOM,TRUE-VALUE + ZERO? STACK /TRUE + CALL DESCRIBE-OBJECTS + RTRUE + + + .FUNCT V-LOOK-BEHIND + FSET? PRSO,DOORBIT \?CND1 + CALL PERFORM,V?LOOK-INSIDE,PRSO + RTRUE +?CND1: PRINTI "There is nothing behind" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-LOOK-DOWN + EQUAL? PRSO,ROOMS \?CCL3 + CALL PERFORM,V?EXAMINE,GROUND + RTRUE +?CCL3: CALL PERFORM,V?LOOK-INSIDE,PRSO + RTRUE + + + .FUNCT V-LOOK-INSIDE + FSET? PRSO,ACTORBIT \?CCL3 + PRINT IT-SEEMS-THAT + FSET? PRSO,FEMALEBIT \?CCL6 + PRINTI " sh" + JUMP ?CND4 +?CCL6: PRINTI " h" +?CND4: PRINTI "e has" + CALL DESCRIBE-NOTHING + ZERO? STACK \TRUE + PRINT PCR + RTRUE +?CCL3: IN? PROTAGONIST,PRSO \?CCL10 + CALL DESCRIBE-VEHICLE + RSTACK +?CCL10: FSET? PRSO,SURFACEBIT \?CCL12 + PRINT YOU-SEE + CALL DESCRIBE-NOTHING + ZERO? STACK \TRUE + PRINTI " on" + CALL TRPRINT,PRSO + RTRUE +?CCL12: FSET? PRSO,DOORBIT \?CCL16 + PRINTI "You can only tell that" + CALL TPRINT-PRSO + PRINTI " is" + CALL TELL-OPEN/CLOSED,PRSO + PRINTI ". +" + RTRUE +?CCL16: FSET? PRSO,CONTBIT \?CCL18 + CALL SEE-INSIDE?,PRSO + ZERO? STACK /?CCL21 + PRINT YOU-SEE + CALL DESCRIBE-NOTHING + ZERO? STACK \TRUE + PRINTI " in" + CALL TRPRINT,PRSO + RTRUE +?CCL21: FSET? PRSO,OPENBIT /?CCL25 + FIRST? PRSO \?CCL25 + CALL PRE-TOUCH + ZERO? STACK \TRUE + CALL PERFORM,V?OPEN,PRSO + RTRUE +?CCL25: CALL DO-FIRST,STR?265,PRSO + RSTACK +?CCL18: GET P-ITBL,P-PREP1 + EQUAL? STACK,PR?IN \?CCL31 + CALL CANT-VERB-A-PRSO,STR?266 + RSTACK +?CCL31: PRINTI "Even if Queen Augusta commanded it, you couldn't see through that" + PRINT PCR + RTRUE + + + .FUNCT V-LOOK-UNDER + CALL HELD?,PRSO + ZERO? STACK /?CCL3 + FSET? PRSO,WORNBIT \?CCL6 + PRINTR "You're wearing it!" +?CCL6: PRINT HOLDING-IT + RTRUE +?CCL3: FSET? PRSO,DOORBIT \?CCL8 + PRINTR "The space is too narrow to see anything." +?CCL8: CALL NOTHING-INTERESTING + PRINTI "under" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-LOOK-UP + EQUAL? PRSO,ROOMS \?CCL3 + EQUAL? HERE,RIGGING-ROOM,CROWS-NEST \?CCL6 + PRINT YOU-SEE + PRINTR " a mess of sails and rope." +?CCL6: FSET? HERE,INDOORSBIT \?CCL8 + CALL PERFORM,V?EXAMINE,CEILING + RTRUE +?CCL8: PRINTR "The midnight sky is clear of all but a full moon." +?CCL3: CALL PERFORM,V?LOOK-INSIDE,PRSO + RTRUE + + + .FUNCT V-MAKE-OUT,KISSEE + EQUAL? PRSO,ROOMS /?CCL3 + SET 'KISSEE,PRSO + JUMP ?CND1 +?CCL3: CALL FIND-IN,HERE,ACTORBIT,STR?267 >KISSEE + ZERO? KISSEE \?CND1 + SET 'KISSEE,ME +?CND1: CALL PERFORM,V?KISS,KISSEE + RTRUE + + + .FUNCT V-MARRY + EQUAL? PRSO,COOKIE,CRULLEY,LAFOND \?CCL3 + PRINTI "I doubt that" + CALL TPRINT-PRSO + PRINTR " is the marrying type." +?CCL3: EQUAL? PRSO,DAD \?CCL5 + PRINTR "Don't be absurd." +?CCL5: EQUAL? PRSO,HERO \?CCL7 + CALL LADY-MUST,STR?268 + RSTACK +?CCL7: CALL WASTES + RSTACK + + + .FUNCT V-MOVE + CALL HELD?,PRSO + ZERO? STACK /?CCL3 + CALL WASTES + RSTACK +?CCL3: CALL LOC-CLOSED + ZERO? STACK \TRUE + FSET? PRSO,TAKEBIT \?CCL7 + PRINTI "Moving" + CALL TPRINT-PRSO + PRINTR " reveals nothing." +?CCL7: EQUAL? P-PRSA-WORD,W?PULL \?CCL9 + CALL HACK-HACK,STR?269 + RSTACK +?CCL9: CALL CANT-VERB-A-PRSO,STR?270 + RSTACK + + + .FUNCT V-MUNG + CALL HACK-HACK,STR?271 + RSTACK + + + .FUNCT V-MUZZLE + CALL HACK-HACK,STR?272 + RSTACK + + + .FUNCT V-NO + EQUAL? AWAITING-REPLY,1,2 \?CCL3 + CALL V-YES + RSTACK +?CCL3: EQUAL? AWAITING-REPLY,3 \?CCL5 + PRINTI "One should hope not! Lafond is too respectable to harbour such secrets" + PRINT PCR + RTRUE +?CCL5: EQUAL? AWAITING-REPLY,4 \?CCL7 + PRINTI """Foolish of me to have thought you were serious,"" he smiles, relieved" + PRINT PCR + RTRUE +?CCL7: EQUAL? AWAITING-REPLY,5 \?CCL9 + PRINTI """No!"" you say pertly" + PRINT PCR + RTRUE +?CCL9: EQUAL? AWAITING-REPLY,6 \?CCL11 + PRINTR "Papa clucks. ""Pity. I'll introduce you to Lucy after we're out of this mess.""" +?CCL11: EQUAL? AWAITING-REPLY,9 \?CCL13 + PRINT SHAKE-HEAD + PRINTR " firmly, ""No.""" +?CCL13: EQUAL? AWAITING-REPLY,10 \?CCL15 + PRINT SHAKE-HEAD + PRINT PCR + RTRUE +?CCL15: EQUAL? AWAITING-REPLY,11 \?CCL17 + PRINTI """No,"" you say, chin trembling" + PRINT PCR + RTRUE +?CCL17: EQUAL? AWAITING-REPLY,12 \?CCL19 + PRINT SHAKE-HEAD + PRINTR ", teeth clenched." +?CCL19: EQUAL? AWAITING-REPLY,13 \?CCL21 + PRINTR """God's blood! We'll have to find some other way.""" +?CCL21: EQUAL? AWAITING-REPLY,14 \?CCL23 + PRINTI """Sorry, but I'm enjoying this dance too much to just let you go."" Jamison tightens his grip on " + PRINTD HANDS + PRINTI " as you circle each other" + PRINT PCR + RTRUE +?CCL23: EQUAL? AWAITING-REPLY,15 \?CCL25 + PRINT SHAKE-HEAD + PRINTR " breathlessly." +?CCL25: EQUAL? AWAITING-REPLY,16 \?CCL27 + PRINTR """'Tis a pity. I was hoping...""" +?CCL27: EQUAL? AWAITING-REPLY,17 \?CCL29 + PRINTR """I'll do the hittin' 'ere.""" +?CCL29: CALL YOU-SOUND,STR?273 + RSTACK + + + .FUNCT NO-WORD,WRD + EQUAL? WRD,W?NO,W?NOPE /TRUE + EQUAL? WRD,W?NAY,W?NEVER /TRUE + RFALSE + + + .FUNCT V-OFF + FSET? PRSO,LIGHTBIT \?CCL3 + FSET? PRSO,ONBIT \?CCL6 + FCLEAR PRSO,ONBIT + PRINTI "Okay," + CALL TPRINT-PRSO + PRINTR " is now off." +?CCL6: PRINTR "It isn't on!" +?CCL3: CALL CANT-VERB-A-PRSO,STR?274 + RSTACK + + + .FUNCT V-ON + FSET? PRSO,ACTORBIT \?CCL3 + PRINT HUH + RTRUE +?CCL3: FSET? PRSO,LIGHTBIT \?CCL5 + FSET? PRSO,ONBIT \?CCL8 + PRINT ALREADY-IS + RTRUE +?CCL8: FSET PRSO,ONBIT + PRINTI "Okay," + CALL TPRINT-PRSO + PRINTR " is now on." +?CCL5: CALL CANT-VERB-A-PRSO,STR?275 + RSTACK + + + .FUNCT V-OPEN + FSET? PRSO,LOCKEDBIT \?CCL3 + PRINTR "It's quite locked." +?CCL3: FSET? PRSO,DOORBIT /?PRD7 + FSET? PRSO,CONTBIT \?CCL5 +?PRD7: FSET? PRSO,SURFACEBIT /?CCL5 + FSET? PRSO,ACTORBIT /?CCL5 + CALL OPEN-CLOSE,PRSO + RSTACK +?CCL5: CALL CANT-VERB-A-PRSO,STR?265 + RSTACK + + + .FUNCT V-PICK + FSET? PRSO,DOORBIT \?CCL3 + CALL HELD?,JEWEL + ZERO? STACK /?CCL3 + PRINTI "That doesn't work here" + PRINT PCR + RTRUE +?CCL3: CALL CANT-VERB-A-PRSO,STR?276 + RSTACK + + + .FUNCT V-POINT + PRINTR "That would be pointless." + + + .FUNCT V-SPOINT + CALL PERFORM,V?POINT,PRSI,PRSO + RTRUE + + + .FUNCT SPECIFY-WHAT,ACTION-STRING,OBJ + PRINT YOULL-HAVE-TO + PRINTI "specify what you want to " + PRINT ACTION-STRING + CALL TPRINT,OBJ + PRINTI " in" + PRINT PCR + RTRUE + + + .FUNCT PRE-POUR + EQUAL? PRSO,WINE \?CCL3 + ZERO? PRSI \?CCL3 + EQUAL? P-PRSA-WORD,W?SPILL /?CCL3 + CALL SPECIFY-WHAT,STR?277,PRSO + RSTACK +?CCL3: EQUAL? PRSO,LAUD,BOTTLE \FALSE + CALL HELD?,PRSO + ZERO? STACK \?CCL11 + PRINT YNH + CALL TRPRINT,BOTTLE + RSTACK +?CCL11: ZERO? LAUD-LEFT \?CCL13 + PRINTI "There's no " + PRINTD LAUD + PRINTR " left." +?CCL13: ZERO? PRSI \?CCL15 + MOVE BOTTLE,PROTAGONIST + PRINTI "A bubble of " + PRINTD LAUD + PRINTI " forms on the tip of" + CALL TPRINT,BOTTLE + PRINTR " then slurps back in." +?CCL15: EQUAL? PRSI,WINE \?CCL17 + PRINT YOULL-HAVE-TO + PRINTI "specify which glass you want to put" + CALL TPRINT,LAUD + PRINTR " into." +?CCL17: GETP PRSI,P?CONTENTS + EQUAL? STACK,POISONED,W-P \FALSE + PRINT YOU-HAVE-ALREADY + PRINTI " dosed" + CALL TPRINT-PRSI + PRINTI ". Any more might be dangerous" + PRINT PCR + RTRUE + + + .FUNCT V-PUSH + CALL HACK-HACK,STR?278 + RSTACK + + + .FUNCT V-PUSH-DIR + EQUAL? PRSI,INTDIR \?CCL3 + CALL V-PUSH + RSTACK +?CCL3: CALL RECOGNIZE + RSTACK + + + .FUNCT PRE-PUT + EQUAL? PRSI,GROUND \?CCL3 + CALL PERFORM,V?DROP,PRSO + RTRUE +?CCL3: EQUAL? PRSO,LAUD,WINE \?CCL5 + CALL PERFORM,V?POUR,PRSO,PRSI + RTRUE +?CCL5: EQUAL? PRSO,HANDS \?CCL7 + EQUAL? PRSA,V?PUT \?CCL10 + CALL PERFORM,V?REACH-IN,PRSI + RTRUE +?CCL10: CALL WASTES + RSTACK +?CCL7: EQUAL? PRSI,SEA \?CCL12 + EQUAL? HERE,RIGGING-ROOM,CROWS-NEST,BOWSPRIT /?PRD15 + EQUAL? HERE,POOP,QUARTERDECK,MAIN-DECK /?PRD15 + EQUAL? HERE,FOCSLE \?CCL12 +?PRD15: EQUAL? PRSA,V?PUT-ON,V?DROP,V?THROW /FALSE + EQUAL? PRSA,V?PUT /FALSE +?CCL12: FSET? PRSI,ACTORBIT \?CCL22 + EQUAL? PRSA,V?PUT-ON /?CCL22 + CALL WASTES + RSTACK +?CCL22: CALL HELD?,PRSI,PRSO + ZERO? STACK /?CCL26 + PRINT YOU-CANT + PRINTI "put" + CALL TPRINT-PRSO + GET P-ITBL,P-PREP2 + EQUAL? STACK,PR?ON \?CCL29 + PRINTI " on" + JUMP ?CND27 +?CCL29: PRINTI " in" +?CND27: CALL TPRINT-PRSI + PRINTI " when" + CALL TPRINT-PRSI + PRINTI " is already " + FSET? PRSO,SURFACEBIT \?CCL32 + PRINTI "on" + JUMP ?CND30 +?CCL32: PRINTI "in" +?CND30: CALL TPRINT-PRSO + PRINTR "!" +?CCL26: CALL HELD?,PRSO + ZERO? STACK \?CCL34 + EQUAL? PRSO,MANACLES /?CCL34 + PRINT YNH + CALL TRPRINT,PRSO + RSTACK +?CCL34: CALL UNTOUCHABLE?,PRSI + ZERO? STACK /?CCL38 + CALL CANT-REACH,PRSI + RSTACK +?CCL38: CALL IDROP + ZERO? STACK \TRUE + RFALSE + + + .FUNCT V-PUT,?TMP1,?TMP2,?TMP3 + FSET? PRSI,OPENBIT /?CCL3 + FSET? PRSI,CONTBIT /?CCL3 + FSET? PRSI,SURFACEBIT /?CCL3 + FSET? PRSI,VEHBIT /?CCL3 + PRINT YOU-CANT + PRINTI "put" + CALL TPRINT-PRSO + PRINTI " in" + CALL APRINT,PRSI + PRINTR "!" +?CCL3: EQUAL? PRSI,PRSO /?CTR8 + CALL HELD?,PRSO + ZERO? STACK /?CCL9 + FSET? PRSO,TAKEBIT /?CCL9 +?CTR8: CALL WASTES + RSTACK +?CCL9: FSET? PRSI,DOORBIT \?CCL15 + PRINT CANT-FROM-HERE + RTRUE +?CCL15: FSET? PRSI,OPENBIT /?CCL17 + FSET? PRSI,SURFACEBIT /?CCL17 + CALL THIS-IS-IT,PRSI + CALL DO-FIRST,STR?265,PRSI + RSTACK +?CCL17: IN? PRSO,PRSI \?CCL21 + PRINTI "But" + CALL TPRINT-PRSO + PRINTI " is already in" + CALL TRPRINT,PRSI + RSTACK +?CCL21: CALL WEIGHT,PRSI >?TMP3 + CALL WEIGHT,PRSO + ADD ?TMP3,STACK >?TMP2 + GETP PRSI,P?SIZE + SUB ?TMP2,STACK >?TMP1 + GETP PRSI,P?CAPACITY + GRTR? ?TMP1,STACK \?CCL23 + CALL HELD?,PRSO,PRSI + ZERO? STACK \?CCL23 + PRINTI "There's no room " + FSET? PRSI,SURFACEBIT \?CCL28 + PRINTI "on" + JUMP ?CND26 +?CCL28: PRINTI "in" +?CND26: CALL TPRINT-PRSI + PRINTI " for" + CALL TRPRINT,PRSO + RSTACK +?CCL23: CALL HELD?,PRSO + ZERO? STACK \?CCL30 + CALL ITAKE,FALSE-VALUE + EQUAL? STACK,M-FATAL,FALSE-VALUE /TRUE +?CCL30: MOVE PRSO,PRSI + FSET PRSO,TOUCHBIT + PRINTR "Done." + + + .FUNCT V-PUT-ON + EQUAL? PRSI,ME \?CCL3 + CALL PERFORM,V?WEAR,PRSO + RTRUE +?CCL3: FSET? PRSI,SURFACEBIT \?CCL5 + CALL V-PUT + RSTACK +?CCL5: PRINTI "There's no good surface on" + CALL TRPRINT,PRSI + RSTACK + + + .FUNCT V-PUT-THROUGH + FSET? PRSI,DOORBIT \?CCL3 + FSET? PRSI,OPENBIT \?CCL6 + CALL V-THROW + RSTACK +?CCL6: CALL DO-FIRST,STR?265,PRSI + RSTACK +?CCL3: LOC PROTAGONIST + EQUAL? PRSI,STACK \?CCL8 + EQUAL? P-PRSA-WORD,W?THROW,W?TOSS,W?HURL \?CCL8 + SET 'PRSI,FALSE-VALUE + CALL V-THROW + RSTACK +?CCL8: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-RAISE + CALL HACK-HACK,STR?279 + RSTACK + + + .FUNCT V-RAPE + PRINT UNLADY + RTRUE + + + .FUNCT V-REACH-IN,OBJ + FIRST? PRSO >OBJ /?BOGUS1 +?BOGUS1: FSET? PRSO,ACTORBIT /?CTR3 + FSET? PRSO,SURFACEBIT /?CTR3 + FSET? PRSO,CONTBIT /?CCL4 +?CTR3: CALL WASTES + RSTACK +?CCL4: FSET? PRSO,OPENBIT /?CCL9 + CALL DO-FIRST,STR?265,PRSO + RSTACK +?CCL9: ZERO? OBJ /?CTR10 + FSET? OBJ,INVISIBLE /?CTR10 + FSET? OBJ,TAKEBIT /?CCL11 +?CTR10: PRINT THERES-NOTHING + PRINTI "in" + CALL TRPRINT,PRSO + RSTACK +?CCL11: PRINTI "You feel something inside" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-READ + CALL CANT-VERB-A-PRSO,STR?280 + RSTACK + + + .FUNCT V-REFLECT + EQUAL? PRSO,MOONBEAM \?CCL3 + EQUAL? PRSI,TRAY,MIRROR \?CCL3 + EQUAL? HERE,LAFS-ROOM \?CCL3 + CALL PERFORM,V?SPOINT,SHIP,PRSI + RTRUE +?CCL3: CALL WASTES + RSTACK + + + .FUNCT V-REMOVE + FSET? PRSO,WEARBIT \?CCL3 + IN? PRSO,PROTAGONIST \?CCL3 + FSET? PRSO,WORNBIT /?CCL8 + PRINT YOU-ARENT + PRINTR "wearing that!" +?CCL8: CALL LAF-DOFF-CHECK + ZERO? STACK \FALSE + FCLEAR PRSO,WORNBIT + PRINTI "You remove" + CALL TRPRINT,PRSO + RSTACK +?CCL3: CALL PERFORM,V?TAKE,PRSO + RTRUE + + + .FUNCT LAF-DOFF-CHECK + EQUAL? HERE,LAFS-ROOM \FALSE + IN? LAFOND,HERE \FALSE + GRTR? LAFOND-CTR,HORNY \?CCL8 + PRINT THERES-NOTHING + PRINTR "to remove!" +?CCL8: PRINTD LAFOND + PRINTI " chuckles. ""No, ma cherie, " + LESS? LAFOND-CTR,3 \?CCL11 + PRINTR "have some wine first.""" +?CCL11: PRINTI "I'll do that.""" + CRLF + SET 'LAFOND-CTR,HORNY + CALL QUEUE,I-LSED,-1 + RTRUE + + + .FUNCT V-RETURN,ACTOR + ZERO? PRSI \?CCL3 + CALL FIND-IN,HERE,ACTORBIT,STR?281 >ACTOR + ZERO? ACTOR /?CCL6 + CALL PERFORM,V?GIVE,PRSO,ACTOR + RTRUE +?CCL6: CALL NO-ONE-HERE,STR?282 + RSTACK +?CCL3: FSET? PRSI,ACTORBIT \?CCL8 + CALL PERFORM,V?GIVE,PRSO,PRSI + RTRUE +?CCL8: CALL PERFORM,V?PUT,PRSO,PRSI + RTRUE + + + .FUNCT V-RIP + EQUAL? PRSO,LETTER,INVITE \?CCL3 + PRINTI "There's no reason to be so destructive" + PRINT PCR + RTRUE +?CCL3: PRINTR "It doesn't tear." + + + .FUNCT V-ROLL + EQUAL? PRSO,EYES \?CCL3 + PRINTR "You ARE exasperated." +?CCL3: CALL UNTOUCHABLE?,PRSO + ZERO? STACK /?CCL5 + CALL CANT-REACH,PRSO + RSTACK +?CCL5: EQUAL? P-PRSA-WORD,W?TIP \?CCL7 + EQUAL? PRSO,HEAD \?CCL10 + CALL V-YES + RSTACK +?CCL10: CALL PRONOUN + PRINTR " can't take tips!" +?CCL7: PRINTI "A rolling " + PRINTD PRSO + PRINTR " gathers no moss." + + + .FUNCT V-ROW + PRINTR "You haven't any oars!" + + + .FUNCT V-ROW-DIR + EQUAL? PRSI,INTDIR \?CCL3 + CALL V-ROW + RSTACK +?CCL3: CALL RECOGNIZE + RSTACK + + + .FUNCT V-ROW-TO + EQUAL? PRSO,ISLAND /?CTR2 + EQUAL? PRSO,SKIFF \?CCL3 + EQUAL? PRSI,ISLAND \?CCL3 +?CTR2: SET 'P-DIRECTION,P?WEST + CALL PERFORM,V?ROW-DIR,SKIFF,INTDIR + RTRUE +?CCL3: EQUAL? PRSO,REEFS,SHIP /?CTR8 + EQUAL? PRSO,SKIFF \?CCL9 + EQUAL? PRSI,REEFS,SHIP \?CCL9 +?CTR8: SET 'P-DIRECTION,P?EAST + CALL PERFORM,V?ROW-DIR,SKIFF,INTDIR + RTRUE +?CCL9: LOC PROTAGONIST + EQUAL? STACK,SKIFF \?CCL16 + CALL WASTES + RSTACK +?CCL16: CALL DO-FIRST,STR?283,SKIFF + RSTACK + + + .FUNCT V-SAVE-SOMETHING + CALL PROPOSE + RSTACK + + + .FUNCT V-SCORE + PRINTI "In " + PRINTN MOVES + PRINTI " turn" + EQUAL? MOVES,1 /?CND1 + PRINTC 115 +?CND1: PRINTI ", you have achieved a score of " + PRINTN SCORE + PRINTI " out of 25 points" + LESS? SCORE,25 \?CND3 + PRINTI ". This gives you the rank of " + LESS? SCORE,5 \?CCL7 + PRINTI "Damsel in Distress" + JUMP ?CND3 +?CCL7: LESS? SCORE,10 \?CCL9 + PRINTI "Missish Minx" + JUMP ?CND3 +?CCL9: LESS? SCORE,15 \?CCL11 + PRINTI "Plucky Lass" + JUMP ?CND3 +?CCL11: LESS? SCORE,20 \?CCL13 + PRINTI "Daring Demoiselle" + JUMP ?CND3 +?CCL13: LESS? SCORE,25 \?CND3 + PRINTI "Lady Leman" +?CND3: PRINT PCR + RTRUE + + + .FUNCT V-SEARCH + FSET? PRSO,ACTORBIT \?CCL3 + CALL V-SHAKE + RSTACK +?CCL3: IN? PROTAGONIST,PRSO \?CCL5 + CALL DESCRIBE-VEHICLE + RSTACK +?CCL5: FSET? PRSO,CONTBIT \?CCL7 + FSET? PRSO,OPENBIT /?CCL7 + CALL DO-FIRST,STR?265,PRSO + RSTACK +?CCL7: FSET? PRSO,CONTBIT \?CCL11 + PRINTI "You find" + CALL DESCRIBE-NOTHING + ZERO? STACK \TRUE + PRINT PCR + RTRUE +?CCL11: CALL CANT-VERB-A-PRSO,STR?284 + RSTACK + + + .FUNCT V-SET + EQUAL? PRSO,ROOMS \?CCL3 + CALL WHEE + RSTACK +?CCL3: ZERO? PRSI \?CCL5 + FSET? PRSO,TAKEBIT \?CCL8 + CALL HACK-HACK,STR?285 + RSTACK +?CCL8: PRINT YNH + CALL TRPRINT,PRSO + RSTACK +?CCL5: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-SGIVE + CALL PERFORM,V?GIVE,PRSI,PRSO + RTRUE + + + .FUNCT V-SHAKE + FSET? PRSO,ACTORBIT \?CCL3 + PRINT POLITE + RTRUE +?CCL3: CALL HACK-HACK,STR?286 + RSTACK + + + .FUNCT V-SHAKE-WITH + EQUAL? PRSO,HANDS /?CCL3 + CALL RECOGNIZE + RSTACK +?CCL3: FSET? PRSI,ACTORBIT /?CCL5 + PRINTI "I don't think" + CALL TPRINT-PRSI + PRINTR " even has hands." +?CCL5: CALL PERFORM,V?THANK,PRSI + RTRUE + + + .FUNCT V-SHOOT + ZERO? PRSI \?CCL3 + CALL HELD?,PISTOL + ZERO? STACK /?CCL6 + CALL PERFORM,V?SHOOT,PRSO,PISTOL + RTRUE +?CCL6: CALL PROPOSE + RSTACK +?CCL3: PRINTR "Don't ever bother applying for a job as a gunswoman." + + + .FUNCT PRE-SSHOOT + EQUAL? PRSO,CANNON /FALSE + CALL HELD?,PRSO + ZERO? STACK \FALSE + ZERO? PRSI \?CCL7 + CALL HELD?,PISTOL + ZERO? STACK \?CCL10 + CALL PROPOSE + RSTACK +?CCL10: CALL PERFORM,V?SHOOT,PRSO + RTRUE +?CCL7: PRINT YNH + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-SSHOOT + CALL PERFORM,V?SHOOT,PRSI,PRSO + RTRUE + + + .FUNCT V-SHOW + PRINT DOESNT-LOOK + CALL TPRINT-PRSI + PRINTR " is interested." + + + .FUNCT V-SHUT-UP + EQUAL? PRSO,ROOMS \?CCL3 + PRINTR "[I hope you're not addressing me...]" +?CCL3: CALL PERFORM,V?CLOSE,PRSO + RTRUE + + + .FUNCT V-SIGH + PRINTR "You sigh contentedly, smiling." + + + .FUNCT V-SIT,VEHICLE + CALL FIND-IN,HERE,VEHBIT >VEHICLE + ZERO? VEHICLE /?CCL3 + CALL PERFORM,V?BOARD,VEHICLE + RTRUE +?CCL3: CALL WASTES + RSTACK + + + .FUNCT V-SLEEP + CALL QUEUED?,I-SLEEP + ZERO? STACK /?CCL3 + CALL I-SLEEP + RSTACK +?CCL3: PRINTR "You're not tired." + + + .FUNCT V-SMELL + ZERO? PRSO /?CCL3 + PRINTI "Smells like any other " + PRINTD PRSO + PRINT PCR + RTRUE +?CCL3: LOC PROTAGONIST + EQUAL? STACK,CASK \?CCL5 + PRINTI "You recoil from the taint of rancid meat" + PRINT PCR + RTRUE +?CCL5: EQUAL? HERE,FOCSLE,GALLEY \?CCL7 + PRINTR "The odor of old grease and char does not improve your appetite." +?CCL7: EQUAL? HERE,CABIN \?CCL9 + PRINTI "The odors of charred wood, sea salt and blood burn your nose" + PRINT PCR + RTRUE +?CCL9: EQUAL? HERE,CREWS-QUARTERS \?CCL11 + PRINTR "Close quarters, indeed." +?CCL11: PRINTI "Nothing smells unusual" + PRINT PCR + RTRUE + + + .FUNCT V-SOAK + ZERO? PRSI \?CCL3 + CALL SPECIFY-WHAT,STR?287,PRSO + RSTACK +?CCL3: CALL IMPOSSIBLES + RSTACK + + + .FUNCT SENSE-OBJECT,STRING + CALL PRONOUN + PRINTC 32 + PRINT STRING + FSET? PRSO,PLURALBIT /?CND1 + EQUAL? PRSO,ME /?CND1 + PRINTC 115 +?CND1: PRINTI " just like" + CALL ARPRINT,PRSO + RSTACK + + + .FUNCT V-SPUT-ON + CALL PERFORM,V?PUT-ON,PRSI,PRSO + RTRUE + + + .FUNCT V-SSHOW + CALL PERFORM,V?SHOW,PRSI,PRSO + RTRUE + + + .FUNCT V-STAND + EQUAL? P-PRSA-WORD,W?HOLD \?CCL3 + CALL WASTES + RSTACK +?CCL3: LOC PROTAGONIST + FSET? STACK,VEHBIT \?CCL5 + LOC PROTAGONIST + CALL PERFORM,V?DISEMBARK,STACK + RTRUE +?CCL5: ZERO? PRSO /?CCL7 + FSET? PRSO,TAKEBIT \?CCL7 + CALL WASTES + RSTACK +?CCL7: EQUAL? HERE,IN-HEDGE,BY-HOUSE,SLEEPING-CUPBOARD \?CCL11 + PRINTR "There's not enough room for even your petite frame to stand straight." +?CCL11: PRINT YOU-ARE-ALREADY + PRINTR "standing." + + + .FUNCT V-STELL + CALL PERFORM,V?TELL,PRSI + RTRUE + + + .FUNCT V-STHROW + CALL PERFORM,V?THROW-TO,PRSI,PRSO + RTRUE + + + .FUNCT V-FIX + EQUAL? PRSO,DAGGER \?CCL3 + CALL REPERTOIRE,STR?288 + RSTACK +?CCL3: PRINTI "But" + CALL TPRINT-PRSO + PRINTI " isn't " + EQUAL? P-PRSA-WORD,W?SHARPEN,W?WHET \?CCL6 + PRINTI "dull" + JUMP ?CND4 +?CCL6: PRINTI "broken" +?CND4: PRINTR "!" + + + .FUNCT V-SWIM + EQUAL? PRSO,SEA /?CTR2 + ZERO? PRSO \?CCL3 + CALL GLOBAL-IN?,SEA,HERE + ZERO? STACK /?CCL3 +?CTR2: CALL REPERTOIRE,STR?289 + RSTACK +?CCL3: PRINTR "Your head must be swimming." + + + .FUNCT V-SWING + ZERO? PRSI /?CCL3 + CALL PERFORM,V?KILL,PRSI,PRSO + RTRUE +?CCL3: EQUAL? PRSO,ROOMS \?CCL5 + EQUAL? HERE,GALLERY \?CCL5 + CALL PERFORM,V?SWING,ROPE + RTRUE +?CCL5: CALL WHEE + RSTACK + + + .FUNCT V-SWOON + PRINTI "You've never been missish enough to faint on demand" + PRINT PCR + RTRUE + + + .FUNCT V-SWRAP + CALL PERFORM,V?WRAP,PRSI,PRSO + RTRUE + + + .FUNCT PRE-TAKE + CALL LOC-CLOSED + ZERO? STACK \TRUE + IN? PROTAGONIST,PRSO \?CCL5 + PRINTI "You're " + FSET? PRSO,INBIT \?CCL8 + PRINTC 105 + JUMP ?CND6 +?CCL8: PRINTC 111 +?CND6: PRINTR "n it!" +?CCL5: GRTR? LAFOND-CTR,HORNY \?CCL10 + EQUAL? HERE,LAFS-ROOM \?CCL10 + IN? HERE,LAFOND /FALSE +?CCL10: IN? PRSO,PROTAGONIST /?CTR14 + CALL HELD?,PRSO + ZERO? STACK /?CCL15 + FSET? PRSO,TAKEBIT /?CCL15 +?CTR14: FSET? PRSO,WORNBIT \?CCL22 + PRINT YOU-ARE-ALREADY + PRINTI "wearing" + JUMP ?CND20 +?CCL22: PRINT YOU-HAVE-ALREADY +?CND20: CALL TRPRINT,PRSO + RSTACK +?CCL15: EQUAL? PRSO,LAUD \?CCL24 + EQUAL? PRSI,BOTTLE /?CCL24 + CALL WASTES + RSTACK +?CCL24: ZERO? PRSI /FALSE + IN? PRSO,PRSI /FALSE + IN? PRSO,PRSI /?CCL32 + CALL NOT-IN + RSTACK +?CCL32: EQUAL? PRSO,ME \?CCL34 + CALL PERFORM,V?DROP,PRSI + RTRUE +?CCL34: SET 'PRSI,FALSE-VALUE + RFALSE + + + .FUNCT V-TAKE + CALL ITAKE + EQUAL? STACK,TRUE-VALUE \FALSE + PRINTR "Taken." + + + .FUNCT V-TAKE-OFF + FSET? PRSO,WORNBIT \?CCL3 + CALL PERFORM,V?REMOVE,PRSO + RTRUE +?CCL3: FSET? PRSO,VEHBIT \?CCL5 + CALL PERFORM,V?DISEMBARK,PRSO + RTRUE +?CCL5: PRINT YOU-ARENT + PRINTI "wearing" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-TAKE-WITH + PRINTI "Sorry," + CALL TPRINT-PRSI + PRINTI " is no help in getting" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-TELL + FSET? PRSO,ACTORBIT \?CCL3 + EQUAL? PRSO,CROC /?CCL3 + FSET? PRSO,DEADBIT \?CCL8 + PRINT DOESNT-RESPOND + CALL STOP + RSTACK +?CCL8: ZERO? P-CONT /?CCL10 + SET 'WINNER,PRSO + SET 'CLOCK-WAIT,TRUE-VALUE + RTRUE +?CCL10: PRINTI "Hmmm ..." + CALL TPRINT-PRSO + PRINTR " looks at you expectantly, as if you seemed to be about to talk." +?CCL3: CALL CANT-VERB-A-PRSO,STR?290 + CALL STOP + RSTACK + + + .FUNCT V-TELL-ABOUT + EQUAL? PRSO,ME \?CCL3 + CALL PERFORM,V?WHAT,PRSI + RTRUE +?CCL3: CALL PERFORM,V?SHOW,PRSI,PRSO + RTRUE + + + .FUNCT V-THANK + ZERO? PRSO \?CCL3 + PRINTR "[Just doing my job.]" +?CCL3: FSET? PRSO,ACTORBIT \?CCL5 + PRINTR """You're welcome.""" +?CCL5: CALL IMPOSSIBLES + RSTACK + + + .FUNCT V-THROW-AT + CALL PERFORM,V?MUNG,PRSI,PRSO + RTRUE + + + .FUNCT V-THROW + CALL SPECIAL-DROP + ZERO? STACK \FALSE + EQUAL? HERE,LAGOON,BY-SHIP,SHALLOWS \?CCL6 + CALL PERFORM,V?PUT,PRSO,SEA + RTRUE +?CCL6: ZERO? PRSI /?CCL8 + MOVE PRSO,HERE + PRINTR "You missed." +?CCL8: MOVE PRSO,HERE + PRINTR "Thrown." + + + .FUNCT V-THROW-OVER + MOVE PRSO,HERE + PRINTR "You missed." + + + .FUNCT V-THROW-OVERBOARD + EQUAL? HERE,LAGOON,SHALLOWS /?CTR2 + CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL3 +?CTR2: CALL PERFORM,V?PUT,PRSO,SEA + RTRUE +?CCL3: PRINTR "One normally tries this on a boat." + + + .FUNCT V-THROW-TO + FSET? PRSI,ACTORBIT \?CCL3 + CALL PERFORM,V?GIVE,PRSO,PRSI + RTRUE +?CCL3: CALL PERFORM,V?THROW,PRSO,PRSI + RTRUE + + + .FUNCT V-TIE-WITH + CALL PERFORM,V?TIE,PRSI,PRSO + RTRUE + + + .FUNCT PRE-TOUCH + EQUAL? PRSA,V?LOWER,V?RAISE \?CCL3 + ZERO? PRSI /?CCL3 + EQUAL? PRSI,ROOMS /?CCL3 + CALL RECOGNIZE + RSTACK +?CCL3: EQUAL? PRSA,V?TOUCH \?CCL8 + EQUAL? PRSO,COOKIE \?CCL8 + EQUAL? PRSI,DAGGER \?CCL8 + PRINT UNLADY + RTRUE +?CCL8: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL13 + EQUAL? PRSO,CABIN-BED,COT,DIVAN /?CTR12 + EQUAL? PRSO,GUEST-BED,LAFS-BED,CAPT-BED \?CCL13 +?CTR12: CALL CANT-VERB-A-PRSO,STR?291 + RSTACK +?CCL13: EQUAL? PRSO,LINE \?CCL19 + EQUAL? PRSA,V?TOUCH \?CCL19 + LOC PROTAGONIST + EQUAL? STACK,CASK \?CCL19 + PRINTI "Your fingers just brush" + CALL TRPRINT,LINE + RSTACK +?CCL19: CALL UNTOUCHABLE?,PRSO + ZERO? STACK /?CCL24 + CALL CANT-REACH,PRSO + RSTACK +?CCL24: EQUAL? PRSA,V?EMPTY \?CCL26 + EQUAL? PRSO,RUM-BARREL,WATER-BARREL /FALSE + CALL HELD?,PRSO + ZERO? STACK /?CTR30 + CALL TAKE-CHECK + ZERO? STACK \FALSE +?CTR30: PRINT YNH + CALL TRPRINT,PRSO + RETURN 8 +?CCL26: EQUAL? PRSA,V?EMPTY-FROM \FALSE + EQUAL? PRSI,RUM-BARREL,WATER-BARREL /FALSE + CALL HELD?,PRSO + ZERO? STACK /?CCL37 + CALL TAKE-CHECK + ZERO? STACK \FALSE +?CCL37: PRINT YNH + CALL TRPRINT,PRSO + RETURN 8 + + + .FUNCT V-TOUCH + CALL LOC-CLOSED + ZERO? STACK \TRUE + CALL HACK-HACK,STR?292 + RSTACK + + + .FUNCT V-STOUCH + CALL PERFORM,V?TOUCH,PRSI,PRSO + RTRUE + + + .FUNCT V-UNLOCK + ZERO? PRSI /?CCL3 + CALL IMPOSSIBLES + RSTACK +?CCL3: FSET? PRSO,LOCKEDBIT \?CCL5 + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTR "Your nose is key-shaped, I suppose?" +?CCL5: FSET? PRSO,DOORBIT \?CCL7 + PRINTI "But" + CALL TPRINT-PRSO + PRINTR " isn't locked." +?CCL7: CALL WASTES + RSTACK + + + .FUNCT V-WALK,AV,VEHICLE,PT,PTS,STR,OBJ,RM + LOC PROTAGONIST >AV + ZERO? P-WALK-DIR \?CCL3 + CALL PERFORM,V?WALK-TO,PRSO + RTRUE +?CCL3: EQUAL? PRSO,P?OUT \?CCL5 + CALL IN-EXITABLE-VEHICLE? + ZERO? STACK \TRUE +?CCL5: EQUAL? PRSO,P?IN \?CCL9 + GETPT HERE,P?IN + ZERO? STACK \?CCL9 + CALL FIND-IN,HERE,VEHBIT >VEHICLE + ZERO? VEHICLE /?CCL9 + CALL HELD?,VEHICLE + ZERO? STACK \?CCL9 + CALL PERFORM,V?BOARD,VEHICLE + RTRUE +?CCL9: GETPT HERE,PRSO >PT + ZERO? PT /?CCL15 + PTSIZE PT >PTS + EQUAL? PTS,UEXIT \?CCL18 + GETB PT,REXIT + CALL GOTO,STACK + RSTACK +?CCL18: EQUAL? PTS,NEXIT \?CCL20 + GET PT,NEXITSTR + PRINT STACK + CRLF + RETURN 8 +?CCL20: EQUAL? PTS,FEXIT \?CCL24 + GET PT,FEXITFCN + CALL STACK >RM + ZERO? RM /?PRG30 + EQUAL? RM,ROOMS /TRUE + CALL GOTO,RM + RSTACK +?PRG30: RETURN 8 +?CCL24: EQUAL? PTS,CEXIT \?CCL33 + GETB PT,CEXITFLAG + VALUE STACK + ZERO? STACK /?CCL36 + GETB PT,REXIT + CALL GOTO,STACK + RSTACK +?CCL36: GET PT,CEXITSTR >STR + ZERO? STR /?CCL38 + PRINT STR + CRLF + RETURN 8 +?CCL38: PRINT CANT-GO + RETURN 8 +?CCL33: EQUAL? PTS,DEXIT \FALSE + GETB PT,DEXITOBJ >OBJ + FSET? OBJ,OPENBIT \?CCL47 + GETB PT,REXIT + CALL GOTO,STACK + RSTACK +?CCL47: GET PT,DEXITSTR >STR + ZERO? STR /?CCL49 + CALL THIS-IS-IT,OBJ + PRINT STR + CRLF + RETURN 8 +?CCL49: CALL THIS-IS-IT,OBJ + CALL DO-FIRST,STR?265,OBJ + RETURN 8 +?CCL15: EQUAL? PRSO,P?IN,P?OUT \?CCL56 + CALL V-WALK-AROUND + RETURN 8 +?CCL56: PRINT CANT-GO + RETURN 8 + + + .FUNCT V-WAVE,AT-OBJ=0 + PRINTI "You wave" + ZERO? AT-OBJ \?CCL3 + CALL PRSO-PRINT + PRINTI " in the air" + PRINT PCR + RTRUE +?CCL3: PRINTI " cheerfully at" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-WAVE-AT + CALL V-WAVE,TRUE-VALUE + RTRUE + + + .FUNCT V-WRING + ZERO? PRSI \?CCL3 + EQUAL? PRSO,DRESS \?PRD8 + ZERO? WET-DRESS \?CTR5 +?PRD8: EQUAL? PRSO,RAG \?CCL6 + ZERO? WET-RAG /?CCL6 +?CTR5: PRINTR "You don't have time to dry it." +?CCL6: EQUAL? P-PRSA-WORD,W?DRY \?CCL14 + PRINTR "That isn't wet!" +?CCL14: CALL WASTES + RSTACK +?CCL3: EQUAL? PRSI,RAG,DRESS \?CCL16 + CALL PERFORM,V?WRING,PRSI + RTRUE +?CCL16: CALL WASTES + RSTACK + + + .FUNCT V-WALK-AROUND + SET 'AWAITING-REPLY,2 + CALL QUEUE,I-REPLY,2 + PRINTI "Did you have any particular " + PRINTD INTDIR + PRINTR " in mind?" + + + .FUNCT V-WALK-TO + EQUAL? PRSO,INTDIR \?CCL3 + CALL DO-WALK,P-DIRECTION + RSTACK +?CCL3: CALL V-WALK-AROUND + RSTACK + + + .FUNCT V-WAIT,NUM=3 + PRINTI "Time passes..." + CRLF +?PRG1: DLESS? 'NUM,0 /?REP2 + CALL CLOCKER + ZERO? STACK /?PRG1 +?REP2: SET 'CLOCK-WAIT,TRUE-VALUE + RETURN CLOCK-WAIT + + + .FUNCT PRE-DOFF,?TMP1 + CALL NOUN-USED,W?DECK,GROUND + ZERO? STACK /?CCL3 + EQUAL? HERE,DEUX-DECK /?CTR2 + CALL SHIP-BOARD,HERE + ZERO? STACK /?CCL3 +?CTR2: CALL V-WALK-AROUND + RTRUE +?CCL3: ZERO? PRSO /?CCL9 + EQUAL? PRSA,V?UNDRESS /FALSE +?CCL9: CALL CHECK-STRIP + ZERO? STACK \TRUE + EQUAL? HERE,LAFS-ROOM /FALSE + EQUAL? HERE,ANTEROOM \?CCL15 + IN? DAD,HERE \FALSE +?CCL15: CALL FIND-IN,HERE,ACTORBIT,STR?293 + ZERO? STACK \?CTR20 + EQUAL? HERE,ORCHESTRA,SUPPER-ROOM,BALLROOM \?CCL21 +?CTR20: PRINT POLITE-SOCIETY + RTRUE +?CCL21: EQUAL? HERE,ANTEROOM \?CCL25 + LOC DAD >?TMP1 + LOC COOKIE + EQUAL? HERE,?TMP1,STACK \FALSE +?CCL25: ZERO? PRSO /FALSE + EQUAL? PRSO,RETICULE /FALSE + FSET? PRSO,WORNBIT /?CCL33 + FSET? PRSO,WEARBIT \FALSE +?CCL33: FSET? PRSO,WORNBIT /FALSE + PRINTI "You're not wearing" + CALL TPRINT-PRSO + PRINTR "!" + + + .FUNCT PRE-WEAR + FSET? PRSO,WEARBIT /?CCL3 + CALL CANT-VERB-A-PRSO,STR?294 + RSTACK +?CCL3: FSET? PRSO,WORNBIT \?CCL5 + PRINT YOU-ARE-ALREADY + PRINTI "wearing" + CALL TPRINT-PRSO + PRINTR "!" +?CCL5: CALL CHECK-STRIP + ZERO? STACK \TRUE + CALL RUNNING?,I-LSED + ZERO? STACK /?CCL9 + LOC LAFOND + EQUAL? STACK,HERE \?CCL9 + PRINTD LAFOND + PRINTR " prevents you." +?CCL9: ZERO? ENDGAME \FALSE + EQUAL? HERE,FOYER,BALLROOM,SUPPER-ROOM /?CCL13 + EQUAL? HERE,ORCHESTRA \FALSE +?CCL13: PRINTR "People might notice." + + + .FUNCT CHECK-STRIP + EQUAL? HERE,CABIN \?CCL3 + PRINTI "With pirates attacking?! " + PRINT MOTHER + RTRUE +?CCL3: EQUAL? HERE,ON-LADDER,RIGGING-ROOM \?CCL5 + PRINT YOU-CANT + PRINTI "manage the fastenings while whipping to and fro " + EQUAL? HERE,ON-LADDER \?CCL8 + PRINTI "on" + CALL ARPRINT,LADDER + RSTACK +?CCL8: PRINTI "in" + CALL TRPRINT,RIGGING-OBJECT + RSTACK +?CCL5: EQUAL? HERE,IN-HEDGE,BY-HOUSE \FALSE + PRINT YOU-CANT + PRINTR "even stand straight, much less change clothes!" + + + .FUNCT V-WEAR + MOVE PRSO,PROTAGONIST + FSET PRSO,WORNBIT + PRINTI "You're now wearing" + CALL TRPRINT,PRSO + RSTACK + + + .FUNCT V-WHAT + PRINTR "Good question." + + + .FUNCT V-WHERE + CALL V-FIND,TRUE-VALUE + RSTACK + + + .FUNCT V-YELL + EQUAL? HERE,GALLERY,DEUX-DECK \?CCL3 + PRINTI "Although your voice is quite piercing, no one notices you." + CRLF + JUMP ?CND1 +?CCL3: EQUAL? HERE,CABIN \?CCL5 + PRINT HELP-SCREAM + CRLF + JUMP ?CND1 +?CCL5: PRINTI "Papa always says, ""Action, not reaction, girl!""" + CRLF +?CND1: CALL STOP + RSTACK + + + .FUNCT I-REPLY + SET 'AWAITING-REPLY,FALSE-VALUE + RFALSE + + + .FUNCT V-YES + EQUAL? AWAITING-REPLY,1 \?CCL3 + PRINTI "That wasn't a yes or no question" + PRINT PCR + RTRUE +?CCL3: EQUAL? AWAITING-REPLY,2 \?CCL5 + PRINTR "That was just a rhetorical question." +?CCL5: EQUAL? AWAITING-REPLY,3 \?CCL7 + PRINTR "Whither goes a will, goes a way." +?CCL7: EQUAL? AWAITING-REPLY,4 \?CCL9 + REMOVE HERO + CALL STOP-QUEUES + PRINTR "Silently he drops your arm and retreats. You are alone." +?CCL9: EQUAL? AWAITING-REPLY,5 \?CCL11 + PRINTR "You nod tentatively." +?CCL11: EQUAL? AWAITING-REPLY,6 \?CCL13 + PRINTI """Quite a girl, isn't she? You two will be great friends,"" he says" + PRINT PCR + RTRUE +?CCL13: EQUAL? AWAITING-REPLY,9 \?CCL15 + PRINTI "You have no breath to speak. You nod once, never taking " + PRINTD EYES + PRINTI " off Nicholas Jamison" + PRINT PCR + RTRUE +?CCL15: EQUAL? AWAITING-REPLY,10 \?CCL17 + PRINTR "You nod eagerly." +?CCL17: EQUAL? AWAITING-REPLY,11 \?CCL19 + PRINTR "You summon a gracious smile, ""Why yes, I'd love to.""" +?CCL19: EQUAL? AWAITING-REPLY,12 \?CCL21 + PRINTI "You nod" + PRINT PCR + RTRUE +?CCL21: EQUAL? AWAITING-REPLY,13 \?CCL23 + PRINTI "Nicholas pulls forward a fettered wrist" + PRINT PCR + RTRUE +?CCL23: EQUAL? AWAITING-REPLY,14 \?CCL25 + PRINTI "Jamison grins at you" + PRINT PCR + RTRUE +?CCL25: EQUAL? AWAITING-REPLY,15 \?CCL27 + PRINTI "Breathless, eager, you lean into him" + PRINT PCR + RTRUE +?CCL27: EQUAL? AWAITING-REPLY,16 \?CCL29 + PRINTR "Your father twinkles, ""Good! He's of good family, you know.""" +?CCL29: EQUAL? AWAITING-REPLY,17 \?CCL31 + PRINTR """Har, just you try!""" +?CCL31: CALL YOU-SOUND,STR?295 + RSTACK + + + .FUNCT YOU-SOUND,STRING + PRINTI "You sound rather " + PRINT STRING + PRINTR "tive." + + + .FUNCT YES-WORD,WRD + EQUAL? WRD,W?YES,W?Y,W?YUP /TRUE + EQUAL? WRD,W?OK,W?OKAY,W?SURE /TRUE + RFALSE + + + .FUNCT ITAKE,VB=1,OBJ,?TMP1 + FSET? PRSO,TAKEBIT /?CCL3 + ZERO? VB /?PRG6 + CALL WASTES +?PRG6: RETURN 8 +?CCL3: CALL PRE-TOUCH + ZERO? STACK /?CCL9 + RETURN 8 +?CCL9: CALL HELD?,PRSO + ZERO? STACK \?CCL13 + CALL WEIGHT,PRSO >?TMP1 + CALL WEIGHT,PROTAGONIST + ADD ?TMP1,STACK + GRTR? STACK,110 \?CCL13 + ZERO? VB /?PRG18 + PRINTI "It's too heavy, considering your current load." + CRLF +?PRG18: RETURN 8 +?CCL13: CALL CCOUNT,PROTAGONIST + GRTR? STACK,12 \?CND1 + ZERO? VB /?PRG23 + PRINT YOU-ARE-ALREADY + PRINTI "juggling as many items as you can possibly carry." + CRLF +?PRG23: RETURN 8 +?CND1: FSET PRSO,TOUCHBIT + FCLEAR PRSO,NDESCBIT + IN? PROTAGONIST,PRSO /FALSE + MOVE PRSO,PROTAGONIST + RTRUE + + + .FUNCT IDROP + EQUAL? PRSO,HANDS \?CCL3 + EQUAL? PRSA,V?GIVE,V?THROW,V?DROP \FALSE + CALL IMPOSSIBLES + RSTACK +?CCL3: EQUAL? PRSO,RETICULE \?CCL8 + EQUAL? PRSA,V?GIVE,V?THROW,V?DROP \FALSE + PRINTR "A lady is never without her reticule." +?CCL8: EQUAL? PRSO,ME \?CCL13 + EQUAL? PRSA,V?PUT \?CCL13 + FSET? PRSI,ACTORBIT \?CCL13 + CALL PERFORM,V?BOARD,PRSI + RTRUE +?CCL13: EQUAL? PRSI,ME \?CCL18 + EQUAL? PRSA,V?PUT \?CCL18 + FSET? PRSO,ACTORBIT \?CCL18 + CALL PERFORM,V?BOARD,PRSO + RTRUE +?CCL18: EQUAL? PRSO,SPICES /?PRD25 + EQUAL? PRSO,PINCH \?CCL23 +?PRD25: CALL HELD?,PINCH + ZERO? STACK \FALSE +?CCL23: CALL HELD?,PRSO + ZERO? STACK \?CCL29 + EQUAL? PRSO,ME /?CTR31 + FSET? PRSO,BODYBIT \?CCL32 +?CTR31: CALL IMPOSSIBLES + RETURN 8 +?CCL32: PRINT YNH + CALL TRPRINT,PRSO + RETURN 8 +?CCL29: IN? PRSO,PROTAGONIST /?CCL38 + LOC PRSO + FSET? STACK,CONTBIT \?CCL38 + LOC PRSO + FSET? STACK,OPENBIT /?CCL38 + LOC PRSO + CALL DO-FIRST,STR?265,STACK + RSTACK +?CCL38: FSET? PRSO,WORNBIT \FALSE + CALL DO-FIRST,STR?296,PRSO + RSTACK + + + .FUNCT CCOUNT,OBJ,CNT=0,X + FIRST? OBJ >X /?PRG3 + RETURN CNT +?PRG3: FSET? X,WORNBIT /?CND5 + INC 'CNT +?CND5: NEXT? X >X /?PRG3 + RETURN CNT + + + .FUNCT WEIGHT,OBJ,CONT,WT=0 + FIRST? OBJ >CONT \?CND1 +?PRG3: CALL WEIGHT,CONT + ADD WT,STACK >WT + NEXT? CONT >CONT /?PRG3 +?CND1: GETP OBJ,P?SIZE + ADD WT,STACK + RSTACK + + + .FUNCT DESCRIBE-ROOM,VERB-IS-LOOK=0,FIRST-VISIT=0,NUM=0 + ZERO? LIT \?CND1 + PRINT TOO-DARK + CRLF + RFALSE +?CND1: FSET? HERE,TOUCHBIT /?CND3 + FSET HERE,TOUCHBIT + SET 'FIRST-VISIT,TRUE-VALUE +?CND3: PRINTD HERE + LOC PROTAGONIST + FSET? STACK,VEHBIT \?CND5 + PRINTI ", " + LOC PROTAGONIST + FSET? STACK,INBIT \?CCL9 + PRINTC 105 + JUMP ?CND7 +?CCL9: PRINTC 111 +?CND7: PRINTC 110 + LOC PROTAGONIST + CALL TPRINT,STACK +?CND5: CRLF + ZERO? VERB-IS-LOOK \?CCL11 + EQUAL? VERBOSITY,2 /?CCL11 + ZERO? FIRST-VISIT /TRUE + EQUAL? VERBOSITY,1 \TRUE +?CCL11: PRINT INDENT + GETP HERE,P?ACTION + CALL STACK,M-LOOK + ZERO? STACK \?CND17 + GETP HERE,P?LDESC + PRINT STACK +?CND17: CRLF + RTRUE + + + .FUNCT DESCRIBE-OBJECTS,O,STR,1ST?=1,AV + LOC WINNER >AV + FIRST? HERE >O /?BOGUS1 +?BOGUS1: ZERO? O /FALSE +?PRG4: ZERO? O /?REP5 + CALL DESCRIBABLE?,O + ZERO? STACK /?CND6 + FSET? O,TOUCHBIT /?CND6 + GETP O,P?FDESC >STR + ZERO? STR /?CND6 + PRINT INDENT + PRINT STR + FSET? O,CONTBIT \?CND13 + CALL DESCRIBE-CONTENTS,O,TRUE-VALUE,3 +?CND13: CRLF +?CND6: NEXT? O >O /?PRG4 + JUMP ?PRG4 +?REP5: FIRST? HERE >O /?BOGUS16 +?BOGUS16: SET '1ST?,TRUE-VALUE +?PRG17: ZERO? O /?REP18 + CALL DESCRIBABLE?,O + ZERO? STACK /?CND19 + GETP O,P?FDESC + ZERO? STACK /?CCL23 + FSET? O,TOUCHBIT \?CND19 +?CCL23: GETP O,P?DESCFCN >STR + ZERO? STR /?CCL29 + CALL STR,M-OBJDESC >STR + ZERO? STR /?CCL29 + FSET? O,CONTBIT \?CND32 + EQUAL? STR,M-FATAL /?CND32 + CALL DESCRIBE-CONTENTS,O,TRUE-VALUE,3 +?CND32: CRLF + JUMP ?CND19 +?CCL29: GETP O,P?LDESC >STR + ZERO? STR /?CND19 + PRINT INDENT + PRINT STR + FSET? O,CONTBIT \?CND37 + CALL DESCRIBE-CONTENTS,O,TRUE-VALUE,3 +?CND37: CRLF +?CND19: NEXT? O >O /?PRG17 + JUMP ?PRG17 +?REP18: CALL DESCRIBE-CONTENTS,HERE,FALSE-VALUE,0 + ZERO? AV /FALSE + EQUAL? HERE,AV /FALSE + CALL DESCRIBE-CONTENTS,AV,FALSE-VALUE,0 + RSTACK + + + .FUNCT DESCRIBE-CONTENTS,OBJ,LEVEL=-1,ALL?=D-ALL?,F=0,N,1ST?=1,IT?=0,TWO?=0,START?=0,PARA?=0,DB + EQUAL? LEVEL,2 \?CCL3 + SET 'LEVEL,TRUE-VALUE + SET 'PARA?,TRUE-VALUE + SET 'START?,TRUE-VALUE + JUMP ?CND1 +?CCL3: BTST ALL?,D-PARA? \?CND1 + SET 'PARA?,TRUE-VALUE +?CND1: FIRST? OBJ >N /?BOGUS5 +?BOGUS5: ZERO? START? \?PRG21 + IN? OBJ,ROOMS /?PRG21 + FSET? OBJ,ACTORBIT /?PRG21 + ZERO? N /FALSE + FSET? OBJ,CONTBIT \FALSE + FSET? OBJ,OPENBIT /?PRD16 + FSET? OBJ,TRANSBIT \FALSE +?PRD16: EQUAL? LEVEL,-1 /?PRG21 + FSET? OBJ,SEARCHBIT \FALSE +?PRG21: ZERO? N /?CCL24 + CALL DESCRIBABLE?,N + ZERO? STACK /?CND23 + BTST ALL?,D-ALL? /?CCL24 + CALL SIMPLE-DESC?,N + ZERO? STACK /?CND23 +?CCL24: ZERO? F /?CND31 + ZERO? 1ST? /?CCL35 + SET '1ST?,FALSE-VALUE + EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?CCL38 + ZERO? START? \?CND33 + ZERO? PARA? \?CCL43 + EQUAL? OBJ,PROTAGONIST /?CND44 + PRINT INDENT +?CND44: SET 'PARA?,TRUE-VALUE + JUMP ?CND41 +?CCL43: EQUAL? LEVEL,TRUE-VALUE \?CND41 + PRINTC 32 +?CND41: CALL DESCRIBE-START,OBJ + JUMP ?CND33 +?CCL38: EQUAL? LEVEL,-1 /?CND33 + PRINT LEVEL + JUMP ?CND33 +?CCL35: ZERO? N /?CCL49 + PRINTC 44 + JUMP ?CND33 +?CCL49: PRINTI " and" +?CND33: CALL APRINT,F + FSET? F,ONBIT \?CCL52 + PRINTI " (providing light)" + JUMP ?CND50 +?CCL52: EQUAL? F,RETICULE \?CND50 + PRINTI " (hanging from your wrist)" +?CND50: ZERO? IT? \?CCL56 + ZERO? TWO? \?CCL56 + SET 'IT?,F + JUMP ?CND31 +?CCL56: SET 'TWO?,TRUE-VALUE + SET 'IT?,FALSE-VALUE +?CND31: SET 'F,N +?CND23: ZERO? N /?CND59 + NEXT? N >N /?CND59 +?CND59: ZERO? F \?PRG21 + ZERO? N \?PRG21 + ZERO? IT? /?CND66 + ZERO? TWO? \?CND66 + CALL THIS-IS-IT,IT? +?CND66: ZERO? 1ST? /?CCL72 + ZERO? START? /?CCL72 + PRINTI " nothing" + RFALSE +?CCL72: ZERO? 1ST? \?REP22 + EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?REP22 + EQUAL? OBJ,HERE \?CND78 + PRINTI " here" +?CND78: PRINTC 46 +?REP22: EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?CND80 + FIRST? OBJ >F /?PRG83 +?PRG83: ZERO? F /?CND80 + FSET? F,CONTBIT \?CND85 + CALL DESCRIBABLE?,F,TRUE-VALUE + ZERO? STACK /?CND85 + BTST ALL?,D-ALL? /?CCL88 + CALL SIMPLE-DESC?,F + ZERO? STACK /?CND85 +?CCL88: SET 'DB,D-BIT + SET 'D-BIT,FALSE-VALUE + ZERO? PARA? /?CCL98 + PUSH 3 + JUMP ?CND96 +?CCL98: PUSH D-ALL? +?CND96: CALL DESCRIBE-CONTENTS,F,TRUE-VALUE,STACK + ZERO? STACK /?CND94 + SET '1ST?,FALSE-VALUE + SET 'PARA?,TRUE-VALUE +?CND94: SET 'D-BIT,DB +?CND85: NEXT? F >F /?PRG83 + JUMP ?PRG83 +?CND80: ZERO? 1ST? \?CND100 + EQUAL? LEVEL,FALSE-VALUE,TRUE-VALUE \?CND100 + LOC WINNER + EQUAL? OBJ,HERE,STACK \?CND100 + CRLF +?CND100: ZERO? 1ST? /TRUE + RFALSE + + + .FUNCT DESCRIBE-START,OBJ + EQUAL? OBJ,HERE \?CCL3 + PRINT YOU-SEE + RTRUE +?CCL3: EQUAL? OBJ,PROTAGONIST \?CCL5 + EQUAL? D-BIT,WORNBIT \?CCL8 + PRINTI " You are wearing" + RTRUE +?CCL8: PRINTI "You have" + RTRUE +?CCL5: FSET? OBJ,SURFACEBIT \?CCL10 + PRINTI "Sitting on" + CALL TPRINT,OBJ + PRINTI " is" + RTRUE +?CCL10: FSET? OBJ,ACTORBIT \?CCL12 + EQUAL? OBJ,CROC /?CCL12 + EQUAL? OBJ,LUCY \?CCL17 + PRINTI "Sh" + JUMP ?CND15 +?CCL17: PRINTC 72 +?CND15: PRINTI "e has" + RTRUE +?CCL12: EQUAL? OBJ,FENCE,BOTTLE,HORN /TRUE + PRINT IT-SEEMS-THAT + CALL TPRINT,OBJ + PRINTI " contains" + RTRUE + + + .FUNCT DESCRIBABLE?,OBJ,CONT?=0 + FSET? OBJ,INVISIBLE /FALSE + EQUAL? OBJ,WINNER /FALSE + LOC WINNER + EQUAL? OBJ,STACK \?CCL7 + LOC WINNER + EQUAL? HERE,STACK \FALSE +?CCL7: ZERO? CONT? \?CCL11 + FSET? OBJ,NDESCBIT /FALSE +?CCL11: ZERO? D-BIT /TRUE + GRTR? D-BIT,0 \?CCL18 + FSET? OBJ,D-BIT /TRUE + RFALSE +?CCL18: SUB 0,D-BIT + FSET? OBJ,STACK /FALSE + RTRUE + + + .FUNCT SIMPLE-DESC?,OBJ,STR + GETP OBJ,P?FDESC + ZERO? STACK /?CCL3 + FSET? OBJ,TOUCHBIT \FALSE +?CCL3: GETP OBJ,P?DESCFCN >STR + ZERO? STR /?CCL7 + CALL STR,M-DESC? + ZERO? STACK \FALSE +?CCL7: GETP OBJ,P?LDESC + ZERO? STACK /TRUE + RFALSE + + + .FUNCT DESCRIBE-VEHICLE + PRINTI "Other than " + PRINTD ME + PRINTI ", you can see" + CALL DESCRIBE-NOTHING + ZERO? STACK \TRUE + FSET? PRSO,INBIT \?CCL5 + PRINTI " in" + JUMP ?CND3 +?CCL5: PRINTI " on" +?CND3: CALL TRPRINT,PRSO + RTRUE + + + .FUNCT DESCRIBE-NOTHING + CALL DESCRIBE-CONTENTS,PRSO,2 + ZERO? STACK /FALSE + IN? PROTAGONIST,PRSO /TRUE + CRLF + RTRUE + + + .FUNCT GOTO,NEW-LOC,DONT-DESCRIBE-DAD=0,OLD-HERE + SET 'OLD-HERE,HERE + MOVE PROTAGONIST,NEW-LOC + IN? NEW-LOC,ROOMS \?CCL3 + SET 'HERE,NEW-LOC + JUMP ?CND1 +?CCL3: LOC NEW-LOC >HERE +?CND1: CALL LIT?,HERE >LIT + EQUAL? OLD-HERE,LIBRARY \?CND4 + CALL HELD?,HAT + ZERO? STACK /?CND4 + EQUAL? HERE,BY-HOUSE,HALL-E \?CND4 + CALL SAFETY-SAKE + CRLF +?CND4: GETP HERE,P?ACTION + CALL STACK,M-ENTER + EQUAL? HERE,PASSAGE-4 \?CCL11 + IN? DAD,HERE \?CCL11 + PRINTI """What a brave tot! You've inherited all your mother's spirit."" Your father beams with pride" + PRINT PCR + CRLF + JUMP ?CND9 +?CCL11: EQUAL? HERE,BOTTOM-STAIRS \?CCL15 + IN? COOKIE,ANTEROOM \?CCL15 + SET 'COOKIE-FIGHTING-CROC,FALSE-VALUE + FCLEAR CROC,NDESCBIT + PRINTI """I ain't goin' to fight this beast if you're headin' back upstairs.""" + CALL TPRINT,COOKIE + IN? RAPIER,PROTAGONIST \?CND18 + MOVE RAPIER,COOKIE + PRINTI " eyes" + CALL TPRINT,RAPIER + PRINTI " in" + CALL TPRINT,HANDS + PRINTI ". ""Not a proper thing fer a lady,"" he grumbles, taking it from you. He" +?CND18: PRINTI " follows you" + PRINT PCR + CRLF + JUMP ?CND9 +?CCL15: EQUAL? HERE,LAGOON /TRUE +?CND9: CALL DESCRIBE-ROOM + ZERO? STACK /?CND21 + ZERO? VERBOSITY /?CND21 + CALL DESCRIBE-OBJECTS +?CND21: IN? DAD,OLD-HERE \?CND25 + IN? PROTAGONIST,HERE \?CND25 + ZERO? DONT-DESCRIBE-DAD \?CND25 + ZERO? ENDGAME \?CND25 + CALL DAD-FOLLOWS-YOU +?CND25: IN? HERO,OLD-HERE \?CND31 + IN? PROTAGONIST,HERE \?CND31 + ZERO? ENDGAME \?CND31 + EQUAL? HERE,BALLROOM \?CCL38 + EQUAL? PARTNER,HERO \?CCL38 + MOVE HERO,HERE + PRINTD HERO + PRINTI " smiles and follows you, pulling you onto" + PRINT DANCE-FLOOR + PRINT PCR + JUMP ?CND31 +?CCL38: EQUAL? OLD-HERE,BALLROOM \?CCL42 + MOVE HERO,HERE + RTRUE +?CCL42: CALL STOP-QUEUES + REMOVE HERO + PRINT INDENT + PRINTI """No, wait -- !"" Jamison cries. He " + EQUAL? HERE,LAWN \?CCL45 + PRINTI "slips past you into the forest" + JUMP ?CND43 +?CCL45: PRINTI "hesitates and turns away" +?CND43: PRINT PCR +?CND31: ZERO? ENDGAME /TRUE + IN? COOKIE,OLD-HERE \TRUE + IN? PROTAGONIST,HERE \TRUE + ZERO? COOKIE-FIGHTING-CROC \TRUE + CALL RUNNING?,I-ENDGAME + ZERO? STACK \TRUE + CALL RUNNING?,I-DUEL + ZERO? STACK /?CCL55 + EQUAL? OLD-HERE,GALLERY,STAIRTOP /TRUE +?CCL55: EQUAL? HERE,BEACH /TRUE + MOVE COOKIE,HERE + PRINT INDENT + PRINTD COOKIE + PRINTI " pegs after you" + PRINT PCR + RTRUE + + + .FUNCT SAFETY-SAKE + MOVE HAT,LIBRARY + FCLEAR HAT,WORNBIT + FSET HAT,EVERYBIT + FCLEAR KNOB,EVERYBIT + FSET KNOB,DEADBIT + PRINTI "For safety's sake, you leave" + CALL TPRINT,HAT + PRINTI " on its knob. Best not to show that you've been wandering" + PRINT PCR + RTRUE + + + .FUNCT DAD-FOLLOWS-YOU + EQUAL? HERE,CELL-4 \?CCL3 + PRINTR "Your father chuckles in the darkness of the passageway, ""No dear, I'm not going in there again!""" +?CCL3: LOC PROTAGONIST + MOVE DAD,STACK + PRINT INDENT + PRINTI "Papa " + CALL PICK-ONE,FOLLOWS + PRINT STACK + CRLF + RTRUE + + + .FUNCT JIGS-UP,DESC + PRINT DESC + PRINT YOU-DIED + CALL FINISH + RSTACK + + + .FUNCT H-JIGS-UP,DESC,DAD-DEAD=0 + PRINT DESC + PRINT YOU-DIED + PRINT INDENT + ZERO? DAD-DEAD /?CCL3 + PRINTI "Troubled by Papa's death, caused by your own unthinking pride, your life loses meaning. You die by your own hand, in grief and shame." + JUMP ?CND1 +?CCL3: PRINTI "Rather, your flesh is intact, but your spirit has flown with the death of your heart's love. The years pass, unnoticed, twisting you into an old and ugly spinster, that dies alone, loved by no one." +?CND1: CRLF + CALL FINISH + RSTACK + + + .FUNCT FWTD,DESC + PRINT DESC + CRLF + CRLF + PRINTI " *** You have suffered + a fate worse than death ***" + CRLF + CALL FINISH + RSTACK + + + .FUNCT ACCESSIBLE?,OBJ,L + ZERO? OBJ /FALSE + LOC OBJ >L + FSET? OBJ,INVISIBLE /FALSE + EQUAL? OBJ,PSEUDO-OBJECT \?CCL7 + EQUAL? LAST-PSEUDO-LOC,HERE /TRUE + RFALSE +?CCL7: ZERO? L /FALSE + EQUAL? L,GLOBAL-OBJECTS /TRUE + EQUAL? L,LOCAL-GLOBALS \?CCL16 + CALL GLOBAL-IN?,OBJ,HERE + ZERO? STACK \TRUE +?CCL16: CALL META-LOC,OBJ + EQUAL? STACK,HERE \FALSE + EQUAL? L,WINNER,HERE /TRUE + FSET? L,OPENBIT \FALSE + CALL ACCESSIBLE?,L + ZERO? STACK /FALSE + RTRUE + + + .FUNCT VISIBLE?,OBJ,L + ZERO? OBJ /FALSE + LOC OBJ >L + CALL ACCESSIBLE?,OBJ + ZERO? STACK \TRUE + CALL SEE-INSIDE?,L + ZERO? STACK /FALSE + CALL VISIBLE?,L + ZERO? STACK /FALSE + RTRUE + + + .FUNCT UNTOUCHABLE?,OBJ + ZERO? OBJ /FALSE + EQUAL? OBJ,SEA \?CCL5 + EQUAL? HERE,LAGOON,SHALLOWS,MAIN-DECK /FALSE + EQUAL? HERE,BEACH /FALSE + RTRUE +?CCL5: EQUAL? OBJ,LADDER \?CCL12 + LOC PROTAGONIST + EQUAL? STACK,LEDGE /FALSE +?CCL12: IN? PROTAGONIST,HERE /FALSE + LOC PROTAGONIST + CALL HELD?,OBJ,STACK + ZERO? STACK \FALSE + LOC PROTAGONIST + EQUAL? OBJ,STACK /FALSE + IN? OBJ,GLOBAL-OBJECTS /FALSE + RTRUE + + + .FUNCT META-LOC,OBJ +?PRG1: ZERO? OBJ /FALSE + IN? OBJ,GLOBAL-OBJECTS \?CND3 + RETURN GLOBAL-OBJECTS +?CND3: IN? OBJ,ROOMS \?CCL9 + RETURN OBJ +?CCL9: LOC OBJ >OBJ + JUMP ?PRG1 + + + .FUNCT OTHER-SIDE,DOBJ,P=0,TEE +?PRG1: NEXTP HERE,P >P + LESS? P,LOW-DIRECTION /FALSE + GETPT HERE,P >TEE + PTSIZE TEE + EQUAL? STACK,DEXIT \?PRG1 + GETB TEE,DEXITOBJ + EQUAL? STACK,DOBJ \?PRG1 + RETURN P + + + .FUNCT HELD?,OBJ,CONT=0 + ZERO? CONT \?CND1 + SET 'CONT,WINNER +?CND1: ZERO? OBJ /FALSE + IN? OBJ,CONT /TRUE + IN? OBJ,ROOMS /FALSE + LOC OBJ + CALL HELD?,STACK,CONT + RSTACK + + + .FUNCT SEE-INSIDE?,OBJ + ZERO? OBJ /FALSE + FSET? OBJ,INVISIBLE /FALSE + FSET? OBJ,TRANSBIT /TRUE + FSET? OBJ,OPENBIT /TRUE + RFALSE + + + .FUNCT GLOBAL-IN?,OBJ1,OBJ2,TEE + GETPT OBJ2,P?GLOBAL >TEE + ZERO? TEE /FALSE + PTSIZE TEE + SUB STACK,1 + CALL ZMEMQB,OBJ1,TEE,STACK + RSTACK + + + .FUNCT FIND-IN,WHERE,FLAG-IN-QUESTION,STRING=0,OBJ,RECURSIVE-OBJ + FIRST? WHERE >OBJ /?BOGUS1 +?BOGUS1: ZERO? OBJ /FALSE +?PRG4: FSET? OBJ,FLAG-IN-QUESTION \?CCL8 + FSET? OBJ,INVISIBLE /?CCL8 + ZERO? STRING \?CCL12 + RETURN OBJ +?CCL12: PRINTC 91 + PRINT STRING + CALL TPRINT,OBJ + PRINTC 93 + CRLF + RETURN OBJ +?CCL8: CALL FIND-IN,OBJ,FLAG-IN-QUESTION >RECURSIVE-OBJ + ZERO? RECURSIVE-OBJ /?CCL14 + RETURN RECURSIVE-OBJ +?CCL14: NEXT? OBJ >OBJ /?PRG4 + RFALSE + + + .FUNCT LOC-CLOSED,L + LOC PRSO >L + FSET? L,CONTBIT \FALSE + FSET? L,OPENBIT /FALSE + FSET? PRSO,TAKEBIT \FALSE + CALL DO-FIRST,STR?265,L + RSTACK + + + .FUNCT DO-WALK,DIR + SET 'P-WALK-DIR,DIR + CALL PERFORM,V?WALK,DIR + RSTACK + + + .FUNCT STOP + SET 'P-CONT,FALSE-VALUE + SET 'QUOTE-FLAG,FALSE-VALUE + RETURN 8 + + + .FUNCT ANYTHING-HELD,SOMETHING-HELD=0,N,X + FIRST? PROTAGONIST >X /?PRG2 +?PRG2: ZERO? X /?REP3 + FSET? X,WORNBIT /?CND6 + EQUAL? X,RETICULE /?CND6 + SET 'SOMETHING-HELD,TRUE-VALUE +?CND6: NEXT? X >N /?BOGUS10 +?BOGUS10: SET 'X,N + JUMP ?PRG2 +?REP3: RETURN SOMETHING-HELD + + + .FUNCT ROB,WHO,WHERE=0,N,X + FIRST? WHO >X /?PRG2 +?PRG2: ZERO? X /?REP3 + NEXT? X >N /?BOGUS6 +?BOGUS6: FSET? X,WORNBIT /?CND7 + EQUAL? X,PINCH /?CND7 + ZERO? WHERE /?CCL13 + MOVE X,WHERE + JUMP ?CND7 +?CCL13: REMOVE X +?CND7: SET 'X,N + JUMP ?PRG2 +?REP3: MOVE RETICULE,PROTAGONIST + RTRUE + + + .FUNCT HACK-HACK,STR + PRINT STR + CALL TPRINT-PRSO + CALL HO-HUM + RSTACK + + + .FUNCT HO-HUM + CALL PICK-ONE,HO-HUM-LIST + PRINT STACK + CRLF + RTRUE + + + .FUNCT IMPOSSIBLES + CALL PICK-ONE,IMPOSSIBLE-LIST + PRINT STACK + CRLF + RTRUE + + + .FUNCT WASTES + CALL PICK-ONE,WASTE-LIST + PRINT STACK + CRLF + RTRUE + + .ENDI diff --git a/verbs.zil b/verbs.zil new file mode 100644 index 0000000..aa42eb4 --- /dev/null +++ b/verbs.zil @@ -0,0 +1,3699 @@ +"VERBS for + PLUNDERED HEARTS + (c) Copyright 1987 Infocom, Inc. All Rights Reserved." + +;"subtitle game commands" + + ;"0 = super-brief, 1 = brief, 2 = verbose" + + + + > + + + > + + + > + +> ;"flush anything on input line after SAVE" + > + + ) + (T + )>> + + + ) + (T + )>> + + 1>> + + > + + + + -2>> + > + +> + +; + ) + (T + )>> + + + > + + ) + (T + )> + + )> + > + <+ ,D-ALL? ,D-PARA?>> + ; <+ ,D-ALL? ,D-PARA?>>> + )> + + <+ ,D-ALL? ,D-PARA?>> + > + > + +;> ;"you can't have nothing" + > + + + + + ) + (T + )>> + + + + + + + )>> + +> + +"> + + > + ) + (> + ,W?N>> + ) + (T + + )>> + +) "AUX" (REPEATING <>) (CNT 0)) + + + + + )> + ;".END-OF-GAME" + ".\""> + + )> + )> + "> + + + + > + ,W?RESTAR> + + + ) + ( ,W?RESTOR> + >> + + ) + ( ,W?QUIT ,W?Q> + > + )> + >> + + *3777*>> + + > 23> + ) + (T + >)>> + > + + + + + + > + +> + ) + (T + > + )>> + + + > + + + > + + + > + ) + (T + + + ) + (T + )>)>> + + + +;> + +; + > + ) + (T + + )> + > + + + +;"subtitle real verbs" + + + + ) + ( + ) + (> + + >> + + ) + (T + )>> + +;>> + + ) + (>> + + ) + (T + + )>> + + + ) + (T + > + + )>> + +> + +;> + > + )> + + ; ;"maybe fix 'what do you want to'" + + + + + + + + + + + > + +> + +; + + ) + (T + + + )>> + + + + + ) + ( + + + + + + + ) + (T + + )>> + +> + +> + + ) + (T + )>> + +; + ) + (T + )>> + +;> + + +> + +> + + + ) + ( + ) + ( + )>> + +)) + + ; ,HERE ,LOCAL-GLOBALS>> + + ,SURFACEBIT> + ) + (T + )> + > + )> + + + + ) + (T + )> + + ,P?ACTION> ,M-ENTER> + ) + ( + ) + ( ,PR?IN> + ) + (T + )>> + + + + + ) + (T + )>) + (T + + )>> + + + + >>> + ) + (T + + )> + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + + ) + (T + )>> + +;> + +; + + ) + (T + )>> + +; + ) + (> + ) + (T + + )>> + +; + > + ) + (T + + )>> + +;> + +> + + + ) + (T + + + )> + + ) + (T + )> + )>> + + + + > + + + + > + + ) + ( + ) + ( + ) + (T + )>> + + + + ) + ( + ) + (T + )>> + + + > + + ) + ( + ) + ( ,PR?IN ;,PR?INSIDE> + ) + (T + )>> + + + + ) + (T + )>> + +; + ) + ( + ) + (T + )>> + + + > + > + > + >> + ) + (T + )>> + + +;> + +> + ) + (T + )>> + +;> + +> + + + > + + + ) + ( + + ) + (T + )>) + (T + )>> + +> + ,ME ,PROTAGONIST>> + + + + + ) + ( + > + ) + (T + )>) + ( + ) + (T + )>) + (T + )>> + +;> + +;> + + + > + > + ) + (T + )>) + ;"And since GET OUT is also TAKE OUT" + ( + + ) + ( + > + + ) + (> + + ) + ( + ) + (T + + + + + )> + + + ) + (T + )> + + )>> + + + + ; + ; + ) + (T + )> + ;) + (T + )>) + (T + + )>> + +> + +> + +> + ,SKIFF ,CASK> + >) + (T + )> + )>> + + + + ) + ( ,SHALLOWS> + + ) + ( + + >> + + >> + + + > + )> + ) + (T + + )>)>> + +> + + + + > + )> + ) + ( + ) + (T + )>> + + + )> + > + ) + (> + ) + (> + ) + (> + >> + ) + (T + > + > + > + + + + + ) + ( + ) + ( + ) + (T + )>) + (T + )>)> + ) + (T + )>>)>> + + + + + + ) + (T + )>) + (T + )>> + + + > + ) + ( + + ) + ( + + ) + ( + ) + (> + ) + ( + + ) + (T + )>> + + + + + ) + (T + + )>) + ( + > + ) + ( + + ) + (T + )>) + ( + + + ) + (T + )> + ) + ( + ) + ( + > + ) + ( + + ) + (T + + + + >> + )> + )>> + + + + ) + ( + ) + ( + ) + (T + )> + > + +> + + ) + (> + )>> + +> + + + > + > + ) + (T + )> + > + +> + +> + + + ) + (T + )>> + + + > + +) "AUX" (L )) + + + ) + ( + ) + ( + ) + ( + + > + ) + ( + > + ) + ( + + >> + + ) + ( + >> + ) + (T + )> + ) + (.WHERE + ) + (T + )>> + + + ) + (> + ) + (T + )>> + +;> + +;> + > + +)) + + >> + ) + ( + > + + ) + ( + + >> + + ) + ( + )> + + ) + ( + )>> + + + ) + (T + )>> + +> + ) + ;( + + ) + (T + + + )>> + + + + ; + ) + (T + )>) + (T + )>> + +) "AUX" X N) + + ) + (T + + > + > + >> + + ) + (T + )>)>)> + > + + ) + ( + )> + > + > + + + + + > + T> + +;) "AUX" X N) + + > + + ) + (T + + + + ) + (T + + + )>)> + ) + (T + + > + > + >> + + ) + (T + )>)>)> + > + + ) + ( + )> + > + > + + + + + > + T> + + + + + ) + ( + + ) + ( + >> + + ;) + (T )>) + (T + + )>> + + + + ) + (T + )>) + (T + )>> + +; + ) + (T + )>> + + + ) + (T + )>) + ( + > + + ) + (T + + )>> + + + ) + (T + )>> + + + > + + + )> + > + + + ) + (T + )>> + +> + +;> + +; + + + ) + (T + )>) + ( + ) + (T + )>> + + + + ) + (T + )>) + (T + )>> + +> + +> + +;> + +> + + + ; + > + > + ) + ( + ) + (T + )>> + +; + > + ) + (T + )>> + +> + +> + + + > + + > + + ) + ( + ) + (T + )>) + (> + ) + (T + )>> + + + + ) + ( + ) + (T + + )>> + + + ) + (T + )>> + + + + )> + + ) + ( + + ) + (T + + )>> + + + + > + )> + + > + + ) + (T + )>> + +;> + + + + ) + ( + + ) + ( + + + > + ) + ( + ) + ( + ) + ( + > + ) + (,PRSO + ) + (T + )>> + + + > + ) + ( + > + + ) + ( + > + + ) + (T + )>) + (> + > + + >> + + ) + (T + )>) + ( + + > + + ) + ( + + ) + ;( + + ) + (T + + )>) + (T + )>> + +;> + +; + )>> + + + )> + > + + + + )> + > + + + + ) + (T + + )>> + + + + + ) + (T + )> + + > + )> + ) + ( + ) + ( + + > + )> + ) + ( + + + ) + ( + + + > + )> + ) + (> + > + + )> + + ) + (T + )>) + ( ,PR?IN ;,PR?INSIDE> + ) + (T + )>> + +;> + + + + ) + (T + )>) + ( + ) + (T + + )>> + + + + ) + ( + + ) + (T + )>) + (T + + )>> + +; + ) + (T + + ; + ; + ; + ) + (T + )> + ;)>> + +;> + +;> + +; + + ) + (T + )>> + +> + ) + (>> + )> + + > + +;> + + + ) + ( + ) + ( + + ;) + (T + )>> + +;> + + + ) + ( + ) + ( + ) + ( + ) + (T + )>> + +> + +> + + + +;"3 - secret door. + 4 - hero, leave me alone. + 5 - I-MEET-HERO + 6 - Dad and garter. + ;7 - Kitchen, Lucy and ballgown. + 8 - do you really want to fight the croc? + 9 - Jump to interrupt Lafond. + 10 - Cookie: do you know where hero is? + 11 - Hero: will you go with Lafond? + 12 - Lafond seduction, drink wine" + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )>> + + + > + ) + (T + )>> + + + + + + ;) + (T + )>) + (T + + ;)>> + + + ) + ( + + ) + (T + + + ;)>) + (T + + ;)>> + +;> + + + + ) + ( + > + > + >> + ) + (T + )>> + +; + + ) + ( + + ) + (T + )>> + + + > + ) + (T + )>> + +> + + + > + +> + + + + >> + ) + ( + > + ) + ( + ) + ( + + ) + ;( + ) + ( + ) + ( ,POISONED ,W-P> + ) + (T + )>) + ;( + ) + ;( + )>> + +;> + +; + > + +> + + + ) + (T + )>> + +; + >> + > + ) + (T + )>> + + + + ) + ( + + ) + ( + + + ) + (T + )>) + ( + + > + ) + ( + > + ;>> + ) + ;(> + > + ) + ( + + ,PR?ON> + ) + (T + )> + + + ) + (T + )> + ) + (> + >> + ) + ( + ) + ( + )>> + + + + + >> + ) + (> + > + > + >> + ) + ( + + >>> + + ;) + ( + ) + (> + >> + + ) + ( + ) + ( > + > + > + >> + + + ) + (T + )> + ) + (> + > ,M-FATAL <>>> + ) + (T + + + )>> + +;> + +;> + +;> + + + + ) + ( + ) + (T + )>> + + + + ) + (T + )>) + (> + > + > + ) + (T + )>> + +;> + +;> + +> + +> + +> + + + >> + ) + (> + ) + ( + + >> + ) + (T + )>> + + + CR>)> + > + + + + > + + ) + (T + )>> + + + > + > + ) + (> + + )>) + (T + + )>> + + + > + + ) + (T + + + ) + (T + + + )>)> + )>> + + + > + + ) + (T + )>) + ( + + ) + (T + + )>> + + + ) + (T + )>> + + + ) + ( + ) + ( + ) + ( + + ) + (T + + )>) + (T + )>> + +> + + + ) + (T + )>> + + + + >> + + + ) + ( + + >> + + + ) + ;( + + >> + ) + (T + ,SKIFF> + ) + (T + )>)>> + +; + > + + + ; + + + ) + (T + )>> + +;>> + + ) + (>> + + ) + (> + + + ; + ;) + (T + + )>> + + + + + > + )> + + + + + ) + ( + ) + ( + ) + ( + ) + ( + )>)> + > + +;"Broken Hearted - final-rank when Nick dies - 0. Is no more." + +> + + + ) + ( + ) + ( + >> + ) + ( + + > + )> + ) + (T + )>> + + + ) + ;( + ,BARGE ,RAFT>> + ,INTNUM> + ) + ( + + ) + (T + )>) + (T + )>> + + + > + + + ) + (T + )>> + +> + ) + (> + ) + (T + + )>> + + + + + ) + ;( + ) + ;( + > + + ) + (T + )>) + (T + )>> + + + > + ) + ( + > + ) + (T + + )>) + (T + )>> + + + > + +> + + + ) + (T + + )>> + +> + +;> + +> + + ) + (T + )>> + +;> + + + ) + (T + )>> + +) + ( ,CASK> + ) + ( + ) + ( + ) + ( + ) + (T + )>> + + + + ;) + (T + )>> + + + + > + >> + )> + > + + + > + + + > + + ;"for HOLD UP OBJECT" + ) + ( ,VEHBIT> + > + ) + (> + ) + ( + ) + (T + )>> + +;> + + + > + + + > + + + + + + + > + ) + ( + ) + ( + ) + (T + )> + ) + ( + ) + (T + + + ) + (T + )> + + )>> + +; + > + + + + >> + + ;) + (T + )>> + + + ) + ( + > + + ) + (T + + ;)>> + +> + + + + > + +> + > + ) + ( + ) + ( + + + ) + (T + )> + ) + ( + + > + ) + ( + + >>> + + > + ) + ( + ) + (T + )> + ) + ( + >> + ) + ( + ) + ( + ) + (> + ) + ( + + ) + (T + > + )>> + + T> + )>> + + + + ,VEHBIT> + "]" CR> + > + )>) + (T + + )>) + ( + + ) + ( + + ) + (T + )>> + +> + +;> + + + >> + + + ) + (,P-CONT + + + ) + (T + )>) + (T + + )>> + + + + ) + (T + + )>> + + + ) + ( + ) + (T + )>> + + + > + +> + + + ) + (,PRSI + + ) + (T + + )>)>> + + + > + + + > + + ) + (T + )>> + + + + ) + (T + + )>> + + + > + +; + ; + ; + > + + ) + (T + )>> + +;> + + + ,PRSI + >> + ) + ( + + > + ) + ( + > + + ;) + ( + + ,CASK>> + ) + ( + ) + ( + + ) + (> + >> + + ) + (T + )>) + ( + > + > + >>> + + )>> + + + ) + (T + )>> + + + > + +; + + ) + (T + + ) + ( + ) + ( + ) + (T + )> + )>> + +; + > + + +) + ( + + + ) + ( + ) + (T + )>> + +;> + +;> + +; + ;> + +; + > + +> + + + ) + ( + > + ) + ;( + > + + ) + ;( + > + + ) + ( + > + > + >> + + ) + (> + > ,UEXIT> + >) + ( + CR> + ) + ( + >> + ;"catacombs fake-move" + )> + ) + (T + )>) + ( + > + >) + (> + + ) + (T + + )>) + ( + > ,OPENBIT> + >) + (> + + + ) + (T + + + )>)>) + (T + + ) + (T + )> + )>> + +)) + + + + ) + (T + )>> + + + > + + + + ,WET-DRESS> + + ,WET-RAG>> + ) + ( + ) + (T + )>) + ( + + ) + (T + )>> + +;> + + + ) + (T + )> + + > + + + + > + + + ) + (T + )>> + +; + > + + ) + (T + )> + ) + (T + )>> + + + > 0> + ) + ( + )>> + > + + + + >> + + ) ;"GET OFF DECK" + (> + ) + ( + ) + ( + + >>> + ) + ( + > + + ) + ( + >>> + ) + ( + > + ) + ( + >> + ) + ;( + + ) + (> + + )>> + +> + + ;) + ( + ) + ( + ) + ( + + ,HERE ;>> + ) + ( + > + )>> + + + ) + ( + + + ) + (T + )>) + ( + )>> + +; + ) + ( + ) + ( + ) + ( + ) + ( + > + ) + ( + > + ) + (T + )>> + + + ; + )> + + > + +;> + ) + (T + + + ) + (T + + + )> + )>> + +> + +> + +;> + +;> + + + + + ) + ( + ) + ( + ; + > + + ) + (T + + ;)> + > + +> + > + +> + +;"3 - secret door. + 4 - hero, leave me alone. + 5 - Jump to interrupt hero. + 6 - Dad and garter. + ;7 - Kitchen, Lucy and ballgown. + 8 - do you really want to fight the croc? + 9 - Jump to interrupt Lafond. + 10 - Cookie: do you know where hero is? + 11 - Hero: will you go with Lafond?" + + ) + ( + ) + ( + ) + ( + + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )>> + +> + + + > + ) + (T + )>> + +;"subtitle object manipulation" + +> + )> + ) + ( + ) + (> + > 110>> + )> + ) + ( 12> + )> + )> + + + + ;"Hope this is right -- pdl 4/22/86") + ;( + ,RAFT-HELD> + >)> + > + +;"IDROP is called by PRE-GIVE and PRE-PUT. + IDROP acts directly as PRE-DROP, PRE-THROW and PRE-PUT-THROUGH." + + + ) + (T + )>) + ( + + ) + (T + )>) + ( + + > + + ) + ( + + > + + ) + ( + > + > + ) + (> + + > + ) + ;( + > + ) + (T + )> + ) + (> + ,CONTBIT> + ,OPENBIT>>> + >) + ( + ) ; "RETICULE is not WORNBIT" + (T + )>> + +> + > + >)> + >> + )>>)> + .CNT> + +;"Gets SIZE of supplied object, recursing to nth level." +> + >> + >> + )>>)> + <+ .WT >> + +;"subtitle describers" + +) + "AUX" (FIRST-VISIT <>) (NUM 0)) + + + + ;"so DESCRIBE-CONTENTS of room isn't called")> + > + + )> + + ;> + ,VEHBIT> + + ,INBIT> + ) + (T + )> + >)> + + + >> + + ,M-LOOK>> + >)> + )> + > + +;"Print FDESCs, then DESCFCNs and LDESCs, then everything else. DESCFCNs +must handle M-DESC? by RTRUEing (but not printing) if the DESCFCN would +like to handle printing the object's description. RFALSE otherwise. DESCFCNs +are responsible for doing the beginning-of-paragraph indentation." + +)) + > + + )> + + ) + ( + > + >> + + + >)> + )> + >> + > + + + ) + (> + + >>> + T) + (> + >> + + > + >)> + ) + (> + ; + + + >)> + )> + >> + 0> + >> + 0>)>> + + ;"print everything?" + ;"started paragraph?" + +"" + +) N (1ST? T) (IT? <>) (TWO? <>) (START? <>) (PARA? <>) DB) + + + + ) + ( + )> + > + + + + + > + + >>> + + + + >>> + > + T> + + + > + + ;)> + ) + ( + )> + )>) + (> + )>) + (.N + ) + (T + )> + + + ) + ( + ) + ;( + > + > + )> + > + ) + (T + + >)>)> + )> + >)> + + > + > + )> + + + ) + ( + T>> + + )> + )> + )>> + T> + > + + ) + ( + + + >> + + > + ) + (T + ,D-ALL?)>> + > + )> + )> + >>)> + + T> + >> + )> + )>> + + + ) + ( + + ) + (T + )>) + ( + ) + ( + >> + + ) + (T + )> + ) + ( + ) + (T + )>> + +> ;"bit to screen objects" + +)) + ) + ( ) + (> + >>> + ) + ( > + ) + (,D-BIT + + ) + (ELSE )>) + (>> + ) + (ELSE )>) + (ELSE + )>> + +;)) + + ) + ( + ) + (> + >>> + ) + ( + > + ) + ;( + + > + > + >> + ) + (T + )>> + + + >> + ) + (> + > + ) + ( + ) + (T + )>> + + + > + + ) + (T + )> + )> + > + + + > + )> + ) + (T ;"nothing" + )>> + +;"subtitle movement and death" + + + + + + + + + + + + + + + +; + + + ) + (T + >)> + > + ,M-ENTER> + + >> + )> + > + +) "AUX" OLD-HERE) + + + + ) + (T + >)> + > + + + > + + )> + ,M-ENTER> + ; + )> + + > + ) + ( + > + > + + + + + )> + ) + ;( + > + >> + + + + )>) + ( ;"so as not to describe room again" + )> + + >> + )> + + ;"don't, if you're in a vehicle" + + > + )> + + + > + + > + + ) + ( + + ) + (T + + + + + ) + (T + )> + )>)> + + + + >> + + > + ) + ( ;"prevents going back to ship" + )> + + )> + > + + + + + + + > + +; "Sets globals to the appropriate T/<>: as soon as you pass through a room + where a global's value might change, this checks and changes it." +; + ) + ( + > + ) + ;( + > + ) + ( + >) + ( + > + )> + > + + + ) + (T + > + CR>)>> + +> + + + + + + > + +)) + + + ) + (T + )> + + > + + + + > + +;"subtitle useful utility routines" + + + )> + > + + ) + ( + + ) + (T + )>) + ( + ) + ( + ) + ( + > + ) + ( ,HERE>> + ) + ( + ) + ( + > + ) + (T + )>> + + + )> + > + + ) + ( + > + ) + (T + )>> + + + ) + ;"next clause is special case for PH" + ( + + ) + (T + )>) + ( + ,LEDGE>> + ) + ( + ) + (> + > + ;"me, hands, etc."> + ) + ;( + ) ;"covered below" + (T + )>> + + + ) + ( + )> + + ) + (T + >)>>> + +> ,LOW-DIRECTION> + >) + (T + > + ,DEXIT> + .DOBJ>> + )>)>>> + +)) ;"formerly ULTIMATELY-IN?" + + )> + + ) + ( + ) + ( + ) + ;( + ) + (T + .CONT>)>> + +> + + >>> + +> + 1>>)>> + +) "AUX" OBJ RECURSIVE-OBJ) + > + + )> + + >> + )> + ) + (> + ) + (>> + >)>>> + +; + + > + ) + (T + )>> + +;>> + > + )>> + +; + > + + + )>> + +)) + + > + > + ) + (T + )>> + + + > + +> + > + > + +) N X) + > + + )> + + >> + )> + > + > + > + +) "AUX" N X) + > + + )> + > + + >> + ) + (T + )>)> + > + > + + + > + + CR>> + +> + +; CR>> + +;> + + CR>> + +> + + CR>> + +> + +; + + + + + > + +;> + +; + + + ; + + + + + + ; + + + + + + + + + + + + + + + + > + +; + ; + + + + + + + ; + + + + + + + + > + +;> + +; + + + ; + + + ;> + +; + + + + + + ; + + + + ; + + + + + + + > + +; + + + > + +; + + > + +; + + + + + > + +; + + + + + + ; + + + + + + + + + + + + + + + + + + ; + + + + + + ; + + + + + > + + + + + \ No newline at end of file