926 lines
12 KiB
Plaintext
926 lines
12 KiB
Plaintext
|
|
||
|
|
||
|
.FUNCT NOTE-F
|
||
|
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?READ \FALSE
|
||
|
FSET? NOTE,READBIT /?CND6
|
||
|
FSET NOTE,READBIT
|
||
|
CALL PICK-ONE,CUPID-COMBS >CUPID-KEY
|
||
|
?CND6: PRINTI "Dearie, The magic number is """
|
||
|
GET CUPID-KEY,0
|
||
|
PRINTN STACK
|
||
|
PRINTR "."" Love, Aunt Hildegard"
|
||
|
|
||
|
|
||
|
.FUNCT FLASHLIGHT-F
|
||
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
||
|
FSET? FLASHLIGHT,WETBIT \?ELS10
|
||
|
PRINTR "The soggy flashlight is switched on, but isn't working."
|
||
|
?ELS10: PRINTI "The "
|
||
|
CALL DPRINT,FLASHLIGHT
|
||
|
PRINTI " is turned "
|
||
|
FSET? FLASHLIGHT,ONBIT \?ELS21
|
||
|
PRINTI "on"
|
||
|
RTRUE
|
||
|
?ELS21: PRINTI "off"
|
||
|
PRINTC 46
|
||
|
CRLF
|
||
|
RTRUE
|
||
|
?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS31
|
||
|
FSET? FLASHLIGHT,WETBIT \?ELS34
|
||
|
PRINTR "You can't turn it on now, it's ruined. You took it in the water!"
|
||
|
?ELS34: FSET? FLASHLIGHT,ONBIT \?ELS38
|
||
|
PRINTR "It's already on."
|
||
|
?ELS38: FSET FLASHLIGHT,ONBIT
|
||
|
PRINTI "Okay,"
|
||
|
CALL TPRINT,FLASHLIGHT
|
||
|
PRINTI " is now on."
|
||
|
CRLF
|
||
|
ZERO? LIT \TRUE
|
||
|
SET 'LIT,TRUE-VALUE
|
||
|
CRLF
|
||
|
CALL V-LOOK
|
||
|
RTRUE
|
||
|
?ELS31: EQUAL? PRSA,V?LAMP-OFF \FALSE
|
||
|
FSET? FLASHLIGHT,WETBIT \?ELS52
|
||
|
PRINTI "It's wet. It's ruined. Who cares if it's on or off?"
|
||
|
RTRUE
|
||
|
?ELS52: FSET? FLASHLIGHT,ONBIT \?ELS56
|
||
|
FCLEAR FLASHLIGHT,ONBIT
|
||
|
PRINTI "Okay,"
|
||
|
CALL TPRINT,FLASHLIGHT
|
||
|
PRINTR " is now off."
|
||
|
?ELS56: PRINTR "It's already off."
|
||
|
|
||
|
|
||
|
.FUNCT STAIRS-F
|
||
|
EQUAL? PRSA,V?PUSH-DOWN \?ELS5
|
||
|
CALL MOVE-OBJ-DOWN
|
||
|
RSTACK
|
||
|
?ELS5: EQUAL? PRSA,V?SKI \FALSE
|
||
|
CALL DO-WALK,P?DOWN
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT FOYER-STAIRS-F
|
||
|
EQUAL? PRSA,V?PUSH-DOWN \?ELS5
|
||
|
CALL MOVE-OBJ-DOWN
|
||
|
RSTACK
|
||
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
||
|
PRINTI "The stairs"
|
||
|
ZERO? RAMP /?ELS12
|
||
|
PRINTI ", or what used to be the stairs is now a ramp"
|
||
|
JUMP ?CND10
|
||
|
?ELS12: PRINTI " look like stairs and need a better desc"
|
||
|
?CND10: PRINTC 46
|
||
|
CRLF
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT TO-UPSTAIRS-HALL
|
||
|
FSET? KNUEL,TOUCHBIT /?ELS5
|
||
|
PRINTI "You start to go up but suddenly the staircase flattens out and you slide back down the flatten stairs."
|
||
|
CRLF
|
||
|
SET 'RAMP,TRUE-VALUE
|
||
|
FSET KNUEL,TOUCHBIT
|
||
|
RFALSE
|
||
|
?ELS5: ZERO? RAMP /?ELS9
|
||
|
PRINTI "You start to go up the flatten stairs but slide back down."
|
||
|
CRLF
|
||
|
RFALSE
|
||
|
?ELS9: RETURN UPSTAIRS-HALL
|
||
|
|
||
|
|
||
|
.FUNCT KNUEL-F
|
||
|
EQUAL? PRSA,V?TURN \FALSE
|
||
|
PRINTI "You turn"
|
||
|
CALL TPRINT,KNUEL
|
||
|
PRINTI " and the "
|
||
|
FSET KNUEL,TOUCHBIT
|
||
|
ZERO? RAMP /?ELS10
|
||
|
PRINTI "ramp becomes stairs"
|
||
|
SET 'RAMP,FALSE-VALUE
|
||
|
JUMP ?CND8
|
||
|
?ELS10: PRINTI "stairs become a ramp"
|
||
|
SET 'RAMP,TRUE-VALUE
|
||
|
?CND8: PRINTC 46
|
||
|
CRLF
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT FOYER-CLOSET-ENTER-F
|
||
|
FSET? FOYER-CD,OPENBIT /?ELS5
|
||
|
CALL ITS-CLOSED,FOYER-CD
|
||
|
RFALSE
|
||
|
?ELS5: EQUAL? CLOSET-FLOOR,FOYER \?ELS7
|
||
|
RETURN CLOSET
|
||
|
?ELS7: EQUAL? CLOSET-FLOOR,CELLAR \?ELS9
|
||
|
RETURN CLOSET-TOP-2
|
||
|
?ELS9: CALL JIGS-UP,STR?81
|
||
|
RFALSE
|
||
|
|
||
|
|
||
|
.FUNCT ARMOR-F,OARG=0
|
||
|
ZERO? OARG /?ELS5
|
||
|
PRINTI "Standing demurely in the corner is a suit or armor, somewhat reminiscent of the suits of armor that once graced the castle of Winston Churchill. It is currrently in the position that Masters and Johnson described as "
|
||
|
GET ARMOR-DESCS,ARMOR-DESC-NUM
|
||
|
PRINT STACK
|
||
|
PRINTC 46
|
||
|
RTRUE
|
||
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
||
|
CALL ARMOR-F,M-OBJDESC
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT I-ARMOR-MOVE
|
||
|
EQUAL? HERE,FOYER \?ELS3
|
||
|
CALL QUEUE,I-ARMOR-MOVE,2
|
||
|
RFALSE
|
||
|
?ELS3: INC 'ARMOR-DESC-NUM
|
||
|
EQUAL? ARMOR-DESC-NUM,7 \FALSE
|
||
|
SET 'ARMOR-DESC-NUM,0
|
||
|
RFALSE
|
||
|
|
||
|
|
||
|
.FUNCT CELLAR-RAMP-F
|
||
|
EQUAL? PRSA,V?PUSH-DOWN \FALSE
|
||
|
CALL MOVE-OBJ-DOWN
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT CELLAR-CLOSET-ENTER-F
|
||
|
FSET? CELLAR-CD,OPENBIT /?ELS5
|
||
|
CALL ITS-CLOSED,CELLAR-CD
|
||
|
RFALSE
|
||
|
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7
|
||
|
RETURN CLOSET
|
||
|
?ELS7: RETURN SHAFT-BOTTOM
|
||
|
|
||
|
|
||
|
.FUNCT TO-FOYER-F
|
||
|
ZERO? RAMP /?ELS5
|
||
|
PRINTI "You slide down the flattened stairs."
|
||
|
CRLF
|
||
|
RETURN FOYER
|
||
|
?ELS5: RETURN FOYER
|
||
|
|
||
|
|
||
|
.FUNCT UPSTAIRS-CLOSET-ENTER-F
|
||
|
FSET? UPSTAIRS-CD,OPENBIT /?ELS5
|
||
|
CALL ITS-CLOSED,UPSTAIRS-CD
|
||
|
RFALSE
|
||
|
?ELS5: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL \?ELS7
|
||
|
RETURN CLOSET
|
||
|
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
|
||
|
RETURN CLOSET-TOP-3
|
||
|
?ELS9: CALL JIGS-UP,STR?91
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT CLOSET-EXIT-F,DOOR
|
||
|
CALL WHICH-DOOR? >DOOR
|
||
|
FSET? DOOR,OPENBIT /?ELS5
|
||
|
CALL ITS-CLOSED,CLOSET-DOOR
|
||
|
RFALSE
|
||
|
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7
|
||
|
RETURN CELLAR
|
||
|
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
|
||
|
RETURN FOYER
|
||
|
?ELS9: RETURN UPSTAIRS-HALL
|
||
|
|
||
|
|
||
|
.FUNCT WHICH-DOOR?
|
||
|
EQUAL? CLOSET-FLOOR,CELLAR \?ELS5
|
||
|
RETURN CELLAR-CD
|
||
|
?ELS5: EQUAL? CLOSET-FLOOR,FOYER \?ELS7
|
||
|
RETURN FOYER-CD
|
||
|
?ELS7: RETURN UPSTAIRS-CD
|
||
|
|
||
|
|
||
|
.FUNCT CLOSET-REF-F
|
||
|
EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \FALSE
|
||
|
EQUAL? HERE,FOYER \?ELS8
|
||
|
CALL LOOK-IN-CLOSET,FOYER-CD
|
||
|
RTRUE
|
||
|
?ELS8: EQUAL? HERE,UPSTAIRS-HALL \?ELS10
|
||
|
CALL LOOK-IN-CLOSET,UPSTAIRS-CD
|
||
|
RTRUE
|
||
|
?ELS10: CALL LOOK-IN-CLOSET,CELLAR-CD
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT LOOK-IN-CLOSET,DOOR
|
||
|
FSET? DOOR,OPENBIT /?ELS5
|
||
|
CALL ITS-CLOSED,DOOR
|
||
|
RSTACK
|
||
|
?ELS5: EQUAL? CLOSET-FLOOR,HERE \?ELS7
|
||
|
PRINTI "You see "
|
||
|
CALL DESCRIBE-CONTENTS,CLOSET,-1
|
||
|
PRINTC 46
|
||
|
CRLF
|
||
|
RTRUE
|
||
|
?ELS7: PRINTR "You see a dark shaft."
|
||
|
|
||
|
|
||
|
.FUNCT PEGS-F
|
||
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
||
|
PRINTR "You see three rather worn coat pegs."
|
||
|
|
||
|
|
||
|
.FUNCT PEG-3-F
|
||
|
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
|
||
|
EQUAL? PRSA,V?RUB,V?LOWER,V?RAISE \FALSE
|
||
|
?THN6: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL \?ELS10
|
||
|
CALL HUM
|
||
|
JUMP ?CND8
|
||
|
?ELS10: PRINTI "The closet moves up "
|
||
|
EQUAL? CLOSET-FLOOR,FOYER \?ELS17
|
||
|
PRINTI "a floor"
|
||
|
JUMP ?CND15
|
||
|
?ELS17: PRINTI "two floors"
|
||
|
?CND15: PRINTI " to the upstairs hall."
|
||
|
CRLF
|
||
|
SET 'CLOSET-FLOOR,UPSTAIRS-HALL
|
||
|
?CND8: FSET? UPSTAIRS-CD,OPENBIT \?ELS28
|
||
|
FSET CLOSET-DOOR,OPENBIT
|
||
|
RTRUE
|
||
|
?ELS28: FCLEAR CLOSET-DOOR,OPENBIT
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT PEG-2-F
|
||
|
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
|
||
|
EQUAL? PRSA,V?RUB,V?LOWER,V?RAISE \FALSE
|
||
|
?THN6: EQUAL? CLOSET-FLOOR,FOYER \?ELS10
|
||
|
CALL HUM
|
||
|
JUMP ?CND8
|
||
|
?ELS10: PRINTI "The closet moves "
|
||
|
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL \?ELS17
|
||
|
PRINTI "down a floor"
|
||
|
JUMP ?CND15
|
||
|
?ELS17: PRINTI "up a floor"
|
||
|
?CND15: PRINTI " to the front hall."
|
||
|
CRLF
|
||
|
SET 'CLOSET-FLOOR,FOYER
|
||
|
?CND8: FSET? FOYER-CD,OPENBIT \?ELS28
|
||
|
FSET CLOSET-DOOR,OPENBIT
|
||
|
RTRUE
|
||
|
?ELS28: FCLEAR CLOSET-DOOR,OPENBIT
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT PEG-1-F
|
||
|
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
|
||
|
EQUAL? PRSA,V?RUB,V?LOWER,V?RAISE \FALSE
|
||
|
?THN6: EQUAL? CLOSET-FLOOR,CELLAR \?ELS10
|
||
|
CALL HUM
|
||
|
JUMP ?CND8
|
||
|
?ELS10: PRINTI "The closet moves down "
|
||
|
EQUAL? CLOSET-FLOOR,FOYER \?ELS17
|
||
|
PRINTI "a floor"
|
||
|
JUMP ?CND15
|
||
|
?ELS17: PRINTI "two floors"
|
||
|
?CND15: PRINTI " to the cellar."
|
||
|
CRLF
|
||
|
SET 'CLOSET-FLOOR,CELLAR
|
||
|
?CND8: FSET? CELLAR-CD,OPENBIT \?ELS28
|
||
|
FSET CLOSET-DOOR,OPENBIT
|
||
|
RTRUE
|
||
|
?ELS28: FCLEAR CLOSET-DOOR,OPENBIT
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT HUM
|
||
|
PRINTR "You hear a humming noise."
|
||
|
|
||
|
|
||
|
.FUNCT VERTICAL-MAP-F
|
||
|
EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5
|
||
|
PRINTR "You see the following:~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~"
|
||
|
?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE
|
||
|
CALL WHOLE-MAP
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT HORIZONTAL-MAP-F
|
||
|
EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5
|
||
|
PRINTR "You see the following:~ _______________________________________~ _____ __ ___ __~ ____ __ ___ _~ ____ ___ ___ _______ ___~ ____ ___ __ ___~ ____ _ _ ___~ ________ __ ___~ ___ __~ __ __ _ __ ___ ___~ _ _______ x _______ ______~ _____________ _ _ ______ ___~ ____ _____ __ __ ___ __~ ___~ __ _____ ___~ ___ __ _____~ _ _ ___ ____~ ___ _____ ________ ____~ _____ ___ ____~ _ __ _ ____~ ___ ____ _________ __ ___ ___ _______~"
|
||
|
?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE
|
||
|
CALL WHOLE-MAP
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT WHOLE-MAP
|
||
|
PRINTI "You see the following:~ _______________________________________~
|
||
|
_____
|
||
|
|
||
|
|
||
|
__ ___
|
||
|
__
|
||
|
|
||
|
~
|
||
|
____
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
__
|
||
|
|
||
|
___
|
||
|
_
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
____
|
||
|
|
||
|
|
||
|
___
|
||
|
___
|
||
|
|
||
|
_______
|
||
|
|
||
|
___
|
||
|
|
||
|
~
|
||
|
____
|
||
|
|
||
|
|
||
|
___ __
|
||
|
|
||
|
___
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
____
|
||
|
_ _
|
||
|
|
||
|
___
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
________
|
||
|
__ ___
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
___
|
||
|
|
||
|
__
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
__ __
|
||
|
|
||
|
_
|
||
|
__
|
||
|
|
||
|
___
|
||
|
|
||
|
|
||
|
|
||
|
___
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
_
|
||
|
_______
|
||
|
x
|
||
|
|
||
|
_______
|
||
|
______
|
||
|
~
|
||
|
|
||
|
_____________
|
||
|
_
|
||
|
_
|
||
|
|
||
|
______ ___
|
||
|
|
||
|
~
|
||
|
____
|
||
|
_____
|
||
|
__
|
||
|
__ ___ __
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
___
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
__
|
||
|
|
||
|
_____
|
||
|
___
|
||
|
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
___
|
||
|
__ _____
|
||
|
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
_
|
||
|
|
||
|
|
||
|
_
|
||
|
___
|
||
|
|
||
|
|
||
|
____
|
||
|
~
|
||
|
|
||
|
___
|
||
|
|
||
|
|
||
|
_____
|
||
|
|
||
|
________
|
||
|
|
||
|
|
||
|
____
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
_____ ___
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
____
|
||
|
~
|
||
|
|
||
|
|
||
|
|
||
|
_
|
||
|
__
|
||
|
|
||
|
_
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
____
|
||
|
~
|
||
|
___
|
||
|
____
|
||
|
_________ __
|
||
|
___
|
||
|
___
|
||
|
_______
|
||
|
~"
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT BOWL-F
|
||
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
||
|
CALL HELD?,FLASHLIGHT
|
||
|
ZERO? STACK /?ELS10
|
||
|
FSET? FLASHLIGHT,ONBIT \?ELS10
|
||
|
PRINTR "You shine your light on the bowl of the chandelier. Its thick, slick surface, covered with a rose-like pattern, reflects a rose colored light around the room. You can see a square shape in the bottom of the bowl."
|
||
|
?ELS10: PRINTR "The light from the flame reflects off the thick, slick surface of the chandelier's bowl. You can barely make out a rose-like pattern on the bowl."
|
||
|
|
||
|
|
||
|
.FUNCT 8-BALL-F
|
||
|
EQUAL? PRSA,V?TURN \FALSE
|
||
|
PRINTI "Looking into the bottom of the eight ball you the message"
|
||
|
PRINTC 34
|
||
|
CALL PICK-ONE,EIGHTISMS
|
||
|
PRINT STACK
|
||
|
PRINTR "."""
|
||
|
|
||
|
|
||
|
.FUNCT POOL-TABLE-F
|
||
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
||
|
PRINTI "The pool table is made of the finest wood and on the table is"
|
||
|
CALL DESCRIBE-SENT,POOL-TABLE
|
||
|
CRLF
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT CUE-BALL-F
|
||
|
EQUAL? PRSA,V?SHOOT,V?DROP,V?PUT \FALSE
|
||
|
EQUAL? PRSI,POCKET \FALSE
|
||
|
EQUAL? PRSA,V?SHOOT \?ELS10
|
||
|
CALL HELD?,POOL-CUE
|
||
|
ZERO? STACK \?ELS13
|
||
|
PRINTI "You're not holding"
|
||
|
CALL TRPRINT,POOL-CUE
|
||
|
RTRUE
|
||
|
?ELS13: IN? CUE-BALL,POOL-TABLE /?ELS17
|
||
|
PRINTI "The "
|
||
|
CALL DPRINT,CUE-BALL
|
||
|
PRINTI " isn't on"
|
||
|
CALL TRPRINT,POOL-TABLE
|
||
|
JUMP ?CND8
|
||
|
?ELS17: PRINTI "The ball speeds across the smooth, green surface into"
|
||
|
CALL TPRINT,POCKET
|
||
|
PRINTI ". You"
|
||
|
JUMP ?CND8
|
||
|
?ELS10: PRINTI "You "
|
||
|
PRINTB P-PRSA-WORD
|
||
|
CALL TPRINT,CUE-BALL
|
||
|
PRINTI " in"
|
||
|
CALL TPRINT,POCKET
|
||
|
PRINTI " and"
|
||
|
?CND8: PRINTI " hear it roll towards"
|
||
|
CALL TPRINT,BALL-RETURN
|
||
|
PRINTI ". As"
|
||
|
CALL TPRINT,CUE-BALL
|
||
|
PRINTI " drops into the return, a panel on the east wall swings open."
|
||
|
CRLF
|
||
|
MOVE CUE-BALL,BALL-RETURN
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT RACKED-BALLS-F
|
||
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
||
|
PRINTI "You see a set of pool balls "
|
||
|
CALL HELD?,RACKED-BALLS
|
||
|
ZERO? STACK /?CND8
|
||
|
PRINTI "all glued to one another "
|
||
|
?CND8: PRINTR "in a triangle shape."
|
||
|
|
||
|
|
||
|
.FUNCT I-LIGHTS-DIM
|
||
|
FSET? HERE,OUTDOORSBIT \?ELS3
|
||
|
PRINTI "The sun is rapidly sinking into west. It's getting dark out here."
|
||
|
CRLF
|
||
|
JUMP ?CND1
|
||
|
?ELS3: FSET? HERE,ONBIT \?CND1
|
||
|
PRINTI "The sun is going down. It's getting dark in here."
|
||
|
CRLF
|
||
|
?CND1: CALL QUEUE,I-LIGHTS-OUT,10
|
||
|
RSTACK
|
||
|
|
||
|
|
||
|
.FUNCT I-LIGHTS-OUT
|
||
|
FCLEAR FOYER,ONBIT
|
||
|
FCLEAR CLOSET,ONBIT
|
||
|
FCLEAR CELLAR,ONBIT
|
||
|
PRINTI "The sun has set. "
|
||
|
CALL LIT?,HERE >LIT
|
||
|
ZERO? LIT \?ELS7
|
||
|
CALL TOO-DARK
|
||
|
RSTACK
|
||
|
?ELS7: CRLF
|
||
|
RTRUE
|
||
|
|
||
|
|
||
|
.FUNCT WINDOW-F
|
||
|
EQUAL? PRSA,V?EXAMINE \?ELS5
|
||
|
ZERO? SACK-IN-WINDOW /?ELS10
|
||
|
FSET? WINDOW,OPENBIT /?ELS10
|
||
|
PRINTR "The window is closed on a cloth which is tied in a knot. "
|
||
|
?ELS10: PRINTI "The "
|
||
|
CALL DPRINT,WINDOW
|
||
|
PRINTI " is "
|
||
|
FSET? WINDOW,OPENBIT \?ELS21
|
||
|
PRINTI "open."
|
||
|
JUMP ?CND19
|
||
|
?ELS21: PRINTI "closed"
|
||
|
?CND19: PRINTC 46
|
||
|
CRLF
|
||
|
RTRUE
|
||
|
?ELS5: EQUAL? PRSA,V?OPEN \?ELS31
|
||
|
FSET? WINDOW,OPENBIT \?ELS36
|
||
|
CALL ALREADY-OPEN
|
||
|
RSTACK
|
||
|
?ELS36: ZERO? SACK-IN-WINDOW /?ELS38
|
||
|
PRINTI "As you lift up the window, the sack slides off the window ceil and falls to the ground with a decided thud."
|
||
|
CRLF
|
||
|
FSET WINDOW,OPENBIT
|
||
|
SET 'SACK-IN-WINDOW,FALSE-VALUE
|
||
|
RETURN SACK-IN-WINDOW
|
||
|
?ELS38: FSET? WINDOW,RMUNGBIT \?ELS43
|
||
|
PRINTI "With one hand you lift the window and with the other you pull the sack inside. "
|
||
|
CRLF
|
||
|
MOVE SACK,PLAYER
|
||
|
FSET? WINDOW,OPENBIT
|
||
|
SET 'SACK-IN-WINDOW,FALSE-VALUE
|
||
|
RETURN SACK-IN-WINDOW
|
||
|
?ELS43: PRINTI "You open the window."
|
||
|
CRLF
|
||
|
FSET WINDOW,OPENBIT
|
||
|
SET 'SACK-IN-WINDOW,FALSE-VALUE
|
||
|
RETURN SACK-IN-WINDOW
|
||
|
?ELS31: EQUAL? PRSA,V?CLOSE \FALSE
|
||
|
FSET? WINDOW,OPENBIT /?ELS56
|
||
|
CALL ALREADY-CLOSED
|
||
|
RSTACK
|
||
|
?ELS56: PRINTI "You close"
|
||
|
CALL TRPRINT,WINDOW
|
||
|
RSTACK
|
||
|
|
||
|
.ENDI
|