mirror of
https://github.com/historicalsource/plunderedhearts
synced 2024-04-26 05:59:35 +03:00
789 lines
19 KiB
Plaintext
789 lines
19 KiB
Plaintext
|
|
|
|
.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
|