sherlock/things2.zap
historicalsource d327e7626d Release Version
2019-04-16 09:16:28 -04:00

2641 lines
74 KiB
Plaintext

.FUNCT RT-DF-TH-ROOM,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
FSET? GL-PLACE-CUR,FL-INDOORS /?CCL5
PRINTR "You're not inside a room."
?CCL5: CALL1 V-LOOK
RSTACK
.FUNCT RT-AC-TH-NOT-HERE-OBJECT
CALL1 RT-TH-NOT-HERE-OBJECT
RSTACK
.FUNCT RT-AC-TH-INTDIR
EQUAL? GL-PRSA,V?SHOOT \?CCL3
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
?CCL3: CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
.FUNCT RT-AC-TH-TIME,CONTEXT
EQUAL? CONTEXT,K-M-SDESC \?CCL3
GETP TH-TIME,P?OBJ-NOUN
EQUAL? STACK,W?MINUTE,W?MINUTES \?CCL6
PRINTI "minute"
RTRUE
?CCL6: PRINTI "hour"
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \?CCL10
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
?CCL10: CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL12
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
?CCL12: INTBL? GL-PRSA,GL-SEE-VERBS+2,20 \FALSE
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
.FUNCT RT-AC-TH-HANDS
ZERO? GL-NOW-PRSI? \?CCL3
EQUAL? GL-PRSI,FALSE-VALUE \?CCL6
EQUAL? GL-PRSA,V?TAKE,V?TAKE-OFF \?CCL6
FSET? TH-HANDS,FL-LOCKED \?CCL6
FCLEAR TH-HANDS,FL-LOCKED
ICALL RT-CYOU-MSG,STR?697,STR?698
SET 'HEARD-SWING?,FALSE-VALUE
ICALL2 RT-THEO-PRINT,TH-HANDS
PRINTI " off of "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL6: EQUAL? GL-PRSI,TH-EARS \FALSE
EQUAL? GL-PRSA,V?TAKE \?CCL14
FSET? TH-HANDS,FL-LOCKED /?CCL17
PRINTI "Your hands are not on "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL17: FCLEAR TH-HANDS,FL-LOCKED
ICALL RT-CYOU-MSG,STR?697,STR?698
SET 'HEARD-SWING?,FALSE-VALUE
ICALL2 RT-THEO-PRINT,TH-HANDS
PRINTI " off of "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL14: EQUAL? GL-PRSA,V?PUT-ON \FALSE
FSET? TH-HANDS,FL-LOCKED \?CCL22
PRINTI "Your hands are already on "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL22: FSET TH-HANDS,FL-LOCKED
ICALL RT-CYOU-MSG,STR?685,STR?686
ICALL2 RT-THEO-PRINT,TH-HANDS
PRINTI " on "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL3: ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSO,TH-EARS \FALSE
EQUAL? GL-PRSA,V?COVER \FALSE
FSET? TH-HANDS,FL-LOCKED \?CCL33
PRINTI "Your hands are already on "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL33: FSET TH-HANDS,FL-LOCKED
ICALL RT-CYOU-MSG,STR?685,STR?686
ICALL2 RT-THEO-PRINT,TH-HANDS
PRINTI " on "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
.FUNCT RT-AC-TH-WATSONS-HEART
EQUAL? GL-PRSA,V?LISTEN \FALSE
FSET? TH-COTTON-BALLS,FL-WORN \?CCL6
ICALL1 RT-CYOU-MSG
PRINTI "cannot hear a thing with "
ICALL2 RT-THEO-PRINT,TH-COTTON-BALLS
PRINTI " in "
ICALL2 RT-THEO-PRINT,TH-EARS
JUMP ?CND4
?CCL6: FSET? TH-STETHOSCOPE,FL-WORN \?CCL8
EQUAL? GL-PLACE-CUR,RM-BAR-OF-GOLD,RM-LAIR,RM-SWAN-LANE \?CCL11
PUSH 8
JUMP ?CND9
?CCL11: PUSH 6
?CND9: ICALL SOUNDS,S-HEART2,S-START,STACK,8
PRINTI "Your heart is beating "
EQUAL? GL-PLACE-CUR,RM-BAR-OF-GOLD,RM-LAIR,RM-SWAN-LANE \?CCL14
PRINTI "so loudly you're surprised everyone can't hear it"
JUMP ?CND4
?CCL14: PRINTI "normally"
JUMP ?CND4
?CCL8: ICALL1 RT-CYOU-MSG
PRINTI "should wear the stethoscope, first"
?CND4: PRINTR "."
.FUNCT RT-AC-TH-EARS
ZERO? GL-NOW-PRSI? /?CCL3
EQUAL? GL-PRSA,V?PUT \?CCL6
EQUAL? GL-PRSO,TH-HANDS,TH-STETHOSCOPE /FALSE
EQUAL? GL-PRSO,TH-COTTON-BALLS \?CCL11
FSET? GL-PRSO,FL-WORN \?CCL14
ICALL1 RT-CTHEO-PRINT
ICALL1 RT-IS-ARE-MSG
PRINTI "already in "
ICALL1 RT-THEI-PRINT
PRINTR "."
?CCL14: FSET? TH-STETHOSCOPE,FL-WORN \?CCL16
ICALL1 RT-CYOU-MSG
ICALL RT-WOULD-HAVE-TO-MSG,STR?727,TH-STETHOSCOPE
PRINTR " first."
?CCL16: SET 'GL-LISTEN-OBJ,FALSE-VALUE
FSET TH-COTTON-BALLS,FL-WORN
ICALL RT-CYOU-MSG,STR?685,STR?686
ICALL1 RT-THEO-PRINT
PRINTI " in "
ICALL1 RT-THEI-PRINT
PRINTR "."
?CCL11: PRINTI "You cannot put that in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL6: EQUAL? GL-PRSA,V?TAKE \?CCL18
EQUAL? GL-PRSO,TH-HANDS,TH-STETHOSCOPE /FALSE
EQUAL? GL-PRSO,TH-COTTON-BALLS \FALSE
SET 'GL-LISTEN-OBJ,FALSE-VALUE
FCLEAR TH-COTTON-BALLS,FL-WORN
PRINTR "You take the cotton balls out of your ears."
?CCL18: EQUAL? GL-PRSA,V?EMPTY,V?EMPTY-INTO \FALSE
ICALL1 RT-CYOU-MSG
PRINTI "cannot empty anything into "
ICALL1 RT-THEI-PRINT
PRINTR "."
?CCL3: ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?LOOK-ON,V?EXAMINE \?CCL30
PRINT K-EYES-HINGED-MSG
CRLF
RTRUE
?CCL30: EQUAL? GL-PRSA,V?REACH-IN,V?SEARCH \FALSE
FSET? TH-STETHOSCOPE,FL-WORN \?CCL35
ICALL RT-CYOU-MSG,STR?728,STR?729
ICALL2 RT-THEO-PRINT,TH-STETHOSCOPE
PRINTR "."
?CCL35: FSET? TH-COTTON-BALLS,FL-WORN \FALSE
ICALL RT-CYOU-MSG,STR?728,STR?729
ICALL2 RT-THEO-PRINT,TH-COTTON-BALLS
PRINTR "."
.FUNCT RT-AC-TH-HEAD
ZERO? GL-NOW-PRSI? \FALSE
ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?TOUCH,V?SEARCH \?CCL8
FSET? TH-WATSONS-HAT,FL-WORN \?CCL8
PRINTI "You are wearing "
ICALL2 RT-THEO-PRINT,TH-WATSONS-HAT
PRINTR "."
?CCL8: EQUAL? GL-PRSA,V?EXAMINE,V?LOOK-ON \FALSE
PRINT K-EYES-HINGED-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-BREATH
ZERO? GL-NOW-PRSI? \FALSE
ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL8
PRINTI "It is not cold enough to see "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL8: EQUAL? GL-PRSA,V?SMELL \?CCL10
PRINTR "It smells no worse than usual."
?CCL10: EQUAL? GL-PRSA,V?RELEASE \?CCL12
CALL1 V-EXHALE
RSTACK
?CCL12: EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINTR "It's bad, but it doesn't deserve to die."
.FUNCT RT-AC-TH-CLOTHES
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL3
ICALL RT-PERFORM,V?LOOK-INSIDE,TH-POCKET
RTRUE
?CCL3: EQUAL? GL-PRSA,V?PUT \?CCL5
EQUAL? GL-PRSI,TH-CLOTHES \?CCL5
PRINTI "[in "
ICALL2 RT-THEO-PRINT,TH-POCKET
PRINTC 93
CRLF
ICALL RT-PERFORM,V?PUT,GL-PRSO,TH-POCKET
RTRUE
?CCL5: EQUAL? GL-PRSA,V?WEAR \?CCL9
PRINTR "You are already wearing them."
?CCL9: EQUAL? GL-PRSA,V?TAKE-OFF,V?DROP,V?RAISE \FALSE
PRINT K-INAPPROPRIATE-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-WATERMARK,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
CALL2 RT-VISIBLE?,TH-GREEN-PAPER
ZERO? STACK \FALSE
CALL2 RT-VISIBLE?,TH-WHITE-PAPER
ZERO? STACK \FALSE
CALL2 RT-VISIBLE?,TH-BLUE-PAPER
ZERO? STACK \FALSE
CALL2 RT-VISIBLE?,TH-ORANGE-PAPER
ZERO? STACK \FALSE
CALL2 RT-VISIBLE?,TH-YELLOW-PAPER
ZERO? STACK \FALSE
CALL2 RT-VISIBLE?,TH-BROWN-PAPER
ZERO? STACK \FALSE
ICALL RT-CYOU-MSG,STR?655,STR?656
PRINTI "not see any "
ICALL2 DPRINT,TH-WATERMARK
PRINTR "here."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-VISIBLE?,TH-GREEN-PAPER
ZERO? STACK \?CTR15
CALL2 RT-VISIBLE?,TH-WHITE-PAPER
ZERO? STACK \?CTR15
CALL2 RT-VISIBLE?,TH-BLUE-PAPER
ZERO? STACK \?CTR15
CALL2 RT-VISIBLE?,TH-ORANGE-PAPER
ZERO? STACK \?CTR15
CALL2 RT-VISIBLE?,TH-YELLOW-PAPER
ZERO? STACK \?CTR15
CALL2 RT-VISIBLE?,TH-BROWN-PAPER
ZERO? STACK /?CCL16
?CTR15: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
?CCL16: ICALL RT-CYOU-MSG,STR?655,STR?656
PRINTI "not see any "
ICALL2 DPRINT,TH-WATERMARK
PRINTR " here."
.FUNCT RT-AC-TH-SESAME
EQUAL? GL-PRSA,V?OPEN \?CCL3
PRINTR "Ali Baba you're not."
?CCL3: CALL1 RT-TALK-VERB?
ZERO? STACK \FALSE
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
.FUNCT RT-AC-TH-RIGHT
ZERO? GL-NOW-PRSI? \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL6
CALL1 RT-IMPOSSIBLE-MSG
RSTACK
?CCL6: INTBL? GL-PRSA,GL-SEE-VERBS+2,20 \?CCL8
CALL1 RT-IMPOSSIBLE-MSG
RSTACK
?CCL8: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-IMPOSSIBLE-MSG
RSTACK
.FUNCT RT-AC-TH-LEFT
ZERO? GL-NOW-PRSI? \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL6
CALL1 RT-IMPOSSIBLE-MSG
RSTACK
?CCL6: INTBL? GL-PRSA,GL-SEE-VERBS+2,20 \?CCL8
CALL1 RT-IMPOSSIBLE-MSG
RSTACK
?CCL8: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-IMPOSSIBLE-MSG
RSTACK
.FUNCT RT-AC-TH-BULLET-HOLE,NUM,OFF,HOLE,PLACE
?PRG1: MUL NUM,2 >OFF
GET GL-HOLES,0
EQUAL? NUM,STACK /?REP2
ADD OFF,1
GET GL-HOLES,STACK
CALL2 RT-VISIBLE?,STACK
ZERO? STACK /?CND3
ADD OFF,2
GET GL-HOLES,STACK >PLACE
ZERO? PLACE /?CCL8
EQUAL? GL-PLACE-CUR,PLACE \?CND3
?CCL8: SET 'HOLE,TRUE-VALUE
?REP2: ZERO? HOLE \?CCL13
CALL2 RT-CANT-SEE-ANY-MSG,TH-BULLET-HOLE
RSTACK
?CND3: INC 'NUM
JUMP ?PRG1
?CCL13: EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-ANNIE-OAKELEY-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-GENERIC-BODY,CONTEXT,CLASS,ADJ,S1,S2,WHICH
GETP TH-GENERIC-BODY,P?OBJ-ADJ >ADJ
SET 'WHICH,CH-PLAYER
EQUAL? ADJ,W?WIGGINS' \?CCL3
SET 'WHICH,CH-WIGGINS
JUMP ?CND1
?CCL3: EQUAL? ADJ,W?HOLMES',W?HOLMES'S \?CCL5
SET 'WHICH,CH-HOLMES
JUMP ?CND1
?CCL5: EQUAL? ADJ,W?HUDSON'S \?CCL7
SET 'WHICH,CH-HUDSON
JUMP ?CND1
?CCL7: EQUAL? ADJ,W?ELIZA'S,W?GIRL'S \?CCL9
SET 'WHICH,CH-ELIZA-DOOLITTLE
JUMP ?CND1
?CCL9: EQUAL? ADJ,W?HER \?CCL11
CALL2 RT-VISIBLE?,CH-HUDSON
ZERO? STACK /?CCL14
SET 'WHICH,CH-HUDSON
JUMP ?CND1
?CCL14: SET 'WHICH,CH-ELIZA-DOOLITTLE
JUMP ?CND1
?CCL11: EQUAL? ADJ,W?LEFT,W?RIGHT \?CND1
CALL2 RT-VISIBLE?,CH-WIGGINS
ZERO? STACK /?CCL18
SET 'WHICH,CH-WIGGINS
JUMP ?CND1
?CCL18: CALL2 RT-VISIBLE?,CH-HOLMES
ZERO? STACK /?CCL20
SET 'WHICH,CH-HOLMES
JUMP ?CND1
?CCL20: CALL2 RT-VISIBLE?,CH-HUDSON
ZERO? STACK /?CCL22
SET 'WHICH,CH-HUDSON
JUMP ?CND1
?CCL22: CALL2 RT-VISIBLE?,CH-ELIZA-DOOLITTLE
ZERO? STACK /?CND1
SET 'WHICH,CH-ELIZA-DOOLITTLE
?CND1: EQUAL? WHICH,CH-WIGGINS \?CCL26
SET 'S1,STR?17
SET 'S2,STR?730
JUMP ?CND24
?CCL26: EQUAL? WHICH,CH-HOLMES \?CCL28
SET 'S1,STR?1
SET 'S2,STR?731
JUMP ?CND24
?CCL28: EQUAL? WHICH,CH-HUDSON \?CCL30
SET 'S1,STR?732
SET 'S2,STR?733
JUMP ?CND24
?CCL30: EQUAL? WHICH,CH-ELIZA-DOOLITTLE \?CCL32
SET 'S1,STR?734
SET 'S2,STR?735
JUMP ?CND24
?CCL32: EQUAL? WHICH,CH-PLAYER \?CND24
SET 'S1,STR?736
SET 'S2,STR?737
?CND24: EQUAL? CONTEXT,K-M-SDESC \?CCL36
PRINT S1
RTRUE
?CCL36: ZERO? CONTEXT \FALSE
CALL2 RT-VISIBLE?,WHICH
ZERO? STACK \?CCL40
ICALL RT-CANT-SEE-ANY-MSG,FALSE-VALUE,S1,TRUE-VALUE
RETURN 2
?CCL40: EQUAL? WHICH,CH-ELIZA-DOOLITTLE \?CCL42
PRINTI "[You do not need to refer to"
ICALL RT-CLAUSE-PRINT,K-P-NC1,K-P-NC1L
PRINTI ".]"
CRLF
RETURN 2
?CCL42: PRINTI "[You do not need to refer to any part of "
PRINT S2
PRINTI " body.]"
CRLF
RETURN 2
.FUNCT RT-AC-TH-POCKET
EQUAL? GL-PRSA,V?PUT \FALSE
ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSO,TH-PADDLE,TH-MACE,TH-ANCHOR /?CCL3
EQUAL? GL-PRSO,TH-LAMP,TH-VIOLIN,TH-PACKET-OF-PAPER /?CCL3
EQUAL? GL-PRSO,TH-SUIT-OF-ARMOUR,TH-OAR-1,TH-OAR-2 /?CCL3
EQUAL? GL-PRSO,TH-TORCH,TH-WAX-AX,TH-WAX-HEAD \FALSE
?CCL3: CALL2 RT-CANT-PUT-IN-ON-MSG,TH-POCKET
RSTACK
.FUNCT RT-AC-TH-GUN,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The gun is a six-shot revolver."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?OPEN,V?LOOK-INSIDE,V?SEARCH \FALSE
PRINTR "The gun is jammed shut. You can't open it."
.FUNCT RT-AC-TH-KNIFE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's a nasty-looking jackknife."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?CUT \?CCL7
FSET? TH-KNIFE,FL-OPENED /FALSE
ICALL2 RT-CTHEO-PRINT,TH-KNIFE
PRINTR " isn't open."
?CCL7: EQUAL? GL-PRSA,V?TAKE \FALSE
SET 'KNIFE-COLD?,FALSE-VALUE
RFALSE
.FUNCT RT-AC-TH-MAGNIFYING-GLASS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It is of Swiss manufacture, with a precision-ground lens."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSO,TH-SAPPHIRE,TH-EMERALD,TH-OPAL /FALSE
EQUAL? GL-PRSO,TH-RUBY,TH-TOPAZ,TH-GARNET /FALSE
EQUAL? GL-PRSO,TH-WESTMINSTER-CLUE,TH-JEWEL-CASE /FALSE
SET 'GL-P-IT-OBJECT,TH-MAGNIFYING-GLASS
ZERO? GL-NOW-PRSI? /?CCL12
EQUAL? GL-PRSA,V?LOOK-THRU \FALSE
IN? GL-PRSI,CH-PLAYER /?CCL18
ICALL RT-YOUD-HAVE-TO-MSG,STR?738,GL-PRSI
RTRUE
?CCL18: EQUAL? GL-PRSO,TH-MAGNIFYING-GLASS \?CCL20
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
?CCL20: EQUAL? GL-LASTFOC,GL-PRSO /?CND16
SET 'GL-LASTFOC,GL-PRSO
PRINTI "You train the magnifying glass on "
ICALL1 RT-THEO-PRINT
PRINTC 46
CRLF
?CND16: FSET? GL-PRSO,FL-PLURAL \?CCL24
FSET? GL-PRSO,FL-COLLECTIVE /?CCL24
PRINTI "They appear "
JUMP ?CND22
?CCL24: FSET? GL-PRSO,FL-PERSON \?CCL28
FSET? GL-PRSO,FL-FEMALE \?CCL28
PRINTI "She appears "
JUMP ?CND22
?CCL28: FSET? GL-PRSO,FL-PERSON \?CCL32
FSET? GL-PRSO,FL-FEMALE /?CCL32
PRINTI "He appears "
JUMP ?CND22
?CCL32: PRINTI "It appears "
?CND22: PRINTR "much larger now."
?CCL12: EQUAL? GL-PRSA,V?SHOOT \?CCL36
ICALL1 RT-CTHEO-PRINT
PRINT K-SHATTER-MSG
CRLF
RTRUE
?CCL36: EQUAL? GL-PRSA,V?LOOK-INSIDE \?CCL38
PRINTR "Everything appears much larger."
?CCL38: EQUAL? GL-PRSA,V?ADJUST,V?PLAY \FALSE
PRINTR "You cannot adjust a magnifying glass."
.FUNCT RT-AC-TH-VIOLIN,CONTEXT,WHO
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It is a Stradivarius violin of exceptional quality."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?PLAY \FALSE
IN? TH-VIOLIN,GL-WINNER /?CND8
ICALL RT-CYOU-MSG,STR?228,STR?229
PRINTI "not holding "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CND8: ICALL2 SOUNDS,S-BADVIOL
IN? TH-PHIAL,CH-HOLMES \?CND10
EQUAL? GL-PLACE-CUR,RM-HOLMES-STUDY \?CND10
PRINTI "Even the grotesque noises"
ICALL RT-YOU-MSG,STR?739,STR?740
PRINTR "with the violin aren't enough to distract Holmes's attention from the phial."
?CND10: CALL1 RT-ANYONE-HERE? >WHO
ZERO? WHO /?CCL16
FSET WHO,FL-ASLEEP
CALL1 RT-ANYONE-HERE?
ZERO? STACK /?CCL19
PRINTI "Everyone"
JUMP ?CND17
?CCL19: ICALL2 RT-CTHEO-PRINT,WHO
?CND17: FCLEAR WHO,FL-ASLEEP
PRINTI " grimace"
ICALL2 RT-S-NOS-MSG,WHO
PRINTI " in pain and glare"
ICALL2 RT-S-NOS-MSG,WHO
PRINTR " at you."
?CCL16: PRINTR "Even you cannot abide the grotesque screeches that emanate from the tortured instrument, so you quickly stop."
.FUNCT RT-AC-TH-PHIAL,HITS
EQUAL? GL-PRSA,V?SHOOT \?CCL3
SET 'HITS,TH-PHIAL-AUX1
ADD 1,HITS >TH-PHIAL-AUX1
ZERO? HITS \?CCL6
PRINTI "Nice shot! The phial explodes. You hear a muffled scream from downstairs as Mrs Hudson lets out a shriek."
CRLF
CRLF
PRINT K-HOLMES-LICKS-MSG
PRINTI "eyes begin to cloud over from the small dose you have caused him to take."
CRLF
CRLF
PRINT K-ANOTHER-PHIAL-MSG
CRLF
RTRUE
?CCL6: EQUAL? 1,HITS \?CCL8
PRINTI "The phial explodes. From downstairs you hear a dull thud as Mrs Hudson faints and hits the floor."
CRLF
CRLF
PRINT K-HOLMES-LICKS-MSG
PRINTI "body stiffens as the increased dosage of the drug enters his system."
CRLF
CRLF
PRINT K-ANOTHER-PHIAL-MSG
CRLF
CRLF
PRINTR "As a doctor, you know that another dose may be fatal."
?CCL8: EQUAL? 2,HITS \FALSE
PRINTI "That persistent, are you? Too bad. The chill you caught from the damp air outside causes you to sneeze just as you pull the trigger. You have shot and killed Sherlock Holmes."
CRLF
CRLF
PRINTI "Inspector Lestrade appears at the door and says,"
PRINT K-PLUG-HIM-MYSELF-MSG
CRLF
CRLF
PRINT K-LESTRADE-ARRESTS-MSG
CRLF
CRLF
ICALL1 RT-QSR
RFALSE
?CCL3: CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
ICALL2 RT-HOLMES-HITS,TH-PHIAL
RTRUE
.FUNCT RT-HOLMES-HITS,THING
PRINTI "Holmes is faster than you are. He moves "
ICALL2 RT-THEO-PRINT,THING
PRINTI " beyond your reach and absentmindedly hits you on the head with his free hand."
CRLF
CRLF
PRINTR "Holmes continues staring at the phial."
.FUNCT RT-AC-TH-GREEN-PAPER
CALL2 RT-PROCESS-PAPER,TH-GREEN-PAPER
RSTACK
.FUNCT RT-AC-TH-WHITE-PAPER
CALL2 RT-PROCESS-PAPER,TH-WHITE-PAPER
RSTACK
.FUNCT RT-AC-TH-BLUE-PAPER
CALL2 RT-PROCESS-PAPER,TH-BLUE-PAPER
RSTACK
.FUNCT RT-AC-TH-ORANGE-PAPER
CALL2 RT-PROCESS-PAPER,TH-ORANGE-PAPER
RSTACK
.FUNCT RT-AC-TH-YELLOW-PAPER
CALL2 RT-PROCESS-PAPER,TH-YELLOW-PAPER
RSTACK
.FUNCT RT-AC-TH-BROWN-PAPER
CALL2 RT-PROCESS-PAPER,TH-BROWN-PAPER
RSTACK
.FUNCT RT-AC-TH-ELIZABETH-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The tomb is that of Elizabeth and her half-sister, Mary Tudor. It is surrounded by twelve black marble pillars, and on the base is an inscription."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,1
RSTACK
.FUNCT RT-AC-TH-NEWTON-TOMB,CONTEXT,CLASS,WRD
GETP TH-NEWTON-TOMB,P?OBJ-NOUN >WRD
EQUAL? WRD,W?STATUE \?CCL3
EQUAL? CONTEXT,K-M-SDESC \?CCL6
CALL PRINT-SDESC,STR?741,CLASS,FALSE-VALUE,FALSE-VALUE
RSTACK
?CCL6: EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "The great mathematician is shown reclining in a pensive mood."
?CCL3: EQUAL? WRD,W?CHERUB,W?ANGEL,W?CHERUBS /?CTR9
EQUAL? WRD,W?ANGELS \?CCL10
?CTR9: EQUAL? CONTEXT,K-M-SDESC \?CCL15
CALL PRINT-SDESC,STR?742,CLASS,FALSE-VALUE,TRUE-VALUE
RSTACK
?CCL15: EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "Cute, aren't they?"
?CCL10: EQUAL? WRD,W?DIAGRAM,W?SYSTEM \?CCL19
EQUAL? CONTEXT,K-M-SDESC \FALSE
CALL PRINT-SDESC,STR?743,CLASS,FALSE-VALUE,FALSE-VALUE
RSTACK
?CCL19: EQUAL? CONTEXT,K-M-SDESC \?CCL25
CALL PRINT-SDESC,STR?744,CLASS,TRUE-VALUE,FALSE-VALUE
RSTACK
?CCL25: EQUAL? CONTEXT,K-M-DESCFCN \?CCL27
PRINTR "It's a white marble sarcophagus with ""ISAACVS NEWTON Eques Auratus"" written on the front. Above it is a marble statue of Newton, and a carving of two cherubs who are holding a diagram of the solar system."
?CCL27: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,2
RSTACK
.FUNCT PRINT-SDESC,BASE,CLASS,NOART?,PLURAL?,VOWEL?,PRINTB?,IS
ZERO? NOART? \?CND1
EQUAL? CLASS,K-DESC-ANY \?CCL5
SET 'IS,STR?745
JUMP ?CND3
?CCL5: EQUAL? CLASS,K-DESC-THE /?CTR6
ZERO? PLURAL? /?CCL7
?CTR6: SET 'IS,STR?746
JUMP ?CND3
?CCL7: ZERO? PLURAL? /?CCL11
SET 'IS,STR?747
JUMP ?CND3
?CCL11: ZERO? VOWEL? /?CCL14
SET 'IS,STR?748
JUMP ?CND3
?CCL14: SET 'IS,STR?749
?CND3: ZERO? IS /?CND15
PRINT IS
?CND15: PRINTC 32
?CND1: ZERO? PRINTB? /?CCL19
PRINTB BASE
RTRUE
?CCL19: PRINT BASE
RTRUE
.FUNCT RT-AC-TH-HENRY-V-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's an old wooden coffin on a raised platform. On the top is an effigy of Henry V, and there is an inscription carved into the side."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,3
RSTACK
.FUNCT RT-AC-TH-EDWARD-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's the tomb of Edward the Confessor, the founder of Westminster Abbey, and the only English king ever to be canonized. Around the tomb is a frieze that shows scenes from Edward's life, and on the base there is a faded inscription."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,4
RSTACK
.FUNCT RT-AC-TH-POPE-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINT K-SIMPLE-TOMB-MSG
CRLF
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,5
RSTACK
.FUNCT RT-AC-TH-DICKENS-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINT K-SIMPLE-TOMB-MSG
CRLF
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,6
RSTACK
.FUNCT RT-AC-TH-CHAUCER-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's the tomb of Geoffrey Chaucer, who died in 1400 and became the first person to be buried in Poet's Corner. The inscription above the sarcophagus is so faded that it is almost illegible."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,7
RSTACK
.FUNCT RT-AC-TH-ANNE-OF-CLEVES-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINT K-SIMPLE-TOMB-MSG
CRLF
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,8
RSTACK
.FUNCT RT-AC-TH-LITTLE-PRINCES-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "According to the inscription, the urn contains the remains of the Little Princes in the Tower."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,9
RSTACK
.FUNCT RT-AC-TH-MARY-QUEEN-OF-SCOTS-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The tomb is a simple sarcophagus with a marble effigy of Mary, Queen of Scots on it."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,10
RSTACK
.FUNCT RT-AC-TH-HENRY-VII-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's an incredibly lavish tomb which is surmounted by gilt effigies of Henry VII and his wife Elizabeth of York."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,11
RSTACK
.FUNCT RT-AC-TH-PITT-TOMB,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTI "It's a huge monument to William Pitt. On the base of the monument are five "
ICALL2 DPRINT,TH-FIGURES
PRINTR " and an elaborate inscription."
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,12
RSTACK
.FUNCT RT-AC-TH-FIGURES,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "You've never understood allegorical figures before. What makes you think you can start now?"
.FUNCT RT-AC-TH-VERE-TOMB,CONTEXT,CLASS,CAP?,WRD
GETP TH-VERE-TOMB,P?OBJ-NOUN >WRD
EQUAL? WRD,W?KNIGHT,W?KNIGHTS \?CCL3
EQUAL? CONTEXT,K-M-SDESC \FALSE
CALL PRINT-SDESC,STR?750,CLASS,FALSE-VALUE,TRUE-VALUE
RSTACK
?CCL3: EQUAL? WRD,W?SUIT,W?ARMOUR,W?ARMOR \?CCL8
EQUAL? CONTEXT,K-M-SDESC \?CCL11
CALL PRINT-SDESC,STR?751,CLASS,FALSE-VALUE,FALSE-VALUE,TRUE-VALUE
RSTACK
?CCL11: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-RICOCHET-MSG
CRLF
RTRUE
?CCL8: EQUAL? CONTEXT,K-M-SDESC \?CCL17
CALL PRINT-SDESC,STR?752,CLASS,TRUE-VALUE,FALSE-VALUE
RSTACK
?CCL17: EQUAL? CONTEXT,K-M-DESCFCN \?CCL19
PRINTR "It's an effigy of a man surrounded by four knights, who are holding up a marble slab on their shoulders. On the slab is the dead man's armour."
?CCL19: ZERO? CONTEXT \FALSE
CALL2 RT-PROCESS-TOMB,13
RSTACK
.FUNCT RT-AC-TH-LAMP,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It is a battered old brass lamp that has accompanied you on many adventures in the past."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? /?CCL7
EQUAL? GL-PRSA,V?THROW \?CCL10
CALL2 GET-MASS,GL-PRSO
GRTR? STACK,5 \FALSE
ICALL1 RT-BREAK-LAMP
CRLF
ICALL1 RT-CTHEO-PRINT
PRINTC 32
ICALL1 RT-LANDS-AT-YOUR-FEET-MSG
RTRUE
?CCL10: EQUAL? GL-PRSA,V?PUT \FALSE
CALL1 RT-LAMP-SEALED
RSTACK
?CCL7: EQUAL? GL-PRSA,V?SHOOT,V?KICK,V?MUNG \?CCL18
CALL1 RT-BREAK-LAMP
RSTACK
?CCL18: EQUAL? GL-PRSA,V?OPEN,V?CLOSE,V?OPEN-WITH /?CTR19
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?SEARCH,V?REACH-IN /?CTR19
EQUAL? GL-PRSA,V?EMPTY,V?EMPTY-INTO \?CCL20
?CTR19: CALL1 RT-LAMP-SEALED
RSTACK
?CCL20: EQUAL? GL-PRSA,V?LAMP-ON,V?LIGHT-WITH,V?TURN-UP /?CTR24
EQUAL? GL-PRSA,V?LIGHT \?CCL25
?CTR24: FSET? TH-LAMP,FL-BROKEN \?CCL30
FCLEAR TH-LAMP,FL-ASLEEP
PRINTR "Nothing happens."
?CCL30: FSET? TH-LAMP,FL-ASLEEP /?CCL32
ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " is already on."
?CCL32: FCLEAR TH-LAMP,FL-ASLEEP
FSET TH-LAMP,FL-LIGHTED
PRINTI "You turn up the wick. "
ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " emits a warm glow that lights up the area around you."
?CCL25: EQUAL? GL-PRSA,V?LAMP-OFF,V?TURN-DOWN \?CCL34
FSET? TH-LAMP,FL-ASLEEP \?CCL37
ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " is already off."
?CCL37: FSET? TH-LAMP,FL-BROKEN \?CCL39
FSET TH-LAMP,FL-ASLEEP
PRINTR "Nothing happens."
?CCL39: FSET TH-LAMP,FL-ASLEEP
FCLEAR TH-LAMP,FL-LIGHTED
PRINTI "You turn down the wick. "
ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " goes dark."
?CCL34: EQUAL? GL-PRSA,V?POINT-AT,V?SHINE-AT \FALSE
FSET? TH-LAMP,FL-LIGHTED \?CCL44
EQUAL? GL-PRSO,GL-PRSI \?CCL47
ICALL1 RT-CYOU-MSG
PRINTR "can't point the light at itself."
?CCL47: PRINTI "You point "
ICALL2 RT-THEO-PRINT,TH-LAMP
PRINTI " at "
ICALL1 RT-THEI-PRINT
PRINTR ", but it reveals nothing."
?CCL44: ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " is not on."
.FUNCT RT-LAMP-SEALED
ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " is firmly sealed. It can neither be opened nor closed."
.FUNCT RT-BREAK-LAMP
FSET? TH-LAMP,FL-BROKEN /?CCL3
FSET TH-LAMP,FL-BROKEN
PRINTI "It sounds as if something in "
ICALL2 RT-THEO-PRINT,TH-LAMP
PRINTI " has shattered."
FSET? TH-LAMP,FL-LIGHTED \?CND4
FCLEAR TH-LAMP,FL-LIGHTED
PRINTC 32
ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " has gone out."
?CND4: CRLF
RTRUE
?CCL3: ICALL2 RT-CTHEO-PRINT,TH-LAMP
PRINTR " is already broken."
.FUNCT RT-AC-TH-BLACK-BAG,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's the black medical bag your aunt gave you when you graduated from medical school."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?PUT \FALSE
ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSO,TH-PADDLE,TH-MACE,TH-ANCHOR /?CCL7
EQUAL? GL-PRSO,TH-PACKET-OF-PAPER,TH-SUIT-OF-ARMOUR,TH-OAR-1 /?CCL7
EQUAL? GL-PRSO,TH-OAR-2,TH-TORCH,TH-WAX-AX /?CCL7
EQUAL? GL-PRSO,TH-LAMP,TH-VIOLIN,TH-WAX-HEAD \FALSE
?CCL7: PRINTI "You look at "
ICALL1 RT-THEO-PRINT
PRINTI ". You look at the tiny bag. You look at the tiny bag. You look at "
ICALL1 RT-THEO-PRINT
PRINTR ". Slowly it dawns on you that it's just not going to work."
.FUNCT RT-AC-TH-CHARLES-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
FSET TH-WAX-AX,FL-SEEN
IN? TH-WAX-HEAD,TH-CHARLES-STATUE \?CCL5
PRINTI "Charles I is shown kneeling, with his head resting on a chopping block. Above him stands a masked executioner"
IN? TH-WAX-AX,TH-CHARLES-STATUE \?CND6
PRINTI ", with his axe held high over his head, ready to strike the deathblow"
?CND6: PRINTR "."
?CCL5: PRINTR "The statue looks grotesque without the head."
.FUNCT RT-AC-TH-WILLIAM-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "The statue is of William the Conqueror kneeling on the sand at Pevensey, where he landed before the Battle of Hastings in 1066."
.FUNCT RT-AC-TH-WALTER-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "The sculpture shows Sir Walter Raleigh spreading his cloak across a mud puddle so Elizabeth could walk across without dirtying her shoes."
.FUNCT RT-AC-TH-ELIZABETH-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "She is smiling at Sir Walter."
.FUNCT RT-AC-TH-THOMAS-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "The sculpture shows four knights with swords drawn, advancing on Thomas Becket as he stands before the High Altar of Canterbury Cathedral."
.FUNCT RT-AC-TH-DRAKE-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "The statue is of Sir Francis Drake finishing his game of bowls before sailing off to defeat the Spanish Armada."
.FUNCT RT-AC-TH-JOHN-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "King John is depicted signing the Magna Carta in the meadow at Runnymede in June of 1215."
.FUNCT RT-AC-TH-FAWKES-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTI "The statue depicts Guy Fawkes crouched behind some barrels of gunpowder. He is awaiting the signal to light his torch and set off the trail of gunpowder that will blow up Parliament"
IN? TH-TORCH,TH-FAWKES-STATUE \?CCL5
PRINTI ". The torch he holds looks like a real one"
JUMP ?CND3
?CCL5: PRINTI " - but he seems to be missing the torch"
?CND3: PRINTR "."
.FUNCT RT-AC-TH-NELSON-COLUMN,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTI "The column has"
PRINT K-NELSON-STATUE-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-BOAT,CONTEXT,NUM
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTI "It's an incredibly old rowboat that "
IN? TH-OAR-1,TH-BOAT \?CND4
IN? TH-OAR-2,TH-OAR-LOCK /?CND4
PRINTI "has one empty oarlock and "
?CND4: PRINTI "probably leaks. But it looks as if it might float"
IN? TH-BOAT,RM-THE-EMBANKMENT /?CND8
IN? TH-BOAT,RM-OUTSIDE-TRAITORS-GATE /?CND8
PRINTI " a little while longer"
?CND8: PRINTI ". The boat's anchor is in the "
IN? TH-ANCHOR,TH-BOAT \?CCL14
PRINTI "boat"
JUMP ?CND12
?CCL14: PRINTI "water"
?CND12: PRINTC 46
CRLF
RETURN 2
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?PUSH-TO \?CCL18
EQUAL? GL-PRSI,LG-WATER \?CCL18
ICALL1 RT-LAUNCH-BOAT
RTRUE
?CCL18: EQUAL? GL-PRSA,V?ENTER \?CCL22
EQUAL? GL-PRSO,ROOMS,TH-BOAT \?CCL22
IN? CH-PLAYER,TH-BOAT /FALSE
ZERO? GL-PUPPY /?CCL30
EQUAL? GL-WINNER,CH-PLAYER \?CCL30
MOVE GL-PUPPY,TH-BOAT
PRINTI "You and "
ICALL2 RT-THEO-PRINT,GL-PUPPY
PRINTI " get "
JUMP ?CND28
?CCL30: ICALL RT-CYOU-MSG,STR?753,STR?754
?CND28: PRINTI "into the boat."
CRLF
MOVE CH-PLAYER,TH-BOAT
ZERO? GL-PUPPY /?CND33
MOVE GL-PUPPY,TH-BOAT
?CND33: FSET TH-BOAT,FL-NODESC
RTRUE
?CCL22: EQUAL? GL-PRSA,V?EXIT \?CCL36
EQUAL? GL-PRSO,ROOMS,TH-BOAT \?CCL36
IN? CH-PLAYER,TH-BOAT \FALSE
MOVE CH-PLAYER,GL-PLACE-CUR
ZERO? GL-PUPPY /?CND42
MOVE GL-PUPPY,GL-PLACE-CUR
?CND42: FCLEAR TH-BOAT,FL-NODESC
SET 'NUM,TH-BOAT-AUX1
LOC TH-OPAL
ZERO? STACK /?CCL46
IN? TH-BOAT,RM-THE-EMBANKMENT \?CCL46
ZERO? NUM \?CCL46
PRINTI "As"
ZERO? GL-PUPPY /?CCL52
EQUAL? GL-WINNER,CH-PLAYER \?CCL52
MOVE GL-PUPPY,GL-PLACE-CUR
PRINTI " you and "
ICALL2 RT-THEO-PRINT,GL-PUPPY
PRINTI " get "
JUMP ?CND50
?CCL52: ICALL RT-YOU-MSG,STR?753,STR?754
?CND50: PRINTI "out of the boat, a man storms up to you and says, ""What in bloody 'ell are you doing with my boat?"" Without waiting for a reply he "
IN? TH-OAR-2,TH-BOAT /?CCL56
IN? TH-OAR-2,RM-THE-EMBANKMENT /?CCL56
CALL RT-META-IN?,TH-OAR-2,CH-PLAYER
ZERO? STACK \?CCL56
CALL RT-META-IN?,TH-OAR-2,GL-PUPPY
ZERO? STACK /?CND55
?CCL56: PRINTI "grabs the oar, "
?CND55: MOVE TH-BOAT,RM-OUTSIDE-TRAITORS-GATE
MOVE TH-ANCHOR,LG-WATER
REMOVE TH-OAR-1
REMOVE TH-OAR-2
SET 'TH-BOAT-AUX1,1
PRINTR "jumps into the boat and rows off, muttering to himself that he'll have to find a safer place to keep it."
?CCL46: FSET? TH-GARNET,FL-TOUCHED \?CCL62
IN? TH-BOAT,RM-THE-EMBANKMENT \?CCL62
EQUAL? NUM,1 \?CCL62
PRINTI "As"
ZERO? GL-PUPPY /?CCL68
EQUAL? GL-WINNER,CH-PLAYER \?CCL68
MOVE GL-PUPPY,GL-PLACE-CUR
PRINTI " you and "
ICALL2 RT-THEO-PRINT,GL-PUPPY
PRINTI " get "
JUMP ?CND66
?CCL68: ICALL RT-YOU-MSG,STR?753,STR?754
?CND66: PRINTI "out of the boat, its red-faced owner runs up and yells, ""You again?!!"" He gives you a swift kick in the rear"
FSET? TH-SUIT-OF-ARMOUR,FL-WORN \?CND71
PRINTI ", then clutches his foot in agony as it bounces off your suit of armour"
?CND71: PRINTC 46
CRLF
CRLF
PRINTI "The man jumps into the boat"
IN? TH-PADDLE,TH-BOAT \?CCL75
PRINTI " and paddles away, cursing under his breath."
CRLF
JUMP ?CND73
?CCL75: PRINTI ", launches it, and suddenly realizes he has no way to steer it. The last you see of him, he is drifting down the Thames, screaming and shaking his fist at you."
CRLF
?CND73: REMOVE TH-BOAT
SET 'TH-BOAT-AUX1,2
RTRUE
?CCL62: IN? TH-ANCHOR,TH-BOAT \?CCL77
PRINTI "As"
ZERO? GL-PUPPY /?CCL80
EQUAL? GL-WINNER,CH-PLAYER \?CCL80
MOVE GL-PUPPY,GL-PLACE-CUR
PRINTI " you and "
ICALL2 RT-THEO-PRINT,GL-PUPPY
PRINTI " get "
JUMP ?CND78
?CCL80: ICALL RT-YOU-MSG,STR?753,STR?754
?CND78: PRINTI "out of the boat it slides out from under your foot and drifts down the river."
CRLF
REMOVE TH-BOAT
RTRUE
?CCL77: ZERO? GL-PUPPY /?CCL85
EQUAL? GL-WINNER,CH-PLAYER \?CCL85
MOVE GL-PUPPY,GL-PLACE-CUR
PRINTI "You and "
ICALL2 RT-THEO-PRINT,GL-PUPPY
PRINTI " get "
JUMP ?CND83
?CCL85: ICALL RT-CYOU-MSG,STR?753,STR?754
?CND83: PRINTR "out of the boat."
?CCL36: EQUAL? GL-PRSA,V?SHOOT \FALSE
EQUAL? GL-PRSO,TH-BOAT \FALSE
REMOVE TH-BOAT
PRINTI "Bad idea. The bullet blows a hole in the boat, which promptly sinks."
CRLF
IN? CH-PLAYER,TH-BOAT \TRUE
CRLF
PRINTI "Unable to swim, you cling to a piece of driftwood for several hours, wondering what kind of idiot would shoot a boat out from under himself."
CRLF
CRLF
PRINTI "After a while, a Scotland Yard launch pulls alongside to rescue you. Lestrade leans over the side and offers his assistance. You decide you're better off in the water and politely decline."
CRLF
CRLF
ICALL1 RT-QSR
RTRUE
.FUNCT RT-AC-TH-OAR-1,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The oar is hopelessy jammed into the oarlock."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?TAKE \?CCL7
ICALL RT-CYOU-MSG,STR?755,STR?756
PRINTR "to extract the oar from the oarlock, but it seems to be jammed."
?CCL7: EQUAL? GL-PRSA,V?RELEASE \FALSE
ICALL RT-CYOU-MSG,STR?757,STR?758
PRINTR "with the oar for a minute or two with no success... it really is jammed in there."
.FUNCT RT-AC-TH-OAR-LOCK
EQUAL? GL-PRSA,V?PUT,V?PUT-ON \FALSE
ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSO,TH-OAR-2 /FALSE
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
.FUNCT RT-AC-TH-CLAPPER,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
IN? TH-SAPPHIRE,TH-CLAPPER \FALSE
PRINTR "The clapper hangs from the centre of the bell. There is a beautiful blue sapphire glued to the end of it."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \?CCL10
PRINT K-RICOCHET-MSG
CRLF
RTRUE
?CCL10: CALL2 RT-IMPOSSIBLE-PUT-IN-ON-MSG,TH-CLAPPER
ZERO? STACK \TRUE
EQUAL? GL-PRSA,V?TOUCH,V?TOUCH-TO,V?TOUCH-TO-SWP \FALSE
EQUAL? TH-BELL-AUX2,K-BELL-TOWARDS /FALSE
ICALL1 RT-CTHEO-PRINT
ICALL2 RT-ISNT-ARENT-MSG,GL-PRSO
PRINTR "within reach."
.FUNCT RT-AC-TH-COTTON-BALLS,CONTEXT,VAL
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
FSET? TH-COTTON-BALLS,FL-WORN \?CCL6
PRINTR "You can't see them because they're in your ears."
?CCL6: PRINTR "They're soft and fluffy."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \FALSE
SET 'GL-P-IT-OBJECT,GL-PRSO
EQUAL? GL-PRSA,V?WEAR /?CTR12
EQUAL? GL-PRSA,V?PUT \?CCL13
EQUAL? GL-PRSI,TH-EARS \?CCL13
?CTR12: FSET? GL-PRSO,FL-WORN \?CCL20
ICALL1 RT-CTHEO-PRINT
ICALL1 RT-IS-ARE-MSG
PRINTI "already in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL20: FSET? TH-STETHOSCOPE,FL-WORN \?CCL22
ICALL2 RT-CTHEO-PRINT,TH-STETHOSCOPE
PRINTR " is in the way."
?CCL22: SET 'GL-LISTEN-OBJ,FALSE-VALUE
FSET GL-PRSO,FL-WORN
MOVE GL-PRSO,CH-PLAYER
ICALL RT-CYOU-MSG,STR?685,STR?686
ICALL1 RT-THEO-PRINT
PRINTI " in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTC 46
CRLF
GETP GL-PRSO,P?VALUE >VAL
ZERO? VAL /TRUE
ICALL2 RT-UPDATE-SCORE,VAL
PUTP GL-PRSO,P?VALUE,0
RTRUE
?CCL13: EQUAL? GL-PRSA,V?TAKE \?PRD28
EQUAL? GL-PRSI,TH-EARS /?CTR25
?PRD28: EQUAL? GL-PRSA,V?TAKE-OFF,V?TAKE \?CCL26
FSET? GL-PRSO,FL-WORN \?CCL26
?CTR25: FSET? GL-PRSO,FL-WORN /?CCL35
ICALL1 RT-CTHEO-PRINT
ICALL1 RT-ISNT-ARENT-MSG
PRINTI "in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL35: FSET? TH-STETHOSCOPE,FL-WORN \?CND36
ICALL RT-PERFORM,V?TAKE-OFF,TH-STETHOSCOPE
?CND36: SET 'GL-LISTEN-OBJ,FALSE-VALUE
FCLEAR GL-PRSO,FL-WORN
ICALL RT-CYOU-MSG,STR?697,STR?698
ICALL1 RT-THEO-PRINT
PRINTI " out of "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTC 46
CRLF
EQUAL? GL-WINNER,CH-PLAYER /TRUE
MOVE GL-PRSO,GL-WINNER
RTRUE
?CCL26: EQUAL? GL-PRSA,V?DROP,V?THROW,V?THROW-OVER \?CCL41
FSET? GL-PRSO,FL-WORN \FALSE
ICALL1 RT-CYOU-MSG
PRINTI "cannot "
PRINTB GL-P-PRSA-WORD
PRINTC 32
ICALL1 RT-THEO-PRINT
PRINTI " while"
ICALL RT-YOU-MSG,STR?228,STR?229
PRINTR "wearing them."
?CCL41: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-BELL,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The huge bell hangs over the hollow shaft of the tower."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \?CCL7
PRINT K-RICOCHET-MSG
CRLF
RTRUE
?CCL7: CALL2 RT-IMPOSSIBLE-PUT-IN-ON-MSG,TH-BELL
ZERO? STACK \TRUE
RFALSE
.FUNCT RT-AC-TH-STETHOSCOPE,CONTEXT,VAL
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
FSET? TH-STETHOSCOPE,FL-WORN \?CCL6
PRINTR "The stethoscope is hanging from your ears."
?CCL6: PRINTR "It looks just like any other late-Victorian-era stethoscope."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \?CCL10
EQUAL? GL-PRSA,V?WEAR /?CTR12
EQUAL? GL-PRSA,V?PUT \?CCL13
EQUAL? GL-PRSI,TH-EARS \?CCL13
?CTR12: FSET? TH-STETHOSCOPE,FL-WORN \?CCL20
ICALL1 RT-CTHEO-PRINT
ICALL1 RT-IS-ARE-MSG
PRINTI "already in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL20: SET 'GL-LISTEN-OBJ,FALSE-VALUE
FSET TH-STETHOSCOPE,FL-WORN
MOVE TH-STETHOSCOPE,CH-PLAYER
ICALL RT-CYOU-MSG,STR?685,STR?686
ICALL1 RT-THEO-PRINT
PRINTI " in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTC 46
CRLF
GETP TH-STETHOSCOPE,P?VALUE >VAL
ZERO? VAL /TRUE
ICALL2 RT-UPDATE-SCORE,VAL
PUTP TH-STETHOSCOPE,P?VALUE,0
RTRUE
?CCL13: EQUAL? GL-PRSA,V?TAKE \?PRD26
EQUAL? GL-PRSI,TH-EARS /?CTR23
?PRD26: EQUAL? GL-PRSA,V?TAKE-OFF,V?TAKE \?CCL24
FSET? TH-STETHOSCOPE,FL-WORN \?CCL24
?CTR23: FSET? TH-STETHOSCOPE,FL-WORN /?CCL33
ICALL1 RT-CTHEO-PRINT
ICALL1 RT-ISNT-ARENT-MSG
PRINTI "in "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTR "."
?CCL33: SET 'GL-LISTEN-OBJ,FALSE-VALUE
FCLEAR TH-STETHOSCOPE,FL-WORN
ICALL RT-CYOU-MSG,STR?697,STR?698
ICALL1 RT-THEO-PRINT
PRINTI " out of "
ICALL2 RT-THEO-PRINT,TH-EARS
PRINTC 46
CRLF
EQUAL? GL-WINNER,CH-PLAYER /TRUE
MOVE GL-PRSO,GL-WINNER
RTRUE
?CCL24: EQUAL? GL-PRSA,V?DROP,V?THROW,V?THROW-OVER \?CCL37
FSET? TH-STETHOSCOPE,FL-WORN \FALSE
ICALL1 RT-CYOU-MSG
PRINTI "cannot "
PRINTB GL-P-PRSA-WORD
PRINTC 32
ICALL1 RT-THEO-PRINT
PRINTI " while"
ICALL RT-YOU-MSG,STR?228,STR?229
PRINTR "wearing it."
?CCL37: EQUAL? GL-PRSA,V?PUT-ON \FALSE
FSET? GL-PRSI,FL-PERSON \FALSE
FSET? TH-STETHOSCOPE,FL-WORN \FALSE
CALL RT-PERFORM,V?LISTEN,GL-PRSI,GL-PRSO
RSTACK
?CCL10: ZERO? GL-NOW-PRSI? \FALSE
RFALSE
.FUNCT RT-AC-TH-WATSONS-HAT,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
FSET? TH-WATSONS-HAT,FL-WORN \?CCL6
PRINTR "You can't look at your hat while it's on the top of your head."
?CCL6: PRINTR "It's a rather large hat with plenty of room inside it for your rather large head."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \?CCL10
EQUAL? GL-PRSA,V?PUT-ON \?PRD15
EQUAL? GL-PRSI,TH-HEAD /?CTR12
?PRD15: EQUAL? GL-PRSA,V?WEAR \?CCL13
?CTR12: FSET? TH-WATSONS-HAT,FL-WORN \?CCL20
PRINTI "You are already wearing "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL20: CALL2 RT-DONT-HAVE-MSG,GL-PRSO
ZERO? STACK \TRUE
FCLEAR TH-WATSONS-HAT,FL-OPENED
FSET TH-WATSONS-HAT,FL-WORN
PRINTI "You put on "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL13: EQUAL? GL-PRSA,V?TAKE \?PRD26
EQUAL? GL-PRSI,TH-HEAD /?CTR23
FSET? TH-WATSONS-HAT,FL-WORN \?PRD26
EQUAL? GL-PRSI,FALSE-VALUE,CH-PLAYER,CH-ME /?CTR23
?PRD26: EQUAL? GL-PRSA,V?TAKE-OFF \?CCL24
?CTR23: FSET? TH-WATSONS-HAT,FL-WORN \?CCL35
FSET TH-WATSONS-HAT,FL-OPENED
FCLEAR TH-WATSONS-HAT,FL-WORN
PRINTI "You take off "
ICALL1 RT-THEO-PRINT
CALL2 RT-VISIBLE?,CH-AKBAR
ZERO? STACK /?CND36
PRINTI ". Disconcerted by your sacrilegious action, Akbar averts his gaze"
?CND36: FIRST? TH-WATSONS-HAT \?CND38
PRINTI ". Inside you see "
ICALL2 RT-PRINT-CONTENTS-2,TH-WATSONS-HAT
?CND38: PRINTR "."
?CCL35: PRINTI "You are not wearing "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL24: EQUAL? GL-PRSA,V?LOOK-INSIDE,V?LOOK-UNDER \?CCL41
FSET? TH-WATSONS-HAT,FL-WORN \?CCL41
PRINTI "You can't see inside "
ICALL2 RT-THEO-PRINT,TH-WATSONS-HAT
PRINTI " while it's on "
ICALL2 RT-THEO-PRINT,TH-HEAD
PRINTR "."
?CCL41: EQUAL? GL-PRSA,V?REACH-IN,V?SEARCH,V?PUT /?PRD47
EQUAL? GL-PRSA,V?PUT-ON \FALSE
?PRD47: FSET? TH-WATSONS-HAT,FL-WORN \FALSE
ICALL1 RT-CYOU-MSG
ICALL RT-WOULD-HAVE-TO-MSG,STR?682,GL-PRSO
PRINTR " first."
?CCL10: ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSA,V?PUT,V?PUT-UNDER \FALSE
FSET? TH-WATSONS-HAT,FL-WORN \FALSE
ICALL1 RT-CYOU-MSG
ICALL RT-WOULD-HAVE-TO-MSG,STR?682,GL-PRSI
PRINTR " first."
.FUNCT RT-AC-TH-ELIZAS-FLOWERS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CND1
PRINTI "In "
ICALL2 RT-THEO-PRINT,TH-ELIZAS-FLOWERS
PRINTR " you see a carnation."
?CND1: ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSA,V?PUT,V?PUT-ON \FALSE
CALL2 RT-CANT-PUT-IN-ON-MSG,TH-ELIZAS-FLOWERS
RSTACK
.FUNCT RT-AC-TH-CARNATION
ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?WEAR \?CCL6
EQUAL? GL-WINNER,CH-PLAYER \?CCL9
IN? TH-CARNATION,TH-LAPEL \?CCL12
ICALL1 RT-CTHEO-PRINT
PRINTI " is already in "
ICALL2 RT-THEO-PRINT,TH-LAPEL
PRINTR "."
?CCL12: MOVE TH-CARNATION,TH-LAPEL
ICALL RT-CYOU-MSG,STR?685,STR?686
ICALL1 RT-THEO-PRINT
PRINTI " in "
ICALL2 RT-THEO-PRINT,TH-LAPEL
PRINTR "."
?CCL9: ICALL2 RT-CTHEO-PRINT,GL-WINNER
PRINTI " say"
ICALL2 RT-S-NOS-MSG,GL-WINNER
PRINTR ", ""No thanks."""
?CCL6: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-EMERALD,CONTEXT
GETP TH-EMERALD,P?OBJ-NOUN
EQUAL? STACK,W?SCRATCH \?CCL3
CALL RT-HANDLE-SCRATCH,TH-EMERALD,CONTEXT
RSTACK
?CCL3: EQUAL? CONTEXT,K-M-SDESC \?CCL6
PRINTI "emerald"
RTRUE
?CCL6: EQUAL? CONTEXT,K-M-DESCFCN,FALSE-VALUE \FALSE
CALL2 RT-EXAMINE-GEM,TH-EMERALD
RSTACK
.FUNCT RT-AC-TH-SAPPHIRE,CONTEXT,GRABS,WHO
GETP TH-SAPPHIRE,P?OBJ-NOUN
EQUAL? STACK,W?SCRATCH \?CCL3
CALL RT-HANDLE-SCRATCH,TH-SAPPHIRE,CONTEXT
RSTACK
?CCL3: EQUAL? CONTEXT,K-M-SDESC \?CCL6
PRINTI "sapphire"
RTRUE
?CCL6: EQUAL? CONTEXT,K-M-DESCFCN \?CCL8
CALL2 RT-EXAMINE-GEM,TH-SAPPHIRE
ZERO? STACK /TRUE
RTRUE
?CCL8: ZERO? CONTEXT \FALSE
SET 'GRABS,TH-SAPPHIRE-AUX1
ZERO? GL-NOW-PRSI? \?CCL14
IN? TH-SAPPHIRE,TH-CLAPPER \?CCL14
EQUAL? GL-PRSA,V?TAKE \?CCL19
GRTR? GRABS,0 \?CND12
EQUAL? TH-BELL-AUX2,K-BELL-TOWARDS \?CCL24
DEC 'GRABS
SET 'TH-SAPPHIRE-AUX1,GRABS
ZERO? GRABS \?CCL27
ICALL RT-CYOU-MSG,STR?759,STR?760
ICALL1 RT-THEO-PRINT
PRINTI " from "
ICALL2 RT-THEO-PRINT,TH-CLAPPER
PRINTC 46
CRLF
MOVE TH-SAPPHIRE,CH-PLAYER
FCLEAR TH-SAPPHIRE,FL-NODESC
FSET TH-SAPPHIRE,FL-SEEN
FSET TH-SAPPHIRE,FL-TOUCHED
CALL1 RT-WHO-SAYS? >WHO
EQUAL? WHO,CH-HOLMES \?CND28
CRLF
PRINTI "Holmes beams at you and says, ""Good show, old fellow."""
CRLF
?CND28: GETP TH-SAPPHIRE,P?VALUE
ICALL2 RT-UPDATE-SCORE,STACK
PUTP TH-SAPPHIRE,P?VALUE,0
RTRUE
?CCL27: ICALL RT-CYOU-MSG,STR?761,STR?762
PRINTI "at "
ICALL1 RT-THEO-PRINT
PRINTR ", but you can't quite grab it before it swings out of reach again."
?CCL24: ICALL1 RT-CTHEO-PRINT
ICALL2 RT-ISNT-ARENT-MSG,GL-PRSO
PRINTR "within reach."
?CCL19: EQUAL? GL-PRSA,V?HIT \?CCL31
EQUAL? TH-BELL-AUX2,K-BELL-TOWARDS /?CTR33
EQUAL? GL-PRSI,TH-OAR-2 \?CCL34
?CTR33: ICALL RT-CYOU-MSG,STR?763,STR?764
ICALL1 RT-THEO-PRINT
PRINTI " into the shaft. A long time later you hear "
ICALL1 RT-THEO-PRINT
PRINTI " shatter."
CRLF
FCLEAR GL-PRSO,FL-WORN
REMOVE GL-PRSO
RTRUE
?CCL34: ICALL1 RT-CTHEO-PRINT
ICALL2 RT-ISNT-ARENT-MSG,GL-PRSO
PRINTR "within reach."
?CCL31: EQUAL? GL-PRSA,V?TOUCH,V?TOUCH-TO,V?TOUCH-TO-SWP \?CND12
EQUAL? TH-BELL-AUX2,K-BELL-TOWARDS /FALSE
ICALL1 RT-CTHEO-PRINT
ICALL2 RT-IS-ARE-MSG,GL-PRSO
PRINTR "within reach."
?CCL14: ZERO? GL-NOW-PRSI? /?CND12
IN? TH-SAPPHIRE,TH-CLAPPER \?CND12
EQUAL? GL-PRSA,V?THROW \?CND12
EQUAL? GL-PRSO,CH-TRAINED-PIGEON \?CCL48
ICALL1 RT-PIGEON-PANIC
SET 'CH-TRAINED-PIGEON-AUX1,0
RTRUE
?CCL48: ICALL RT-CYOU-MSG,STR?765,STR?766
ICALL1 RT-THEI-PRINT
PRINTI " with "
ICALL1 RT-THEO-PRINT
PRINTI ", and they both disappear into the shaft. A long time later you hear "
ICALL1 RT-THEI-PRINT
PRINTI " shatter."
CRLF
REMOVE GL-PRSO
REMOVE GL-PRSI
RTRUE
?CND12: CALL2 RT-EXAMINE-GEM,TH-SAPPHIRE
RSTACK
.FUNCT RT-AC-TH-OPAL,CONTEXT
GETP TH-OPAL,P?OBJ-NOUN
EQUAL? STACK,W?SCRATCH \?CCL3
CALL RT-HANDLE-SCRATCH,TH-OPAL,CONTEXT
RSTACK
?CCL3: EQUAL? CONTEXT,K-M-SDESC \?CCL5
PRINTI "opal"
RTRUE
?CCL5: EQUAL? CONTEXT,K-M-DESCFCN,FALSE-VALUE \FALSE
CALL2 RT-EXAMINE-GEM,TH-OPAL
RSTACK
.FUNCT RT-AC-TH-RUBY,CONTEXT
GETP TH-RUBY,P?OBJ-NOUN
EQUAL? STACK,W?SCRATCH \?CCL3
CALL RT-HANDLE-SCRATCH,TH-RUBY,CONTEXT
RSTACK
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL6
ICALL2 RT-EXAMINE-GEM,TH-RUBY
RTRUE
?CCL6: EQUAL? CONTEXT,K-M-SDESC \?CCL8
PRINTI "ruby"
RTRUE
?CCL8: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?TAKE \?CND4
IN? TH-RUBY,TH-NELSON-STATUE \?CCL14
PRINTR "You can't reach the ruby."
?CCL14: IN? TH-RUBY,CH-SHERMAN \?CND4
ICALL RT-IMPOLITE-MSG,STR?715,STR?716
RTRUE
?CND4: CALL2 RT-EXAMINE-GEM,TH-RUBY
RSTACK
.FUNCT RT-AC-TH-TOPAZ,CONTEXT
GETP TH-TOPAZ,P?OBJ-NOUN
EQUAL? STACK,W?SCRATCH \?CCL3
CALL RT-HANDLE-SCRATCH,TH-TOPAZ,CONTEXT
RSTACK
?CCL3: EQUAL? CONTEXT,K-M-SDESC \?CCL6
PRINTI "topaz"
RTRUE
?CCL6: EQUAL? CONTEXT,K-M-DESCFCN,FALSE-VALUE \FALSE
CALL2 RT-EXAMINE-GEM,TH-TOPAZ
RSTACK
.FUNCT RT-AC-TH-CRAYON,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "It looks just like any other Victorian-era crayon."
.FUNCT RT-AC-TH-WATSONS-COAT,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's a wool greatcoat."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \?CCL7
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL10
CALL RT-PERFORM,V?LOOK-INSIDE,TH-POCKET
RSTACK
?CCL10: EQUAL? GL-PRSA,V?EMPTY,V?EMPTY-INTO \?CCL12
PRINTI "[from "
ICALL2 RT-THEO-PRINT,TH-POCKET
PRINTC 93
CRLF
CALL RT-PERFORM,GL-PRSA,TH-POCKET,GL-PRSO
RSTACK
?CCL12: EQUAL? GL-PRSA,V?WEAR,V?TAKE-OFF \FALSE
FSET? TH-SUIT-OF-ARMOUR,FL-WORN \FALSE
ICALL1 RT-CYOU-MSG
ICALL RT-WOULD-HAVE-TO-MSG,STR?682,TH-SUIT-OF-ARMOUR
PRINTR " first."
?CCL7: ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSA,V?TAKE \?CCL21
PRINTI "[from "
ICALL2 RT-THEO-PRINT,TH-POCKET
PRINTC 93
CRLF
CALL RT-PERFORM,V?TAKE,GL-PRSO,TH-POCKET
RSTACK
?CCL21: EQUAL? GL-PRSA,V?PUT \?CCL23
PRINTI "[in "
ICALL2 RT-THEO-PRINT,TH-POCKET
PRINTC 93
CRLF
CALL RT-PERFORM,V?PUT,GL-PRSO,TH-POCKET
RSTACK
?CCL23: EQUAL? GL-PRSA,V?EMPTY,V?EMPTY-INTO \FALSE
PRINTI "[in "
ICALL2 RT-THEO-PRINT,TH-POCKET
PRINTC 93
CRLF
CALL RT-PERFORM,GL-PRSA,GL-PRSO,TH-POCKET
RSTACK
.FUNCT RT-AC-TH-LAPEL
ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSA,V?PUT,V?PUT-ON \FALSE
EQUAL? GL-PRSO,TH-CARNATION /FALSE
CALL2 RT-CANT-PUT-IN-ON-MSG,TH-LAPEL
RSTACK
.FUNCT RT-AC-TH-CLUMP-OF-MOSS,CONTEXT,WHO
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The clump of moss is a slightly different colour than the other lichen that surrounds it."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?LOOK \?CCL7
ICALL2 RT-AC-TH-CLUMP-OF-MOSS,K-M-DESCFCN
RTRUE
?CCL7: CALL1 RT-THAMES-TIDE
ZERO? STACK \?CCL9
CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
PRINTI "As soon as"
ICALL RT-YOU-MSG,STR?767,STR?768
ICALL2 RT-THEO-PRINT,TH-CLUMP-OF-MOSS
PRINTI ", it crumbles. "
ICALL RT-CYOU-MSG,STR?228,STR?229
PRINTI "left holding a beautiful opal."
CRLF
MOVE TH-OPAL,GL-WINNER
FSET TH-OPAL,FL-SEEN
FSET TH-OPAL,FL-TOUCHED
FCLEAR TH-OPAL,FL-NODESC
CALL1 RT-WHO-SAYS? >WHO
EQUAL? WHO,CH-HOLMES \?CND13
CRLF
PRINTI "Holmes claps you on the shoulder and says, ""Capital, Watson. Capital!"""
CRLF
?CND13: GETP TH-OPAL,P?VALUE
ICALL2 RT-UPDATE-SCORE,STACK
PUTP TH-OPAL,P?VALUE,0
REMOVE TH-CLUMP-OF-MOSS
RTRUE
?CCL9: EQUAL? GL-PRSA,V?TAKE \?CCL16
CALL1 RT-THAMES-TIDE
EQUAL? STACK,2 \?CCL19
PRINTI "The clump is well beyond "
ICALL1 RT-YOUR-MSG
PRINTR "grasp."
?CCL19: ICALL1 RT-CYOU-MSG
PRINTR "cannot quite reach it."
?CCL16: EQUAL? GL-PRSA,V?HIT,V?TOUCH,V?TOUCH-TO /?CTR20
EQUAL? GL-PRSA,V?CUT \?CCL21
?CTR20: EQUAL? GL-PRSA,V?HIT,V?TOUCH \?PRD28
EQUAL? GL-PRSI,TH-OAR-2 /?CTR25
?PRD28: EQUAL? GL-PRSA,V?TOUCH-TO \?CCL26
EQUAL? GL-PRSO,TH-OAR-2 \?CCL26
?CTR25: ICALL RT-CYOU-MSG,STR?763,STR?764
ICALL2 RT-THEO-PRINT,TH-CLUMP-OF-MOSS
PRINTI " into the water. It dissolves upon impact and reveals a beautiful opal, which slowly sinks into the murky depths."
CRLF
REMOVE TH-CLUMP-OF-MOSS
RTRUE
?CCL26: ICALL RT-CYOU-MSG,STR?755,STR?756
PRINTI "to hit the moss"
EQUAL? GL-PRSA,V?TOUCH-TO \?CCL35
PRINTI " with "
ICALL1 RT-THEO-PRINT
JUMP ?CND33
?CCL35: ZERO? GL-PRSI /?CND33
PRINTI " with "
ICALL1 RT-THEI-PRINT
?CND33: PRINTI " but"
ICALL RT-YOU-MSG,STR?228,STR?229
PRINTR "not able to reach it."
?CCL21: EQUAL? GL-PRSA,V?THROW \?CCL38
EQUAL? GL-PRSO,CH-TRAINED-PIGEON /FALSE
CALL1 RT-IDROP-MSG
ZERO? STACK /TRUE
PRINTI "Good throw! "
ICALL1 RT-CTHEO-PRINT
PRINTI " hit"
ICALL2 RT-S-NOS-MSG,GL-PRSO
PRINTI " the clump, knock"
ICALL2 RT-S-NOS-MSG,GL-PRSO
PRINTI " it loose, and everything falls into the water. "
ICALL1 RT-CTHEO-PRINT
PRINTI " sink"
ICALL2 RT-S-NOS-MSG,GL-PRSO
PRINTI " immediately. The moss, however, dissolves upon impact and reveals a beautiful opal, which slowly follows "
ICALL1 RT-THEO-PRINT
PRINTI " into the murky depths."
CRLF
REMOVE TH-CLUMP-OF-MOSS
REMOVE GL-PRSO
FCLEAR GL-PRSO,FL-WORN
RTRUE
?CCL38: EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINTI "The bullet dislodges the clump and knocks it into the water. The moss dissolves upon impact and reveals a beautiful opal, which slowly sinks into the murky depths."
CRLF
REMOVE TH-CLUMP-OF-MOSS
RTRUE
.FUNCT RT-AC-TH-BLIGH-BOAT,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \FALSE
PRINTR "The boat is a true-to-life replica of the rowboat that Captain Bligh sailed to Pitcairn Island after the mutiny on the Bounty."
.FUNCT RT-AC-TH-ANCHOR,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
IN? TH-ANCHOR,TH-BOAT \?CCL6
PRINTR "It's slimy and green and covered with river crud. Yuck!"
?CCL6: PRINTR "It's in the water."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \?CCL10
PRINT K-RICOCHET-MSG
CRLF
RTRUE
?CCL10: IN? CH-PLAYER,TH-BOAT /?CCL12
PRINT K-MUST-BE-IN-BOAT-MSG
PRINTR "do that."
?CCL12: EQUAL? GL-PRSA,V?TAKE \?CCL14
IN? TH-ANCHOR,TH-BOAT \?CCL17
PRINTR "Oomph! It's too heavy to carry."
?CCL17: MOVE TH-ANCHOR,TH-BOAT
CALL1 RT-SAY-RAISE-ANCHOR
RSTACK
?CCL14: EQUAL? GL-PRSA,V?RAISE,V?HAUL,V?WEIGH /?CTR18
EQUAL? GL-PRSA,V?PULL \?CCL19
?CTR18: IN? TH-ANCHOR,LG-WATER \?CCL24
MOVE TH-ANCHOR,TH-BOAT
CALL1 RT-SAY-RAISE-ANCHOR
RSTACK
?CCL24: PRINT K-ANCHOR-ALREADY-OUT-MSG
CRLF
RTRUE
?CCL19: EQUAL? GL-PRSA,V?LOWER,V?DROP \?CCL26
IN? TH-ANCHOR,LG-WATER \?CCL29
PRINTR "The anchor is already in the water."
?CCL29: MOVE TH-ANCHOR,LG-WATER
ICALL2 RT-ALARM-CLR,RT-I-MOVE-DOWNSTREAM
CALL1 RT-SAY-LOWER-ANCHOR
RSTACK
?CCL26: EQUAL? GL-PRSA,V?THROW,V?PUT \FALSE
EQUAL? GL-PRSI,LG-WATER \?CCL34
MOVE TH-ANCHOR,LG-WATER
ICALL2 RT-ALARM-CLR,RT-I-MOVE-DOWNSTREAM
CALL1 RT-SAY-LOWER-ANCHOR
RSTACK
?CCL34: EQUAL? GL-PRSI,TH-BOAT \?CCL36
MOVE TH-ANCHOR,TH-BOAT
CALL1 RT-SAY-RAISE-ANCHOR
RSTACK
?CCL36: CALL1 RT-IMPOSSIBLE-MSG
RSTACK
.FUNCT RT-AC-TH-NELSON-STATUE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
ICALL2 RT-CTHEO-PRINT,TH-NELSON-STATUE
PRINTI " is perched high above you, on top of the column."
FSET? TH-NELSON-STATUE,FL-OPENED \?CND4
IN? TH-RUBY,TH-NELSON-STATUE \?CND4
PRINTC 32
PRINT K-GLINT-MSG
?CND4: CRLF
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
CALL2 RT-IMPOSSIBLE-PUT-IN-ON-MSG,TH-NELSON-STATUE
ZERO? STACK \TRUE
EQUAL? GL-PRSA,V?LOOK-INSIDE \?CCL13
ICALL1 RT-CYOU-MSG
PRINTR "can't see inside the statue."
?CCL13: EQUAL? GL-PRSA,V?REACH-IN,V?SEARCH \FALSE
ICALL1 RT-CYOU-MSG
PRINTR "can't reach the statue."
.FUNCT RT-AC-TH-CROWN-JEWELS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "Despite its adventures, the Regalia doesn't look any the worse for wear."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \FALSE
SET 'GL-P-IT-OBJECT,TH-CROWN-JEWELS
RFALSE
.FUNCT RT-AC-TH-ETHERIUM-AMPOULE,CONTEXT
EQUAL? CONTEXT,K-M-SDESC \?CCL3
FSET? TH-ETHERIUM-AMPOULE,FL-BROKEN \?CCL6
PRINTI "broken ampoule"
RTRUE
?CCL6: PRINTI "ampoule of etherium"
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
FSET? TH-ETHERIUM-AMPOULE,FL-BROKEN \?CCL10
CALL1 RT-AC-TH-BROKEN-AMPOULE
RSTACK
?CCL10: EQUAL? GL-PRSA,V?MUNG,V?OPEN \?CCL12
ZERO? GL-NOW-PRSI? \?CCL12
IN? TH-ETHERIUM-AMPOULE,GL-WINNER /?CND15
ICALL1 RT-CYOU-MSG
ICALL RT-WOULD-HAVE-TO-MSG,STR?738,GL-PRSO
PRINTI " to do that."
CRLF
RETURN 2
?CND15: FSET? GL-PLACE-CUR,FL-NO-ETHERIUM \?CCL19
CALL1 RT-WHO-SAYS?
EQUAL? STACK,CH-HOLMES \?CND20
PRINTI "Holmes stops you. ""Do try to be discreet, old boy. My research is supposed to be kept secret."""
CRLF
RETURN 2
?CND20: PRINTI "The etherium renders everyone quite unconscious. Unfortunately, word of the unusual phenomenon soon leaks out, the existence of the secret chemical is exposed, and you are arrested for violating the Official Secrets Act.
Because he thinks you are a traitor, even Lestrade refuses to visit you in prison. His absence is the only bright spot of your twenty-year incarceration."
CRLF
ICALL1 RT-QSR
RETURN 2
?CCL19: EQUAL? GL-PLACE-CUR,RM-LAIR /?CND17
CALL1 RT-WHO-SAYS?
EQUAL? STACK,CH-HOLMES \?CND17
EQUAL? GL-PLACE-CUR,RM-BAR-OF-GOLD /?CND17
EQUAL? GL-PLACE-CUR,RM-ENTRY-HALL,RM-HOLMES-STUDY,RM-EVANGELIST-CHAPEL /?CND17
CALL2 RT-FIND-FLAME,GL-PLACE-CUR
ZERO? STACK \?CND17
PRINTR "Holmes stops you just in time. ""This is neither the time nor the place for experimentation."""
?CND17: ICALL2 CLEAR-ALL-FLAGS,TH-ETHERIUM-AMPOULE
FSET TH-ETHERIUM-AMPOULE,FL-TAKEABLE
FSET TH-ETHERIUM-AMPOULE,FL-READABLE
FSET TH-ETHERIUM-AMPOULE,FL-BROKEN
GETPT TH-ETHERIUM-AMPOULE,P?ADJECTIVE
PUT STACK,0,W?BROKEN
PRINTI "You break open the ampoule."
EQUAL? GL-PLACE-CUR,RM-BAR-OF-GOLD \?CCL31
PRINTR " The etherium fumes mix with the heavy air of the opium den. No one seems to notice."
?CCL31: FSET? GL-PLACE-CUR,FL-INDOORS \?CCL33
CALL2 RT-FIND-FLAME,GL-PLACE-CUR
ZERO? STACK \?CTR35
EQUAL? GL-PLACE-CUR,RM-ENTRY-HALL,RM-HOLMES-STUDY,RM-EVANGELIST-CHAPEL \?CCL36
?CTR35: PRINTI " As soon as the volatile etherium comes in contact with the flame"
EQUAL? GL-PLACE-CUR,RM-ENTRY-HALL \?CCL41
PRINTI " of the gas light"
JUMP ?CND39
?CCL41: EQUAL? GL-PLACE-CUR,RM-HOLMES-STUDY \?CCL43
PRINTI " of the fireplace"
JUMP ?CND39
?CCL43: EQUAL? GL-PLACE-CUR,RM-EVANGELIST-CHAPEL \?CND39
PRINTI " of the candles"
?CND39: PRINTI ", it explodes."
CRLF
CRLF
PRINTI "B O O M !!!"
CRLF
CRLF
PRINTI "You awaken several days later in the hospital. Inspector Lestrade is there with flowers for your bedside table. He is full of news about how he plans to solve the case. Upon hearing this, you lapse back into a coma from which you have no particular desire to emerge."
CRLF
ICALL1 RT-QSR
RTRUE
?CCL36: PRINTI " The etherium is released into the room."
FSET? TH-BREATH,FL-LOCKED /?CCL47
FSET CH-PLAYER,FL-ASLEEP
PRINTI " Suddenly, everything starts to spin. You pass out and fall to the ground. Sometime later you awaken and stumble back to your feet."
CRLF
ICALL RT-CLOCK-JMP,6,0,0
EQUAL? GL-PLACE-CUR,RM-LAIR \?CND45
ICALL1 RT-DOES-MORIARTY-WIN
JUMP ?CND45
?CCL47: CALL2 RT-ETHERIUM-EFFECT,TRUE-VALUE
ZERO? STACK /?CND50
PRINTI " You see everyone"
CALL2 RT-VISIBLE?,CH-HOLMES
ZERO? STACK /?CND52
PRINTI " but Holmes"
?CND52: PRINTI " pass out."
?CND50: CRLF
?CND45: MOVE TH-ETHERIUM-GAS,GL-PLACE-CUR
CALL RT-DO-CLOCK-SET,GL-TIME-PARM,6,0,0
ICALL RT-ALARM-SET-REL,RT-I-WAKE-UP,STACK
RTRUE
?CCL33: PRINTR " The etherium fumes dissipate quickly."
?CCL12: ZERO? GL-NOW-PRSI? \?CCL55
EQUAL? GL-PRSA,V?SHOOT /?CTR54
EQUAL? GL-PRSA,V?BURN-WITH \?CCL55
ZERO? GL-PRSI /?CTR54
FSET? GL-PRSI,FL-BURNABLE \?CCL55
FSET? GL-PRSI,FL-LIGHTED \?CCL55
?CTR54: EQUAL? GL-PRSA,V?SHOOT \?CND66
PRINTI "Couldn't resist it, could you?"
?CND66: CRLF
CRLF
PRINTI "B O O M !!!"
CRLF
CRLF
PRINTI "Your nerves - already fragile from the Afghan campaign - snap like a dry twig. You collapse into a babbling pile of jello, and white-coated attendants take you away to a nice sunlit room where Lestrade visits on alternate Tuesdays."
CRLF
CALL1 RT-QSR
RSTACK
?CCL55: EQUAL? GL-PRSA,V?READ,V?EXAMINE,V?LOOK-ON \FALSE
ZERO? GL-NOW-PRSI? \FALSE
PRINTR "The label on the ampoule reads, ""Etherium. Extremely volatile. Do not open in the presence of fire."""
.FUNCT RT-AC-TH-BROKEN-AMPOULE
EQUAL? GL-PRSA,V?SHOOT \FALSE
ICALL1 RT-CTHEO-PRINT
PRINT K-SHATTER-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-ETHERIUM-GAS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTI "Etherium is a colourless gas, which"
ICALL1 RT-YOU-MSG
PRINTR "cannot see."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SMELL \?CCL7
IN? TH-ETHERIUM-GAS,GL-PLACE-CUR \?CCL10
FSET? TH-BREATH,FL-LOCKED /?CCL10
CALL1 RT-SMELL-ETHERIUM?
RSTACK
?CCL10: ICALL1 RT-CYOU-MSG
PRINTR "cannot smell it."
?CCL7: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-LAB-EQUIPMENT,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The equipment is a jumble of test tubes, beakers, and pipettes."
?CCL3: ZERO? CONTEXT \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
ICALL RT-CYOU-MSG,STR?769,STR?770
PRINTI "towards the equipment, but then"
ICALL RT-YOU-MSG,STR?771,STR?772,TRUE-VALUE
PRINTI "Holmes's oft-repeated admonition to leave undisturbed his various experiments, and"
ICALL RT-YOU-MSG,STR?773,STR?774,TRUE-VALUE
ICALL1 RT-YOUR-MSG
PRINTR "hand."
.FUNCT RT-AC-TH-ROPE,CONTEXT,T1,T2
SET 'T1,TH-ROPE-AUX1
SET 'T2,TH-ROPE-AUX2
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
EQUAL? T1,-1 /FALSE
ICALL2 RT-CTHEO-PRINT,TH-ROPE
PRINTI " is securely bound to "
ICALL2 RT-THEO-PRINT,T1
EQUAL? T2,-1 /?CND7
PRINTI " and "
ICALL2 RT-THEO-PRINT,T2
?CND7: PRINTR "."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?TAKE \?CCL15
EQUAL? T1,-1 /?CCL15
ICALL2 RT-CTHEO-PRINT,TH-ROPE
PRINTI " is securely bound to "
ICALL2 RT-THEO-PRINT,T1
EQUAL? T2,-1 /?CND18
PRINTI " and "
ICALL2 RT-THEO-PRINT,T2
?CND18: PRINTR "."
?CCL15: EQUAL? GL-PRSA,V?CUT \?PRD23
EQUAL? GL-PRSI,TH-KNIFE /?CCL21
?PRD23: EQUAL? GL-PRSA,V?UNTIE \FALSE
?CCL21: EQUAL? T1,-1 /?CCL28
EQUAL? T2,-1 \?CND29
ICALL RT-PERFORM,V?UNTIE,T1
RTRUE
?CND29: ICALL RT-CYOU-MSG,STR?775,STR?776
EQUAL? GL-PRSA,V?UNTIE \?CCL33
ICALL RT-CYOU-MSG,STR?720,STR?721
JUMP ?CND31
?CCL33: ICALL RT-CYOU-MSG,STR?777,STR?778
?CND31: ICALL2 RT-THEO-PRINT,T1
EQUAL? T2,-1 /?CND34
PRINTI " and "
ICALL2 RT-THEO-PRINT,T2
?CND34: PRINTI ", and"
ICALL RT-YOU-MSG,STR?228,STR?229
PRINTI "left holding the rope."
CRLF
EQUAL? GL-PLACE-CUR,RM-LAIR \?CND36
EQUAL? CH-MORIARTY,T1,T2 \?CND36
FSET? CH-MORIARTY,FL-ASLEEP /?CND36
CRLF
CRLF
PRINTI "Bad move. As soon as he is free, Moriarty unlocks his desk and pulls out a pistol. ""Thank you for releasing me, gentlemen,"" he says, waving the gun at you. ""Very sporting of you."" He glances at his pocketwatch. ""We shouldn't have too long to wait."" Minutes later you hear newsboys running through the streets shouting about the resignation of the Prime Minister."
CRLF
ICALL1 RT-QSR
?CND36: SET 'TH-ROPE-AUX1,-1
FCLEAR T1,FL-LOCKED
EQUAL? T2,-1 /?CND41
SET 'TH-ROPE-AUX2,-1
FCLEAR T2,FL-LOCKED
?CND41: MOVE TH-ROPE,GL-WINNER
RTRUE
?CCL28: ICALL1 RT-CTHEO-PRINT
PRINTR "isn't tied to anyone."
.FUNCT RT-AC-TH-LIQUID,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's a clear, colourless liquid."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \?CCL7
PRINTR "Sorry, you missed."
?CCL7: CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL9
CALL2 RT-HOLMES-HITS,TH-LIQUID
RSTACK
?CCL9: EQUAL? GL-PRSA,V?SMELL \FALSE
ZERO? GL-NOW-PRSI? \FALSE
CALL2 RT-HOLMES-HITS,TH-LIQUID
RSTACK
.FUNCT RT-AC-TH-SYRINGE
EQUAL? GL-PRSA,V?SHOOT \?CCL3
PRINT K-ANNIE-OAKELEY-MSG
CRLF
RTRUE
?CCL3: CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
CALL2 RT-HOLMES-HITS,TH-SYRINGE
RSTACK
.FUNCT RT-AC-TH-MOROCCO-CASE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
FSET? CH-HOLMES,FL-ASLEEP \FALSE
ICALL2 RT-HOLMES-HITS,TH-MOROCCO-CASE
RTRUE
.FUNCT RT-AC-TH-DEAD-PIGEON
EQUAL? GL-PRSA,V?DROP,V?RELEASE,V?THROW \FALSE
EQUAL? GL-PRSO,TH-DEAD-PIGEON \FALSE
PRINTI "Thud."
CRLF
MOVE TH-DEAD-PIGEON,GL-PLACE-CUR
RTRUE
.FUNCT RT-AC-TH-PIGEONS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The pigeons strut around the square as if they own it."
?CCL3: EQUAL? CONTEXT,K-M-WINNER \?CCL5
ICALL2 RT-CTHEO-PRINT,TH-PIGEONS
PRINTR " coo in response."
?CCL5: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?TAKE \?CCL9
EQUAL? GL-PRSO,TH-PIGEONS \?CCL9
ICALL2 RT-CTHEO-PRINT,TH-PIGEONS
PRINTR " scurry out of reach."
?CCL9: EQUAL? GL-PRSA,V?SHOOT \FALSE
EQUAL? GL-PRSO,TH-PIGEONS \FALSE
ICALL RT-SHOOT-BIRDS,TH-PIGEONS,STR?779
RTRUE
.FUNCT RT-SHOOT-BIRDS,THING,STR
ICALL2 RT-CTHEO-PRINT,THING
PRINTI " all fly up into the air at the sound of the gunshot. Fortunately, none of them was hit. They soon land and resume "
PRINT STR
PRINTR "."
.FUNCT RT-AC-TH-RED-GLASS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It's just a worthless bauble."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \?CCL7
ICALL1 RT-CTHEO-PRINT
PRINT K-SHATTER-MSG
CRLF
RTRUE
?CCL7: EQUAL? GL-PRSA,V?TAKE \FALSE
IN? TH-RUBY,CH-SHERMAN \FALSE
ICALL RT-IMPOLITE-MSG,STR?715,STR?716
RTRUE
.FUNCT RT-AC-TH-BED,WHO
EQUAL? GL-PRSA,V?ENTER \?CCL3
PRINT K-NO-RESTING-MSG
CRLF
RTRUE
?CCL3: EQUAL? GL-PRSA,V?LOOK-UNDER \FALSE
CALL1 RT-WHO-SAYS? >WHO
EQUAL? WHO,CH-HOLMES \?CCL8
PRINTR "Holmes gives you a swift kick in the rear and says, ""Watson! There are much more important matters afoot."""
?CCL8: EQUAL? WHO,CH-WIGGINS \?CCL10
PRINTR "Wiggins says, ""Would you get yer bleedin' arse in gear."""
?CCL10: PRINTR "Looking for monsters?"
.FUNCT RT-AC-TH-MATCHBOOK
ZERO? GL-NOW-PRSI? \?CCL3
EQUAL? GL-PRSA,V?READ,V?EXAMINE,V?LOOK-ON \?CCL6
CRLF
PRINTI "Tired of your dull, boring job? Tired of the whole Victorian era? Become a detective! Apply now to the LESTRADE school of sleuthing. In just three short days, Inspector G. Lestrade will teach you everything he knows of the art of detection. Here are just some of the things you'll learn."
CRLF
CRLF
PRINTI "*** Fifteen new and exciting ways to"
ICALL1 RT-WRAP-PRINT
PRINTI "say ""'Ullo! Wot's this?"""
CRLF
PRINTI "*** Modern obfuscatory locution"
ICALL1 RT-WRAP-PRINT
PRINTI "eschewel techniques."
CRLF
PRINTI "*** How to insult private detectives."
CRLF
CRLF
PRINTR "Included in your tuition is an official Scotland Yard notebook, and a brand new bobby pin. Just send twenty-five pounds to the LESTRADE, that's L-E-S-T-R-A-D-E school of sleuthing. Act now, and the Inspector will tell you how he knows that people are guilty simply by looking at them."
?CCL6: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \FALSE
ZERO? GL-NOW-PRSI? \FALSE
FSET? GL-PRSI,FL-LIGHTED \?PRD15
FSET? GL-PRSI,FL-BURNABLE /?CTR12
?PRD15: EQUAL? GL-PRSI,TH-PIPE \?CCL13
FSET? TH-TOBACCO,FL-LIGHTED \?CCL13
?CTR12: ICALL2 RT-CTHEO-PRINT,TH-MATCHBOOK
PRINTI " catches fire."
CRLF
FSET TH-MATCHBOOK,FL-LIGHTED
CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,1,0
CALL RT-ALARM-SET-REL,RT-I-MATCHBOOK-OUT,STACK
RSTACK
?CCL13: ICALL1 RT-CTHEI-PRINT
ICALL2 RT-ISNT-ARENT-MSG,GL-PRSI
PRINTR "burning."
?CCL3: ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSA,V?PUT,V?PUT-ON \FALSE
EQUAL? GL-PRSO,TH-MATCH /FALSE
CALL2 RT-CANT-PUT-IN-ON-MSG,TH-MATCHBOOK
RSTACK
.FUNCT RT-AC-TH-PICTURES,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
ICALL PRINT-SDESC,STR?780,CLASS,FALSE-VALUE,TRUE-VALUE
RTRUE
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL5
PRINTR "They look just like some of your relatives."
?CCL5: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?LOOK-BEHIND \FALSE
PRINTR "Thorough, aren't you? There's nothing there."
.FUNCT RT-AC-TH-CLUE-BOOK,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It looks like a very old book."
?CCL3: ZERO? CONTEXT \FALSE
ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?READ,V?EXAMINE \?CCL10
FSET? TH-CLUE-BOOK,FL-OPENED \?CCL13
ICALL1 RT-READ-CLUE-BOOK
RTRUE
?CCL13: PRINTR "The title is, ""Secret Writing and Invisible Inks."""
?CCL10: EQUAL? GL-PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL15
FSET? TH-CLUE-BOOK,FL-OPENED \?CCL18
PRINTR "The pages are yellowed with age."
?CCL18: ICALL1 RT-CYOU-MSG
ICALL2 RT-WOULD-HAVE-TO-MSG,STR?781
CRLF
RTRUE
?CCL15: EQUAL? GL-PRSA,V?OPEN \?CCL20
FSET? TH-CLUE-BOOK,FL-OPENED \?CCL23
PRINTR "The book is already open."
?CCL23: FSET TH-CLUE-BOOK,FL-OPENED
PRINTR "The book falls open to the introduction."
?CCL20: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \FALSE
PRINTR "Perfect example of a typically repressive Victorian mentality."
.FUNCT RT-AC-TH-BOOK-PAGE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It has writing on it."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?READ,V?EXAMINE \?CCL7
FSET? TH-CLUE-BOOK,FL-OPENED \?CCL10
ICALL1 RT-READ-CLUE-BOOK
RTRUE
?CCL10: ICALL1 RT-CYOU-MSG
ICALL2 RT-WOULD-HAVE-TO-MSG,STR?227
PRINTR "the book first."
?CCL7: EQUAL? GL-PRSA,V?FLIP,V?TURN \FALSE
FSET? TH-CLUE-BOOK,FL-OPENED \?CCL15
PRINTR "A quick review of the remainder of the book reveals nothing interesting."
?CCL15: ICALL1 RT-CYOU-MSG
ICALL2 RT-WOULD-HAVE-TO-MSG,STR?227
PRINTR "the book first."
.FUNCT RT-READ-CLUE-BOOK
PRINTI "A few underlined sentences catch your eye."
CRLF
CRLF
PRINTI """Invisible writing has a long and honorable history. It is used primarily when it is felt that a code or cipher may be too easily broken."""
CRLF
CRLF
PRINTR """Most invisible inks are somewhat sticky to the touch, and virtually all of them become visible when exposed to moderate heat."""
.FUNCT RT-AC-TH-BANK-OF-CANDLES
ZERO? GL-NOW-PRSI? \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
PRINTR "After a moment's reflection you decide to leave undisturbed the offerings that others have left behind."
.FUNCT RT-AC-TH-PRAMS
CALL1 RT-TOUCH-VERB?
ZERO? STACK \?CCL3
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?SEARCH \FALSE
?CCL3: PRINTR "The nannies move the prams beyond your reach and glare at you menacingly."
.FUNCT RT-AC-TH-PARK-FLOWERS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "You see daisies, petunias, roses, peonies, marigolds, and a host of golden daffodils."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?TAKE \?CCL7
PRINTR "Please don't pick the flowers."
?CCL7: EQUAL? GL-PRSA,V?EAT \?CCL9
PRINTR "Please don't eat the daisies."
?CCL9: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-ARCH,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
ICALL PRINT-SDESC,STR?782,CLASS,FALSE-VALUE,FALSE-VALUE
RTRUE
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL5
PRINTR "It's a large triumphal arch, surmounted by a bronze chariot."
?CCL5: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-RICOCHET-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-SHAFT
EQUAL? GL-PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK-DOWN /?CTR2
EQUAL? GL-PRSA,V?SEARCH \?CCL3
?CTR2: PRINTR "It's a long way down."
?CCL3: EQUAL? GL-PRSA,V?ENTER,V?LEAP \?CCL7
PRINT K-SUICIDE-MSG
CRLF
RTRUE
?CCL7: EQUAL? GL-PRSA,V?PUT \FALSE
ZERO? GL-NOW-PRSI? /FALSE
EQUAL? GL-PRSO,CH-TRAINED-PIGEON /FALSE
REMOVE GL-PRSO
FCLEAR GL-PRSO,FL-WORN
ICALL1 RT-CTHEO-PRINT
PRINTI " disappear"
ICALL2 RT-S-NOS-MSG,GL-PRSO
PRINTR " into the shaft. A long time later you hear a faint ""thud."""
.FUNCT RT-AC-TH-FIREPLACE,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
CALL PRINT-SDESC,STR?783,CLASS,FALSE-VALUE,FALSE-VALUE
RSTACK
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL7
PRINTR "In the fireplace is a roaring fire that would surely consume anything you put into it."
?CCL7: EQUAL? GL-PRSA,V?ENTER,V?LEAP \?CCL9
PRINT K-SUICIDE-MSG
CRLF
RTRUE
?CCL9: EQUAL? GL-PRSA,V?PUT \?CCL11
EQUAL? GL-PRSI,PSEUDO-OBJECT \?CCL11
FSET? GL-PRSO,FL-BODYPART \?CCL16
PRINT K-HOT-MSG
CRLF
RTRUE
?CCL16: IN? GL-PRSO,GLOBAL-OBJECTS \?CCL18
ICALL1 RT-IMPOSSIBLE-MSG
RTRUE
?CCL18: EQUAL? GL-PRSO,TH-ETHERIUM-AMPOULE \?CCL20
FSET? GL-PRSO,FL-BROKEN /?CCL20
ICALL RT-PERFORM,V?MUNG,GL-PRSO
RTRUE
?CCL20: CALL RT-META-IN?,TH-ETHERIUM-AMPOULE,GL-PRSO
ZERO? STACK /?CCL24
FSET? TH-ETHERIUM-AMPOULE,FL-BROKEN /?CCL24
ICALL1 RT-CTHEO-PRINT
PRINTI " disappear"
ICALL2 RT-S-NOS-MSG,GL-PRSO
PRINTI " into the fire, which soon reaches the etherium."
ICALL RT-PERFORM,V?BURN-WITH,TH-ETHERIUM-AMPOULE
RTRUE
?CCL24: REMOVE GL-PRSO
FCLEAR GL-PRSO,FL-WORN
ICALL1 RT-CTHEO-PRINT
PRINTI " disappear"
ICALL2 RT-S-NOS-MSG,GL-PRSO
PRINTI " into the fire and"
ICALL2 RT-IS-ARE-MSG,GL-PRSO
PRINTI "immediately consumed."
CRLF
EQUAL? GL-PRSO,CH-TRAINED-PIGEON \TRUE
ICALL1 RT-KILL-PIGEON
RTRUE
?CCL11: EQUAL? GL-PRSA,V?REACH-IN \?CCL30
PRINT K-HOT-MSG
CRLF
RTRUE
?CCL30: EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-RICOCHET-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-GAS-LIGHT,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
CALL PRINT-SDESC,STR?784,CLASS,FALSE-VALUE,FALSE-VALUE,FALSE-VALUE
RSTACK
?CCL3: ZERO? CONTEXT \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL7
PRINTR "The gas light is out of reach."
?CCL7: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-CHARIOT,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
CALL PRINT-SDESC,STR?785,CLASS,FALSE-VALUE,FALSE-VALUE
RSTACK
?CCL3: ZERO? CONTEXT \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL7
PRINTR "The chariot is out of reach."
?CCL7: EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-ANNIE-OAKELEY-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-JEWEL-CASE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The case is bent and twisted where the thief attacked it with the mace."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?LOOK-THRU \FALSE
EQUAL? GL-PRSI,TH-MAGNIFYING-GLASS \FALSE
PRINTR "It's been wiped clean."
.FUNCT RT-AC-TH-ELIZAS-MOUTH,CONTEXT
EQUAL? GL-PRSA,V?SHOOT \?CCL3
ZERO? GL-NOW-PRSI? \?CCL3
PUTP CH-ELIZA-DOOLITTLE,P?OBJ-NOUN,W?GIRL
PUTP CH-ELIZA-DOOLITTLE,P?OBJ-ADJ,0
ICALL RT-PERFORM,V?SHOOT,CH-ELIZA-DOOLITTLE
RTRUE
?CCL3: EQUAL? GL-PRSA,V?PUT \FALSE
ZERO? GL-NOW-PRSI? /FALSE
FSET? TH-ELIZAS-MOUTH,FL-OPENED /?CCL11
ICALL1 RT-CTHEI-PRINT
PRINTR " is not open."
?CCL11: EQUAL? GL-PRSO,TH-ORANGE-PILL,TH-YELLOW-PILL \?CCL13
CALL2 RT-CURE-ELIZA,GL-PRSO
RSTACK
?CCL13: FSET? GL-PRSO,FL-FOOD /?CCL15
PRINTI "It's hard to imagine that "
ICALL1 RT-A-PRINT
PRINTR " would do your patient much good."
?CCL15: CALL RT-ROOM-IN-ON-MSG?,GL-PRSO,GL-PRSI
ZERO? STACK \TRUE
RFALSE
.FUNCT RT-AC-TH-RUBBINGS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "They are brass rubbings made from various inscriptions around the abbey."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?READ \FALSE
ICALL2 RT-AC-TH-RUBBINGS,K-M-DESCFCN
RTRUE
.FUNCT RT-AC-TH-SOFA
EQUAL? GL-PRSA,V?ENTER \FALSE
PRINT K-NO-RESTING-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-MARQUEES,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
ICALL PRINT-SDESC,STR?786,CLASS,FALSE-VALUE,TRUE-VALUE
RTRUE
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN /?CCL5
ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?READ,V?LOOK-INSIDE,V?LOOK-ON \FALSE
?CCL5: SET 'GL-WINDOW,PT?1507
ICALL2 RT-WINDOW,GL-WINDOW
SET 'GL-WINDOW,FALSE-VALUE
RTRUE
.FUNCT RT-AC-TH-SUPPORTS,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
CALL PRINT-SDESC,STR?787,CLASS,FALSE-VALUE,TRUE-VALUE
RSTACK
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-RICOCHET-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-ASH,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "It is dark, almost black, in colour, and quite flakey."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?BLOW-INTO,V?SHOOT \?CCL7
REMOVE TH-ASH
ICALL2 RT-CTHEO-PRINT,TH-ASH
PRINTR " scatters and disappears."
?CCL7: EQUAL? GL-PRSA,V?HAUL \?CCL9
PRINTR "Good idea. Let's get the flake out of here."
?CCL9: EQUAL? GL-PRSA,V?KISS \?CCL11
PRINT K-PROFANITY-MSG
CRLF
RTRUE
?CCL11: CALL1 RT-TOUCH-VERB?
ZERO? STACK /FALSE
REMOVE TH-ASH
PRINTI "As soon as"
ICALL RT-YOU-MSG,STR?755,STR?756
PRINTR "to touch the ash, it crumbles and disappears."
.FUNCT RT-AC-TH-CIGARETTE
EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-ANNIE-OAKELEY-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-TURBAN
CALL1 RT-TOUCH-VERB?
ZERO? STACK \?CTR2
EQUAL? GL-PRSA,V?LOOK-UNDER,V?LOOK-INSIDE \?CCL3
?CTR2: FSET? CH-AKBAR,FL-ASLEEP \?CND6
PRINTR "That's stooping pretty low."
?CND6: PRINTI "The native of India pulls away from you and says, ""As you must know,"
FSET? TH-WATSONS-HAT,FL-WORN \?CND8
PRINTI " honourable sir,"
?CND8: PRINTR " a man's head should never be uncovered. It is an affront to God."""
?CCL3: EQUAL? GL-PRSA,V?SHOOT \FALSE
ICALL RT-PERFORM,V?SHOOT,CH-AKBAR
RTRUE
.FUNCT RT-AC-TH-ANCHOR-CHAIN
EQUAL? GL-PRSA,V?SHOOT \?CCL3
PRINT K-RICOCHET-MSG
CRLF
RTRUE
?CCL3: IN? CH-PLAYER,TH-BOAT /?CCL5
PRINT K-MUST-BE-IN-BOAT-MSG
PRINTR "do that."
?CCL5: EQUAL? GL-PRSA,V?TAKE \?CCL7
IN? TH-ANCHOR,TH-BOAT \?CCL10
PRINTR "Oomph! It's too heavy to carry."
?CCL10: MOVE TH-ANCHOR,TH-BOAT
CALL1 RT-SAY-RAISE-ANCHOR
RSTACK
?CCL7: EQUAL? GL-PRSA,V?RAISE,V?HAUL,V?WEIGH /?CCL12
EQUAL? GL-PRSA,V?PULL \FALSE
?CCL12: IN? TH-ANCHOR,LG-WATER \?CCL17
MOVE TH-ANCHOR,TH-BOAT
CALL1 RT-SAY-RAISE-ANCHOR
RSTACK
?CCL17: PRINT K-ANCHOR-ALREADY-OUT-MSG
CRLF
RTRUE
.FUNCT RT-SAY-LOWER-ANCHOR
ICALL RT-CYOU-MSG,STR?788,STR?789
PRINTR "the anchor into the water."
.FUNCT RT-SAY-RAISE-ANCHOR
ICALL RT-CYOU-MSG,STR?790,STR?791
PRINTI "the anchor and "
EQUAL? GL-WINNER,CH-PLAYER \?CCL3
PRINTI "drop"
JUMP ?CND1
?CCL3: PRINTI "drops"
?CND1: PRINTR " it into the boat."
.FUNCT RT-AC-TH-WAX-OBJECT-1,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
ICALL PRINT-SDESC,STR?792,CLASS,TRUE-VALUE,FALSE-VALUE
RTRUE
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL5
PRINTI "You see nothing unusual about"
ICALL RT-CLAUSE-PRINT,K-P-NC1,K-P-NC1L
PRINTR "."
?CCL5: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-LIBRARY-OBJ,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
ICALL PRINT-SDESC,STR?793,CLASS,FALSE-VALUE,TRUE-VALUE
RTRUE
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL5
PRINTI "You see nothing unusual about"
ICALL RT-CLAUSE-PRINT,K-P-NC1,K-P-NC1L
PRINTR "."
?CCL5: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?LOOK-OUTSIDE,V?LOOK-THRU-SWP /?CCL9
EQUAL? GL-PRSA,V?LOOK-UNDER,V?LOOK-BEHIND,V?LOOK-ON /?CCL9
EQUAL? GL-PRSA,V?LOOK-THRU,V?SEARCH,V?READ \FALSE
?CCL9: PRINTI "You see nothing "
CALL2 RT-PICK-NEXT,GL-BORING-TXT
PRINT STACK
PRINTR "."
.FUNCT RT-AC-TH-RAILING
EQUAL? GL-PRSA,V?CLIMB-OVER \?CCL3
PRINT K-SUICIDE-MSG
CRLF
RTRUE
?CCL3: EQUAL? GL-PRSA,V?CLIMB-ON \FALSE
PRINTR "It's much too dangerous. Besides, it wouldn't bring you any closer to the clapper."
.FUNCT RT-AC-TH-OPIUM-GAS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "The fumes hang thick in the air."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SMELL \?CCL7
PRINT K-DIZZY-MSG
CRLF
RTRUE
?CCL7: EQUAL? GL-PRSA,V?BUY,V?BUY-FROM,V?ASK-FOR /?CTR8
EQUAL? GL-WINNER,CH-DENKEEPER \?CCL9
EQUAL? GL-PRSA,V?ASK-FOR,V?GIVE \?CCL9
?CTR8: PRINTR "The proprietor eyes you for a moment and says, ""A gent the likes of you doesn't buy what I 'ave to sell, mate. What is it you really want?"""
?CCL9: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-PRODUCE,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \?CCL3
ICALL PRINT-SDESC,STR?794,CLASS,FALSE-VALUE,TRUE-VALUE
RTRUE
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL5
PRINTR "All the produce looks good. But the giant peas look especially delicious."
?CCL5: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?SMELL \?CCL9
CALL1 RT-TIME-OF-DAY
ZERO? STACK \?CCL12
PRINTR "The produce smells country fresh."
?CCL12: PRINTR "The produce smells like it's been there a while."
?CCL9: EQUAL? GL-PRSA,V?BUY,V?BUY-FROM \?CCL14
GET GL-P-NAMW,0
EQUAL? STACK,W?FRUIT,W?FRUITS \?CCL17
PRINTI "You"
JUMP ?CND15
?CCL17: PRINTI "Although the giant peas look tempting, you"
?CND15: PRINTR " decide to conserve your capital for more important purchases."
?CCL14: EQUAL? GL-PRSA,V?TAKE,V?STEAL \?CCL19
PRINT K-THEFT-MSG
CRLF
RTRUE
?CCL19: EQUAL? GL-PRSA,V?SHOOT \FALSE
CALL1 RT-WASTE-OF-BULLETS-MSG
RSTACK
.FUNCT RT-AC-TH-TRINKETS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
PRINTR "They're mostly just baubles. He's obviously charging way too much for them."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?BUY,V?BUY-FROM \?CCL7
IN? TH-TELESCOPE,CH-VENDOR \?CCL10
PRINTR "The vendor says, ""I've got a loverly telescope you might be interested in, guv'nor."""
?CCL10: PRINTR "You glance at the rest of the vendor's wares and decide you can live without them."
?CCL7: EQUAL? GL-PRSA,V?TAKE,V?STEAL \FALSE
PRINT K-THEFT-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-GUARDS-KEYS,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
ICALL1 RT-CYOU-MSG
PRINTR "can't see them. They're in the guard's pocket."
?CCL3: ZERO? CONTEXT \FALSE
EQUAL? GL-PRSA,V?LISTEN \FALSE
ZERO? GL-NOW-PRSI? \FALSE
ICALL2 RT-CTHEO-PRINT,CH-BANK-GUARD
PRINTR " is idly jangling some keys in his pocket."
.FUNCT RT-AC-TH-NELSON-EYE,CONTEXT
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
FSET? TH-NELSON-STATUE,FL-OPENED \FALSE
IN? TH-RUBY,TH-NELSON-STATUE \FALSE
PRINTC 32
PRINT K-GLINT-MSG
RTRUE
?CCL3: ZERO? CONTEXT \FALSE
CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL11
ICALL2 RT-CTHEO-PRINT,TH-NELSON-EYE
PRINTR " is too high."
?CCL11: EQUAL? GL-PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL13
CALL2 RT-AC-TH-NELSON-EYE,K-M-DESCFCN
ZERO? STACK \FALSE
PRINTR "It is too high up to get a good look."
?CCL13: EQUAL? GL-PRSA,V?SHOOT \FALSE
PRINT K-ANNIE-OAKELEY-MSG
CRLF
RTRUE
.FUNCT RT-AC-TH-PANELLING,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \FALSE
CALL PRINT-SDESC,STR?795,CLASS,FALSE-VALUE,TRUE-VALUE
RSTACK
.FUNCT RT-AC-TH-INSTRUMENTS,CONTEXT,CLASS
EQUAL? CONTEXT,K-M-SDESC \FALSE
CALL PRINT-SDESC,STR?796,CLASS,FALSE-VALUE,TRUE-VALUE
RSTACK
.FUNCT RT-AC-TH-PLAYER-BODY
GET GL-P-NAMW,0
EQUAL? STACK,W?NOSE \FALSE
EQUAL? GL-PRSA,V?TAKE \?PRD7
EQUAL? GL-P-PRSA-WORD,W?HOLD /?CCL3
?PRD7: EQUAL? GL-PRSA,V?STEAL \FALSE
EQUAL? GL-P-PRSA-WORD,W?PINCH \FALSE
?CCL3: ICALL RT-PERFORM,V?TAKE,TH-BREATH
RTRUE
.ENDI