plunderedhearts/clothes.zap
2019-04-14 00:37:50 -04:00

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