.FUNCT BURN-OUT-MATCH FCLEAR TH-MATCH,FL-BURNABLE ICALL2 CLEAR-ALL-FLAGS,TH-MATCH FSET TH-MATCH,FL-TAKEABLE FSET TH-MATCH,FL-BROKEN RTRUE .FUNCT RT-AC-TH-MATCH,CONTEXT EQUAL? CONTEXT,K-M-SDESC \?CCL3 FSET? TH-MATCH,FL-BROKEN \?CCL6 PRINTI "burnt match" RTRUE ?CCL6: PRINTI "match" RTRUE ?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL8 FSET? TH-MATCH,FL-BROKEN /FALSE FSET? TH-MATCH,FL-LIGHTED \FALSE ICALL2 RT-CTHEO-PRINT,TH-MATCH PRINTR " is burning." ?CCL8: ZERO? CONTEXT \FALSE FSET? TH-MATCH,FL-BROKEN \?CCL17 EQUAL? GL-PRSA,V?LAMP-OFF,V?LIGHT,V?STRIKE /?CCL20 EQUAL? GL-PRSA,V?BURN-WITH,V?LIGHT-WITH \FALSE ?CCL20: PRINTR "The match is already burned out." ?CCL17: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH,V?STRIKE /?PRD26 EQUAL? GL-PRSA,V?LIGHT \?CCL24 ?PRD26: EQUAL? GL-PRSO,TH-MATCH \?CCL24 FSET? TH-MATCH,FL-LIGHTED \?CCL31 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL31: FSET? TH-MATCH,FL-BURNABLE /?CCL33 ICALL1 RT-CTHEO-PRINT PRINTR " is burned out." ?CCL33: EQUAL? GL-PRSI,TH-HANDS,FALSE-VALUE /?CCL35 FSET? GL-PRSI,FL-LIGHTED \FALSE FSET? GL-PRSI,FL-BURNABLE \FALSE ?CCL35: FSET TH-MATCH,FL-LIGHTED CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,2,0 ICALL RT-ALARM-SET-REL,RT-I-MATCH-OUT,STACK MOVE TH-MATCH,GL-WINNER ICALL1 RT-CTHEO-PRINT PRINTR " flares to life." ?CCL24: EQUAL? GL-PRSA,V?LAMP-OFF \FALSE FSET? TH-MATCH,FL-LIGHTED /?CCL44 ICALL1 RT-CTHEO-PRINT PRINTR " isn't lit." ?CCL44: FCLEAR TH-MATCH,FL-LIGHTED ICALL1 BURN-OUT-MATCH ICALL2 RT-ALARM-CLR,RT-I-MATCH-OUT ICALL RT-CYOU-MSG,STR?802,STR?803 PRINTR "out the match." .FUNCT CLEAR-ALL-FLAGS,OBJ,N SET 'N,1 ?PRG1: EQUAL? N,FL-HAS-SDESC,FL-HAS-DESCFCN,FL-NEEDS-IDENTITY /?CND3 EQUAL? N,FL-LOSE-IDENTITY /?CND3 FCLEAR OBJ,N ?CND3: IGRTR? 'N,48 \?PRG1 RTRUE .FUNCT RT-AC-TH-TORCH,CONTEXT,WHO EQUAL? CONTEXT,K-M-SDESC \?CCL3 FSET? TH-TORCH,FL-BROKEN \?CCL6 PRINTI "burnt torch" RTRUE ?CCL6: PRINTI "torch" RTRUE ?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL8 FSET? TH-TORCH,FL-BROKEN /FALSE FSET? TH-TORCH,FL-LIGHTED \FALSE ICALL2 RT-CTHEO-PRINT,TH-TORCH PRINTR " is burning." ?CCL8: FSET? TH-TORCH,FL-BROKEN /FALSE EQUAL? GL-PRSA,V?MELT,V?HEAT,V?LIGHT-WITH /?PRD18 EQUAL? GL-PRSA,V?BURN-WITH \?CCL16 ?PRD18: EQUAL? GL-PRSI,TH-TORCH \?CCL16 FSET? TH-TORCH,FL-LIGHTED /?CCL23 ICALL2 RT-CTHEO-PRINT,TH-TORCH PRINTR " is not lit." ?CCL23: EQUAL? GL-PRSO,TH-TORCH \?CCL25 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL25: EQUAL? GL-PRSO,TH-WAX-HEAD \?CCL27 ICALL1 RT-CTHEO-PRINT PRINTI " melts into a pool of wax on the floor. You see a gem glittering in the wax." CRLF MOVE TH-WAX-HEAD,GL-PLACE-CUR MOVE TH-EMERALD,TH-WAX-HEAD ICALL2 CLEAR-ALL-FLAGS,TH-WAX-HEAD FSET TH-WAX-HEAD,FL-OPENED FSET TH-WAX-HEAD,FL-TRANSPARENT FSET TH-WAX-HEAD,FL-CONTAINER FSET TH-WAX-HEAD,FL-BROKEN ICALL2 SET-MASS-TO-ONE,TH-WAX-HEAD GETPT TH-WAX-HEAD,P?SYNONYM PUT STACK,0,W?POOL GETPT TH-WAX-HEAD,P?ADJECTIVE PUT STACK,0,W?POOL CALL2 RT-THIS-IS-IT,TH-EMERALD RSTACK ?CCL27: EQUAL? GL-PRSO,TH-WAX-AX \?CCL29 ICALL1 RT-CTHEO-PRINT PRINTI " melts into a pool of wax on the floor." CRLF MOVE TH-WAX-AX,GL-PLACE-CUR ICALL2 CLEAR-ALL-FLAGS,TH-WAX-AX FSET TH-WAX-AX,FL-OPENED FSET TH-WAX-AX,FL-TRANSPARENT FSET TH-WAX-AX,FL-CONTAINER FSET TH-WAX-AX,FL-BROKEN ICALL2 SET-SIZE-TO-ONE,TH-WAX-AX ICALL2 SET-CAPACITY-TO-ONE,TH-WAX-AX ICALL2 SET-MASS-TO-ONE,TH-WAX-AX GETPT TH-WAX-AX,P?SYNONYM PUT STACK,0,W?AX GETPT TH-WAX-AX,P?ADJECTIVE PUT STACK,0,W?MELTED RTRUE ?CCL29: FSET? GL-PRSO,FL-BURNABLE /FALSE ICALL1 RT-CYOU-MSG PRINTI "cannot " PRINTB GL-P-PRSA-WORD PRINTC 32 ICALL1 RT-THEO-PRINT PRINTI " with " ICALL1 RT-THEI-PRINT PRINTR "." ?CCL16: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \FALSE EQUAL? GL-PRSO,TH-TORCH \FALSE EQUAL? GL-PRSI,TH-TOBACCO,TH-PIPE \?CCL38 FSET? TH-TOBACCO,FL-LIGHTED \?CCL38 ICALL1 RT-CTHEI-PRINT ICALL2 RT-DONT-DOESNT-MSG,GL-PRSI PRINTI "put out enough heat to light " ICALL1 RT-THEO-PRINT PRINTR "." ?CCL38: FSET? GL-PRSI,FL-BURNABLE /?CCL42 ICALL1 RT-CYOU-MSG PRINTI "cannot light " ICALL1 RT-THEO-PRINT PRINTI " with " ICALL1 RT-THEI-PRINT PRINTR "." ?CCL42: FSET? GL-PRSI,FL-LIGHTED /?CCL44 ICALL1 RT-CTHEI-PRINT ICALL2 RT-ISNT-ARENT-MSG,GL-PRSI PRINTR "burning." ?CCL44: ICALL1 RT-CTHEO-PRINT PRINTI " catches fire quickly." CRLF FSET TH-TORCH,FL-LIGHTED CALL RT-DO-CLOCK-SET,GL-TIME-PARM,1,0,0 ICALL RT-ALARM-SET-REL,RT-I-TORCH-OUT,STACK CALL1 RT-WHO-SAYS? >WHO EQUAL? WHO,CH-HOLMES \?CND45 CRLF PRINTI "Holmes looks at you and says, ""An ingenious solution, Watson. My compliments, old chap.""" CRLF ?CND45: CALL2 RT-UPDATE-SCORE,4 RSTACK .FUNCT RT-LIGHT-PIPE,FIRE FSET? FIRE,FL-BURNABLE /?CCL3 ICALL1 RT-CYOU-MSG PRINTI "cannot light " ICALL1 RT-THEO-PRINT PRINTI " with " ICALL1 RT-THEI-PRINT PRINTR "." ?CCL3: FSET? FIRE,FL-LIGHTED /?CCL5 ICALL2 RT-CTHEO-PRINT,FIRE PRINTR " is not burning." ?CCL5: FSET? TH-TOBACCO,FL-LIGHTED \?CCL7 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL7: IN? TH-TOBACCO,TH-PIPE \FALSE FSET TH-TOBACCO,FL-LIGHTED CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,15,0 ICALL RT-ALARM-SET-REL,RT-I-PIPE-OUT,STACK PRINTI "After a few puffs, " ICALL1 RT-THEO-PRINT PRINTR " fires right up." .FUNCT RT-AC-TH-TOBACCO,CONTEXT,I EQUAL? CONTEXT,K-M-DESCFCN \?CCL3 FSET? TH-TOBACCO,FL-LIGHTED \?CCL6 ICALL2 RT-CTHEO-PRINT,TH-TOBACCO PRINTR " is burning." ?CCL6: PRINTR "It's Holmes's favorite brand of shag tobacco." ?CCL3: ZERO? GL-NOW-PRSI? \?CND1 SET 'GL-P-IT-OBJECT,TH-TOBACCO ?CND1: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \?CCL10 EQUAL? GL-PRSO,TH-TOBACCO \?CCL10 EQUAL? GL-PRSI,FALSE-VALUE,TH-HANDS \?CCL15 SET 'I,TH-MATCH JUMP ?CND13 ?CCL15: SET 'I,GL-PRSI ?CND13: IN? I,GL-WINNER /?CCL18 ICALL RT-CYOU-MSG,STR?228,STR?229 PRINTI "not holding " ICALL2 RT-A-PRINT,I PRINTR "." ?CCL18: IN? TH-PIPE,GL-WINNER /?CCL20 ICALL RT-CYOU-MSG,STR?228,STR?229 PRINTI "not holding " ICALL2 RT-THEO-PRINT,TH-PIPE PRINTR "." ?CCL20: FSET? TH-TOBACCO,FL-LIGHTED \?CCL22 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL22: CALL2 RT-LIGHT-PIPE,I ZERO? STACK \TRUE ICALL1 RT-CTHEO-PRINT PRINTC 32 PRINT K-SMOULDERS-MSG CRLF RTRUE ?CCL10: EQUAL? GL-PRSA,V?TAKE,V?TOUCH \?CCL26 FSET? TH-TOBACCO,FL-LIGHTED \?CCL26 PRINTR "Yeeeeouch! That's hot!" ?CCL26: EQUAL? GL-PRSA,V?SMOKE \?CCL30 FSET? TH-TOBACCO,FL-LIGHTED \?CCL33 PRINT K-BRAND-MSG CRLF RTRUE ?CCL33: ICALL1 RT-CTHEO-PRINT PRINTR " is not lit." ?CCL30: EQUAL? GL-PRSA,V?SMELL \FALSE PRINTR "The shag has a strong, but pleasant smell." .FUNCT RT-AC-TH-PIPE,CONTEXT,I,DEST EQUAL? CONTEXT,K-M-DESCFCN \?CCL3 FSET? TH-TOBACCO,FL-LIGHTED \?CCL6 IN? TH-TOBACCO,TH-PIPE \?CCL6 PRINTI "Smoke gently wafts from " ICALL2 RT-THEO-PRINT,TH-PIPE PRINTR "." ?CCL6: PRINTR "It is an old and oily black clay pipe, the companion of Holmes's deepest meditations." ?CCL3: ZERO? CONTEXT \FALSE ZERO? GL-NOW-PRSI? \?CCL12 EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \?CCL15 EQUAL? GL-PRSI,FALSE-VALUE,TH-HANDS \?CCL18 SET 'I,TH-MATCH JUMP ?CND16 ?CCL18: SET 'I,GL-PRSI ?CND16: IN? I,GL-WINNER /?CCL21 ICALL RT-CYOU-MSG,STR?228,STR?229 PRINTI "not holding " ICALL2 RT-A-PRINT,I PRINTR "." ?CCL21: IN? TH-PIPE,GL-WINNER /?CCL23 ICALL RT-CYOU-MSG,STR?228,STR?229 PRINTI "not holding " ICALL2 RT-THEO-PRINT,TH-PIPE PRINTR "." ?CCL23: FSET? TH-TOBACCO,FL-LIGHTED \?CCL25 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL25: CALL2 RT-LIGHT-PIPE,I ZERO? STACK \TRUE PRINTR "There is nothing in the pipe to light." ?CCL15: EQUAL? GL-PRSA,V?PUT \?CCL29 EQUAL? GL-PRSI,TH-PLAYER-BODY \?CCL29 GET GL-P-NAMW,1 EQUAL? STACK,W?MOUTH \?CCL29 CALL RT-PERFORM,V?SMOKE,TH-PIPE RSTACK ?CCL29: EQUAL? GL-PRSA,V?SMOKE \?CCL34 FSET? TH-TOBACCO,FL-LIGHTED \?CCL37 PRINT K-BRAND-MSG CRLF RTRUE ?CCL37: ICALL1 RT-CTHEO-PRINT PRINTR " is not lit." ?CCL34: EQUAL? GL-PRSA,V?EMPTY-INTO,V?POUR \FALSE IN? TH-TOBACCO,TH-PIPE \FALSE FSET? TH-TOBACCO,FL-LIGHTED \FALSE EQUAL? GL-PRSA,V?POUR \?CCL45 FCLEAR TH-TOBACCO,FL-LIGHTED MOVE TH-TOBACCO,GL-PLACE-CUR ICALL2 RT-CTHEO-PRINT,TH-TOBACCO PRINTI " falls " EQUAL? GL-PLACE-CUR,RM-THAMES-ONE,RM-THAMES-TWO,RM-THAMES-THREE /?CTR47 EQUAL? GL-PLACE-CUR,RM-THAMES-FOUR,RM-THAMES-FIVE \?CCL48 ?CTR47: REMOVE TH-TOBACCO PRINTR "into the water." ?CCL48: PRINTI "to " FSET? GL-PLACE-CUR,FL-INDOORS \?CCL53 ICALL1 TELL-THE-FLOOR JUMP ?CND51 ?CCL53: ICALL1 TELL-THE-GROUND ?CND51: PRINTI ", " PRINT K-SMOULDERS-MSG CRLF RTRUE ?CCL45: EQUAL? GL-PRSA,V?EMPTY-INTO \FALSE CALL RT-ROOM-IN-ON-MSG?,TH-TOBACCO,GL-PRSI ZERO? STACK \TRUE CALL RT-CHECK-MOVE-MSG?,TH-TOBACCO,GL-PRSI ZERO? STACK \TRUE FCLEAR TH-TOBACCO,FL-LIGHTED MOVE TH-TOBACCO,GL-PRSI ICALL2 RT-CTHEO-PRINT,TH-TOBACCO PRINTI " falls " FSET? GL-PRSI,FL-CONTAINER \?CCL63 PRINTI "into" JUMP ?CND61 ?CCL63: PRINTI "onto" ?CND61: PRINTC 32 ICALL1 RT-THEI-PRINT PRINTI ", " PRINT K-SMOULDERS-MSG CRLF RTRUE ?CCL12: ZERO? GL-NOW-PRSI? /FALSE EQUAL? GL-PRSA,V?PUT \?CCL68 EQUAL? GL-PRSO,TH-TOBACCO /?CCL68 PRINTI "Putting " ICALL1 RT-THEO-PRINT PRINTI " in " ICALL1 RT-THEI-PRINT PRINTI " would" CALL1 RT-WASTE-OF-TIME-MSG RSTACK ?CCL68: EQUAL? GL-PRSA,V?POUR-FROM \FALSE EQUAL? GL-PRSO,TH-TOBACCO \FALSE IN? TH-TOBACCO,TH-PIPE \FALSE FSET? TH-TOBACCO,FL-LIGHTED \FALSE FCLEAR TH-TOBACCO,FL-LIGHTED MOVE TH-TOBACCO,GL-PLACE-CUR ICALL1 RT-CTHEO-PRINT PRINTI " falls to " FSET? GL-PLACE-CUR,FL-INDOORS \?CCL79 ICALL1 TELL-THE-FLOOR JUMP ?CND77 ?CCL79: ICALL1 TELL-THE-GROUND ?CND77: PRINTI ", " PRINT K-SMOULDERS-MSG CRLF RTRUE .FUNCT RT-AC-TH-MAIL,CONTEXT EQUAL? CONTEXT,K-M-DESCFCN \?CCL3 FSET? TH-MAIL,FL-LIGHTED \FALSE ICALL2 RT-CTHEO-PRINT,TH-MAIL PRINTR " is burning." ?CCL3: ZERO? CONTEXT \FALSE ZERO? GL-NOW-PRSI? \?CND1 SET 'GL-P-IT-OBJECT,TH-MAIL ?CND1: EQUAL? GL-PRSA,V?READ,V?EXAMINE,V?LOOK-ON /?CTR11 EQUAL? GL-PRSA,V?LOOK-INSIDE,V?OPEN,V?SEARCH /?CTR11 EQUAL? GL-PRSA,V?OPEN-WITH \?CCL12 ?CTR11: PRINTR "You should not read other people's mail." ?CCL12: EQUAL? GL-PRSA,V?CLOSE \?CCL17 PRINTR "The mail hasn't been opened." ?CCL17: EQUAL? GL-PRSA,V?TAKE \?CCL19 ZERO? KNIFE-COLD? /?CCL19 SET 'KNIFE-COLD?,FALSE-VALUE MOVE TH-KNIFE,GL-WINNER PRINTI "[Taking the knife first]" ZERO? GL-P-MULT? /?CCL24 PRINTC 32 RFALSE ?CCL24: CRLF RFALSE ?CCL19: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \FALSE ZERO? GL-NOW-PRSI? \FALSE FSET? TH-MAIL,FL-LIGHTED \?CCL31 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL31: FSET? GL-PRSI,FL-BURNABLE /?CCL33 EQUAL? GL-PRSI,TH-PIPE \FALSE ?CCL33: FSET? GL-PRSI,FL-LIGHTED \?PRD39 FSET? GL-PRSI,FL-BURNABLE /?CTR36 ?PRD39: EQUAL? GL-PRSI,TH-PIPE \?CCL37 FSET? TH-TOBACCO,FL-LIGHTED \?CCL37 ?CTR36: ICALL2 RT-CTHEO-PRINT,TH-MAIL PRINTI " lights up." CRLF FSET TH-MAIL,FL-LIGHTED CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,3,0 CALL RT-ALARM-SET-REL,RT-I-MAIL-OUT,STACK RSTACK ?CCL37: ICALL1 RT-CTHEI-PRINT ICALL2 RT-ISNT-ARENT-MSG,GL-PRSI PRINTR "burning." .FUNCT RT-AC-TH-NEWSPAPER,CONTEXT EQUAL? CONTEXT,K-M-DESCFCN \?CCL3 FSET? TH-NEWSPAPER,FL-LIGHTED \?CCL6 ICALL2 RT-CTHEO-PRINT,TH-NEWSPAPER PRINTR " is burning." ?CCL6: PRINTR "It's the newspaper that came in your game package." ?CCL3: ZERO? CONTEXT \FALSE EQUAL? GL-PRSA,V?READ,V?READ-TO,V?SHOW /?CCL10 EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH,V?GIVE /?CCL10 EQUAL? GL-PRSA,V?TELL-ABOUT \FALSE ?CCL10: IN? TH-NEWSPAPER,CH-PLAYER /?CCL15 PRINTR "The newspaper will not leap into your hand by itself." ?CCL15: EQUAL? GL-PRSA,V?READ \?CCL17 CALL1 RT-READ-NEWSPAPER RSTACK ?CCL17: EQUAL? GL-PRSA,V?READ-TO,V?SHOW,V?GIVE \?PRD21 ZERO? GL-NOW-PRSI? /?CTR18 ?PRD21: EQUAL? GL-PRSA,V?TELL-ABOUT \?CCL19 ZERO? GL-NOW-PRSI? /?CCL19 ?CTR18: FSET? GL-PRSI,FL-PERSON \FALSE FSET? TH-NEWSPAPER,FL-ASLEEP /?CCL29 FSET? TH-NEWSPAPER,FL-OPENED \?CND26 ?CCL29: ICALL1 RT-READ-NEWSPAPER CRLF ?CND26: EQUAL? GL-PRSA,V?READ-TO,V?SHOW,V?GIVE \?PRD36 EQUAL? GL-PRSI,CH-HOLMES /?CTR33 ?PRD36: EQUAL? GL-PRSA,V?TELL-ABOUT \?CCL34 EQUAL? GL-PRSO,CH-HOLMES \?CCL34 ?CTR33: FSET? CH-HOLMES,FL-ASLEEP \FALSE ICALL1 RT-WAKE-UP-HOLMES EQUAL? GL-PRSA,V?GIVE \TRUE MOVE TH-NEWSPAPER,CH-HOLMES RTRUE ?CCL34: ICALL1 RT-CTHEI-PRINT ICALL2 RT-DONT-DOESNT-MSG,GL-PRSI PRINTR "seem to be interested." ?CCL19: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \FALSE ZERO? GL-NOW-PRSI? \FALSE FSET? TH-NEWSPAPER,FL-LIGHTED \?CCL52 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL52: FSET? GL-PRSI,FL-BURNABLE /?CCL54 EQUAL? GL-PRSI,TH-PIPE \FALSE ?CCL54: FSET? GL-PRSI,FL-LIGHTED \?PRD60 FSET? GL-PRSI,FL-BURNABLE /?CTR57 ?PRD60: EQUAL? GL-PRSI,TH-PIPE \?CCL58 FSET? TH-TOBACCO,FL-LIGHTED \?CCL58 ?CTR57: ICALL2 RT-CTHEO-PRINT,TH-NEWSPAPER PRINTI " lights up." CRLF FSET TH-NEWSPAPER,FL-LIGHTED CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,3,0 ICALL RT-ALARM-SET-REL,RT-I-NEWSPAPER-OUT,STACK RTRUE ?CCL58: ICALL1 RT-CTHEI-PRINT ICALL2 RT-ISNT-ARENT-MSG,GL-PRSI PRINTR "burning." .FUNCT RT-AC-TH-WESTMINSTER-CLUE,CONTEXT EQUAL? CONTEXT,K-M-DESCFCN \?CCL3 FSET? TH-MAIL,FL-LIGHTED \FALSE ICALL2 RT-CTHEO-PRINT,TH-MAIL PRINTR " is burning." ?CCL3: ZERO? CONTEXT \FALSE EQUAL? GL-PRSA,V?READ,V?EXAMINE \?CCL10 IN? TH-WESTMINSTER-CLUE,CH-PLAYER /?CCL13 PRINTR "The paper will not leap into your hand by itself." ?CCL13: GETP TH-WESTMINSTER-CLUE,P?FLIPPED ZERO? STACK \?CCL15 ICALL1 RT-INDENT-PRINT PRINTI "Mortality, behold and fear!" CRLF ICALL1 RT-INDENT-PRINT PRINTI "What a change of flesh is here!" CRLF ICALL1 RT-INDENT-PRINT PRINTI "Think how many royal bones" CRLF ICALL1 RT-INDENT-PRINT PRINTI "Sleep within this heap of stones:" CRLF ICALL1 RT-INDENT-PRINT PRINTI "Here they lie, had realms and lands," CRLF ICALL1 RT-INDENT-PRINT PRINTI "Who now want strength" ICALL1 RT-WRAP-PRINT PRINTI "to stir their hands." CRLF CRLF ICALL1 RT-INDENT-PRINT PRINT K-ASTERISK-MSG CRLF CRLF ICALL1 RT-INDENT-PRINT PRINTI "For two-score years I reigned alone," CRLF ICALL1 RT-INDENT-PRINT PRINTI "A virgin queen on England's throne." CRLF ICALL1 RT-INDENT-PRINT PRINTI "My navy caused Armada's shame," CRLF ICALL1 RT-INDENT-PRINT PRINTI "And with me died the Tudor name." CRLF CRLF ICALL1 RT-INDENT-PRINT PRINT K-ASTERISK-MSG CRLF CRLF ICALL1 RT-INDENT-PRINT PRINTI "The apple sorely tempted Eve," CRLF ICALL1 RT-INDENT-PRINT PRINTI "And Tell another aimed to cleave." CRLF ICALL1 RT-INDENT-PRINT PRINTI "But when one fell, it showed to me," CRLF ICALL1 RT-INDENT-PRINT PRINTI "The mighty pull of gravity." CRLF CRLF ICALL1 RT-INDENT-PRINT PRINT K-ASTERISK-MSG CRLF CRLF ICALL1 RT-INDENT-PRINT PRINTI "My father, it was said, would die," CRLF ICALL1 RT-INDENT-PRINT PRINTI "Beneath the Holy City's sky." CRLF ICALL1 RT-INDENT-PRINT PRINTI "Jerusalem his body claimed," CRLF ICALL1 RT-INDENT-PRINT PRINTI "And it is after him I'm named." CRLF CRLF ICALL1 RT-INDENT-PRINT PRINT K-ASTERISK-MSG CRLF CRLF ICALL1 RT-INDENT-PRINT PRINT K-ASTERISK-MSG CRLF CRLF ICALL1 RT-INDENT-PRINT PRINTI "O stately Holmes of England," CRLF ICALL1 RT-INDENT-PRINT PRINTI "In Baker Street abide." CRLF ICALL1 RT-INDENT-PRINT PRINTI "For even you must surely fail," CRLF ICALL1 RT-INDENT-PRINT PRINTR "To save your country's pride." ?CCL15: PRINTR "This side appears to be blank." ?CCL10: EQUAL? GL-PRSA,V?LIGHT-WITH,V?BURN-WITH \?CCL17 ZERO? GL-NOW-PRSI? \?CCL17 FSET? TH-WESTMINSTER-CLUE,FL-LIGHTED \?CCL22 ICALL1 RT-CTHEO-PRINT PRINTR " is already lit." ?CCL22: FSET? GL-PRSI,FL-BURNABLE /?CCL24 EQUAL? GL-PRSI,TH-PIPE \FALSE ?CCL24: FSET? GL-PRSI,FL-LIGHTED \?PRD30 FSET? GL-PRSI,FL-BURNABLE /?CTR27 ?PRD30: EQUAL? GL-PRSI,TH-PIPE \?CCL28 FSET? TH-TOBACCO,FL-LIGHTED \?CCL28 ?CTR27: ICALL2 RT-CTHEO-PRINT,TH-WESTMINSTER-CLUE PRINTI " lights up." CRLF FSET TH-WESTMINSTER-CLUE,FL-LIGHTED CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,3,0 ICALL RT-ALARM-SET-REL,RT-I-CLUE-OUT,STACK RTRUE ?CCL28: ICALL1 RT-CTHEI-PRINT ICALL2 RT-ISNT-ARENT-MSG,GL-PRSI PRINTR "burning." ?CCL17: EQUAL? GL-PRSA,V?FLIP \?CCL36 IN? TH-WESTMINSTER-CLUE,GL-WINNER /?CCL39 ICALL RT-CYOU-MSG,STR?228,STR?229 PRINTI "not holding " ICALL2 RT-THEO-PRINT,TH-WESTMINSTER-CLUE PRINTR "." ?CCL39: GETP TH-WESTMINSTER-CLUE,P?FLIPPED SUB 1,STACK PUTP TH-WESTMINSTER-CLUE,P?FLIPPED,STACK ICALL RT-CYOU-MSG,STR?804,STR?805 ICALL2 RT-THEO-PRINT,TH-WESTMINSTER-CLUE PRINTR " over." ?CCL36: EQUAL? GL-PRSA,V?LOOK-THRU \FALSE EQUAL? GL-PRSI,TH-MAGNIFYING-GLASS \FALSE PRINTR "It's been wiped clean." .FUNCT RT-AC-TH-WAX-HEAD,CONTEXT EQUAL? CONTEXT,K-M-SDESC \?CCL3 FSET? TH-WAX-HEAD,FL-BROKEN \?CCL6 PRINTI "wax pool" RTRUE ?CCL6: PRINTI "wax head" RTRUE ?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL8 FSET? TH-WAX-HEAD,FL-BROKEN \FALSE FIRST? TH-WAX-HEAD /FALSE PRINTI "Looks like any other " ICALL2 DPRINT,TH-WAX-HEAD PRINTR "." ?CCL8: FSET? TH-WAX-HEAD,FL-BROKEN /FALSE IN? TH-WAX-HEAD,TH-CHARLES-STATUE \?CCL18 EQUAL? GL-PRSA,V?TAKE,V?UNSCREW-FROM \?CCL21 MOVE TH-WAX-HEAD,GL-WINNER FSET TH-WAX-HEAD,FL-SEEN FCLEAR TH-WAX-HEAD,FL-NODESC FCLEAR TH-WAX-HEAD,FL-NOALL ZERO? GL-P-MULT? /?CCL24 PRINTR "Taken." ?CCL24: ICALL RT-CYOU-MSG,STR?697,STR?698 ICALL2 RT-THEO-PRINT,TH-WAX-HEAD PRINTR "." ?CCL21: CALL1 RT-TOUCH-VERB? ZERO? STACK /FALSE FSET TH-WAX-HEAD,FL-SEEN ICALL2 RT-CTHEO-PRINT,TH-WAX-HEAD PRINTI " wobbles slightly." BTST CH-HOLMES-AUX1,1 /?CND27 PRINTC 32 ICALL2 RT-THEO-PRINT,CH-HOLMES PRINTI " says, ""Even when he was alive, he didn't have his head screwed on right.""" BOR CH-HOLMES-AUX1,K-HOLMES-HEAD? >CH-HOLMES-AUX1 ?CND27: CRLF RTRUE ?CCL18: EQUAL? GL-PRSA,V?MELT,V?HEAT \?CCL30 ZERO? GL-NOW-PRSI? \?CCL30 FSET? GL-PRSI,FL-BURNABLE \?PRD35 FSET? GL-PRSI,FL-LIGHTED /?CTR29 ?PRD35: EQUAL? GL-PRSI,TH-PIPE \?CCL30 FSET? TH-TOBACCO,FL-LIGHTED \?CCL30 ?CTR29: ICALL1 RT-CTHEO-PRINT PRINTI " softens, but " ICALL1 RT-THEI-PRINT PRINTR " does not put out enough heat to melt it." ?CCL30: EQUAL? GL-PRSA,V?MUNG,V?KILL,V?OPEN \FALSE ICALL1 RT-CYOU-MSG PRINTR "can't break into the head." .FUNCT DESC-WAX-AX,CONTEXT EQUAL? CONTEXT,K-M-SDESC \?CCL3 FSET? TH-WAX-AX,FL-BROKEN \?CCL6 PRINTI "melted axe" RTRUE ?CCL6: PRINTI "axe" RTRUE ?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \FALSE FSET? TH-WAX-AX,FL-BROKEN \FALSE FIRST? TH-WAX-AX /FALSE PRINTI "Looks like any other " ICALL2 DPRINT,TH-WAX-AX PRINTR "." .FUNCT RT-GUARD-TAKE-ITEM,OBJ1,OBJ2,OBJ3,STR ICALL2 RT-CTHEO-PRINT,CH-TUSSAUDS-GUARD PRINTI " says, ""I'm sorry, but " ICALL2 RT-THEO-PRINT,OBJ1 ZERO? OBJ2 /?CCL3 ZERO? OBJ3 /?CCL3 PRINTI ", " ICALL2 RT-THEO-PRINT,OBJ2 PRINTI " and " ICALL2 RT-THEO-PRINT,OBJ3 PRINTI " are" SET 'STR,STR?806 JUMP ?CND1 ?CCL3: ZERO? OBJ2 /?CCL7 PRINTI " and " ICALL2 RT-THEO-PRINT,OBJ2 PRINTI " are" SET 'STR,STR?806 JUMP ?CND1 ?CCL7: PRINTI " is" SET 'STR,STR?807 ?CND1: PRINTI " not to be removed."" He takes " PRINT STR PRINTI " and returns " PRINT STR PRINTI " to the proper place." CRLF CRLF RTRUE .FUNCT RT-GUARD-STOP-ENTRANCE,OBJ,WHO CALL1 RT-WHO-SAYS? >WHO ICALL SOUNDS,S-BARK,S-START,8,4 ICALL2 RT-CTHEO-PRINT,CH-MATCH-SNIFFING-DOG PRINTI " barks loudly and " ICALL2 RT-THEO-PRINT,CH-TUSSAUDS-GUARD PRINTI " says, ""Seeing as how it's you, " EQUAL? WHO,CH-HOLMES \?CCL3 PRINTI "Mr Holmes" JUMP ?CND1 ?CCL3: PRINTI "Doctor Watson" ?CND1: PRINTI ", I don't mind letting you in. But as you know we are very afraid of fire here, so we have trained this dog to detect matches or open flames. I'm afraid I can't allow you" EQUAL? WHO,CH-HOLMES,CH-WIGGINS \?CND4 PRINTI " or your companion" ?CND4: PRINTI " to enter until " ICALL2 RT-THEO-PRINT,OBJ PRINTR " has been discarded.""" .FUNCT RT-EX-RM-EXIT-TUSSAUDS,IN1,IN2,IN3,TORCH EQUAL? GL-PRSO,P?SOUTH,P?OUT \FALSE EQUAL? GL-PLACE-CUR,RM-MADAME-TUSSAUDS \FALSE CALL RT-META-IN?,TH-TORCH,GL-WINNER ZERO? STACK \?CCL8 CALL RT-META-IN?,TH-TORCH,GL-PUPPY ZERO? STACK \?CCL8 SET 'IN1,0 JUMP ?CND6 ?CCL8: SET 'TORCH,TH-TORCH SET 'IN1,1 ?CND6: CALL RT-META-IN?,TH-WAX-HEAD,GL-WINNER >IN2 ZERO? IN2 \?PEN11 CALL RT-META-IN?,TH-WAX-HEAD,GL-PUPPY >IN2 ?PEN11: CALL RT-META-IN?,TH-WAX-AX,GL-WINNER >IN3 ZERO? IN3 \?PEN14 CALL RT-META-IN?,TH-WAX-AX,GL-PUPPY >IN3 ?PEN14: ZERO? IN1 /?CCL19 ZERO? IN2 /?CCL19 ZERO? IN3 /?CCL19 ICALL RT-GUARD-TAKE-ITEM,TH-TORCH,TH-WAX-HEAD,TH-WAX-AX JUMP ?CND17 ?CCL19: ZERO? IN1 /?CCL24 ZERO? IN2 /?CCL24 ICALL RT-GUARD-TAKE-ITEM,TH-TORCH,TH-WAX-HEAD JUMP ?CND17 ?CCL24: ZERO? IN1 /?CCL28 ZERO? IN3 /?CCL28 ICALL RT-GUARD-TAKE-ITEM,TH-TORCH,TH-WAX-AX JUMP ?CND17 ?CCL28: ZERO? IN2 /?CCL32 ZERO? IN3 /?CCL32 ICALL RT-GUARD-TAKE-ITEM,TH-WAX-HEAD,TH-WAX-AX JUMP ?CND17 ?CCL32: ZERO? IN1 /?CCL36 ICALL2 RT-GUARD-TAKE-ITEM,TH-TORCH JUMP ?CND17 ?CCL36: ZERO? IN2 /?CCL38 ICALL2 RT-GUARD-TAKE-ITEM,TH-WAX-HEAD JUMP ?CND17 ?CCL38: ZERO? IN3 /?CND17 ICALL2 RT-GUARD-TAKE-ITEM,TH-WAX-AX ?CND17: ZERO? IN1 /?CND40 MOVE TORCH,TH-FAWKES-STATUE FSET TORCH,FL-NODESC FSET? TORCH,FL-LIGHTED \?CND40 ICALL2 RT-ALARM-CLR,RT-I-TORCH-OUT ICALL1 RT-I-TORCH-OUT FSET TH-TORCH,FL-NODESC ?CND40: ZERO? IN2 /?CND44 MOVE TH-WAX-HEAD,TH-CHARLES-STATUE FSET TH-WAX-HEAD,FL-NODESC ?CND44: ZERO? IN3 /?CND46 MOVE TH-WAX-AX,TH-CHARLES-STATUE FSET TH-WAX-AX,FL-NODESC ?CND46: RETURN RM-MARYLEBONE-RD .FUNCT RT-EX-RM-MATCH-SNIFFING-DOG,OBJ,FLAME?,FIRST,LAMP?,MATCH? SET 'FIRST,TRUE-VALUE EQUAL? GL-PRSO,P?NORTH,P?IN \FALSE EQUAL? GL-PLACE-CUR,RM-MARYLEBONE-RD \FALSE ?PRG6: FIRST? GL-WINNER >OBJ /?PRG9 ?PRG9: ZERO? OBJ /?REP10 FSET? OBJ,FL-BURNABLE \?CND11 FSET? OBJ,FL-LIGHTED \?CND11 EQUAL? OBJ,TH-TOBACCO /?CND11 SET 'FLAME?,OBJ ?REP10: ZERO? FLAME? \?REP7 ZERO? FIRST /?REP7 ZERO? GL-PUPPY /?REP7 FIRST? GL-PUPPY >OBJ /?BOGUS25 ?BOGUS25: SET 'FIRST,FALSE-VALUE JUMP ?PRG6 ?CND11: NEXT? OBJ >OBJ /?PRG9 JUMP ?PRG9 ?REP7: CALL RT-META-IN?,TH-MATCH,CH-PLAYER ZERO? STACK \?PRD32 CALL RT-META-IN?,TH-MATCH,GL-PUPPY ZERO? STACK /?PST31 ?PRD32: FSET? TH-MATCH,FL-BURNABLE /?PST36 FSET? TH-MATCH,FL-LIGHTED /?PRD38 PUSH 0 JUMP ?PRD39 ?PRD38: PUSH 1 ?PRD39: SET 'MATCH?,STACK JUMP ?PEN30 ?PST36: SET 'MATCH?,1 JUMP ?PEN30 ?PST31: SET 'MATCH?,0 ?PEN30: ZERO? MATCH? \?CCL27 CALL RT-META-IN?,TH-LAMP,CH-PLAYER >LAMP? ZERO? LAMP? \?PEN41 CALL RT-META-IN?,TH-LAMP,GL-PUPPY >LAMP? ?PEN41: ZERO? LAMP? \?CCL27 ZERO? FLAME? /?CND26 ?CCL27: ZERO? FLAME? /?CCL46 SET 'OBJ,FLAME? JUMP ?CND44 ?CCL46: ZERO? LAMP? /?CCL48 SET 'OBJ,TH-LAMP JUMP ?CND44 ?CCL48: ZERO? MATCH? \?CCL50 SET 'OBJ,0 JUMP ?CND44 ?CCL50: SET 'OBJ,TH-MATCH ?CND44: ICALL2 RT-GUARD-STOP-ENTRANCE,OBJ RFALSE ?CND26: FSET? TH-WAX-HEAD,FL-BROKEN /?CCL52 FSET? TH-WAX-AX,FL-BROKEN /?CCL52 RETURN RM-MADAME-TUSSAUDS ?CCL52: PRINTI "The guard blocks your path and says, ""Oh no you don't, laddie. When I let you in earlier you made a proper mess of my museum. I won't let you do that again."" After you promise to pay for the damage and plead with him for a few moments, he finally steps aside." CRLF CRLF RETURN RM-MADAME-TUSSAUDS .FUNCT RT-PUT-OUT,THING FSET? THING,FL-BURNABLE \FALSE FSET? THING,FL-LIGHTED \FALSE EQUAL? THING,TH-MATCH \?CCL7 ICALL2 RT-ALARM-CLR,RT-I-MATCH-OUT CALL1 RT-I-MATCH-OUT RSTACK ?CCL7: EQUAL? THING,TH-PIPE \?CCL9 ICALL2 RT-ALARM-CLR,RT-I-PIPE-OUT CALL1 RT-I-PIPE-OUT RSTACK ?CCL9: EQUAL? THING,TH-TORCH \?CCL11 ICALL2 RT-ALARM-CLR,RT-I-TORCH-OUT CALL1 RT-I-TORCH-OUT RSTACK ?CCL11: EQUAL? THING,TH-NEWSPAPER \?CCL13 ICALL2 RT-ALARM-CLR,RT-I-NEWSPAPER-OUT CALL1 RT-I-NEWSPAPER-OUT RSTACK ?CCL13: EQUAL? THING,TH-WESTMINSTER-CLUE \?CCL15 ICALL2 RT-ALARM-CLR,RT-I-CLUE-OUT CALL1 RT-I-CLUE-OUT RSTACK ?CCL15: EQUAL? THING,TH-MAIL \?CCL17 ICALL2 RT-ALARM-CLR,RT-I-MAIL-OUT CALL1 RT-I-MAIL-OUT RSTACK ?CCL17: EQUAL? THING,TH-MATCHBOOK \?CCL19 ICALL2 RT-ALARM-CLR,RT-I-MATCHBOOK-OUT CALL1 RT-I-MATCHBOOK-OUT RSTACK ?CCL19: REMOVE THING FCLEAR THING,FL-WORN FCLEAR THING,FL-LIGHTED FCLEAR THING,FL-BURNABLE ICALL2 RT-CTHEO-PRINT,THING PRINTI " burn" ICALL2 RT-S-NOS-MSG,THING PRINTR " up and disappears." .FUNCT RT-I-MATCH-OUT,RESULT CALL2 RT-VISIBLE?,TH-MATCH ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-MATCH PRINTI " flickers and dies." CRLF SET 'RESULT,TRUE-VALUE ?CND1: FCLEAR TH-MATCH,FL-LIGHTED ICALL1 BURN-MATCH-OUT RETURN RESULT .FUNCT BURN-MATCH-OUT FCLEAR TH-MATCH,FL-BURNABLE FSET TH-MATCH,FL-BROKEN GETPT TH-MATCH,P?ADJECTIVE PUT STACK,0,W?BURNT RTRUE .FUNCT RT-I-PIPE-OUT,RESULT CALL2 RT-VISIBLE?,TH-TOBACCO ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-PIPE PRINTI " has gone out." CRLF ?CND1: FCLEAR TH-TOBACCO,FL-LIGHTED FCLEAR TH-TOBACCO,FL-BURNABLE REMOVE TH-TOBACCO RETURN RESULT .FUNCT RT-I-TORCH-OUT,RESULT CALL2 RT-VISIBLE?,TH-TORCH ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-TORCH PRINTI " sputters and dies." CRLF SET 'RESULT,TRUE-VALUE ?CND1: ICALL2 CLEAR-ALL-FLAGS,TH-TORCH GETPT TH-TORCH,P?ADJECTIVE PUT STACK,0,W?BURNT FSET TH-TORCH,FL-TAKEABLE FSET TH-TORCH,FL-BROKEN RETURN RESULT .FUNCT RT-I-NEWSPAPER-OUT,RESULT CALL2 RT-VISIBLE?,TH-NEWSPAPER ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-NEWSPAPER PRINTI " disappears into a cloud of fine ash, which itself disappears." CRLF SET 'RESULT,TRUE-VALUE ?CND1: FCLEAR TH-NEWSPAPER,FL-LIGHTED FCLEAR TH-NEWSPAPER,FL-BURNABLE REMOVE TH-NEWSPAPER RETURN RESULT .FUNCT RT-I-CLUE-OUT,RESULT CALL2 RT-VISIBLE?,TH-WESTMINSTER-CLUE ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-WESTMINSTER-CLUE PRINTI " disappears in a puff of oily black smoke." CRLF SET 'RESULT,TRUE-VALUE ?CND1: FCLEAR TH-WESTMINSTER-CLUE,FL-LIGHTED FCLEAR TH-WESTMINSTER-CLUE,FL-BURNABLE REMOVE TH-WESTMINSTER-CLUE RETURN RESULT .FUNCT RT-I-MAIL-OUT,RESULT CALL2 RT-VISIBLE?,TH-MAIL ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-MAIL PRINTI " disappears in a flash of light." CRLF SET 'RESULT,TRUE-VALUE ?CND1: FCLEAR TH-MAIL,FL-LIGHTED FCLEAR TH-MAIL,FL-BURNABLE REMOVE TH-MAIL RETURN RESULT .FUNCT RT-I-MATCHBOOK-OUT,RESULT CALL2 RT-VISIBLE?,TH-MATCHBOOK ZERO? STACK /?CND1 CRLF ICALL2 RT-CTHEO-PRINT,TH-MATCHBOOK PRINTI " burns up and disappears." CRLF SET 'RESULT,TRUE-VALUE ?CND1: FCLEAR TH-MATCHBOOK,FL-LIGHTED FCLEAR TH-MATCHBOOK,FL-BURNABLE REMOVE TH-MATCHBOOK RETURN RESULT .FUNCT PRE-LIGHT-WITH EQUAL? GL-PRSO,TH-MATCH,TH-TOBACCO /FALSE IN? GL-PRSO,GL-WINNER /FALSE ICALL1 RT-CYOU-MSG ICALL RT-WOULD-HAVE-TO-MSG,STR?738,GL-PRSO PRINTI " to light " ICALL2 RT-SAY-HIM-HER-THEM-IT-MSG,GL-PRSO PRINTR "." .FUNCT RT-GN-WAX,TBL,LEN PUTP PSEUDO-OBJECT,P?ACTION,RT-DF-LG-WAX-STATUES SET 'LAST-PSEUDO-LOC,GL-PLACE-CUR RETURN PSEUDO-OBJECT .ENDI