mirror of
https://github.com/historicalsource/sherlock
synced 2024-07-08 01:24:42 +03:00
995 lines
26 KiB
Plaintext
995 lines
26 KiB
Plaintext
|
|
||
|
|
||
|
.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
|