wishbringer/globals.zil

889 lines
21 KiB
Plaintext

"GLOBALS for WISHBRINGER: (C)1985 Infocom, Inc. All Rights Reserved."
<DIRECTIONS NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
<GLOBAL HERE 0>
<GLOBAL LIT T>
<GLOBAL MOVES 0>
<GLOBAL SCORE 0>
<OBJECT GLOBAL-OBJECTS
(FLAGS RMUNGBIT INVISIBLE TOUCHBIT SURFACEBIT
TRYTAKEBIT OPENBIT SEARCHBIT TRANSBIT
WEARBIT VOWELBIT ONBIT RLANDBIT
ACTORBIT TAKEBIT NDESCBIT NARTICLEBIT
TOOLBIT LOCKEDBIT WISHBIT
INDOORSBIT FLAMEBIT WORNBIT THROWNBIT
WETBIT VEHBIT)>
<OBJECT LOCAL-GLOBALS
(IN GLOBAL-OBJECTS)
(SYNONYM ZZZP)
(DESCFCN 0)
(GLOBAL GLOBAL-OBJECTS)
(ADVFCN 0)
(FDESC "F")
(LDESC "L")
(PSEUDO "FOOBAR" V-WALK)
(CONTFCN 0)
(SIZE 0)
;(TEXT "")
(CAPACITY 0)>
<OBJECT ROOMS
(IN TO ROOMS)>
<OBJECT INTNUM
(IN GLOBAL-OBJECTS)
(SYNONYM INTNUM)
(DESC "number")>
<OBJECT PSEUDO-OBJECT
(DESC "pseudo")
(ACTION ME-F)>
<OBJECT IT
(IN GLOBAL-OBJECTS)
(SYNONYM IT THAT)
(DESC "it")
(FLAGS VOWELBIT NARTICLEBIT NDESCBIT TOUCHBIT)>
<ROUTINE BE-SPECIFIC ()
<TELL "(Be specific: what do you want to ">>
<ROUTINE TO-DO-THING-USE (STR1 STR2)
<TELL "(To " .STR1 " something, use the command: "
.STR2 " THING.)" CR>>
<ROUTINE CANT-USE (PTR "AUX" BUF)
<SETG QUOTE-FLAG <>>
<SETG P-OFLAG <>>
<TELL "(This story can't understand the word \"">
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
<GETB <REST ,P-LEXV .BUF> 3>>
<TELL "\" when you use it that way.)" CR>>
<ROUTINE DONT-UNDERSTAND ()
<TELL "(That sentence didn't make sense. Please reword it or try something else.)" CR>>
<ROUTINE NOT-IN-SENTENCE (STR)
<TELL "(There aren't " .STR " in that sentence!)" CR>>
<OBJECT DUST
(IN GLOBAL-OBJECTS)
(DESC "dust")
(SYNONYM DUST DIRT GRIME FILTH)>
<OBJECT GROUND
(IN GLOBAL-OBJECTS)
(DESC "ground")
(SYNONYM FLOOR GROUND LAWN GRASS)
(FLAGS NDESCBIT SURFACEBIT)
(CAPACITY 30000)
(ACTION GROUND-F)>
<ROUTINE GROUND-F ()
<COND (<VERB? EXAMINE LOOK-ON SEARCH>
<COND (<AND <EQUAL? ,HERE ,INSIDE-THEATER>
<FSET? ,GLASSES ,RMUNGBIT>>
<PERFORM ,V?LOOK-UNDER ,SEAT>)
(T
<TELL ,YOU-SEE "nothing " <PICK-ONE ,YAWNS>
" about the ">
<GROUND-OR-FLOOR>
<TELL "." CR>)>
<RTRUE>)
(<VERB? SIT LIE-DOWN>
<V-LIE-DOWN>)
(<VERB? CROSS WALK-TO THROUGH ENTER>
<V-WALK-AROUND>)
(<VERB? LOOK-UNDER PUT-UNDER>
<HOW?>)
(<AND <VERB? PUT PUT-ON>
<EQUAL? ,PRSI ,GROUND ,AISLE>>
<PERFORM ,V?DROP ,PRSO>)
(<AND <VERB? TAKE>
<EQUAL? ,PRSI ,GROUND ,AISLE>>
<PERFORM ,V?TAKE ,PRSO>
<RTRUE>)
(<EQUAL? ,AISLE ,PRSO ,PRSI>
<RFALSE>)
(T
<YOU-DONT-NEED ,GROUND>
<RFATAL>)>
<RTRUE>>
<ROUTINE GROUND-OR-FLOOR ()
<COND (<FSET? ,HERE ,INDOORSBIT>
<TELL "floor">)
(T
<PRINTD ,GROUND>)>>
<OBJECT ROAD
(IN GLOBAL-OBJECTS)
(DESC "road")
(SYNONYM ROAD STREET PATH)
(ACTION HERE-F)>
<ROUTINE HERE-F ()
<COND (<VERB? EXAMINE LOOK-INSIDE LOOK-DOWN>
<V-LOOK>)
(<VERB? FIND>
<TELL "It's right here!" CR>)
(<VERB? FOLLOW WALK-TO WALK LEAVE CROSS CLIMB-ON CLIMB-UP
CLIMB-DOWN ENTER THROUGH>
<V-WALK-AROUND>
<RFATAL>)
(<VERB? SIT LIE-DOWN DIG>
<WASTE-OF-TIME>)
(<AND <VERB? PUT PUT-ON THROW>
<EQUAL? ,PRSI ,PSEUDO-OBJECT>>
<PERFORM ,V?DROP ,PRSO>)
(<OR <TALKING-TO? ,ROAD>
<VERB? YELL>>
<NOTHING-EXCITING>
<RFATAL>)
(T
<YOU-DONT-NEED "area" T>)>
<RTRUE>>
<OBJECT WALLS
(IN GLOBAL-OBJECTS)
(FLAGS NDESCBIT TOUCHBIT)
(DESC "wall")
(SYNONYM WALL WALLS)
(ACTION WALLS-F)>
<ROUTINE WALLS-F ()
<COND (<AND <NOT <FSET? ,HERE ,INDOORSBIT>>
<NOT <EQUAL? ,HERE ,INSIDE-GRAVE>>>
<CANT-SEE-ANY ,WALLS>
<RFATAL>)
(<OR <GETTING-INTO?>
<VERB? LOOK-BEHIND>>
<TELL <PICK-ONE ,YUKS> CR>)
(<VERB? LOOK-UNDER>
<TELL "There's a floor there." CR>)
(<OR <HURT? ,WALLS>
<MOVING? ,WALLS>>
<SAY-THE ,WALLS>
<TELL " is not affected." CR>)
(<OR <TALKING-TO? ,WALLS>
<VERB? YELL>>
<TELL "Talking to walls">
<SIGN-OF-COLLAPSE>
<RFATAL>)
(T
<YOU-DONT-NEED ,WALLS>
<RFATAL>)>
<RTRUE>>
<OBJECT CEILING
(IN GLOBAL-OBJECTS)
(FLAGS NDESCBIT TOUCHBIT)
(DESC "ceiling")
(SYNONYM CEILING)
(ACTION CEILING-F)>
<ROUTINE CEILING-F ()
<COND (<NOT <FSET? ,HERE ,INDOORSBIT>>
<CANT-SEE-ANY ,CEILING>
<RFATAL>)
(<VERB? LOOK-UNDER>
<V-LOOK>
<RTRUE>)
(<VERB? EXAMINE LOOK-ON>
<COND (<EQUAL? ,HERE ,UNDER-CELL>
<PERFORM ,V?EXAMINE ,HIDDEN-HATCH>)
(<EQUAL? ,HERE ,ON-BRIDGE>
<TELL "The bridge is covered by a roof." CR>)
(T
<RFALSE>)>
<RTRUE>)
(T
<RFALSE>)>>
<OBJECT HANDS
(IN GLOBAL-OBJECTS)
(DESC "your hand")
(SYNONYM HAND HANDS)
(ADJECTIVE MY BARE)
(FLAGS NDESCBIT TOOLBIT TOUCHBIT NARTICLEBIT)>
<OBJECT PROTAGONIST
(IN HILLTOP)
(SYNONYM PROTAG)
(DESC "yourself")
(FLAGS NDESCBIT NARTICLEBIT INVISIBLE)
(ACTION 0)
(SIZE 0)>
; <OBJECT POCKET
(IN PROTAGONIST)
(DESC "your pocket")
(SYNONYM POCKET)
(ADJECTIVE MY)
(FLAGS WORNBIT NDESCBIT OPENBIT NARTICLEBIT CONTBIT)
(CAPACITY 10)
(ACTION POCKET-F)>
; <ROUTINE POCKET-F ("AUX" OBJ NXT)
<COND (<VERB? LOOK-INSIDE SEARCH LOOK-DOWN EXAMINE>
<COND (<FIRST? ,POCKET>
<TELL "There's ">
<PRINT-CONTENTS ,POCKET>
<TELL " in " D ,POCKET>)
(T
<TELL "Y">
<POCKET-EMPTY>)>
<TELL "." CR>
<RTRUE>)
(<AND <VERB? PUT THROW>
<EQUAL? ,PRSI ,POCKET>>
<COND (<AND <EQUAL? ,PRSO ,CANDLE>
<FSET? ,CANDLE ,ONBIT>>
<TELL "Putting a lighted " D ,CANDLE
" in " D ,POCKET " isn't a good idea." CR>
<RTRUE>)
(<EQUAL? ,PRSO ,HANDS>
<TELL "No wonder " D ,CRISP " says you're lazy!" CR>
<RTRUE>)
(T
<RFALSE>)>)
(<VERB? OPEN CLOSE>
<TELL "You don't need to do that." CR>
<RTRUE>)
(<VERB? TAKE-OFF>
<TELL <PICK-ONE ,YUKS> CR>
<RTRUE>)
(<HURT? ,POCKET>
<WASTE-OF-TIME>
<RTRUE>)
(T
<RFALSE>)>>
<OBJECT ME
(IN GLOBAL-OBJECTS)
(SYNONYM I ME MYSELF)
(DESC "yourself")
(FLAGS ACTORBIT TOUCHBIT NARTICLEBIT)
(ACTION ME-F)>
<ROUTINE ME-F ("OPTIONAL" (CONTEXT <>) "AUX" OLIT)
<COND (<VERB? ALARM>
<TELL "You're already wide awake." CR>
<RTRUE>)
(<OR <TALKING-TO? ,ME>
<VERB? YELL>>
<TALK-TO-SELF>
<RFATAL>)
(<VERB? LISTEN>
<TELL ,CANT " help doing that." CR>
<RTRUE>)
(<AND <VERB? GIVE>
<EQUAL? ,PRSI ,ME>>
<COND (<HELD? ,PRSO>
<TELL "You already have it." CR>)
(T
<PERFORM ,V?TAKE ,PRSO>)>
<RTRUE>)
(<VERB? KILL>
<TELL "Desperate? Call the Samaritans." CR>
<RTRUE>)
(<VERB? FIND>
<TELL "You're right here!" CR>
<RTRUE>)
(<HURT? ,ME>
<TELL "Punishing yourself that way won't help matters." CR>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE TALK-TO-SELF ()
<TELL "Talking to yourself">
<SIGN-OF-COLLAPSE>
<PCLEAR>>
<ROUTINE SIGN-OF-COLLAPSE ()
<TELL " is said to be a sign of impending mental collapse." CR>>
<OBJECT GLOBAL-ROOM
(IN GLOBAL-OBJECTS)
(DESC "room")
(SYNONYM ROOM AREA PLACE)
(ACTION GLOBAL-ROOM-F)>
<ROUTINE GLOBAL-ROOM-F ()
<COND (<VERB? LOOK EXAMINE LOOK-INSIDE>
<V-LOOK>
<RTRUE>)
(<VERB? ENTER THROUGH DROP EXIT>
<V-WALK-AROUND>
<RFATAL>)
(<VERB? WALK-AROUND>
<TELL
"Walking around the area reveals nothing new.|
|
(If you want to go somewhere, just type a direction.)" CR>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE ALREADY-IN (PLACE "OPTIONAL" (NOT? <>))
<TELL "But you're ">
<COND (.NOT?
<TELL "not">)
(T
<TELL "already">)>
<TELL " in ">
<ARTICLE .PLACE T>
<TELL D .PLACE "!" CR>>
<ROUTINE UPDATE-SCORE (POINTS)
<SETG GSCORE <+ ,GSCORE .POINTS>>
<TELL "(Your score just went ">
<COND (<G? .POINTS -1>
<TELL "up">)
(T
<TELL "DOWN">)>
<TELL " by " N <ABS .POINTS> " point">
<COND (<NOT <EQUAL? .POINTS 1 -1>>
<TELL "s">)>
<TELL "! Your total score is " N ,GSCORE " out of 100.)" CR>>
<ROUTINE GO-INSIDE ()
<TELL "Why not go inside and look around?" CR>>
<ROUTINE CANT-MAKE-OUT-ANYTHING ()
<TELL ,CANT " make out anything inside." CR>>
<ROUTINE OBJECT-IS-LOCKED ()
<TELL ,CANT " do that. It's locked." CR>>
<ROUTINE CANT-SEE-ANY ("OPTIONAL" (THING <>) (STRING? <>))
<YOU-CANT-SEE>
<COND (.STRING?
<TELL .THING>)
(.THING
<COND (<NOT <FSET? .THING ,NARTICLEBIT>>
<TELL "any ">)>
<TELL D .THING>)
(T
<TELL "that">)>
<TELL " here!" CR>>
<ROUTINE YOU-CANT-SEE ()
<SETG CLOCK-WAIT T>
<PCLEAR>
<TELL ,CANT " see ">>
<ROUTINE HOW-WOULD-YOU-LIKE-IT (OBJ)
<TELL
"How would you like it if somebody did that to YOUR " D .OBJ "?" CR>>
<OBJECT SIGN
(IN LOCAL-GLOBALS)
(DESC "sign")
(SYNONYM SIGN SIGNPOST POST MESSAGE)
(ADJECTIVE PAINT PAINTED HANDPAINTED NEON)
(FLAGS NDESCBIT READBIT TRYTAKEBIT)
(ACTION SIGN-F)>
<ROUTINE SIGN-F ()
<COND (<VERB? READ EXAMINE>
<COND (<EQUAL? ,HERE ,HILLTOP>
<TELL
"There are two arrows on the signpost. The arrow pointing west says \"To Cemetery.\" The east arrow is marked \"To">
<WHICH-TOWN>
<TELL ".\"" CR>)
(<EQUAL? ,HERE ,ROTARY-WEST>
<SAY-THE ,SIGN>
<TELL " over the " D ,ENTRANCE " says, \"">
<COND (,SKEWED?
<TELL "Witchville">)
(T
<TELL "Festeron">)>
<TELL " Police Headquarters.\"" CR>)
(<EQUAL? ,HERE ,NORTH-OF-BRIDGE>
<COND (,SKEWED?
<TELL
"The childlike scrawl is hard to decipher. With a little imagination, you can make out the phrase \"Toll Bridge, One Gold Coin.\"" CR>)
(T
<CANT-SEE-ANY ,SIGN>)>)
(<EQUAL? ,HERE ,CLIFF-EDGE>
<DESCRIBE-SIGN>)
(<EQUAL? ,HERE ,PLEASURE-WHARF>
<TELL "The neon sign says, \"VIDEO GAMES.\"" CR>)
(<EQUAL? ,HERE ,EDGE-OF-LAKE>
<PERFORM ,V?READ ,SAND>)
(<EQUAL? ,HERE ,GRUE-NEST>
<PERFORM ,V?EXAMINE ,REFRIGERATOR>)
(<EQUAL? ,HERE ,VIDEO-ARCADE>
<ARCADE-SIGN>)
(<EQUAL? ,HERE ,CIRCULATION-DESK>
<SAY-THE ,SIGN>
<TELL
" over the hall says, \"To " D ,MUSEUM ".\"" CR>)
(<EQUAL? ,HERE ,MUSEUM>
<SAY-DCASE-SIGN>)
(T
<RFALSE>)>
<RTRUE>)
(<OR <HURT? ,SIGN>
<VERB? TAKE RUB PUT PUSH MOVE>>
<WASTE-OF-TIME>
<RTRUE>)
(T
<YOU-DONT-NEED ,SIGN>
<RFATAL>)>>
<ROUTINE CANT-FIT-INTO? (PLACE)
<COND (<IN? ,BRANCH ,PROTAGONIST>
<NEVER-GET-IN .PLACE "that branch">
<RTRUE>)
(<AND <IN? ,UMBRELLA ,PROTAGONIST>
<FSET? ,UMBRELLA ,OPENBIT>>
<NEVER-GET-IN .PLACE "that open umbrella">
<RTRUE>)
(<G? <WEIGHT ,PROTAGONIST> 18>
<NEVER-GET-IN .PLACE "all that stuff">
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE NEVER-GET-IN (PLACE THING)
<TELL
"You'll never get into the " .PLACE " holding " .THING "!" CR>>
<ROUTINE GET-INTO (PLACE)
<TELL "With great effort, you manage to squeeze yourself into the "
.PLACE "." CR CR>>
<ROUTINE NOT-LIQUID ()
<ITS-NOT-A "liquid">>
<ROUTINE NOT-SOLID ()
<ITS-NOT-A "solid">>
<ROUTINE ITS-NOT-A (STR)
<TELL "It's not a " .STR "." CR>>
<ROUTINE COME-TO-SENSES ()
<CARRIAGE-RETURNS>
<SETG BROOM-SIT? <>>
<TELL
"You come to your senses empty-handed and aching all over." CR CR>
<V-LOOK>
<I-LUCK>
<I-GLOW>>
<ROUTINE PROBABLY-DROWN-IN-RIVER ()
<PROBABLY-DROWN T>
<RFALSE>>
<ROUTINE PROBABLY-DROWN ("OPTIONAL" (RIVER? <>))
<TELL "You'd probably drown in the ">
<COND (.RIVER?
<PRINTD ,RIVER>)
(<EQUAL? ,HERE ,WHARF ,TIDAL-POOL ,FESTERON-POINT>
<PRINTD ,BAY>)
(<EQUAL? ,HERE ,EDGE-OF-LAKE ,RIVER-OUTLET ,ISLAND>
<PRINTD ,LAKE>)
(<EQUAL? ,HERE ,PARK>
<PRINTD ,FOUNTAIN>)
(<AND <EQUAL? ,HERE ,HILLTOP>
,SKEWED?>
<PRINTD ,MOAT>)
(T
<PRINTD ,RIVER>)>
<WENT-THAT-WAY>
<RFALSE>>
<ROUTINE WENT-THAT-WAY ()
<TELL " if you went that way." CR>>
<ROUTINE WATER-DIRTY ()
<TELL "Better not. The water might be dirty." CR>>
<ROUTINE HANDLE-WATER? ()
<COND (<GETTING-INTO?>
<PROBABLY-DROWN>)
(<VERB? DRINK TASTE>
<WATER-DIRTY>)
(<VERB? EAT BITE>
<NOT-SOLID>)
(<AND <VERB? PUT PUT-ON PUT-UNDER THROW>
<OR <EQUAL? ,PRSI ,BAY ,RIVER ,LAKE>
<EQUAL? ,PRSI ,MOAT>>>
<REMOVE ,PRSO>
<TELL "Splash!" CR CR>
<COND (<EQUAL? ,PRSO ,HORSE ,DHORSE>
<COND (<ENABLED? ,I-HORSE-DEATH>
<DISABLE <INT I-HORSE-DEATH>>)>
<SAY-THE ,PRSO>
<TELL
" floats without moving for a few anxious moments. Then it ">
<COND (<EQUAL? ,PRSO ,DHORSE>
<TELL
"sinks slowly into the dark water">)
(T
<SETG HORSE-SAVED? T>
<TELL "springs suddenly to life, circling and splashing joyfully in the waves. Before it swims away it looks up at you with an unmistakable expression of gratitude">)>
<TELL "." CR>)
(<AND <EQUAL? ,PRSO ,CANDLE>
<FSET? ,CANDLE ,ONBIT>>
<TELL "Weird! ">
<SAY-THE ,CANDLE>
<TELL " remains lit even as it">
<SINKS-INTO-WATER>)
(T
<TELL "Silently, ">
<ARTICLE ,PRSO T>
<TELL D ,PRSO>
<SINKS-INTO-WATER>)>)
(<AND <VERB? PUSH-TO>
<OR <EQUAL? ,PRSI ,BAY ,RIVER ,LAKE>
<EQUAL? ,PRSI ,MOAT>>>
<COND (<HELD? ,PRSO>
<PRESUMABLY-YOU-WANT-TO "PUT it in" ,PRSI>
<PERFORM ,V?PUT ,PRSO ,PRSI>
<RTRUE>)
(<AND <IN? ,PRSO ,HERE>
<FSET? ,PRSO ,TAKEBIT>>
<MOVE ,PRSO ,PROTAGONIST>
<TELL "(with your foot)" CR>
<PERFORM ,V?PUT ,PRSO ,PRSI>
<RTRUE>)
(T
<V-PUSH-TO>)>)
(<SEE-VERB?>
<TELL "The water is too deep to see much of anything." CR>)
(T
<YOU-DONT-NEED "water" T>
<RFATAL>)>
<RTRUE>>
<ROUTINE SINKS-INTO-WATER ()
<TELL " disappears beneath the surface of ">
<ARTICLE ,PRSI T>
<TELL D ,PRSI "." CR>>
<ROUTINE YOU-ARE-HOLDING (THING "OPTIONAL" (AGAIN <>))
<THIS-IS-IT .THING>
<TELL CR CR "(You are ">
<COND (.AGAIN
<TELL "again">)
(T
<TELL "now">)>
<TELL " holding ">
<ARTICLE .THING .AGAIN>
<TELL D .THING ".)">>
<ROUTINE NOTHING-EXCITING ()
<TELL "Nothing exciting happens." CR>>
<ROUTINE THAT-WAS-CLOSE ()
<TELL "Whew! That was close." CR>>
<ROUTINE GOOD-PLACE-TO-SAVE ()
<TELL CR
"(This might be a good time to SAVE your story position.)" CR>>
<ROUTINE HOW? ()
<TELL "How do you intend to do that?" CR>>
<OBJECT CORNER
(IN LOCAL-GLOBALS)
(DESC "corner")
(SYNONYM CORNER)
(FLAGS NDESCBIT)
(ACTION CORNER-F)>
<ROUTINE CORNER-F ()
<COND (<VERB? EXAMINE LOOK-ON LOOK-INSIDE>
<V-LOOK>
<RTRUE>)
(<GETTING-INTO?>
<TELL
"You're close enough to the " D ,CORNER " already." CR>
<RTRUE>)
(T
<YOU-DONT-NEED ,CORNER>
<RFATAL>)>>
<ROUTINE TOO-FAR-AWAY (OBJ)
<UNFORTUNATELY>
<ARTICLE .OBJ T>
<TELL D .OBJ " is too far away for you to do that." CR>>
<ROUTINE UNFORTUNATELY ()
<TELL "Unfortunately, ">>
<ROUTINE EXCELLENT-VIEW (OBJ)
<SAY-THE .OBJ>
<TELL " affords an excellent view of the surrounding area." CR>>
<ROUTINE ALREADY-AT (OBJ "OPTIONAL" (TOP? <>))
<TELL "You're already at the ">
<COND (.TOP?
<TELL "top">)
(T
<TELL "bottom">)>
<TELL " of the " D .OBJ "!" CR>>
<ROUTINE LOITERING-ON (OBJ)
<TELL "There's no reason to loiter around the " D .OBJ "." CR>>
<ROUTINE PRESUMABLY-YOU-WANT-TO (STR "OPTIONAL" (THING <>))
<TELL ,I-ASSUME " " .STR " ">
<COND (.THING
<ARTICLE .THING T>
<TELL D .THING>)
(T
<TELL "it">)>
<TELL ".)" CR>>
<ROUTINE MAKE-IT-SNAPPY ()
<TELL
" If you want to make a wish, you'd better make it snappy!)">>
<ROUTINE HOLD-YOUR-PEACE ()
<TELL
" Wish now, or forever hold your peace!)">>
<ROUTINE IT-IGNORES-YOU (WHO)
<SAY-THE .WHO>
<TELL " " <PICK-ONE ,IGNORANCE> "." CR>>
<GLOBAL IGNORANCE
<LTABLE 0
"studiously ignores you"
"pretends not to understand you"
"pays no attention to you"
"makes a rude little noise">>
<OBJECT SOUND
(IN GLOBAL-OBJECTS)
(DESC "sound")
(SYNONYM SOUND VOICE VOICES MUSIC)
(ADJECTIVE NOISE NOISES)
(FLAGS NDESCBIT NARTICLEBIT)
(ACTION SOUND-F)>
<ROUTINE SOUND-F ()
<COND (<VERB? LISTEN>
<COND (<EQUAL? ,HERE ,INSIDE-THEATER>
<COND (<OR <EQUAL? ,MOVIE-SCRIPT 6>
,ECLIPSE?>
<BLANK-SCREEN>)
(T
<TELL
"The soundtrack is an artless mix of Witchville slogans and John Philip Sousa marches, played at earsplitting volume." CR>)>
<RTRUE>)
(<AND <EQUAL? ,HERE ,LOBBY>
<L? ,MOVIE-SCRIPT 6>
<NOT ,ECLIPSE?>>
<TELL ,YOU-HEAR
"a blare of noise coming from inside the " D ,MOVIE-THEATER>)
(<AND <EQUAL? ,HERE ,HILLTOP>
<NOT <FSET? ,ENVELOPE ,RMUNGBIT>>> ; "Not given?"
<TELL
"Uh-oh! The calling voice belongs to">
<BOSS>
<TELL "!" CR>
<RTRUE>)
(<AND <EQUAL? ,HERE ,MUSEUM>
<ENABLED? ,I-PLEA>>
<TELL "The voice sounds just like the "
D ,OLD-WOMAN " you met at the " D ,MAGICK-SHOPPE>)
(<AND <EQUAL? ,HERE ,INSIDE-SHOPPE>
<FSET? ,CLOCK ,RMUNGBIT>>
<PERFORM ,V?LISTEN ,CLOCK>
<RTRUE>)
(<EQUAL? ,HERE ,JAIL-CELL>
<COND (<L? ,JAIL-SCRIPT 9>
<TELL "The ">
<EVIL-VOICES>
<TELL " don't sound very friendly." CR>)
(T
<HEAR-WAILS>)>
<RTRUE>)
(T
<TELL
"At the moment, you hear nothing " <PICK-ONE ,YAWNS>>)>
<TELL "." CR>
<RTRUE>)
(<VERB? FOLLOW WALK-TO>
<V-WALK-AROUND>)
(<VERB? WAIT-FOR>
<V-WAIT>)
(<AND <VERB? REPLY>
<EQUAL? ,HERE ,HILLTOP>
<NOT <FSET? ,ENVELOPE ,RMUNGBIT>>> ; "Not given?"
<TELL "You'll have to go inside to do that." CR>)
(<OR <TALKING-TO? ,SOUND>
<VERB? YELL>>
<TELL "Try addressing the source of the sound." CR>
<RFATAL>)
(T
<TELL ,CANT>
<DO-TO>
<TELL "a " D ,SOUND "!" CR>)>
<RTRUE>>
<ROUTINE TOO-LARGE (THING "OPTIONAL" (SMALL? <>))
<BUT-THE .THING>
<TELL "is much too ">
<COND (.SMALL?
<TELL "small">)
(T
<TELL "large">)>
<TELL "!" CR>>
<ROUTINE FROBOZZ (STR)
<TELL "Frobozz Magic " .STR " Company">>
<ROUTINE NOT-LIKELY (THING STR)
<TELL "It" <PICK-ONE ,LIKELIES> " that ">
<ARTICLE .THING T>
<TELL D .THING " " .STR "." CR>>
<GLOBAL LIKELIES
<LTABLE 0
" isn't likely"
" seems doubtful"
" seems unlikely"
"'s unlikely"
"'s not likely"
"'s doubtful">>
<ROUTINE YOUD-HAVE-TO (STR THING)
<TELL "You'd have to " .STR " ">
<ARTICLE .THING T>
<TELL D .THING " to do that." CR>>
<ROUTINE CLOSED-AND-LOCKED ()
<TELL " closed and locked." CR>>
; <ROUTINE OPENED ()
<TELL "Opened.">>
<ROUTINE STANDING ()
<TELL "You're standing ">>
<ROUTINE DO-TO ()
<TELL " do that to ">>
<ROUTINE INTRO ()
<TELL "\"Behind you!\" cries the Princess. \"It's a trap!\"|
|
Too late. The " D ,DRAWBRIDGE " crashes shut against the " D ,TOWER " wall. You turn to face your enemy, and find yourself staring into the open maw of">>
<ROUTINE FIRED ("OPTIONAL" (TIMEOUT? <>))
<TELL CR "\"There you are, " <PICK-ONE ,INSULTS> "!\"|
|
You wince as " D ,CRISP " strides into view and grabs you by the front of your uniform.|
|
\"You good-for-nothing " <PICK-ONE ,INSULTS> "!\" he bellows in your face. \"I wanted you to ">
<COND (.TIMEOUT?
<TELL "deliver that envelope BEFORE five o'clock! Now the "
D ,MAGICK-SHOPPE " is closed... and y">)
(T
<TELL "get back to the " D ,POST-OFFICE
" as soon as you were done with that envelope! Y">)>
<TELL "ou're FIRED!\"">
<BAD-ENDING>>
<ROUTINE SAY-HURRY ()
<TELL CR "(It's ">
<TELL-TIME>
<TELL ". Better hurry! ">>
<ROUTINE BETTER-HURRY ("OPTIONAL" (HALF? <>))
<SAY-HURRY>
<SAY-THE ,MAGICK-SHOPPE>
<TELL " closes in less than ">
<COND (.HALF?
<TELL "half ">)>
<TELL "an hour!)" CR>>
; <ROUTINE PLACE-HOLDER (STR)
<TELL CR "[TESTER: " .STR ". Film at eleven. -BM]" CR>>
; <ROUTINE VPRINT ("AUX" TMP)
<SET TMP <GET ,P-OTBL ,P-VERBN>>
<COND (<EQUAL? .TMP 0> <TELL "tell">)
(<ZERO? <GETB ,P-VTBL 2>>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>)>>
; <ROUTINE NOT-HERE (OBJ)
<SETG CLOCK-WAIT T>
<TELL ,CANT " see ">
<COND (<NOT <FSET? .OBJ ,NARTICLEBIT>> <TELL "any ">)>
<TELL D .OBJ " here." CR>>
<OBJECT HER
(IN GLOBAL-OBJECTS)
(SYNONYM SHE HER ; WOMAN ; GIRL ; LADY)
(DESC "her")
(FLAGS NARTICLEBIT)>
<OBJECT HIM
(IN GLOBAL-OBJECTS)
(SYNONYM HE HIM ; MAN ;BOY)
(DESC "him")
(FLAGS NARTICLEBIT)>
<OBJECT THEM
(IN GLOBAL-OBJECTS)
(SYNONYM THEY THEM)
(DESC "them")
(FLAGS NARTICLEBIT)>
<GLOBAL GAME "Wishbringer">
<GLOBAL I-ASSUME "(Presumably, you mean">
<GLOBAL CANT "You can't">
<SYNONYM EAST RIGHT>
<SYNONYM WEST LEFT>
<OBJECT INTDIR
(IN GLOBAL-OBJECTS)
(DESC "direction")
(SYNONYM DIRECTION)
(ADJECTIVE NORTH EAST SOUTH WEST ; "UP DOWN" ; "NE NW SE SW")
; "(NE 0)
(SE 0)
(SW 0)
(NW 0)" >