264 lines
5.6 KiB
Plaintext
264 lines
5.6 KiB
Plaintext
|
|
|
|
.FUNCT CANT-USE,PTR,BUF,?TMP1
|
|
SET 'QUOTE-FLAG,FALSE-VALUE
|
|
SET 'P-OFLAG,FALSE-VALUE
|
|
PRINTI "[This story can't understand the word """
|
|
MUL PTR,2 >BUF
|
|
ADD P-LEXV,BUF
|
|
GETB STACK,2 >?TMP1
|
|
ADD P-LEXV,BUF
|
|
GETB STACK,3
|
|
CALL WORD-PRINT,?TMP1,STACK
|
|
PRINTR """ when you use it that way.]"
|
|
|
|
|
|
.FUNCT DONT-UNDERSTAND
|
|
PRINTR "[That sentence didn't make sense. Please reword it or try something else.]"
|
|
|
|
|
|
.FUNCT NOT-IN-SENTENCE,STR
|
|
PRINTI "[There aren't "
|
|
PRINT STR
|
|
PRINTR " in that sentence!]"
|
|
|
|
|
|
.FUNCT LIGHTS-F
|
|
FSET? HERE,OUTDOORSBIT /?THN6
|
|
FSET? HERE,CAVEBIT /?THN6
|
|
EQUAL? HERE,CRAWL-SPACE-NORTH,CRAWL-SPACE-SOUTH,FIRST-SECRET-ROOM /?THN6
|
|
EQUAL? HERE,FIREPLACE,CHIMNEY-1,CHIMNEY-2 /?THN6
|
|
EQUAL? HERE,CHIMNEY-3 \?ELS5
|
|
?THN6: CALL CANT-SEE-ANY,LIGHTS
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?LAMP-ON \FALSE
|
|
PRINTR "You flip the switch but nothing happens. It seems the light bulbs are missing."
|
|
|
|
|
|
.FUNCT GROUND-F
|
|
CALL GETTING-INTO?
|
|
ZERO? STACK \?THN6
|
|
EQUAL? PRSA,V?LOOK-BEHIND \?ELS5
|
|
?THN6: CALL PICK-ONE,YUKS
|
|
PRINT STACK
|
|
CRLF
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?LOOK-UNDER \?ELS9
|
|
PRINTR "Nothing but dirt."
|
|
?ELS9: CALL HURT?,GROUND
|
|
ZERO? STACK \?THN12
|
|
CALL MOVING?,GROUND
|
|
ZERO? STACK /?ELS11
|
|
?THN12: CALL SAY-THE,GROUND
|
|
PRINTR " is not affected."
|
|
?ELS11: CALL TALKING-TO?,GROUND
|
|
ZERO? STACK \?THN16
|
|
EQUAL? PRSA,V?YELL \FALSE
|
|
?THN16: PRINTI "Talking to"
|
|
CALL TPRINT,GROUND
|
|
CALL SIGN-OF-COLLAPSE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT MAZE-HOLE-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE \FALSE
|
|
PRINTR "There's nothing but dirt in the hole."
|
|
|
|
|
|
.FUNCT WALLS-F
|
|
FSET? HERE,OUTDOORSBIT \?ELS5
|
|
CALL CANT-SEE-ANY,WALLS
|
|
RETURN 2
|
|
?ELS5: CALL GETTING-INTO?
|
|
ZERO? STACK \?THN10
|
|
EQUAL? PRSA,V?LOOK-BEHIND \?ELS9
|
|
?THN10: CALL PICK-ONE,YUKS
|
|
PRINT STACK
|
|
CRLF
|
|
RTRUE
|
|
?ELS9: EQUAL? PRSA,V?LOOK-UNDER \?ELS13
|
|
PRINTR "There's a floor there."
|
|
?ELS13: CALL HURT?,WALLS
|
|
ZERO? STACK \?THN16
|
|
CALL MOVING?,WALLS
|
|
ZERO? STACK /?ELS15
|
|
?THN16: EQUAL? PRSA,V?THROW \?CND18
|
|
EQUAL? PRSO,FINCH /FALSE
|
|
?CND18: CALL SAY-THE,WALLS
|
|
PRINTR " is not affected."
|
|
?ELS15: CALL TALKING-TO?,WALLS
|
|
ZERO? STACK \?THN25
|
|
EQUAL? PRSA,V?YELL \?ELS24
|
|
?THN25: PRINTI "Talking to walls"
|
|
CALL SIGN-OF-COLLAPSE
|
|
RETURN 2
|
|
?ELS24: EQUAL? PRSA,V?EXAMINE /FALSE
|
|
CALL YOU-DONT-NEED,WALLS
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT CEILING-F
|
|
FSET? HERE,OUTDOORSBIT \?ELS5
|
|
CALL CANT-SEE-ANY,CEILING
|
|
RETURN 2
|
|
?ELS5: EQUAL? PRSA,V?LOOK-UNDER \FALSE
|
|
CALL V-LOOK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HANDS-F
|
|
EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSO,HANDS \FALSE
|
|
CALL PERFORM,V?REACH-IN,PRSI
|
|
RTRUE
|
|
|
|
|
|
.FUNCT YOUR-FEET-F
|
|
EQUAL? PRSA,V?PUT \FALSE
|
|
EQUAL? PRSI,SKIS \FALSE
|
|
CALL PERFORM,V?WEAR,SKIS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ME-F,CONTEXT=0,OLIT
|
|
EQUAL? PRSA,V?ALARM \?ELS5
|
|
PRINTR "You're already wide awake."
|
|
?ELS5: CALL TALKING-TO?,ME
|
|
ZERO? STACK \?THN8
|
|
EQUAL? PRSA,V?YELL \?ELS7
|
|
?THN8: CALL TALK-TO-SELF
|
|
RETURN 2
|
|
?ELS7: EQUAL? PRSA,V?LISTEN \?ELS13
|
|
PRINT YOU-CANT
|
|
PRINTR "help doing that."
|
|
?ELS13: EQUAL? PRSA,V?GIVE \?ELS15
|
|
EQUAL? PRSI,ME \?ELS15
|
|
CALL ULTIMATELY-IN?,PRSO
|
|
ZERO? STACK /?ELS20
|
|
PRINTR "You already have it."
|
|
?ELS20: CALL PERFORM,V?TAKE,PRSO
|
|
RTRUE
|
|
?ELS15: EQUAL? PRSA,V?KILL \?ELS24
|
|
PRINTR "Desperate? Call the Samaritans."
|
|
?ELS24: EQUAL? PRSA,V?FIND \?ELS26
|
|
PRINTR "You're right here!"
|
|
?ELS26: CALL HURT?,ME
|
|
ZERO? STACK /FALSE
|
|
PRINTR "Punishing yourself that way won't help matters."
|
|
|
|
|
|
.FUNCT TALK-TO-SELF
|
|
PRINTI "Talking to yourself"
|
|
CALL SIGN-OF-COLLAPSE
|
|
CALL PCLEAR
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SIGN-OF-COLLAPSE
|
|
PRINTR " is said to be a sign of impending mental collapse."
|
|
|
|
|
|
.FUNCT GLOBAL-ROOM-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?LOOK \?ELS5
|
|
CALL V-LOOK
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?EXIT,V?DROP,V?ENTER \?ELS7
|
|
CALL V-WALK-AROUND
|
|
RSTACK
|
|
?ELS7: EQUAL? PRSA,V?SEARCH \?ELS9
|
|
PRINTR "You find nothing new."
|
|
?ELS9: EQUAL? PRSA,V?WALK-AROUND \FALSE
|
|
PRINTR "Walking around the area reveals nothing new.
|
|
|
|
(If you want to go somewhere, just type a direction.)"
|
|
|
|
|
|
.FUNCT CANT-SEE-ANY,THING=0,STRING?=0
|
|
CALL YOU-CANT-SEE
|
|
ZERO? STRING? /?ELS3
|
|
PRINT THING
|
|
JUMP ?CND1
|
|
?ELS3: ZERO? THING /?ELS6
|
|
FSET? THING,NARTICLEBIT /?CND8
|
|
PRINTI "any "
|
|
?CND8: CALL DPRINT,THING
|
|
JUMP ?CND1
|
|
?ELS6: PRINTI "that"
|
|
?CND1: PRINTR " here!"
|
|
|
|
|
|
.FUNCT YOU-CANT-SEE
|
|
SET 'CLOCK-WAIT,TRUE-VALUE
|
|
CALL PCLEAR
|
|
PRINT YOU-CANT
|
|
PRINTI "see "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT YOU-ALREADY
|
|
PRINTR "You already did that."
|
|
|
|
|
|
.FUNCT HOW?
|
|
PRINTR "How do you intend to do that?"
|
|
|
|
|
|
.FUNCT PRESUMABLY-YOU-WANT-TO,STR,THING=0
|
|
PRINT I-ASSUME
|
|
PRINTC 32
|
|
PRINT STR
|
|
PRINTC 32
|
|
ZERO? THING /?ELS3
|
|
CALL DPRINT,THING
|
|
JUMP ?CND1
|
|
?ELS3: PRINTI "it"
|
|
?CND1: PRINTR ".]"
|
|
|
|
|
|
.FUNCT NOT-LIKELY,THING,STR
|
|
PRINTI "It"
|
|
CALL PICK-ONE,LIKELIES
|
|
PRINT STACK
|
|
PRINTI " that"
|
|
CALL TPRINT,THING
|
|
PRINTC 32
|
|
PRINT STR
|
|
PRINTR "."
|
|
|
|
|
|
.FUNCT YOUD-HAVE-TO,STR,THING
|
|
PRINTI "You'd have to "
|
|
PRINT STR
|
|
CALL TPRINT,THING
|
|
PRINTR " to do that."
|
|
|
|
|
|
.FUNCT WINDOW-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE \?ELS5
|
|
EQUAL? HERE,PROJECTION-BOOTH \?ELS5
|
|
PRINTR "Uncle Buddy's screening room isn't packing in much of a crowd tonight. A viewing screen dominates the room."
|
|
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS9
|
|
EQUAL? HERE,DINING-ROOM \?ELS9
|
|
GRTR? MOVES,535 /?ELS14
|
|
PRINTI "By the moonlight you can see the outline of"
|
|
JUMP ?CND12
|
|
?ELS14: PRINTI "You can see"
|
|
?CND12: PRINTR " Aunt Hildegarde's lush garden."
|
|
?ELS9: EQUAL? PRSA,V?LOOK-INSIDE \?ELS18
|
|
PRINTI "You see the "
|
|
EQUAL? HERE,SCREENING-ROOM \?ELS21
|
|
PRINTI "projection booth of"
|
|
JUMP ?CND19
|
|
?ELS21: FSET? HERE,OUTDOORSBIT \?ELS23
|
|
PRINTI "interior of"
|
|
JUMP ?CND19
|
|
?ELS23: PRINTI "grounds outside"
|
|
?CND19: PRINTR " Uncle Buddy's house."
|
|
?ELS18: EQUAL? PRSA,V?OPEN \?ELS27
|
|
EQUAL? HERE,PROJECTION-BOOTH,SCREENING-ROOM /?ELS27
|
|
PRINTR "That would let in all the smog!"
|
|
?ELS27: EQUAL? PRSA,V?ENTER,V?CLOSE \FALSE
|
|
PRINTR "The window isn't open."
|
|
|
|
.ENDI
|