.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