hollywoodhijinx/globals.zap

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