ballyhoo/outside.zil

4979 lines
144 KiB
Plaintext

"OUTSIDE for
BALLYHOO
(c) Copyright 1984 Infocom, Inc. All Rights Reserved."
<ROOM CON-AREA
(IN ROOMS)
(DESC "Connection")
(NORTH TO WINGS)
(SOUTH TO NEAR-WAGON)
(WEST TO BESIDE-BIGTOP)
(EAST PER TURNSTILE-EXIT)
(SW TO BACK-YARD)
(IN TO WINGS)
(FLAGS ONBIT RLANDBIT)
(GLOBAL BIGTOP BANNER TURNSTILE MIDWAY SLOT)
(ACTION CON-AREA-F)>
<ROUTINE CON-AREA-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This area of matted-down crabgrass lies between the vaulted " D ,BIGTOP
" entrance to the north and the enticements of the midway to the east, where
a " D ,BANNER " hangs crookedly above a " D ,TURNSTILE ". There is a "
D ,FOUNTAIN " near the side wall of the tent. ">
<COND (<NOT ,DREAMING>
<TELL
"You can enter the night to the west and south.">)
(T
<TELL CR CR
"Stretching away from a small concession stand ">
<COND (<IN? ,SHORT ,HERE>
<TELL "are a " D ,SHORT " and">)
(T
<TELL "is">)>
<TELL " a " D ,LONG " of suckers.">)>
<CRLF>)
(<EQUAL? .RARG ,M-ENTER>
<COND (<AND <EQUAL? ,P-WALK-DIR ,P?SOUTH ,P?OUT>
<NOT ,DREAMING>>
<TELL
"You emerge into the warm night air of summer." CR CR>
<COND (<NOT <FSET? ,CON-AREA ,TOUCHBIT>>
<MOVE ,CROWD ,CON-AREA>
<ENABLE <QUEUE I-BOOST -1>>)>)>
<COND (<AND <QUEUE-THUMB?>
<NOT ,DREAMING>>
<ENABLE <QUEUE I-THUMB 1>>)>)
(<AND ,DREAMING
<EQUAL? .RARG ,M-BEG>
<VERB? WALK>
<NOT <EQUAL? ,P-WALK-DIR ,P?NORTH>>>
<COND (<HELD? ,MONKEY>
<MONKEY-DIRECTION>)
(T
<TELL "That's not the way you remember it." CR>)>
<RTRUE>)
(<EQUAL? .RARG ,M-BEG>
<FSET ,LONG ,VEHBIT>
<FSET ,SHORT ,VEHBIT>
<COND (<AND <NOT <FSET? ,LONG ,RMUNGBIT>> ;"won lines?"
<VERB? BOARD>
<PRSO? ,LONG>
<G? ,LINE-COUNTER 3>>
<ENTER-LINE T>)
(T
<RFALSE>)>)
(<AND <EQUAL? .RARG ,M-END>
<MONKEY-ACTS?>>
<RFALSE>)>>
<ROUTINE MONKEY-ACTS? ()
<COND (<AND <IN? ,MONKEY ,PROTAGONIST>
<PROB 60>>
<TELL CR
"The " D ,MONKEY " on " D ,BACK " " <PICK-ONE ,MONKEYS>>
<TELL ,PERIOD>)
(T
<RFALSE>)>>
<GLOBAL MONKEYS
<LTABLE 0
"nervously bounces its weight up and down"
"idly grooms areas of your scalp"
"vocalizes excitedly in your ear"
"breathes its jungle breath down your neck">>
<OBJECT BANNER
(IN LOCAL-GLOBALS)
(DESC "sagging banner")
(SYNONYM BANNER)
(ADJECTIVE SAGGING)
(FLAGS NDESCBIT)
(ACTION BANNER-F)>
<ROUTINE BANNER-F ()
<COND (<VERB? READ EXAMINE>
<CRLF>
<COND (<EQUAL? ,HERE ,CON-AREA>
<TELL "\"TO SIDESHOWS">)
(<EQUAL? ,HERE ,MIDWEST>
<TELL "\"TO MENAGERIE">)
(T
<TELL "\"THIS WAY TO THE EGRESS">)>
<TELL "\"" CR>)
(<TOUCHING? ,BANNER>
<CANT-REACH ,BANNER>)>>
<OBJECT LONG
(IN LOCAL-GLOBALS)
(DESC "long line")
(SYNONYM LINE PEOPLE SUCKER FRONT)
(ADJECTIVE LONG LONGER CONCES PEOPLE)
(FLAGS VEHBIT NDESCBIT)
(GENERIC GEN-LINE-F)
(ACTION LONG-F)>
;"RMUNGBIT = have won and got nuts, now no lines move at all"
<ROUTINE LONG-F ("OPTIONAL" (RARG <>))
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<NOT <FSET? ,LONG ,TOUCHBIT>>
<FSET ,LONG ,TOUCHBIT>
<ENABLE <QUEUE I-BAD-LUCK 5>>
<RFALSE>)>)
(<EQUAL? .RARG ,M-BEG>
<COND (<GET-OUT-OF-LINE? ,LONG>
<RTRUE>)
(<VERB? WALK>
<OUT-OF-FIRST ,LONG>)
(<AND <IN? ,SHORT ,CON-AREA>
<NOT <IN? ,TEAM ,CON-AREA>>
<VERB? WAIT>>
<TELL
"Time itself, let alone the " D ,LONG ", has " D ,GROUND " to an agonizing
halt." CR>
<SETG CLOCK-WAIT T>
<RTRUE>)>)
(.RARG
<RFALSE>)
(T
<LINES-F>)>>
<OBJECT SHORT
(IN LOCAL-GLOBALS)
(DESC "short line")
(SYNONYM LINE PEOPLE SUCKER FRONT)
(ADJECTIVE SHORTER SHORT CONCES PEOPLE)
(FLAGS ;VEHBIT NDESCBIT)
(GENERIC GEN-LINE-F)
(ACTION SHORT-F)>
;"RMUNGBIT = used in gen-line-f for GET OUT OF LINE"
<ROUTINE SHORT-F ("OPTIONAL" (RARG <>))
<COND (<EQUAL? .RARG ,M-BEG>
<COND (<GET-OUT-OF-LINE? ,SHORT>
<RTRUE>)
(<VERB? WALK>
<OUT-OF-FIRST ,SHORT>)>)
(.RARG
<RFALSE>)
(T
<LINES-F>)>>
<ROUTINE LINES-F ()
<COND (<AND <EQUAL? ,HERE ,CON-AREA>
<OR <AND <VERB? BOARD THROUGH WALK-TO>
,IN-FRONT-FLAG>
<EQUAL? ,P-PRSA-WORD ,W?CUT>
<AND <VERB? BOARD THROUGH WALK-TO>
<IS-NOUN? ,W?FRONT>>>>
<COND (<EQUAL? <LOC ,PROTAGONIST> ,LONG ,SHORT>
<OUT-OF-FIRST <LOC ,PROTAGONIST>>
<RTRUE>)
(T
<PERFORM ,V?WALK-TO ,CON-STAND>
<RTRUE>)>)
(T
<RFALSE>)>>
<ROUTINE GET-OUT-OF-LINE? (LINE)
<COND (<AND <VERB? DISEMBARK>
<EQUAL? ,P-PRSA-WORD ,W?GET>
<IS-NOUN? ,W?LINE>
<ZERO? <GET ,P-ADJW 0>>
<NOT <FSET? ,SHORT ,RMUNGBIT>>>
<FSET ,SHORT ,RMUNGBIT>
<TELL
"You begin ranting and raving and throwing a tantrum and all of those things
attendant upon someone getting way out of line. You feel better, but it
doesn't advance the " D .LINE "." CR>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE GEN-LINE-F ("AUX" LINE)
<COND (<AND <VERB? DISEMBARK EXIT>
<EQUAL? <LOC ,PROTAGONIST> ,LONG ,SHORT>>
<LOC ,PROTAGONIST>)
(<EQUAL? ,P-NAM ,W?SUCKER> ;"only happens with two lines"
,ME) ;"since me is global object"
(<NOT <EQUAL? ,HERE ,CON-AREA>>
,LONG)
(<AND <VERB? DISEMBARK>
<NOT <EQUAL? <LOC ,PROTAGONIST> ,LONG ,SHORT>>>
,LONG)
(T
<RFALSE>)>>
;<OBJECT FRONT-OF-LINE
(IN GLOBAL-OBJECTS)
(DESC "line")
(SYNONYM FRONT LINE BEGIN)
(ADJECTIVE LONG LONGER SHORT SHORTER)
(FLAGS NDESCBIT)
(ACTION FRONT-OF-LINE-F)>
<GLOBAL LINE-COUNTER 0>
<ROUTINE I-BAD-LUCK ()
<COND (<EQUAL? <LOC ,PROTAGONIST> ,SHORT>
<FCLEAR ,LONG ,VEHBIT>)
(<EQUAL? <LOC ,PROTAGONIST> ,LONG>
<FCLEAR ,SHORT ,VEHBIT>)
;(<IN? ,PROTAGONIST ,HERE> ;"in con-area m-beg"
<FSET ,LONG ,VEHBIT>
<FSET ,SHORT ,VEHBIT>)>
<COND (<ZERO? ,LINE-COUNTER>
<MOVE ,SHORT ,CON-AREA>
<SETG LINE-COUNTER 1>
<ENABLE <QUEUE I-BAD-LUCK -1>>
<TELL CR
"Right next to the " D ,LONG " a much shorter line begins to form." CR>)
(<AND <EQUAL? ,LINE-COUNTER 1>
<IN? ,PROTAGONIST ,SHORT>>
<SETG LINE-COUNTER 2>)
(<AND <EQUAL? ,LINE-COUNTER 2>
<IN? ,PROTAGONIST ,SHORT>>
<SETG LINE-COUNTER 3>
<MOVE ,TEAM ,CON-AREA>
<MOVE ,JERRY ,CON-AREA>
<TELL CR
"The face of the man ahead of you lights up as he spots something.
\"Hey, guys! It's ME, Jerry,\" he yells to a sizable group nearby, and
they approach." CR>)
(<AND <EQUAL? ,LINE-COUNTER 3>
<EQUAL? <LOC ,PROTAGONIST> ,SHORT>>
<SETG LINE-COUNTER 4>
<FSET ,LONG ,VEHBIT>
<MOVE ,PROTAGONIST ,LONG>
<FCLEAR ,SHORT ,VEHBIT>
<PLAYER-NUM-CHECK>
<TELL CR
"\"Haven't seen you turkeys in years. Howda hell are you guys?\" They
all reintroduce themselves. \"Hey -- you clowns thirsty? Get in here, I'll
buy y'all beer.\"|
|
\"You sure it's not a problem?\" asks the " <GET ,PLAYERS ,PLAYER-NUM> ".|
|
\"Heck no, just scoot in right here.\"|
|
With both your resolve and your heaving bosom firm against the crush of
interlopers, you are nevertheless forced to backpedal." CR>
<RTRUE>)
(<AND <EQUAL? ,LINE-COUNTER 4>
<IN? ,PROTAGONIST ,LONG>>
<PLAYER-NUM-CHECK>
<TELL CR "Jerry continues " <PICK-ONE ,GREETINGS>
" the " <GET ,PLAYERS ,PLAYER-NUM> "." CR>
<COND (<AND <EQUAL? ,PLAYER-NUM 5>
<NOT <FSET? ,CON-STAND ,RMUNGBIT>>>
<FSET ,CON-STAND ,RMUNGBIT>
<TELL CR
"Out of the " D ,CORNER " of your eye, you see the line you first entered
suddenly kicking into gear and really begin moving." CR>)>
<RTRUE>)
(<AND <IN? ,PROTAGONIST ,HERE>
<EQUAL? ,LINE-COUNTER 4>> ;"entering short line aft Jerry"
<MOVE ,TEAM ,LOCAL-GLOBALS>
<MOVE ,JERRY ,LOCAL-GLOBALS>
<SETG LINE-COUNTER 5>
<RFALSE>)
(<AND <EQUAL? <LOC ,PROTAGONIST> ,LONG>
<EQUAL? ,LINE-COUNTER 5>>
<SETG LINE-COUNTER 6>
<TELL CR
"You notice the woman who had been next to you in the line you first
entered walk away from it with an overflowing tray of goodies." CR>)
(<AND <EQUAL? <LOC ,PROTAGONIST> ,LONG>
<EQUAL? ,LINE-COUNTER 6>>
<SETG LINE-COUNTER 7>
<TELL CR
"A baby's cry suddenly pierces the air like a siren." CR>)>>
<ROUTINE ENTER-LINE ("OPTIONAL" (WIN? <>))
<TELL
"A lot of other people must ">
<COND (.WIN?
<TELL "not ">)>
<TELL
"have had the same idea as you, as they " <PICK-ONE ,LINE-MERGE> " over to ">
<COND (.WIN?
<DISABLE <INT I-BAD-LUCK>>
<FSET ,LONG ,RMUNGBIT> ;"idicates you've WON the lines"
<MOVE ,PROTAGONIST ,HERE>
<MOVE ,BANANA ,PROTAGONIST>
<SETG POCKET-CHANGE <- ,POCKET-CHANGE 375>>
;<SETG POCKET-CHANGE 1281> ;"will = 1281 if bought bar too."
<TELL
"the " D ,SHORT ". Steaming to the front of the line, you get a "
D ,BANANA " pushed at you and are whisked to the side before you can
even count your change.">)
(T
<TELL
"your chosen line, bunching in ahead of you and making it the longer of the
two.">)>
<CRLF>>
<OBJECT GRANOLA
(IN LOCAL-GLOBALS)
(DESC "one-dollar-and-85-cent granola bar")
(SYNONYM GRANOLA BAR BARS FOOD)
(ADJECTIVE CANDY ONE-DOLLAR GRANOLA)
(FLAGS TAKEBIT EATBIT VOWELBIT)
(GENERIC GEN-BAR)
(ACTION GRANOLA-F)>
<GLOBAL ORDERED-GRANOLA <>>
<ROUTINE GRANOLA-F ()
<COND (<VERB? OPEN CLOSE>
<TELL "There's no wrapper." CR>)
(<VERB? BUY>
<COND (<AND <EQUAL? ,HERE ,STANDS-ROOM>
<IN? ,HAWKER ,HERE>
<EQUAL? ,POCKET-CHANGE 1841>>
<SETG ORDERED-GRANOLA T>)>
<PERFORM ,V?BUY ,JUNK-FOOD>
<RTRUE>)
(<VERB? EAT>
<TELL
"You abstain, since health foods tend to make you sick." CR>)>>
<ROUTINE GEN-BAR ()
,GRANOLA>
<OBJECT BANANA
(IN LOCAL-GLOBALS)
(DESC "two-dollar-and-25-cent frozen banana")
(SYNONYM BANANA FRUIT CHOCOLATE FOOD)
(ADJECTIVE TWO-DOLLAR FROZEN)
(FLAGS TAKEBIT EATBIT)
(GENERIC GEN-FOOD)
(ACTION BANANA-F)>
;"RMUNGBIT = banana is broken, monkey is interested"
<ROUTINE BANANA-F ()
<COND (<VERB? EXAMINE>
<TELL "The " D ,BANANA " is ">
<COND (<NOT <FSET? ,BANANA ,RMUNGBIT>>
<TELL "entirely ">)>
<TELL "coated with chocolate." CR>)
(<AND <VERB? BUY>
<EQUAL? ,HERE ,CON-AREA>
,DREAMING>
<PERFORM ,V?BUY ,JUNK-FOOD>
<RTRUE>)
(<OR <VERB? MUNG REMOVE TASTE>
<AND <VERB? TAKE>
,PRSI>>
<FSET ,BANANA ,RMUNGBIT>
<TELL
"As the " D ,MONKEY " on " D ,BACK " catches a whiff of the tangy fruit
beneath the chocolate, you feel its primal heart begin to race and, on
the back of your neck, its warm breath quicken." CR>
<COND (<NOT <HELD? ,BANANA>>
<CRLF>
<MOVE ,BANANA ,PROTAGONIST>
<PERFORM ,V?DROP ,BANANA>)>
<RTRUE>)
(<VERB? EAT BITE>
<COND (<FSET? ,BANANA ,RMUNGBIT>
<MOVE ,BANANA ,LOCAL-GLOBALS>
<TELL
"It gives you a brief, but intense, headache." CR>)
(T
<PERFORM ,V?MUNG ,BANANA>
<RTRUE>)>)
(<AND <VERB? DROP THROW>
<FSET? ,BANANA ,RMUNGBIT>>
<MOVE ,MONKEY ,LOCAL-GLOBALS>
<MOVE ,BANANA ,LOCAL-GLOBALS>
<TELL
"Following its jungle appetite, the " D ,MONKEY " dismounts " D ,BACK ",
pounces on the banana, and saunters away with it." CR>)>>
<ROUTINE GEN-FOOD ()
,JUNK-FOOD>
<OBJECT JERRY
(IN LOCAL-GLOBALS)
(DESC "Jerry")
(SYNONYM MAN JERRY PITCHER)
(FLAGS NDESCBIT ACTORBIT PERSON NARTICLEBIT)
(ACTION JERRY-F)>
<ROUTINE JERRY-F ()
<COND ;(<LOST-TRACK?>
<RTRUE>)
(<EQUAL? ,JERRY ,WINNER>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?HELLO ,JERRY>
<SETG WINNER ,JERRY>
<RTRUE>)
(<TALKING-TO? ,JERRY>
<TELL
"The team is far too deeply engaged in nostalgia to pay any notice." CR>
<STOP>)
(<VERB? BOARD THROUGH>
;,IN-FRONT-FLAG
<PERFORM ,V?KILL ,JERRY>
<RTRUE>)
(<HURT? ,JERRY>
<FIGHT>
<FSET ,JERRY ,RMUNGBIT>)>>
<OBJECT TEAM
(DESC "group of ballplayers")
(SYNONYM GROUP BALLPLAYERS BASEMAN FIELDER)
(ADJECTIVE FIRST SECOND THIRD LEFT CENTER RIGHT CATCHER SHORTSTOP)
(FLAGS NDESCBIT ACTORBIT PERSON)
(ACTION TEAM-F)>
<ROUTINE TEAM-F ()
<COND ;(<LOST-TRACK?>
<RTRUE>)
(<HURT? ,TEAM>
<FIGHT>
<FSET ,TEAM ,RMUNGBIT>)
(<TALKING-TO? ,TEAM>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?HELLO ,JERRY>
<SETG WINNER ,TEAM>
<RTRUE>)
(<VERB? BOARD THROUGH>
;,IN-FRONT-FLAG
<PERFORM ,V?KILL ,TEAM>
<RTRUE>)
(<VERB? COUNT>
<TELL "Nine players, altogether." CR>)>>
;<ROUTINE LOST-TRACK? ()
<COND (<G? ,LINE-COUNTER 5>
<TELL "You've lost track of the team." CR>)>>
<ROUTINE FIGHT ()
<COND (<AND <FSET? ,JERRY ,RMUNGBIT>
<FSET? ,TEAM ,RMUNGBIT>>
<JIGS-UP 5
"With the ensuing rhubarb, you end up on the permanently disabled list.">)
(T
<PLAYER-NUM-CHECK>
<TELL
"The " <GET ,PLAYERS ,PLAYER-NUM> " steps in between. \"This ">
<MAN-OR-WOMAN "clown" "chick">
<TELL " giving you trouble">
<COND (<PRSO? ,JERRY>
<TELL ", Jerry">)>
;<PLAYER-NUM-CHECK>
<SETG PLAYER-NUM <RANDOM 8>>
<TELL
"?\" Then the " <GET ,PLAYERS ,PLAYER-NUM> " backs you off with a nasty
stare." CR>)>>
<ROUTINE PLAYER-NUM-CHECK ()
<COND (<OR <IS-NOUN? ,W?FIELDER>
<IS-ADJ? ,W?LEFT>
<IS-ADJ? ,W?CENTER>
<IS-ADJ? ,W?RIGHT>>
<SETG PLAYER-NUM <+ 3 <RANDOM 4>>>)
(<OR <IS-NOUN? ,W?BASEMAN>
<IS-ADJ? ,W?FIRST>
<IS-ADJ? ,W?SECOND>
<IS-ADJ? ,W?THIRD>>
<SETG PLAYER-NUM <RANDOM 5>>)
(<IS-NOUN? ,W?CATCHER>
<SETG PLAYER-NUM <RANDOM 3>>)
(<IS-NOUN? ,W?SHORTSTOP>
<SETG PLAYER-NUM <+ 4 <RANDOM 3>>>)
(T
<SETG PLAYER-NUM <RANDOM 8>>)>>
;<ROUTINE PLAYER-NUM-CHECK ()
<COND (<EQUAL? ,PLAYER-NUM 8>
<SETG PLAYER-NUM 1>)
(T
<SETG PLAYER-NUM <+ ,PLAYER-NUM 1>>)>>
<GLOBAL PLAYER-NUM 1>
;"the pitcher is Jerry"
<GLOBAL PLAYERS
<PLTABLE
"left fielder"
"right fielder"
"center fielder"
"shortstop"
"catcher"
"second baseman"
"first baseman"
"third baseman">>
<GLOBAL GREETINGS
<LTABLE 0
"glad-handing"
"reminiscing with"
"ribbing"
"backslapping"
"jiving with">>
<OBJECT CON-STAND
(IN LOCAL-GLOBALS)
(DESC "concession stand")
(SYNONYM STAND BLOOMER)
(ADJECTIVE CONCES)
(FLAGS NDESCBIT)
(ACTION CON-STAND-F)>
;"RMUNGBIT = in i-bad-luck other line has kicked into gear"
<ROUTINE CON-STAND-F ()
<COND (<VERB? EXAMINE>
<TELL
"It's just a ramshackle little stand, apparently staffed by ramshackle
little people from the looks of the service everyone is getting." CR>)
(<AND <VERB? WALK-TO THROUGH ENTER BOARD>
<EQUAL? ,HERE ,CON-AREA>
,DREAMING>
<COND (<EQUAL? <LOC ,PROTAGONIST> ,LONG ,SHORT>
<OUT-OF-FIRST <LOC ,PROTAGONIST>>)
(T
<TELL
"You pass through a gauntlet of angry side-glances, outright dirty looks
and verbal abuse. The concessionaire -- \"Okay who's next?\" -- serves
somebody else and you walk back against a stream of sadistic sneers." CR>)>)>>
<OBJECT CONCESSIONAIRE
(IN LOCAL-GLOBALS)
(DESC "concessionaire")
(SYNONYM CONCES)
;(ADJECTIVE CONCES)
(FLAGS NDESCBIT)
(ACTION CONCESSIONAIRE-F)>
<ROUTINE CONCESSIONAIRE-F ()
<COND (<OR <TALKING-TO? ,CONCESSIONAIRE>
<VERB? BUY>>
<TELL
"You're not close enough to the " D ,CONCESSIONAIRE "." CR>
<STOP>)
(<AND <VERB? WALK-TO>
<EQUAL? ,HERE ,CON-AREA>
,DREAMING>
<PERFORM ,V?WALK-TO ,CON-STAND>
<RTRUE>)>>
<OBJECT FOUNTAIN
(IN CON-AREA)
(DESC "drinking fountain")
(SYNONYM FOUNTAIN ;DRAIN SPOUT)
(ADJECTIVE DRINKING)
(FLAGS NDESCBIT)
(ACTION FOUNTAIN-F)>
<ROUTINE FOUNTAIN-F ()
<COND (<VERB? EXAMINE>
<TELL
"It's your standard " D ,FOUNTAIN ", with a button next to the spout." CR>)
(<VERB? DRINK-FROM>
<PERFORM ,V?PUSH ,BUTTON>
<RTRUE>)>>
<OBJECT BUTTON
(IN CON-AREA)
(DESC "button")
(SYNONYM BUTTON)
(FLAGS NDESCBIT)
(ACTION BUTTON-F)>
<ROUTINE BUTTON-F ()
<COND (<AND <EQUAL? <LOC ,PROTAGONIST> ,LONG ,SHORT>
<TOUCHING? ,BUTTON>>
<OUT-OF-FIRST <LOC ,PROTAGONIST>>)
(<VERB? PUSH>
<COND (<RUNNING? ,I-BOOST>
<COND (<EQUAL? ,BOOST-COUNTER 3>
<SETG HELPED-THUMB T>
<THUMB-DRINKS>
<BOOST-EXIT>)
(T
<TELL "Somebody else is ahead of you." CR>)>)
(<PROB 50>
<TELL
"A jet of water hits you square in the eye." CR>)
(T
<TELL
"The sip of water is refreshing on this hot night." CR>)>)>>
<OBJECT GLOBAL-WATER
(IN GLOBAL-OBJECTS)
(DESC "water")
(SYNONYM DRINK WATER)
(FLAGS NDESCBIT)
(ACTION GLOBAL-WATER-F)>
<ROUTINE GLOBAL-WATER-F ()
<COND (<EQUAL? ,HERE ,CON-AREA>
<COND (<VERB? TAKE DRINK TASTE>
<PERFORM ,V?PUSH ,BUTTON>
<RTRUE>)
(T
<RFALSE>)>)
(T
<CANT-SEE ,GLOBAL-WATER>)>>
<ROOM BACK-YARD
(IN ROOMS)
(DESC "Back Yard")
(NORTH TO BESIDE-BIGTOP)
(SOUTH PER TURNSTILE-EXIT)
(EAST TO NEAR-WAGON)
(WEST TO PROP-ROOM)
(NE TO CON-AREA)
(FLAGS ONBIT RLANDBIT)
(GLOBAL TURNSTILE TENT FENCE)
(ACTION BACK-YARD-F)>
<ROUTINE BACK-YARD-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You're standing in front of the " D ,TURNSTILE " entrance to a fenced-in
area, which is south. To the west stands a droopy tent, and the field
continues north and east." CR>)
(<AND <EQUAL? .RARG ,M-ENTER>
<ZERO? ,CLOWN-EXIT-COUNTER>
<NOT <RUNNING? ,I-BOOST>>
<NOT <FSET? ,BURNED-CAGE ,RMUNGBIT>>>
<FSET ,BURNED-CAGE ,RMUNGBIT>
<MOVE ,JOEY ,BACK-YARD>
;<MOVE ,THUMB ,BACK-YARD> ;"in i-clown-exit"
<MOVE ,FLOWER ,THUMB>
<ENABLE <QUEUE I-CLOWN-EXIT -1>>)
(<EQUAL? .RARG ,M-BEG>
<COND (<AND <NOT <RUNNING? ,I-CLOWN-EXIT>>
<CANT-WALK?>>
<RTRUE>)
(<AND <RUNNING? ,I-CLOWN-EXIT>
<VERB? WALK>
<HELD? ,THUMB>>
<SETG CLOWN-EXIT-COUNTER 7>
<TELL
"The midget becomes restless in your arms, halting your stroll." CR>)>)
(<AND <EQUAL? .RARG ,M-END>
<AND ,CLOWN-ALLEY-SCENE>
<NOT <FSET? ,BURNED-CAGE ,TOUCHBIT>>>
<FSET ,BURNED-CAGE ,TOUCHBIT>
<TELL CR ,GUARD-CALLS
"\"You're still around kicking sawdust, huh? Let me give a tip: Be careful,
there's no telling what, or who, could be lurking around the lot here at
night.\"" CR>)
(<AND <EQUAL? .RARG ,M-END>
<IN? ,GIRL ,PROTAGONIST>
<NOT ,GUARD-KNEW>>
<SETG GUARD-KNEW T>
<TELL CR
,GUARD-CALLS "\"Nice going, towner. It just shows you what can be accomplished
when you start out the evening with a little " D ,HELIUM ", eh?" CR>)>>
<GLOBAL GUARD-KNEW <>>
<GLOBAL CLOWN-EXIT-COUNTER 0> ;"REMEMBER, adds one at begin. of INT"
<GLOBAL THUMB-THRU <>>
<ROUTINE I-CLOWN-EXIT ("AUX" (NOT-HOLDING <>))
<COND (<NOT <HELD? ,THUMB>>
<SET NOT-HOLDING T>)>
<SETG CLOWN-EXIT-COUNTER <+ 1 ,CLOWN-EXIT-COUNTER>>
<COND (<NOT <EQUAL? ,HERE ,BACK-YARD>>
<SETG CLOWN-EXIT-COUNTER 8>)>
<COND (<EQUAL? ,CLOWN-EXIT-COUNTER 1>
<MOVE ,THUMB ,BACK-YARD>
<RTRUE>)
(<EQUAL? ,CLOWN-EXIT-COUNTER 2>
<MOVE ,JOEY ,CLOWN-ALLEY>
<SETG FOLLOW-FLAG 2>
<ENABLE <QUEUE I-FOLLOW 2>>
<COND (<NOT ,HELPED-THUMB>
<SETG CLOWN-EXIT-COUNTER 7>)>
;<MOVE ,GUARD ,BACK-YARD>
<TELL CR
"The tall clown, whom you now recognize as Chuckles, barks a hello into the
cage. You hear an electronic buzz from the " D ,TURNSTILE " and Chuckles passes
through.">)
(<AND <EQUAL? ,CLOWN-EXIT-COUNTER 3>
.NOT-HOLDING>
<TELL CR
D ,THUMB " performs an impromptu handstand.">)
(<AND <EQUAL? ,CLOWN-EXIT-COUNTER 4>
.NOT-HOLDING>
<TELL CR
D ,THUMB " belts out a few verses of a Russian folk song in his high-pitched,
squeaky voice while standing on his head.">)
(<AND <EQUAL? ,CLOWN-EXIT-COUNTER 5>
.NOT-HOLDING>
<TELL CR
"The midget performer does several cartwheels in a figure-eight pattern around
the grass field.">)
(<AND <EQUAL? ,CLOWN-EXIT-COUNTER 6>
.NOT-HOLDING>
<TELL CR
"In front of you, " D ,THUMB " terminates his acrobatics on one knee with
a grand gesture of his small arms.">)
(<AND <EQUAL? ,CLOWN-EXIT-COUNTER 7>
.NOT-HOLDING>
<TELL CR
D ,THUMB " is pausing to rest.">)
(<EQUAL? ,CLOWN-EXIT-COUNTER 8>
<DISABLE <INT I-CLOWN-EXIT>>
<COND (<EQUAL? ,HERE ,BACK-YARD>
<COND (<HELD? ,THUMB>
<TELL CR
"Wriggling out of your hold, ">)
(T
<CRLF>)>
<TELL
D ,THUMB ", in his squeaky and high-pitched voice, says \"Hello Harry\" toward
the " D ,BURNED-CAGE ". You hear a buzzing sound from the " D ,TURNSTILE " as
the midget reaches up to its lowest rung and passes through ..." CR>)>
<SETG THUMB-THRU T>
<DISABLE <INT I-TURNSTILE>>
<FCLEAR ,THUMB ,NDESCBIT>
<FCLEAR ,JOEY ,NDESCBIT>
<SETG FOLLOW-FLAG 2>
<ENABLE <QUEUE I-FOLLOW 2>>
<MOVE ,FLOWER ,LOCAL-GLOBALS>
<MOVE ,THUMB ,CLOWN-ALLEY>
<MOVE ,JOEY ,CLOWN-ALLEY>
<RTRUE>)
(T
<RFALSE>)>
<CRLF>>
<OBJECT CHUTE
(IN BESIDE-BIGTOP)
(DESC "barred passage")
(SYNONYM PASSAGE CHUTE BAR BARS)
(ADJECTIVE BARRED ;WILD ;ANIMAL)
(DESCFCN CHUTE-DESC)
(FLAGS CONTBIT OPENBIT TRANSBIT ;NDESCBIT)
(CAPACITY 500)
(CONTFCN IN-CHUTE)
(GENERIC GEN-BAR)
(ACTION CHUTE-F)>
<ROUTINE CHUTE-DESC ("OPTIONAL" X)
<TELL
"About waist-high, a barred passage for wild animals extends several yards
out from the " D ,BIGTOP>
<COND (<IN? ,NIMROD ,CHUTE>
<COND (<NOT <IN? ,MEAT ,CHUTE>>
<TELL
". The " D ,CHUTE " is being patrolled by two large ">
<COND (<NOT <FSET? ,GRATE ,OPENBIT>>
<TELL "and bewildered ">)>
<TELL "cats">)
(<IN? ,MEAT ,CHUTE>
<TELL
". Inside the chute, Nimrod and Elsie are loudly digging their chops into
the " D ,MEAT>)>)>
<TELL ".">>
<ROUTINE CHUTE-F ("OPTIONAL" (RARG <>))
<COND (<VERB? EXAMINE LOOK-INSIDE>
<COND (<AND <OR <IS-NOUN? ,W?BAR>
<IS-NOUN? ,W?BARS>>
<VERB? EXAMINE>>
<RFALSE>)
(<IN? ,ELSIE ,CHUTE>
<TELL "Two lions are ">
<COND (<IN? ,MEAT ,CHUTE>
<TELL "chomping on some meat inside">)
(T
<TELL "strolling the length of">)>
<TELL " the " D ,CHUTE>
<MOVE-LIONS ,DUMMY-OBJECT>
<COND (<IN? ,MEAT ,CHUTE>
<MOVE ,MEAT ,DUMMY-OBJECT>)>
<COND (<FIRST? ,CHUTE>
<TELL ", which also contains">
<PRINT-CONTENTS ,CHUTE>)>
<MOVE-LIONS ,CHUTE>
<COND (<IN? ,MEAT ,DUMMY-OBJECT>
<MOVE ,MEAT ,CHUTE>)>
<TELL ,PERIOD>)>)
(<VERB? BOARD THROUGH ENTER>
<TELL-CLOSELY-SPACED T>)
(<VERB? FOLLOW>
<TELL "It leads right into the " D ,BIGTOP "." CR>)
(<VERB? OPEN CLOSE>
<TELL "The rusty grate is inside the " D ,BIGTOP "." CR>)
(<VERB? WALK-AROUND>
<PERFORM ,V?LOOK-BEHIND ,CHUTE>
<RTRUE>)
(<AND <VERB? PUT>
<PRSI? ,CHUTE>>
<COND (<PRSO? ,MOUSE ,BALLOON>
<RFALSE>)
(<AND <G? <GETP ,PRSO ,P?SIZE> 20>
<NOT <EQUAL? ,PRSO ,POLE>>>
<TELL-CLOSELY-SPACED>)
(T
<COND (<AND <PRSO? ,MEAT>
<FSET? ,GRATE ,OPENBIT>>
<ENABLE <QUEUE I-LION 2>>)>
<MOVE ,PRSO ,CHUTE>
<TELL "You slip">
<ARTICLE ,PRSO T>
<TELL " into the " D ,CHUTE "." CR>)>)
(<AND <VERB? REACH-IN>
<IN? ,NIMROD ,CHUTE>>
<TELL "You'd">
<TELL-WITHDRAW-STUMP>)>>
<ROUTINE IN-CHUTE ()
<COND (<AND <VERB? TAKE MOVE RUB>
<EQUAL? ,HERE ,BESIDE-BIGTOP>>
<COND (<IN? ,ELSIE ,CHUTE>
<TELL
"If you reached into the " D ,CHUTE " you'd">
<TELL-WITHDRAW-STUMP T>)
(<AND <VERB? TAKE>
<PRSO? ,MEAT>
<FSET? ,GRATE ,OPENBIT>>
<CANT-REACH ,MEAT>)
;(<AND <VERB? TAKE>
<G? <GETP ,PRSO ,P?SIZE> 20>
<NOT <EQUAL? ,PRSO ,POLE>>>
<TELL-CLOSELY-SPACED>)
(T
<RFALSE>)>)
(T
<RFALSE>)>>
<ROUTINE TELL-WITHDRAW-STUMP ("OPTIONAL" (PRSO? <>))
<TELL
" likely withdraw a stump instead of " D ,HANDS>
<COND (.PRSO?
<TELL " or">
<ARTICLE ,PRSO T>)>
<TELL ,PERIOD>>
<OBJECT GRATE
(IN DEN)
(DESC "rusty grate")
(SYNONYM GRATE CHUTE PASSAGE)
(ADJECTIVE SQUARE RUSTY)
(FLAGS NDESCBIT DOORBIT)
(ACTION GRATE-F)>
;"RMUNGBIT = have opened it once while lions feed in den - lions pivot around
their dinner"
<ROUTINE GRATE-F ()
<COND (<AND <VERB? PUT>
<PRSI? ,GRATE>>
<COND (<PRSO? ,BALLOON>
<RFALSE>)
(<FSET? ,GRATE ,OPENBIT>
<MOVE ,PRSO ,CHUTE>
<TELL "You fling">
<ARTICLE ,PRSO T>
<TELL " into the darkness of the passage. ">
<COND (<PRSO? ,MOUSE>
<MOVE ,MOUSE ,LOCAL-GLOBALS>)
(<AND <IN? ,NIMROD ,DEN>
<PRSO? ,MEAT>>
<TELL ,LIONS-WAIT>)>
<CRLF>
<RTRUE>)
(T
<TELL "The " D ,GRATE " is closed." CR>)>)
(<OR <AND <NOT <FSET? ,GRATE ,OPENBIT>>
<VERB? OPEN RAISE PUSH>>
<AND <FSET? ,GRATE ,OPENBIT>
<VERB? CLOSE LOWER PUSH>>>
<COND (<IN? ,ELSIE ,CHUTE>
<COND (<VERB? OPEN RAISE>
<JIGS-UP 2
"With the force and brightness of a supernova, Nimrod's mane suddenly
bursts from the dark passage.">)
(T
<OPEN-GRATE>)>)
(<IN? ,MEAT ,HERE>
<COND (<FSET? ,GRATE ,RMUNGBIT>
<OPEN-GRATE>)
(T
<FSET ,GRATE ,RMUNGBIT>
<OPEN-GRATE T>)>)
(<EQUAL? ,ELSIE-COUNTER 0>
<TELL
"Like sentries on guard, the pacing lions prevent this." CR>)
(<L? ,ELSIE-COUNTER 3>
<TELL
"The " D ,ELSIE " is blocking access to the " D ,GRATE "." CR>)
(<NOT <HELD? ,STOOL>>
<TELL
"You're unable to get close enough without the " D ,NIMROD " getting too close
to you." CR>)
(T
<TELL
"Using the stool as a barrier against the " D ,NIMROD ", you're able to reach
it. ">
<OPEN-GRATE>)>)
(<VERB? LOOK-INSIDE EXAMINE>
<TELL "The ">
<COND (<FSET? ,GRATE ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL
" " D ,GRATE " leads to a passage going away from the round cage. "
,YOU-SEE " that it is empty up to the point where it extends outside of the
big top." CR>)
(<AND <OR <TOUCHING? ,GRATE>
<VERB? WALK-TO BOARD THROUGH>>
<IN? ,ELSIE ,HERE>
<NOT <EQUAL? ,ELSIE-COUNTER 3>>
<NOT <IN? ,MEAT ,HERE>>
;<NOT <HELD? ,STOOL>>>
<TELL "You can't get over to the grate." CR>
<RTRUE>)
(<VERB? BOARD THROUGH ENTER>
<COND (<FSET? ,GRATE ,OPENBIT>
<TELL "That's dangerous and foolhardy." CR>)
(T
<TELL "The grate is closed." CR>)>
<RTRUE>)>>
<ROUTINE OPEN-GRATE ("OPTIONAL" (EATING-MEAT? <>))
<COND (.EATING-MEAT?
<TELL "The ">
<COND (<ZERO? ,ELSIE-COUNTER>
<TELL "lions rotate">)
(T
<TELL D ,NIMROD " rotates">)>
<TELL
" around the lump of meat, continuing to feed while watching you. ">)>
<TELL "The " D ,GRATE " slides ">
<COND (<VERB? OPEN RAISE>
<FSET ,GRATE ,OPENBIT>
<TELL "up, jamming into place. ">
<COND (<IN? ,MEAT ,CHUTE>
<TELL ,LIONS-WAIT>)>
<CRLF>)
(T
<FCLEAR ,GRATE ,OPENBIT>
<TELL "down to the " D ,GROUND "." CR>)>>
<ROOM BESIDE-BIGTOP
(IN ROOMS)
(DESC "Beside the Big Top")
(SOUTH TO BACK-YARD)
(NORTH "You bump into the side wall of the big top.")
(SE TO NEAR-WAGON)
(EAST TO CON-AREA)
(WEST "It's too dark and unfamiliar out there.")
(FLAGS ONBIT RLANDBIT)
(GLOBAL BIGTOP)
(ACTION BESIDE-BIGTOP-F)>
<ROUTINE BESIDE-BIGTOP-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You're standing next to the " D ,BIGTOP ", which is gently flapping in the
warm breeze." CR>)>>
;"Wagon and office stuff"
<ROOM NEAR-WAGON
(IN ROOMS)
(DESC "Near White Wagon")
(NORTH TO CON-AREA)
(SOUTH PER EGRESS-EXIT)
(OUT PER EGRESS-EXIT)
(NW TO BESIDE-BIGTOP)
(EAST TO OFFICE IF OFFICE-DOOR IS OPEN)
(IN TO OFFICE IF OFFICE-DOOR IS OPEN)
(WEST TO BACK-YARD)
(NE PER FENCE-EXIT)
(UP PER UP-LADDER)
(GLOBAL OFFICE-DOOR BANNER FENCE WAGON LADDER)
(FLAGS ONBIT RLANDBIT)
(ACTION NEAR-WAGON-F)>
<ROUTINE NEAR-WAGON-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are standing on a gentle upslope of the grassy field, next to a rather
imposing trailer whose door is ">
<COND (<FSET? ,OFFICE-DOOR ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL " to the east">
<COND (<FSET? ,LADDER ,RMUNGBIT>
<TELL
". Attached to the rear of the trailer is a step" D ,LADDER>)>
<TELL
". In dark panorama, the field continues north and west -- and south, where
a large banner has been erected." CR>
<COND (<FSET? ,LADDER ,RMUNGBIT>
<CRLF>
<TELL-BULL-HOLE>)>)
(<EQUAL? .RARG ,M-ENTER>
<COND (<QUEUE-THUMB?>
<ENABLE <QUEUE I-THUMB 1>>)>
<COND (<AND <IN? ,BULL ,LOCAL-GLOBALS>
<NOT <FSET? ,LADDER ,RMUNGBIT>>>
<TELL "Y">
<NOTICE-LADDER>)>)
(<AND <EQUAL? .RARG ,M-BEG>
<IN? ,MUNRAB ,MEN>
<IN? ,GIRL ,PROTAGONIST>
<VERB? WALK>
<NOT <EQUAL? ,P-WALK-DIR ,P?NE>>>
<DONT-WALK ,GIRL>)>>
<ROUTINE NOTICE-LADDER ()
<FSET ,LADDER ,RMUNGBIT>
<TELL
"ou come to the " D ,WAGON " and notice a stepladder attached to its rear."
CR CR>>
<GLOBAL EGRESS-C 0>
;<GLOBAL KNOW-EGRESS <>>
<ROUTINE EGRESS-EXIT ()
<SETG EGRESS-C <+ ,EGRESS-C 1>>
<COND (<EQUAL? ,EGRESS-C 1>
<SETG AWAITING-REPLY 10>
<ENABLE <QUEUE I-ARGUMENT 2>>
<TELL
"Are you sure you're mentally and otherwise prepared to meet up with
an " D ,EGRESS "?" CR>
<RFALSE>)
(<EQUAL? ,EGRESS-C 2>
<SETG AWAITING-REPLY 11>
<ENABLE <QUEUE I-ARGUMENT 2>>
<TELL
"Then you're fully aware of the ferociousness of this rare mammalian species,
right?" CR>
<RFALSE>)
(<EQUAL? ,EGRESS-C 3>
<DISABLE <INT I-ARGUMENT>>
<SETG AWAITING-REPLY 12>
<ENABLE <QUEUE I-REPLY 2>>
<TELL
"Alright, so you know all about " D ,EGRESS "es. But do you really want to
leave the circus in all of its mystery and all of its pageantry behind?" CR>
<RFALSE>)
(<G? ,EGRESS-C 3>
<DISABLE <INT I-ARGUMENT>>
<SETG AWAITING-REPLY <>>
<FINISH>)>>
<ROUTINE I-ARGUMENT ()
<COND (<OR <EQUAL? ,P-WALK-DIR ,P?SOUTH>
<AND <EQUAL? ,AWAITING-REPLY 10>
<VERB? YES>>
<AND <EQUAL? ,AWAITING-REPLY 11>
<VERB? NO>>>
<RTRUE>)
(T
<SETG AWAITING-REPLY <>>
<SETG EGRESS-C 0>)>>
<ROUTINE TELL-BULL-HOLE ()
<TELL
"There is an elephant-sized hole in the fence to the ">
<COND (<EQUAL? ,HERE ,MEN>
<TELL "southwest">)
(T
<TELL "northeast">)>
<TELL ,PERIOD>>
<ROOM ON-WAGON
(IN ROOMS)
(DESC "On the Wagon")
(DOWN PER DOWN-WAGON)
(IN PER IN-PANEL)
(FLAGS ONBIT RLANDBIT)
;(PSEUDO "CRANK" CRANK-PSEUDO)
(GLOBAL PANEL LADDER OFFICE-DOOR WAGON OFFICE-OBJECT)
(GROUND-LOC NEAR-WAGON)
(ACTION ON-WAGON-F)>
<ROUTINE ON-WAGON-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are on the wagon, a condition in which you're not likely to find the
detective. The aluminum roofing gives way slightly underfoot. You observe a "
D ,PANEL>
<COND (<FSET? ,PANEL ,OPENBIT>
<TELL ", which is open">)>
<TELL ", and next to it, a kind of crank." CR>)
(<EQUAL? .RARG ,M-ENTER>
<FCLEAR ,OFFICE-DOOR ,RMUNGBIT>
<COND (<NOT <FSET? ,ON-WAGON ,TOUCHBIT>> ;"door opens,closes"
<ENABLE <QUEUE I-OFFICE 1>>)>)
(<AND <EQUAL? .RARG ,M-BEG>
<IN? ,MUNRAB ,HERE>
<FSET? ,PANEL ,OPENBIT>
<OR <AND <VERB? LEAP>
<NOT ,PRSO>>
<AND <VERB? LEAP KICK KILL ;KNOCK>
<PRSO? ,WAGON>>>>
<TELL
D ,MUNRAB " must have pretty bad hearing, since he doesn't seem to
notice the noise coming from the roof." CR>)>>
<ROUTINE IN-PANEL ()
<COND (<NOT <FSET? ,PANEL ,OPENBIT>>
<TELL "The " D ,PANEL " is closed." CR>
<RFALSE>)
(<IN? ,MUNRAB ,ON-WAGON>
<TELL
"Aghast by your dropping in on him like this, " D ,MUNRAB>
<JIGS-UP 3
" grabs the nearest weapon-like object, which happens to be a gold-plated
letter opener, and goes for the throat.">
<RFALSE>)
;(<G? <WEIGHT ,PROTAGONIST> 20>
<TELL
"It's too tight a squeeze with what you're carrying." CR>
<RFALSE>)
(T
<TELL "You wriggle through the panel opening." CR CR>
<RETURN ,OFFICE>)>>
<OBJECT WAGON
(IN LOCAL-GLOBALS)
(DESC "white wagon")
(SYNONYM WAGON TRAILER LOGO)
(ADJECTIVE WHITE)
(FLAGS NDESCBIT)
(ACTION WAGON-F)>
<ROUTINE WAGON-F ()
<COND (<AND <VERB? EXAMINE READ>
<EQUAL? ,HERE ,NEAR-WAGON>>
<TELL
"The familiar logo for \"The Travelling Circus That Time Forgot, Inc.\" is
emblazoned across the long side of the " D ,WAGON>
<COND (<IS-NOUN? ,W?LOGO>
<TELL ,PERIOD>
<RTRUE>)>
<TELL ". The ">
<OPEN-CLOSED ,OFFICE-DOOR>
<TELL " " D ,OFFICE-DOOR " is at the east">
<COND (<FSET? ,LADDER ,RMUNGBIT>
<TELL ", and there's">
<TELL-LADDER>)>
<TELL ,PERIOD>)
(<AND <VERB? LOOK-INSIDE>
<EQUAL? ,HERE ,ON-WAGON>>
<PERFORM ,V?LOOK-INSIDE ,PANEL>
<RTRUE>)
(<VERB? PUT>
<COND (<AND <FSET? ,PANEL ,OPENBIT>
<IN? ,MUNRAB ,ON-WAGON>>
<STARTLE-MUNRAB>)
(T
<V-DIG>)>)
(<VERB? PUT-ON>
<COND (<EQUAL? ,HERE ,ON-WAGON>
<PERFORM ,V?DROP ,PRSO>
<RTRUE>)
(T
<V-DIG>)>)
(<VERB? WALK-AROUND LOOK-BEHIND>
<COND (<FSET? ,LADDER ,RMUNGBIT>
<TELL "You see">
<TELL-LADDER>)
(T
<TELL "A " D ,FENCE " prevents this">)>
<TELL ,PERIOD>)
(<VERB? KNOCK>
<PERFORM ,V?KNOCK ,OFFICE-DOOR>
<RTRUE>)
(<VERB? WALK-TO THROUGH ENTER BOARD>
<COND (<EQUAL? ,HERE ,ON-WAGON ,NEAR-WAGON>
<DO-WALK ,P?IN>)
(<EQUAL? ,HERE ,OFFICE>
<TELL ,LOOK-AROUND CR>)>)
(<VERB? DISEMBARK>
<COND (<EQUAL? ,HERE ,ON-WAGON>
<PERFORM ,V?CLIMB-DOWN ,LADDER>
<RTRUE>)
(<EQUAL? ,HERE ,OFFICE>
<DO-WALK ,P?UP>)>)
(<AND <VERB? CLIMB-UP CLIMB-FOO CLIMB-ON>
<FSET? ,LADDER ,RMUNGBIT>>
<DO-WALK ,P?UP>)
(<AND <VERB? LOOK-UNDER>
<NOT <FSET? ,POLE ,TOUCHBIT>>
<IN? ,POLE ,HERE>>
<TELL <GETP ,POLE ,P?FDESC> CR>
<RTRUE>)>>
<ROUTINE TELL-LADDER ()
<TELL " a narrow ladder attached to the back of the wagon">>
<ROUTINE DOWN-WAGON ()
<COND (<FSET? ,PANEL ,OPENBIT>
<TELL
"[Do you want to climb down the ladder or climb in through the opening? Type
CLIMB DOWN LADDER or IN.]" CR>
<SETG CLOCK-WAIT T>
<RFALSE>)
(T
<DOWN-LADDER>)>>
<OBJECT CRANK
(IN ON-WAGON)
(DESC "crank")
(SYNONYM CRANK)
(FLAGS NDESCBIT)
(ACTION CRANK-F)>
<ROUTINE CRANK-F ()
<COND (<AND <VERB? SET>
<NOT ,PRSI>>
<TELL
"The crank is rotated ">
<COND (<FSET? ,PANEL ,RMUNGBIT>
<TELL "but the " D ,PANEL " doesn't open.">)
(T
<TELL "and the " D ,PANEL " gradually slides ">
<COND (<FSET? ,PANEL ,OPENBIT>
<FCLEAR ,PANEL ,OPENBIT>
<TELL "closed.">)
(T
<FSET ,PANEL ,OPENBIT>
<TELL "open.">)>)>
<CRLF>)>>
<OBJECT PANEL
(IN LOCAL-GLOBALS)
(DESC "square aluminum panel")
(SYNONYM PANEL OPENING)
(ADJECTIVE ALUMINUM SQUARE)
(FLAGS NDESCBIT DOORBIT)
(ACTION PANEL-F)>
<ROUTINE PANEL-F () ;"The open-close shit only for testing in Zil"
<COND (<VERB? CLIMB-DOWN THROUGH BOARD>
<DO-WALK ,P?IN>)
(<VERB? LOOK-INSIDE>
<COND (<OR <NOT <FSET? ,PANEL ,OPENBIT>>
<EQUAL? ,HERE ,OFFICE>>
<PERFORM ,V?EXAMINE ,PANEL>
<RTRUE>)
(T
<TELL ,YOU-SEE>
<COND (<IN? ,MUNRAB ,ON-WAGON>
<TELL
" the top view of " D ,MUNRAB "'s schlock of silvery blow-dried hair. He
is busy at his desk.">)
(T
<TELL " an unoccupied office.">)>
<CRLF>)>)
(<AND <VERB? PUT PUT-ON>
<PRSI? ,PANEL>>
<V-DIG>)
(<OR <AND <VERB? OPEN>
<NOT <FSET? ,PANEL ,OPENBIT>>>
<AND <VERB? CLOSE>
<FSET? ,PANEL ,OPENBIT>>>
<COND (<EQUAL? ,HERE ,OFFICE>
<CANT-SEE <> "the crank">)
(T
<PERFORM ,V?SET ,CRANK>
<RTRUE>)>)>>
<ROOM OFFICE
(IN ROOMS)
(DESC "Office")
(UP PER UP-OFFICE)
(WEST TO NEAR-WAGON IF OFFICE-DOOR IS OPEN)
(OUT TO NEAR-WAGON IF OFFICE-DOOR IS OPEN)
(FLAGS ONBIT RLANDBIT INDOORSBIT)
(GLOBAL PANEL OFFICE-DOOR WAGON OFFICE-OBJECT)
(PSEUDO "MEMOS" MEMOS-F "MEMO" MEMOS-F)
(ACTION OFFICE-F)>
<ROUTINE OFFICE-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is " D ,MUNRAB "'s plush inner sanctum, containing all the furnishings
of the well-appointed, modern office -- including a shiny, expansive " D ,DESK
". Along one " D ,WALLS ", below some framed sheepskin, runs a " D ,BOOKS ".|
|
The ">
<COND (<FSET? ,OFFICE-DOOR ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL
" " D ,OFFICE-DOOR " on the west wall appears lockable without a key." CR>)
(<AND <EQUAL? .RARG ,M-ENTER>
<NOT <FSET? ,OFFICE ,TOUCHBIT>>>
<SETG SCORE <+ ,SCORE 10>>
<RFALSE>)>>
<OBJECT SHEET
(IN DESK)
(DESC "spreadsheet")
(SYNONYM SPREADSHEET SHEET PRINTOUT)
(ADJECTIVE COMPUTER)
(FLAGS ;NDESCBIT TAKEBIT)
(ACTION SHEET-F)>
;"RMUNGBIT = Clown knows about "
<GLOBAL SEEN-SHEET <>> ;"player has seen sheet"
<ROUTINE SHEET-F ()
<COND (<VERB? READ EXAMINE>
<SETG SEEN-SHEET T>
<TELL
"The spreadsheet shows lists of declining numbers which appear to be the
salary of one performer named Eddie Smaldone." CR>)>>
<OBJECT PHONE
(IN DESK)
(DESC "telephone")
(SYNONYM TELEPH PHONE)
(FLAGS ;NDESCBIT TRYTAKEBIT TAKEBIT)
(ACTION PHONE-F)>
<ROUTINE PHONE-F ()
<COND (<VERB? REPLY>
<TELL "The ringing is only in your ears." CR>)
(<VERB? TAKE>
<TELL "You hear a dial tone." CR>)
(<VERB? HANG-UP DROP>
<TELL "Slam!" CR>)>>
<OBJECT POLICE
(IN GLOBAL-OBJECTS)
(DESC "police")
(SYNONYM POLICE COPS STATION)
(ADJECTVIE POLICE)
(FLAGS NDESCBIT)
(ACTION POLICE-F)>
<ROUTINE POLICE-F ()
<COND (<DONT-HANDLE? ,POLICE>
<RFALSE>)
(T
<CANT-SEE ,POLICE>)>>
<OBJECT FENCE
(IN LOCAL-GLOBALS)
(DESC "chain link fence")
(SYNONYM FENCE HOLE)
(ADJECTIVE CHAIN LINK ;ELEPHANT)
(FLAGS NDESCBIT)
(ACTION FENCE-F)>
<ROUTINE FENCE-F ()
<COND (<AND <IN? ,BULL ,MEN>
<IS-NOUN? ,W?HOLE>>
<CANT-SEE <> "the hole">)
(<AND <VERB? EXAMINE>
<NOT <IN? ,BULL ,MEN>>
<EQUAL? ,HERE ,MEN ,NEAR-WAGON>>
<TELL-BULL-HOLE>)
(<VERB? CLIMB-UP CLIMB-FOO CLIMB-ON CLIMB-OVER>
<TELL
"Though hastily constructed, the " D ,FENCE " succeeds as a barrier." CR>)
(<VERB? THROUGH WALK-TO ENTER>
<COND (<EQUAL? ,HERE ,MEN>
<DO-WALK ,P?SW>)
(<EQUAL? ,HERE ,NEAR-WAGON>
<DO-WALK ,P?NE>)>)>>
<OBJECT EDDIE
(IN GLOBAL-OBJECTS)
(DESC "Eddie Smaldone")
(SYNONYM EDDIE SMALDO MAN)
(ADJECTIVE EDDIE ED)
(FLAGS NDESCBIT NARTICLEBIT ACTORBIT PERSON)
(ACTION EDDIE-F)>
;"Eddie Rmungbit = Player knows (from guard) the ID of this name"
<GLOBAL JOEY-NAME-KNOWN <>>
<ROUTINE EDDIE-F ()
<COND (<AND <DONT-HANDLE? ,EDDIE>
<NOT <EQUAL? ,PRSA ,V?FOLLOW>>>
<RFALSE>)
(<VERB? FOLLOW>
<COND (<EQUAL? ,FOLLOW-FLAG 2>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,FOLLOW-FLAG 3>
<DO-WALK ,P?WEST>)
(<EQUAL? ,FOLLOW-FLAG 4>
<DO-WALK ,P?EAST>)>)
(<NOT <FSET? ,EDDIE ,RMUNGBIT>>
<TELL "You don't know anyone here by that name." CR>
<RFATAL>)
(<NOT <IN? ,JOEY ,HERE>>
<CANT-SEE ,EDDIE>)
(<TALKING-TO? ,EDDIE>
<COND (,JOEY-NAME-KNOWN
<COND (<AND <NOT ,WON-JOEY>
<JOEY-SCARED?>>
<RFATAL>)>
<TELL "To your words " D ,JOEY " responds not." CR>
<STOP>)
(T
<SETG JOEY-NAME-KNOWN T>
<SETG SCARE-NUMBER <+ ,SCARE-NUMBER 1>>
<COND (<AND <NOT ,WON-JOEY>
<JOEY-SCARED?>>
<RFATAL>)>
<TELL
D ,JOEY " snorts at the sound of the name and continues wiping the "
D ,TAMER-TRAILER "." CR>
<STOP>)>)
(T
<SETG JOEY-NAME-KNOWN T>
<COND (<AND <NOT ,WON-JOEY>
<JOEY-SCARED?>>
<RFATAL>)
(T
<JOEY-F>)>)>>
<ROUTINE DONT-HANDLE? (PERSON) ;"or thing"
<COND (<AND <EQUAL? .PERSON ,PRSO>
<VERB? FIND FOLLOW WHAT WHERE WALK-TO CALL PHONE
PHONE-WITH>>
<RTRUE>)
(<AND <EQUAL? .PERSON ,PRSI>
<VERB? ASK-ABOUT TELL-ABOUT ASK-FOR>>
<RTRUE>)>>
<ROUTINE MEMOS-F ()
<COND (<VERB? SEARCH MOVE LOOK-UNDER PUSH>
<TELL "This reveals nothing new." CR>)
(<VERB? READ EXAMINE>
<TELL
"The handwriting is frantic and mostly illegible. From what you can make out,
the memos, all dated before today, contain threats and expressions of rage
from " D ,MUNRAB " toward most of his circus employees." CR>)
(<VERB? TAKE>
<ENABLE <QUEUE I-REPLY 2>>
<SETG AWAITING-REPLY 4>
<TELL "You? Take a memo?" CR>)>>
<GLOBAL OFFICE-C 0>
<ROUTINE I-OFFICE ()
<COND (<FSET? ,OFFICE-DOOR ,RMUNGBIT>
<FCLEAR ,OFFICE-DOOR ,RMUNGBIT>
<RFALSE>)>
<SETG OFFICE-C <+ ,OFFICE-C 1>>
<COND (<EQUAL? ,OFFICE-C 1>
<TELL CR
"Below you, the " D ,OFFICE-DOOR " swings open and then closed." CR>)
(<EQUAL? ,OFFICE-C 4>
<COND (<EQUAL? ,HERE ,OFFICE>
<COND (<AND <VERB? OPEN>
<PRSO? ,OFFICE-DOOR>>
<TELL "You hesitate as you ">)
(T
<TELL CR "You ">)>
<TELL
"hear footsteps and hushed voices approaching the wagon." CR>)
(T
<MUNRAB-ENTERS-OFFICE>)>) ;"can only be on-wagon?"
(<G? ,OFFICE-C 4>
<COND (<EQUAL? ,HERE ,OFFICE>
<COND (<OR <EQUAL? ,OFFICE-C 12>
<NOT <FSET? ,OFFICE-DOOR ,LOCKEDBIT>>>
<BARGE-OFFICE>
<RTRUE>)
(<OR <EQUAL? ,OFFICE-C 5 7 9>
<EQUAL? ,OFFICE-C 11>>
<TELL CR "You can hear someone outside ">
<COND (<NOT <EQUAL? ,OFFICE-C 5>>
<TELL "still ">)>
<TELL "trying to force open the door." CR>)>)
(T
<MUNRAB-ENTERS-OFFICE>
<RTRUE>)>)>>
<ROUTINE MUNRAB-ENTERS-OFFICE ("OPTIONAL" (DOWN-LADDER? <>))
<DISABLE <INT I-OFFICE>>
<MOVE ,MUNRAB ,OFFICE>
<FSET ,OFFICE-DOOR ,LOCKEDBIT>
<FCLEAR ,DESK ,RMUNGBIT>
<FSET ,PANEL ,RMUNGBIT>
<COND (.DOWN-LADDER?
<TELL
D ,MUNRAB " reappears out of the darkness and quickly enters the " D ,WAGON
" just as you scramble down the ladder." CR CR>
<FCLEAR ,PANEL ,OPENBIT>
<RTRUE>)
(T
<TELL CR
"You can hear someone, presumably " D ,MUNRAB ", barge into the office">
<COND (<FSET? ,PANEL ,OPENBIT>
<TELL
". By remote control he slides the " D ,PANEL " closed">)>
<FCLEAR ,PANEL ,OPENBIT>
<TELL ,PERIOD>)>>
<ROUTINE BARGE-OFFICE ()
<TELL CR
D ,MUNRAB " suddenly barges into the office; he's shakily gripping a small
caliber pistol. ">
<JIGS-UP 5 "A shot rings out.">>
<OBJECT OFFICE-DOOR
(IN LOCAL-GLOBALS)
(DESC "office door")
(SYNONYM DOOR LOCK)
(ADJECTIVE OFFICE)
(FLAGS NDESCBIT DOORBIT LOCKEDBIT VOWELBIT)
(ACTION OFFICE-DOOR-F)>
<ROUTINE OFFICE-DOOR-F ()
<COND (<AND <VERB? EXAMINE>
<EQUAL? ,HERE ,OFFICE>>
<TELL "It is lockable from this side." CR>)
(<AND <VERB? OPEN LOCK UNLOCK>
<EQUAL? ,HERE ,ON-WAGON>>
<NO-POSITION>
<RTRUE>)
(<AND <VERB? OPEN> ;"You hesitate - handled by I-OFFICE"
<NOT <FSET? ,OFFICE-DOOR ,LOCKEDBIT>>
<EQUAL? ,HERE ,OFFICE>
<RUNNING? ,I-OFFICE>
<L? ,OFFICE-C 4>>
<SETG OFFICE-C 3>
<RTRUE>)
;(<AND <VERB? OPEN UNLOCK> ;"In I-OFFICE if door is unlocked"
<G? ,OFFICE-C 5>
<RUNNING? ,I-OFFICE>>
<BARGE-OFFICE>)
;(<AND <VERB? LOCK UNLOCK>
<NOT <EQUAL? ,HERE ,OFFICE>>>
<PRE-LOCK>)
(<VERB? KNOCK>
<COND (<FSET? ,OFFICE ,TOUCHBIT>
;<AND <EQUAL? ,HERE ,NEAR-WAGON>
<FSET? ,OFFICE-DOOR ,RMUNGBIT>>
<RFALSE>)
(<IN? ,MUNRAB ,ON-WAGON>
<COND (<EQUAL? ,HERE ,ON-WAGON>
<FCLEAR ,OFFICE-DOOR ,LOCKEDBIT>
<MOVE ,MUNRAB ,LOCAL-GLOBALS>
<ENABLE <QUEUE I-OFFICE -1>>
<TELL
"Below you "D ,MUNRAB " very cautiously steps outside and begins poking around,
closing the door behind him. He wanders into the darkness." CR>)
(<NOT <FSET? ,OFFICE-DOOR ,RMUNGBIT>>
<FSET ,OFFICE-DOOR ,RMUNGBIT>
<ENABLE <QUEUE I-OFFICE 4>>
<TELL
D ,MUNRAB " pops his head out of his office, scowls at you for a moment,
then withdraws, shutting the door." CR>)>)>)>>
<ROUTINE CLIMB-PANEL ()
<TELL
"You climb onto the desk, and hoist yourself through the panel opening."CR CR>>
<GLOBAL NOT-REACH " able to reach the opening">
<ROUTINE UP-OFFICE ()
<COND (<FSET? ,DESK ,RMUNGBIT>
<SETG OFFICE-C 5> ;"this move munrab enters in I-OFFICE"
<CLIMB-PANEL>
<RETURN ,ON-WAGON>)
(,END-GAME
<V-DIG>
<RFALSE>)
(T
<TELL "You're not" ,NOT-REACH "." CR>
<RFALSE>)>>
<OBJECT OFFICE-OBJECT
(IN LOCAL-GLOBALS)
(DESC "office")
(SYNONYM OFFICE)
(ADJECTIVE MUNRAB)
(FLAGS NDESCBIT VOWELBIT)
(ACTION OFFICE-OBJECT-F)>
<ROUTINE OFFICE-OBJECT-F ()
<COND (<AND <EQUAL? ,HERE ,ON-WAGON>
<NOT <FSET? ,PANEL ,OPENBIT>>>
<PERFORM ,V?EXAMINE ,PANEL>
<RTRUE>)
(<AND <VERB? LOCK UNLOCK OPEN CLOSE>
<PRSO? ,OFFICE-OBJECT>
<EQUAL? ,HERE ,OFFICE>>
<PERFORM ,PRSA ,OFFICE-DOOR ,PRSI>
<RTRUE>)
(<AND <VERB? LOOK-INSIDE>
<EQUAL? ,HERE ,ON-WAGON>>
<PERFORM ,V?LOOK-INSIDE ,PANEL>
<RTRUE>)
(<AND <EQUAL? ,HERE ,OFFICE>
<VERB? DISEMBARK>>
<DO-WALK ,P?UP>)
(<EQUAL? ,HERE ,OFFICE>
<GLOBAL-ROOM-F>)>>
<OBJECT DESK
(IN OFFICE)
(DESC "cherry-hardwood desk")
(SYNONYM DESK DRAWER)
(ADJECTIVE HARDWOOD CHERRY ;EXPANSIVE DESK)
(FLAGS NDESCBIT CONTBIT OPENBIT TRANSBIT SURFACEBIT LOCKEDBIT)
(CAPACITY 200)
(ACTION DESK-F)>
;"RMUNGBIT = desk has been moved "
<ROUTINE DESK-F ()
<COND (<VERB? CLIMB-ON BOARD STAND-ON>
<COND (<FSET? ,DESK ,RMUNGBIT>
<CLIMB-PANEL>
<GOTO ,ON-WAGON>)
(T
<TELL
"You would not be" ,NOT-REACH " from where the desk is." CR>)>)
(<OR <VERB? OPEN LOOK-INSIDE CLOSE>
<AND <VERB? EXAMINE>
<IS-NOUN? ,W?DRAWER>>>
<TELL "The drawers are all locked up." CR>)
(<VERB? EXAMINE LOOK-ON SEARCH>
<TELL
"The desk is blanketed with a flurry of memos, on top of which rest">
<COND (<EQUAL? <CCOUNT ,DESK> 1>
<TELL "s">)>
<PRINT-CONTENTS ,DESK>
<TELL ,PERIOD>)
(<OR <VERB? PUSH MOVE>
<AND <VERB? PUT-UNDER>
<EQUAL? ,PRSI ,PANEL>>>
<COND (<OR ,END-GAME
<FSET? ,DESK ,RMUNGBIT>>
<V-DIG>)
(T
<FSET ,DESK ,RMUNGBIT>
<TELL
"With all your weight behind it, the desk screeches across the floor to
a position under the " D ,PANEL "." CR>)>)>>
<OBJECT CHAIR
(IN OFFICE)
(DESC "chair")
(SYNONYM CHAIR)
(FLAGS VEHBIT TRYTAKEBIT CONTBIT SURFACEBIT NDESCBIT OPENBIT)
(ACTION CHAIR-F)>
<ROUTINE CHAIR-F ("OPTIONAL" (RARG <>))
<COND (.RARG
<RFALSE>)
(<VERB? OPEN CLOSE>
<CANT-OPEN>)
(<AND <VERB? PUT-ON>
<PRSI? ,CHAIR>>
<V-DIG>)
(<OR <AND <PRSO? ,CHAIR>
<VERB? MOVE PUSH>>
<AND <VERB? PUT-UNDER>
<PRSI? ,PANEL>>>
<TELL
"You wouldn't be" ,NOT-REACH " from the " D ,CHAIR "." CR>)>>
<OBJECT DESK-ON-WAGON
(IN ON-WAGON)
(DESC "desk")
(SYNONYM DESK)
;(ADJECTIVE)
(FLAGS NDESCBIT)
(ACTION DESK-ON-WAGON-F)>
;"RMUNGBIT = will give hint in STARTLE-MUNRAB"
<ROUTINE DESK-ON-WAGON-F ()
<COND (<NOT <FSET? ,PANEL ,OPENBIT>>
<CANT-SEE ,DESK-ON-WAGON>)
(<AND <VERB? PUT-ON PUT THROW>
<PRSI? ,DESK-ON-WAGON>>
<STARTLE-MUNRAB>)
(<TOUCHING? ,DESK-ON-WAGON>
<CANT-REACH ,DESK-ON-WAGON>)>>
<ROUTINE STARTLE-MUNRAB ()
<TELL
"You hesitate, fearful of startling a man who's experiencing the kind of
pressure that " D ,MUNRAB " is under. ">
<COND (<FSET? ,DESK-ON-WAGON ,RMUNGBIT>
<TELL
"There must be another way of getting him out from behind his desk and
drawing him out of the " D ,WAGON ".">)>
<CRLF>
<FSET ,DESK-ON-WAGON ,RMUNGBIT>
<RTRUE>>
<OBJECT DEGREE
(IN OFFICE)
(DESC "diploma")
(SYNONYM SHEEPSKIN DIPLOMA)
(ADJECTIVE FRAMED)
(FLAGS NDESCBIT)
(ACTION DEGREE-F)>
<ROUTINE DEGREE-F ()
<COND (<VERB? EXAMINE READ>
<TELL "It's an MBA from Harvard Business School." CR>)>>
<OBJECT BOOKS
(IN OFFICE)
(DESC "shelf of books")
(SYNONYM SHELF BOOKS BOOK BIOGRAPHIES)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION BOOKS-F)>
;"Mention in browsie that he went to Harvard B.S."
<ROUTINE BOOKS-F ()
<COND (<VERB? EXAMINE>
<TELL
"There are biographies on Walt Disney and Benito Mussolini, a treatise by
Machiavelli, and a copy of \"What They Don't Teach You at Harvard Business
School.\"" CR>)
(<VERB? OPEN READ TAKE>
<V-DIG>)>>
<OBJECT BURNED-CAGE
(IN BACK-YARD)
(DESC "burned cage")
(SYNONYM CAGE BOOTH)
(ADJECTIVE FIRE-DAMAGED VERTICAL)
(FLAGS NDESCBIT ;CONTBIT ;OPENBIT ;TRANSBIT ;SURFACEBIT)
(ACTION BURNED-CAGE-F)>
;"RMUNGBIT is set when on Back-yard M-enter, when I-CLOWN-EXIT starts"
<ROUTINE BURNED-CAGE-F ()
<COND (<VERB? LOOK-INSIDE>
;<COND (<IN? ,GUARD ,LOCAL-GLOBALS>
<MOVE ,GUARD ,HERE>)>
<TELL ,YOU-SEE
" the silhouette of a man sitting quietly in semidarkness." CR>)
(<AND <VERB? PUT>
<PRSI? ,BURNED-CAGE>>
<TELL "The guard hands">
<ARTICLE ,PRSO T>
<TELL " back to you." CR>)
(<VERB? EXAMINE>
<TELL
"The fire-damaged cage, perhaps once the home of some big jungle cat, has been
converted into some kind of vertical booth." CR>)
(<VERB? OPEN ENTER BOARD THROUGH>
<TELL
"Your attempt merely rattles the cage, and the " D ,GUARD " growls at you to
back off." CR>
<RTRUE>)
(T
<RFALSE>)>>
<GLOBAL GUARD-C 0>
<OBJECT GUARD
(IN BACK-YARD)
(DESC "guard")
(SYNONYM GUARD HARRY SILHOETTE MAN)
;(ADJECTIVE MR)
(FLAGS ACTORBIT NDESCBIT PERSON CONTBIT SEARCHBIT OPENBIT)
(ACTION GUARD-F)>
;"rmungbit = guard told you about being a first of may, cant talk to others"
<ROUTINE GUARD-F ()
<COND (<AND <TALKING-TO? ,GUARD>
<NOT <VERB? WAVE-AT ALARM>>
<ENABLED? ,I-HELIUM>>
<SETG SCORE <+ ,SCORE 10>>
<SETG SPEAK-HELIUM T>
<ENABLE <QUEUE I-TURNSTILE 2>>
<TELL
"The sound of your high-pitched, lighter-than-air voice is startling to "
D ,ME ", but very familiar to the " D ,GUARD ". You can hear an
electromechanical buzzing sound from the " D ,TURNSTILE "." CR>
<STOP>)
(<EQUAL? ,GUARD ,WINNER>
<COND (<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?ASK-ABOUT ,GUARD ,PRSI>
<SETG WINNER ,GUARD>
<RTRUE>)
(<VERB? WHO WHAT>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?ASK-ABOUT ,GUARD ,PRSO>
<SETG WINNER ,GUARD>
<RTRUE>)
(<AND <VERB? RUB>
<HELD? ,PRSO ,PROTAGONIST>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?GIVE ,PRSO ,GUARD>
<SETG WINNER ,GUARD>
<RTRUE>)
(<AND <VERB? WHERE>
<PRSO? ,GIRL>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?ASK-ABOUT ,GUARD ,PRSO>
<SETG WINNER ,GUARD>
<RTRUE>)
(<VERB? HELLO THANK>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,PRSA ,GUARD>
<SETG WINNER ,GUARD>
<RTRUE>)
(<AND <VERB? YES>
<EQUAL? ,AWAITING-REPLY 6>>
<V-YES>)
(<AND <VERB? NO>
<EQUAL? ,AWAITING-REPLY 6>>
<V-NO>)
(T
<TELL "The guard just sits quietly in his cage." CR>
<STOP>)>)
(<AND <VERB? KISS>
<FSET? ,PINK-BOX ,RMUNGBIT>>
<TELL "Of course, he's your blind date." CR>)
(<HURT? ,GUARD>
<JIGS-UP 5
"You are suddenly skewered by a white cane honed to needle-sharpness.">)
(<VERB? EXAMINE>
<TELL
,YOU-SEE " the shadowy outline of a man who's wearing a dark " D ,SUNGLASSES
"." CR>)
(<AND <VERB? GIVE>
<PRSI? ,GUARD>>
<COND (<PRSO? ,WHIP>
<PERFORM ,V?ASK-ABOUT ,GUARD ,WHIP>
<RTRUE>)
(<PRSO? ,GIRL ,THUMB>
<TELL "The " D ,GUARD " refuses " D ,PRSO "." CR>)
(<TRAP-SET?>
<TELL
"Harry must've smelled a rat, since he rejects your offer out of hand,
thereby putting a damper on your sadistic glee." CR>)
(T
<TELL
"While you're still holding">
<ARTICLE ,PRSO T>
<TELL
", the guard moves his hands gently over it and says, ">
<COND (<PRSO? ,CASE>
<SETG GUARD-FELT-CASE T>
<TELL
"\"Oh, that's Andrew's " D ,CASE ". He's one to steal a smoke now and then;
behind Jenny's back, of course. She'd kill him if she ever found out.\"" CR>)
(T
<TELL "\"Feels like">
<COND (<EQUAL? ,PRSO ,SHEET>
<TELL " paper">)
(<EQUAL? ,PRSO ,TAFT>
<TELL " cardboard">)
(T
<ARTICLE ,PRSO>)>
<TELL " to me.\"" CR>)>)>)
(<AND <VERB? SHOW>
<NOT <EQUAL? ,PRSO ,MUSIC ,RADIO ,HEADPHONES>>
<PRSI? ,GUARD>>
<TELL
"Not surprisingly, the " D ,GUARD " is oblivious to">
<ARTICLE ,PRSO T>
<TELL ,PERIOD>)
(<VERB? THANK>
<TELL "The " D ,GUARD " nods slowly." CR>)
(<VERB? HELLO>
<TELL "\"Well, good evening to you.\"" CR>)
(<AND <VERB? ASK-ABOUT>
<PRSO? ,GUARD>>
<COND (<PRSI? ,GIRL>
<COND (<FSET? ,PROTAGONIST ,RMUNGBIT> ;"won puzzle"
<TELL "The " D ,GUARD " remains silent." CR>)
(T
<ENABLE <QUEUE I-DID 2>>
<SETG AWAITING-REPLY 6>
<TELL
"\"But you already asked me about her, right?\"" CR>)>)
(<PRSI? ,FAT>
<TELL
"\"Well, she's tried various diets, but then " D ,MUNRAB " orders our "
D ,JIM " to increase the frequency of her feedings." CR>)
(<PRSI? ,HYP>
<TELL
"\"" D ,HYP "? Harrumph. Don't waste your money.\"" CR>)
(<PRSI? ,THUMB>
<TELL
"\"A very popular attraction, small but charismatic.\"" CR>)
(<PRSI? ,TAMER>
<TELL
"\"Nothing but a glory hog, and always just one step ahead of the ASPCA.\""
CR>)
(<AND <PRSI? ,JOEY>
<NOT <FSET? ,JOEY ,RMUNGBIT>>>
<FSET ,JOEY ,RMUNGBIT>
<TELL
"\"A very accomplished performer, takes a lot of pride in his craft.
Until...\" The " D ,GUARD " stops himself." CR>)
(<PRSI? ,CIRCUS ,MUNRAB>
<COND (<FSET? ,CIRCUS ,RMUNGBIT>
<TELL "\"I've given my opinion.\"" CR>)
(T
<FSET ,CIRCUS ,RMUNGBIT>
<TELL
"He suddenly blurts out, \"Well I can tell you this is one circus that's
headed for the barn. It's that doggone " D ,MUNRAB " and his vainglorious
dreams. They're not panning out for him, and the more he puts the squeeze
on all of us, the more dangerous this lot becomes.\"" CR>)>)
(<PRSI? ,HERM ,ANDREW ,JENNY>
<COND (<NOT <FSET? ,HERM ,RMUNGBIT>>
<FSET ,HERM ,RMUNGBIT>
<COND (<PRSI? ,JENNY>
<TELL "\"She">)
(T
<TELL "\"He">)>
<TELL
" ... er, they ... uh, whatever it is -- bizarre is all I can say. You'd
swear they were two different people.\"" CR>)
(T
<TELL
"\"" D ,ANDREW "'s always considered " D ,JENNY " a thorn in his side. Of
course, " D ,JENNY "'s always trying to keep him on the straight and narrow.
Which is cherry pie, considering this is the circus life and all.\"" CR>)>)
(<PRSI? ,JIM ,JIM-GLOBAL>
<TELL
"\"Yea, sad story. Just another guy who fell out the social safety net, if
you will, and landed in the circus. And not on his feet either. So " D ,MUNRAB
" overworks him, has him living in a cage. That's the life here, that's the
circus life for the most.\"" CR>)
(<PRSI? ,BURNED-CAGE>
<TELL "\"It's home.\"" CR>)
(<PRSI? ,EDDIE>
<COND (<NOT ,SEEN-SHEET>
<TELL "You don't know anyone by that name." CR>)
(T
<FSET ,EDDIE ,RMUNGBIT>
<TELL
"\"That's " D ,JOEY "'s real name.\"" CR>)>)
(<PRSI? ,BULL> ;"OR an elephant is like a rope ..."
<TELL
"\"Very funny. Asking someone in my condition to describe an " D ,BULL ".\""
CR>)
(<PRSI? ,APE>
<TELL
"\"" D ,APE "? I used to work with him. You know you could practically put him
to sleep with soft music. That's how he got his name. Along with his
mean streak too, of course. In fact I used to play the violin for him at
night after all the towners would go home. That was the old days.\"" CR>)
(<PRSI? ,CON>
<TELL
"\"He used to sell Amway. Then he joined on here as a Monday Man, which is
where he got his name. All that was before Munrab, of course.\"" CR>)
(<PRSI? ,LION-NAME ,ELSIE ,NIMROD ,WHIP ,GUARD ,SUNGLASSES>
<COND (<FSET? ,LION-NAME ,RMUNGBIT>
<TELL
"\"I would rather not talk any further about my past life with the
lions.\"" CR>)
(T
<FSET ,LION-NAME ,RMUNGBIT>
<TELL
"After a moment of tense silence, the guard impulsively tears off his
sunglasses and thrusts his head forward into the light. You flinch at the
sight of a slashing scar which engulfs both eye sockets.|
|
The guard calms back down. \"Nimrod did this to me. He refuses the
whip, unlike Elsie, who is controlled only by the whip.\"" CR>)>)
(T
<TELL "\"I really can't say.\"" CR>
<RTRUE>)>
<SETG GUARD-C <+ ,GUARD-C 1>>
<COND (<AND <NOT <FSET? ,GUARD ,RMUNGBIT>>
<G? ,GUARD-C 2>
<NOT <ENABLED? ,I-DID>>
<NOT <PRSI? ,LION-NAME ,NIMROD ,ELSIE>>>
<FSET ,GUARD ,RMUNGBIT>
<TELL CR
"The guard breathes a sigh, and continues, \"I don't need eyeballs to size
up a First of May like you. Listen to me, if you think you're going to sport
around the lot asking a bunch of questions and expect answers, forget
it. These people are in no mood for lot loafers.\"" CR>)>
<RTRUE>)>>
<GLOBAL SPEAK-HELIUM <>>
<OBJECT SUNGLASSES
(IN GUARD)
(DESC "pair of sunglasses")
(SYNONYM PAIR SUNGLASSES GLASSES SHADES)
(ADJECTIVE ;RECTANGULAR DARK)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION SUNGLASSES-F)>
<ROUTINE SUNGLASSES-F ()
<COND (<VERB? TAKE>
<TELL "You can't, since that would be blind theft." CR>)>>
<OBJECT TURNSTILE
(IN LOCAL-GLOBALS)
(DESC "turnstile")
(SYNONYM TURNSTILE STILE)
(ADJECTIVE TURN)
(FLAGS NDESCBIT)
(ACTION TURNSTILE-F)>
<ROUTINE TURNSTILE-F ()
<COND (<VERB? EXAMINE>
<TELL
"It's the fish skeleton type, with three sets of horizontal ribs extending from
a vertical spine.">
<COND (<EQUAL? ,HERE ,CON-AREA>
<TELL
" Built into the " D ,TURNSTILE " is a " D ,SLOT ".">)>
<CRLF>)
(<AND <VERB? PUT>
<PRSO? TICKET>>
<COND (<EQUAL? ,HERE ,CON-AREA>
<PERFORM ,V?PUT ,TICKET ,SLOT>
<RTRUE>)
(T
<CANT-SEE <> "the slot">)>)
(<VERB? CLIMB-OVER CLIMB-ON CLIMB-UP CLIMB-FOO LEAP>
<TELL "You cannot scale the " D ,TURNSTILE "." CR>)
(<VERB? OPEN SET PUSH THROUGH WALK-TO MOVE>
<COND (<EQUAL? ,HERE ,EAST-CAMP>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,HERE ,BACK-YARD>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,HERE ,CON-AREA>
<DO-WALK ,P?EAST>)
(<EQUAL? ,HERE ,MIDWEST>
<DO-WALK ,P?WEST>)>)>>
<OBJECT PSEUDO-TURNSTILE ;"so can have a descfcn, turnstile is in loc-glo"
(IN BACK-YARD)
(DESC "turnstile")
(SYNONYM SKELETON)
(ADJECTIVE FISH)
(DESCFCN PSEUDO-TURNSTILE-DESC)
;(FLAGS NDESCBIT)
(ACTION TURNSTILE-F)>
<ROUTINE PSEUDO-TURNSTILE-DESC ("OPTIONAL" X)
<TELL
"Adjacent to the turnstile to your south is a vertical cage.">>
<OBJECT SLOT
(IN LOCAL-GLOBALS)
(DESC "narrow slot")
(SYNONYM SLOT HOLE)
(ADJECTIVE NARROW)
(FLAGS NDESCBIT CONTBIT OPENBIT)
(ACTION SLOT-F)>
<ROUTINE SLOT-F ()
<COND (<EQUAL? ,HERE ,MIDWEST>
<TELL
"The slot's on the other side of the " D ,TURNSTILE "." CR>)
(<AND <VERB? PUT>
<PRSI? ,SLOT>>
<COND (<PRSO? ,PINK-BOX ,BLUE-BOX>
<RFALSE>)
(<PRSO? ,TICKET>
<TELL
"You feed " D ,TICKET " into the slot ">
<COND (<OR <FSET? ,BLUE-BOX ,RMUNGBIT>
<FSET? ,PINK-BOX ,RMUNGBIT>>
<ENABLE <QUEUE I-TURNSTILE 2>>
<TELL
"and hear all kinds of internal computations being made, then the ticket rolls
out into " D ,HANDS "." CR>)
(T
<TELL
"but it's immediately rejected. Perhaps you didn't follow the directions
on the ticket." CR>)>)
(T
<TELL "The slot is not configured to accept">
<ARTICLE ,PRSO T>
<TELL ,PERIOD>)>)
(<VERB? EXAMINE>
<TELL "The " D ,SLOT " is a few inches long." CR>)
(<VERB? LOOK-INSIDE>
<TELL "It's dark." CR>)
(<VERB? OPEN CLOSE>
<V-COUNT>)>>
<ROUTINE I-TURNSTILE ()
<DISABLE <INT I-TURNSTILE>>
<COND (<EQUAL? ,HERE ,BACK-YARD ,CON-AREA>
<TELL CR "The " D ,TURNSTILE " goes \"click.\"" CR>)>
<RFALSE>>
<ROUTINE TURNSTILE-EXIT ()
<COND (<OR <ENABLED? ,I-TURNSTILE>
<EQUAL? ,HERE ,EAST-CAMP ,MIDWEST>>
<COND (<AND <NOT <FSET? ,CANVAS ,RMUNGBIT>>
<EQUAL? ,HERE ,EAST-CAMP>>
<COND (<NOT <FSET? ,PSEUDO-TURNSTILE ,RMUNGBIT>>
<FSET ,PSEUDO-TURNSTILE ,RMUNGBIT>
<TELL
"The image of a burning bridge suddenly pops into your mind as you
veer away from the " D ,TURNSTILE "." CR>
<RFALSE>)>)>
<TELL-PASS-TURNSTILE>
<COND (<EQUAL? ,HERE ,BACK-YARD>
<RETURN ,EAST-CAMP>)
(<EQUAL? ,HERE ,EAST-CAMP>
<RETURN ,BACK-YARD>)
(<EQUAL? ,HERE ,MIDWEST>
<RETURN ,CON-AREA>)
(T
<RETURN ,MIDWEST>)>)
(T
<TELL
"The " D ,TURNSTILE " won't budge." CR>
<RFALSE>)>>
<ROUTINE TELL-PASS-TURNSTILE ()
<TELL "You pass through the creaky " D ,TURNSTILE>
<COND (<AND <RUNNING? ,I-CLOWN-EXIT>
<NOT <IN? ,THUMB ,CLOWN-ALLEY>>>
<SETG CLOWN-EXIT-COUNTER 7>
<TELL " right behind a scrambling " D ,THUMB>)>
<TELL "." CR CR>>
<ROOM PROP-ROOM
(IN ROOMS)
(DESC "Inside Prop Tent")
(EAST PER EXIT-PROP-ROOM)
(OUT PER EXIT-PROP-ROOM)
(SOUTH PER PLEAT-EXIT)
(FLAGS ONBIT RLANDBIT INDOORSBIT)
(ACTION PROP-ROOM-F)
(GLOBAL CANVAS TENT)>
<ROUTINE PROP-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<COND (<EQUAL? ,MEET-COUNTER 0>
<ENABLE <QUEUE I-MEET 1>>)>
<COND (<AND <NOT <FSET? ,MOUSE ,TOUCHBIT>>
<FSET? ,TRAP ,TOUCHBIT>
<IN? ,CHEESE ,PROP-ROOM>>
<MOVE ,CHEESE ,LOCAL-GLOBALS>
<TELL
"You immediately notice that the " D ,CHEESE " you left here is gone." CR CR>
<RFALSE>)
(<AND <IN? ,TRAP ,PROP-ROOM>
<FSET? ,TRAP ,TOUCHBIT>
<NOT <FSET? ,MOUSE ,TOUCHBIT>>>
<MOVE ,MOUSE ,PROP-ROOM>
<COND (<NOT <IN? ,CHEESE ,TRAP>>
<MOVE ,MOUSE ,LOCAL-GLOBALS>
<RFALSE>)>
<COND (<FSET? ,TRAP ,RMUNGBIT>
<COND (<FSET? ,CHEESE ,RMUNGBIT> ;"second visit"
<FSET ,TRAP ,NDESCBIT>) ;"mouse now seen"
(T
<FSET ,CHEESE ,RMUNGBIT>)>) ;"first visit"
;"Mouse dies" (T
<COND (<FSET? ,CHEESE ,RMUNGBIT> ;"second visit"
<FSET ,TRAP ,RMUNGBIT>
<FCLEAR ,TRAP ,NDESCBIT>
;<FCLEAR ,MOUSE ,TRYTAKEBIT>
<MOVE ,CHEESE ,LOCAL-GLOBALS>
<MOVE ,MOUSE ,LOCAL-GLOBALS>
<MOVE ,DEAD-MOUSE ,TRAP>
<TELL
"You hear a loud \"SNAP!\" as you enter." CR CR>)
(T ;"first visit trap-set"
<FSET ,CHEESE ,RMUNGBIT>
;<MOVE ,MOUSE ,LOCAL-GLOBALS>)>)>)>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"This dimly lighted tent houses a ragtag collection of outrageous props
and wacky devices, including a midget automobile that's garaged in here.">
<COND (<FSET? ,CANVAS ,RMUNGBIT>
<TELL
" To the shadowy south is where you passed through the pleats of the "
D ,CANVAS ".">)>
<CRLF>)
(<EQUAL? .RARG ,M-BEG>
<COND (<AND ,HIDING
<RUNNING? ,I-MEET>
<G? ,MEET-COUNTER 1>
<OR <DISTURB? ,MUNRAB>
<DISTURB? ,DICK>
<VERB? WALK STAND DISEMBARK TAKE>>>
<END-MEETING>)
(<AND <IN? ,MUNRAB ,HERE>
<VERB? EXAMINE>
<EQUAL? ,PRSO ,MUNRAB ,DICK>>
<TELL "You take a peek ... " CR CR>
<RFALSE>)>)>>
<ROUTINE PLEAT-EXIT ()
<COND (<RUNNING? ,I-MEET>
<EXIT-PROP-ROOM>
<RFALSE>)
(<FSET? ,CANVAS ,RMUNGBIT>
<TELL-PASS-CANVAS>
<COND (<EQUAL? ,HERE ,WEST-CAMP>
<RETURN ,PROP-ROOM>)
(T
<RETURN ,WEST-CAMP>)>)
(<EQUAL? ,HERE ,WEST-CAMP>
<SETG P-IT-OBJECT ,CANVAS>
<TELL "You encounter a pleated wall of canvas.">)
(T
<TELL ,CANT-GO>)> ;"too dark in this corner"
<CRLF>
<RFALSE>>
<ROUTINE TELL-PASS-CANVAS ()
<COND (<AND <EQUAL? ,MEET-COUNTER 10>
<IN? ,TRAP ,LOCAL-GLOBALS>>
<MOVE ,TRAP ,PROP-ROOM>
<ENABLE <QUEUE I-HYP 1>>
<TELL
"You make your way through the pleats, and just inside the tent you notice
a small " D ,TRAP " on the " D ,GROUND>)
(T
<TELL
"The rough-hewn canvas is abrasive as you pass through">)>
<TELL " ..." CR CR>>
<ROUTINE EXIT-PROP-ROOM ()
<COND (<L? ,MEET-COUNTER 7>
<COND (<OR <RUNNING? ,I-MEET>
<EQUAL? ,MEET-COUNTER 0 1>>
<COND (<EQUAL? ,MEET-COUNTER 0 1>
<TELL
"Taft's eyes follow your movement, halting you unsettlingly.">)
(T
<TELL
"Realizing you could be facing trespassing charges, you hesitate.">)>
<CRLF>
<RFALSE>)>)
(T
<RETURN ,BACK-YARD>)>>
<OBJECT TRAP
(IN LOCAL-GLOBALS)
(SDESC "piece of wood")
(SYNONYM TRAP PIECE WOOD MOUSETRAP)
(ADJECTIVE MOUSE SMALL)
;(FDESC "A small piece of wood lies on the ground.")
(FLAGS TAKEBIT CONTBIT SURFACEBIT SEARCHBIT TRANSBIT OPENBIT NDESCBIT)
(SIZE 5)
(CAPACITY 1)
(GENERIC GEN-MOUSE-F)
(ACTION TRAP-F)>
;"RMUNGBIT for TRAP = the killer bar is DOWN, SNAPPED, UNSPRUNG"
;"NDESCBIT for TRAP = Mouse is feeding at it"
<ROUTINE TRAP-F ()
<COND (<AND <VERB? EXAMINE LOOK-INSIDE>
<FSET? ,TRAP ,TOUCHBIT>>
<TELL "The " D ,TRAP " is">
<COND (<FSET? ,TRAP ,RMUNGBIT>
<TELL " not">)>
<TELL " set">
<COND (<IN? ,CHEESE ,TRAP>
<TELL "; there is a bit of cheese in the trap">)
(<IN? ,MOUSE ,TRAP>
<TELL ". A " D ,DEAD-MOUSE " rests under the bar">)>
<TELL ,PERIOD>)
(<AND <VERB? PUT-ON>
<PRSO? ,BUCKET>>
<COND (<AND <FSET? ,TRAP ,NDESCBIT> ;"mouse feeds"
<IN? ,MOUSE ,HERE>>
<PERFORM ,V?TAKE-WITH ,MOUSE ,BUCKET>
<RTRUE>)
(T
<V-DIG>)>)
(<AND <TOUCHING? ,TRAP>
<FSET? ,TRAP ,NDESCBIT>>
<TELL "Blunder of blunders! ">
<PERFORM ,V?RUB ,MOUSE>
<RTRUE>)
(<OR <AND <VERB? OPEN>
<NOT ,PRSI>>
<AND <VERB? SET>
<NOT ,PRSI>>>
<COND (<IN? ,MOUSE ,TRAP>
<TELL "A " D ,DEAD-MOUSE " is in it!" CR>)
(<FSET? ,TRAP ,RMUNGBIT>
<FCLEAR ,TRAP ,RMUNGBIT>
<TELL "Painstakingly, you set the trap." CR>
<RTRUE>)
(T
<RASH-ACT T>)>)
(<AND <VERB? PUT PUT-ON>
<PRSO? ,CHEESE>>
<COND (<FSET? ,TRAP ,RMUNGBIT>
<MOVE ,CHEESE ,TRAP>
<TELL
"The " D ,CHEESE " is now clamped into the trap." CR>)
(T
<RASH-ACT>
<RTRUE>)>)
(<AND <VERB? TAKE>
<FSET? ,TRAP ,TOUCHBIT>
<NOT <FSET? ,TRAP ,RMUNGBIT>>>
<COND (<EQUAL? <ITAKE> T>
<TELL
"With great care you pick up the loaded " D ,TRAP "." CR>)>
<RTRUE>)
(<AND <TOUCHING? ,TRAP>
<NOT <FSET? ,TRAP ,RMUNGBIT>>
<NOT <VERB? PUT-ON>>>
<PUTP ,TRAP ,P?SDESC "mousetrap">
<COND (<AND <NOT <VERB? WHIP>>
<OR <NOT ,PRSI>
<EQUAL? ,PRSI ,HANDS>>>
<COND (<FSET? ,TRAP ,TOUCHBIT>
<RASH-ACT>
<RTRUE>)>
<FSET ,TRAP ,RMUNGBIT>
<ENABLE <QUEUE I-CURSE -1>>
<FSET ,TRAP ,TOUCHBIT>
<FCLEAR ,TRAP ,NDESCBIT>
<MOVE ,TRAP ,PROTAGONIST>
<MOVE ,CHEESE ,TRAP>
<TELL ,INSTANT "between the
realization that you've caused " D ,ME " excruciating Pain and the
actual onslaught of such Pain, during which time most people speak with
exclamation points and ... well, say things like ..." CR>
<RFATAL>)
(T
<BACKFLIP>)>)
(<VERB? CLOSE>
<COND (<FSET? ,TRAP ,RMUNGBIT>
<TELL "It is." CR>)
(T
<BACKFLIP>)>
<RTRUE>)>>
<ROUTINE TRAP-SET? ()
<COND (<AND <EQUAL? ,PRSO ,TRAP>
<NOT <FSET? ,TRAP ,RMUNGBIT>>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE BACKFLIP ()
<COND (<NOT <FSET? ,TRAP ,TOUCHBIT>>
<MOVE ,CHEESE ,TRAP>)>
<FSET ,TRAP ,TOUCHBIT>
<FSET ,TRAP ,RMUNGBIT>
<TELL "\"Snap!\" The ">
<COND (<EQUAL? ,PRSO ,TRAP>
<TELL D ,PRSO>
<COND (<VERB? PUT>
<TELL " touches the side of the " D ,PRSI " and">)>)
(T
<TELL D ,PRSI>)>
<TELL " does a backflip ">
<COND (<HELD? ,TRAP>
<TELL "out of " D ,HANDS "s and ">)>
<TELL "into the air." CR>
<MOVE ,TRAP ,HERE>>
<ROUTINE RASH-ACT ("OPTIONAL" (ALREADY <>))
<TELL
"A rash act, considering the trap is ">
<COND (.ALREADY
<TELL "already ">)>
<TELL "loaded." CR>>
<ROUTINE I-CURSE ()
<RFALSE>>
;"Used with pick-one"
<GLOBAL COACH
<LTABLE 0
"Come on, you can do better than that."
"No no no -- you must FEEL the role."
"Come on, your grandmother gets angrier than that."
"You're just prolonging the agony.">>
;"Used with pick-one"
<GLOBAL TOO-DIRTY
<LTABLE 0
"Keep in mind this is family entertainment."
"Easy there! You're jeopardizing our \"G\" rating."
"This is a circus, not an Eddie Murphy concert!"
"Stick to the script -- no more improvising.">>
<OBJECT CHEESE
(IN LOCAL-GLOBALS)
(DESC "cheese morsel")
(SYNONYM CHEESE MORSEL FOOD)
(ADJECTIVE CHEESE)
(FLAGS TAKEBIT TRYTAKEBIT EATBIT)
(SIZE 1)
(ACTION CHEESE-F)>
;"CHEESE RMUNGBIT = entered prop-room subsequent to first time after mouse
is here. mouse is seen feeding"
<ROUTINE CHEESE-F ()
<COND (<AND <TOUCHING? ,CHEESE>
<FSET? ,TRAP ,NDESCBIT>>
<PERFORM ,V?RUB ,MOUSE>
<RTRUE>)
(<AND <TOUCHING? ,CHEESE>
<NOT <FSET? ,TRAP ,RMUNGBIT>>
<IN? ,CHEESE ,TRAP>>
<RASH-ACT>)
(<AND <VERB? TAKE>
<IN? ,CHEESE ,TRAP>
<NOT <FSET? ,TRAP ,RMUNGBIT>>
<EQUAL? <ITAKE> T>>
<TELL
"With great care, you take the cheese." CR>)
(<VERB? EAT>
<MOVE ,CHEESE ,LOCAL-GLOBALS>
<TELL
"Your nose twitches as you nibble away the " D ,CHEESE "." CR>)
(<VERB? SMELL>
<TELL "Camembert, 1979." CR>)>>
<OBJECT MOUSE
(IN LOCAL-GLOBALS)
(SDESC "field mouse")
(SYNONYM MOUSE RODENT)
(DESCFCN MOUSE-DESC)
(ADJECTIVE FIELD GREY GRAY)
(FLAGS TAKEBIT TRYTAKEBIT ;ACTORBIT)
(SIZE 5)
(GENERIC GEN-MOUSE-F)
(ACTION MOUSE-F)>
<ROUTINE MOUSE-DESC ("OPTIONAL" X)
<COND (<FSET? ,TRAP ,NDESCBIT>
<TELL
"Over in the " D ,CORNER ", a " D ,MOUSE " gnaws timidly at the " D ,TRAP ".">)
(T
<TELL
"You can hear the faint scurryings of a rodent somewhere in the tent.">)>>
<GLOBAL MOUSE-PISSED T>
<ROUTINE MOUSE-F ("AUX" X)
<COND (<AND <NOT <HELD? ,MOUSE>>
<NOT <IN? ,MOUSE ,BUCKET>>
<NOT <VERB? LISTEN>>
<NOT <FSET? ,TRAP ,NDESCBIT>> ;"trap ndesc when mouse at"
<EQUAL? ,HERE ,PROP-ROOM>>
<CANT-SEE ,MOUSE>)
(<VERB? EXAMINE>
<COND (<IN? ,MOUSE ,PROTAGONIST>
<TELL
"The " D ,MOUSE " calms for a moment, twitches its bewhiskered snout at you,
then continues swimming its forepaws silently into the air." CR>)
(<AND <IN? ,MOUSE ,BUCKET>
,MOUSE-PISSED>
<TELL
"It keeps" ,TREADMILL ". That noise is getting to you." CR>)>)
(<AND <VERB? GIVE>
<PRSO? ,CHEESE>>
<COND (<IN? ,MOUSE ,PROTAGONIST>
<TELL "It's in no position for a feeding." CR>)
(T
<FEED-MOUSE>)>)
(<AND <VERB? TAKE>
<IN? ,MOUSE ,BUCKET>>
<COND (<EQUAL? <ITAKE> T>
<SETG MOUSE-PISSED T>
;<FSET ,MOUSE ,TOUCHBIT> ;"done in ITAKE"
;<MOVE ,MOUSE ,PROTAGONIST>
<TELL
"You grasp the slick, narrow tail and lift, feeling the rodent's buzzing
metabolism vibrate at your fingertips." CR>)>
<RTRUE>)
(<AND <NOT <FSET? ,MOUSE ,TOUCHBIT>>
<OR <AND <VERB? PUT-ON>
<PRSO? ,BUCKET>>
<AND <VERB? TAKE-WITH TAKE> ;"CATCH _ IN _"
<PRSI? ,BUCKET>>>>
<COND (<IN? ,WATER ,BUCKET>
<PERFORM ,V?DROP ,WATER>
<CRLF>
<PERFORM ,V?RUB ,MOUSE>
<RTRUE>)
(<SET X <FIRST? ,BUCKET>>
<TELL "Tumbling out of your " D ,BUCKET " come">
<COND (<NOT <NEXT? .X>>
<TELL "s">)>
<PRINT-CONTENTS ,BUCKET T>
<TELL ,PERIOD>
<ROB ,BUCKET ,HERE>
<CRLF>
<PERFORM ,V?RUB ,MOUSE>
<RTRUE>)>
<FCLEAR ,TRAP ,NDESCBIT>
<FSET ,MOUSE ,TOUCHBIT>
<SETG SCORE <+ ,SCORE 10>>
<MOVE ,MOUSE ,BUCKET>
<TELL
"You can almost hear the tramplings of the world beating a path to your door
as, with a deft swoop of the " D ,BUCKET ", you capture the " D ,MOUSE ".
It immediately begins" ,TREADMILL "." CR>)
(<AND <FSET? ,TRAP ,NDESCBIT> ;"second visit"
<DISTURB? ,MOUSE>
<NOT <HELD? ,MOUSE>>>
<FCLEAR ,TRAP ,NDESCBIT>
<MOVE ,MOUSE ,LOCAL-GLOBALS>
<TELL "By fits and starts the mouse ">
<COND (<VERB? TAKE>
<TELL "eludes " D ,HANDS " and ">)>
<TELL "makes an exit." CR>)
(<AND <VERB? DROP THROW PUT PUT-ON GIVE>
<PRSO? ,MOUSE>
<NOT <PRSI? ,BUCKET>>>
<MOVE ,MOUSE ,LOCAL-GLOBALS>
<SCAMPER T>)
(<VERB? RUB>
<TELL "It nips at " D ,HANDS "." CR>)>>
<ROUTINE FEED-MOUSE ()
<MOVE ,CHEESE ,LOCAL-GLOBALS>
<SETG MOUSE-PISSED <>>
<TELL
"The mouse gnaws away at the cheese and peeps softly upon finishing it." CR>>
<ROUTINE GEN-MOUSE-F ()
,MOUSE>
<ROUTINE SCAMPER ("OPTIONAL" (HANDED? <>))
<TELL "The mouse ">
<COND (.HANDED?
<TELL "scampers out of " D ,HANDS ", ">)>
<TELL
"hits the " D ,GROUND " running and darts out of sight." CR>>
<OBJECT DEAD-MOUSE
(IN LOCAL-GLOBALS)
(DESC "dead mouse")
(SYNONYM MOUSE RODENT)
(ADJECTIVE FIELD GREY DEAD)
(FLAGS TAKEBIT)
(SIZE 8)
(GENERIC GEN-MOUSE-F)>
<OBJECT MASK
(IN BESIDE-BIGTOP)
(DESC "clown mask")
(FDESC
"A cheap plastic clown mask, having been carelessly dropped here, is
lying face-up on the ground.")
(SYNONYM MASK)
(ADJECTIVE CLOWN CHEAP PLASTIC)
(FLAGS TAKEBIT WEARBIT)
(SIZE 15)
(ACTION MASK-F)>
<ROUTINE MASK-F ()
<SETG P-IT-OBJECT ,MASK>
<COND (<AND <VERB? EXAMINE>
<FSET? ,MASK ,WORNBIT>>
<TELL "You're wearing it!" CR>)
(<VERB? WEAR>
<COND (<FSET? ,VEIL ,WORNBIT>
<WONT-FIT-OVER ,VEIL>
<RTRUE>)>
<PUTP ,PROTAGONIST ,P?ACTION ,PROTAGONIST-HACK-F>
<FSET ,MASK ,WORNBIT>
<TELL "You put on the " D ,MASK "." CR>)
(<AND <VERB? LOOK-INSIDE>
<FSET? ,MASK ,WORNBIT>>
<TELL ,YOU-ARE CR>)>>
<OBJECT SUIT
(IN PROP-ROOM)
(DESC "gorilla suit")
(LDESC "Lying here in a heap is a gorilla suit.")
(SYNONYM SUIT HEAP)
(ADJECTIVE GORILLA APE ;HEAVY ;ITCHY ;HAIRY)
(FLAGS TAKEBIT WEARBIT)
(SIZE 30)
(ACTION SUIT-F)>
<ROUTINE SUIT-F ()
<COND (<AND <VERB? LOOK-INSIDE>
<FSET? ,SUIT ,WORNBIT>>
<PERFORM ,V?LOOK-UNDER ,SUIT>
<RTRUE>)
(<VERB? LOOK-INSIDE>
<TELL "There's nothing in it." CR>)
(<AND <VERB? PUT>
<PRSI? ,SUIT>>
<TELL <PICK-ONE ,WASTES> CR>)
(<AND <FSET? ,DRESS ,WORNBIT>
<VERB? WEAR BOARD>>
<WONT-FIT-OVER ,DRESS>)
(<AND <FSET? ,SHAWL ,WORNBIT>
<VERB? WEAR BOARD>>
<WONT-FIT-OVER ,SHAWL>)
(<AND <VERB? WEAR BOARD REMOVE TAKE-OFF DISEMBARK>
<FSET? ,SUIT ,WORNBIT>>
<TELL "You laboriously climb ">
<COND (<VERB? WEAR BOARD>
<MOVE ,SUIT ,PROTAGONIST>
<FSET ,SUIT ,WORNBIT>
<TELL "into">)
(T
<FCLEAR ,SUIT ,WORNBIT>
<TELL "out of">)>
<TELL " the heavy, itchy " D ,SUIT "." CR>)
(<VERB? EXAMINE>
<TELL
"It's a 3-H " D ,SUIT " -- heavy, hairy and headless." CR>)>>
<OBJECT CAR
(IN PROP-ROOM)
(DESC "midget car")
(SYNONYM CAR AUTO AUTOMOBILE SEAT)
(ADJECTIVE SMALL MIDGET ;MINIATURE)
(FLAGS TRYTAKEBIT OPENBIT CONTBIT SEARCHBIT NDESCBIT)
(ACTION CAR-F)>
<ROUTINE CAR-F ()
<COND (<VERB? OPEN CLOSE>
<V-COUNT>)
(<VERB? EXAMINE SMELL>
<COND (<NOT <EQUAL? ,P-PRSA-WORD ,W?SMELL>>
<TELL
"The tiny car, just a slice of lemon, is in pretty bad shape. ">)>
<TELL "It smells of gasoline and burnt oil." CR>)
(<AND <PRSI? ,CAR>
<VERB? PUT PUT-ON>>
<V-DIG>)
(<VERB? LOOK-INSIDE>
<TELL
"It's a one-seater, sporting only an ignition switch on the dash board."
CR>)
(<VERB? BOARD THROUGH ENTER CLIMB-ON DRIVE>
<COND (<FSET? ,CAR ,RMUNGBIT>
<TELL ,BASKET-CASE CR>)
(T
<FSET ,CAR ,RMUNGBIT>
<TELL
"Only a basket case or a child would fit in there." CR>)>)
(<VERB? LAMP-ON>
<PERFORM ,PRSA ,SWITCH>
<RTRUE>)>>
<OBJECT SWITCH
(IN PROP-ROOM)
(DESC "ignition switch")
(SYNONYM SWITCH)
(ADJECTIVE IGNITION)
(FLAGS NDESCBIT VOWELBIT)
(ACTION SWITCH-F)>
<ROUTINE SWITCH-F ()
<COND (<VERB? LAMP-ON SET PUSH THROW>
<COND (<IN? ,MUNRAB ,HERE>
<TELL "That surely will get you caught." CR>)
(<NOT <FSET? ,SWITCH ,RMUNGBIT>>
<FSET ,SWITCH ,RMUNGBIT>
<TELL
"The " D ,CAR " chugs violently for a couple of seconds, lets out a big bang,
then dies." CR>)
(<PROB 35>
<TELL
"The " D ,CAR " backfires loudly and comically." CR>)
(T
<TELL "Nothing happens." CR>)>)>>
<GLOBAL DID-C 0>
<ROUTINE I-DID ()
<ENABLE <QUEUE I-DID -1>>
<SETG DID-C <+ ,DID-C 1>>
<COND (<VERB? YES NO>
<RFALSE>)
(T
<FCLEAR ,PROTAGONIST ,RMUNGBIT> ;"cant win did puzzle"
<SETG DID-C 0>
<SETG AWAITING-REPLY <>>
<DISABLE <INT I-DID>>)>>
<OBJECT TAFT
(IN PROP-ROOM)
(DESC "figure of President Taft")
(DESCFCN TAFT-DESC)
(SYNONYM TAFT PROP CHARACTER FIGURE)
(ADJECTIVE PRESIDENT WILLIAM HOWARD CARDBOARD)
(FLAGS TAKEBIT ACTORBIT PERSON)
(SIZE 50)
(ACTION TAFT-F)>
<ROUTINE TAFT-DESC ("OPTIONAL" X)
<TELL "President William Howard Taft is here.">>
;"RMUNGBIT = character is now known as cardboard, not human"
<ROUTINE TAFT-F ()
<COND (<AND <VERB? EXAMINE>
<NOT <HELD? ,TAFT>>>
<TELL
"The imposing " D ,TAFT " stands quite still." CR>)
(<OR <TALKING-TO? ,TAFT>
<VERB? WHIP>>
<TELL
"He remains silent, unimpeachably frozen." CR>
<STOP>)
(<OR <TOUCHING? ,TAFT>
<VERB? WALK-AROUND LOOK-BEHIND>>
<COND (<NOT <FSET? ,TAFT ,RMUNGBIT>>
<FSET ,TAFT ,RMUNGBIT>
<TELL
"Taft wobbles slightly, revealing himself to be nothing but a cardboard
character, a mere prop." CR>)
(T
<RFALSE>)>)
(<AND <VERB? HIDE-BEHIND>
<NOT ,HIDING>
<RUNNING? ,I-MEET>>
<HIDE-BEHIND-TAFT>)>>
<ROUTINE HIDE-BEHIND-TAFT ("OPTIONAL" (FORCED <>))
<COND (.FORCED
<TELL "Fear motivates you to">
<SETG MEET-COUNTER 7>)
(T
<TELL "You">
<SETG MEET-COUNTER 6>)>
<COND (<HELD? ,TAFT>
<MOVE ,TAFT ,HERE>
<TELL " set Taft down then">)>
<SETG HIDING T>
<FSET ,TAFT ,NDESCBIT>
<TELL " crouch behind the cardboard character." CR>
<RTRUE>>
<GLOBAL HIDING <>>
<GLOBAL MEET-COUNTER 0> ;"they ENTER prop-tent on number 7; LEAVE on 9"
<ROUTINE I-MEET ()
<ENABLE <QUEUE I-MEET -1>>
<FCLEAR ,VOICES ,INVISIBLE>
<SETG MEET-COUNTER <+ ,MEET-COUNTER 1>>
<COND (<OR <EQUAL? ,MEET-COUNTER 1 3>
<EQUAL? ,MEET-COUNTER 6>>
<TELL CR
"You can hear muffled voices coming from outside">
<COND (<NOT <EQUAL? ,MEET-COUNTER 1>>
<TELL ", getting louder and nearer">)>
<COND (<EQUAL? ,MEET-COUNTER 1>
<TELL
" and see two ominous shadows cast against the side wall of the tent">)>
<TELL ".">
<COND (<EQUAL? ,MEET-COUNTER 3>
<TELL
" You feel the childish embarrassment of being trapped.">)>
<CRLF>)
(<EQUAL? ,MEET-COUNTER 5>
<TELL CR
"You hear one voice say, \"Let's duck in here.\"" CR>)
(<EQUAL? ,MEET-COUNTER 7>
<MOVE ,MUNRAB ,PROP-ROOM>
<MOVE ,DICK ,PROP-ROOM>
<COND (<NOT ,HIDING>
<CRLF>
<HIDE-BEHIND-TAFT T>)>
<TELL CR
"From behind the " D ,TAFT " you hear footsteps enter the tent, a pause,
then hushed conversation." CR>
<RTRUE>)
(<EQUAL? ,MEET-COUNTER 8>
<COND (<NOT <AND <VERB? LISTEN>
<PRSO? ,VOICES>>>
<CRLF>)>
<TELL
"\"So, Munrab, what is it? Why have you called me here?\"|
|
\"Listen, Detective, I've had a terrible day in your lousy little town, so
let me be brief. Receipts have been down all month, tonight's " D ,CON-STAND
" sales were especially small, the towners were tightfisted, they nearly
leveled my grandstand, and on top of that somebody's kidnapped my daughter,
Chelsea. That's where you come in. Here's the most recent picture of her
-- a pretty good likeness in my opinion.\"|
|
\"" D ,MUNRAB ", why are we whispering?\"" CR>)
(<EQUAL? ,MEET-COUNTER 9>
<END-MEETING>)>>
<ROUTINE END-MEETING ()
<DISABLE <INT I-MEET>>
<FSET ,VOICES ,INVISIBLE>
<FCLEAR ,WINGS ,TOUCHBIT> ;"NEW PASSAGE"
<FCLEAR ,TAFT ,NDESCBIT>
<COND (<EQUAL? ,MEET-COUNTER 9>
<COND (<NOT <AND <VERB? LISTEN>
<PRSO? ,VOICES>>>
<CRLF>)>
<TELL
"\"I don't know, because it's a mystery I guess. Anyhow, it's not because
I suspect any of my own people here on the lot.\" There's a pause. \"I've
got a pretty loyal crew here. Sure, I work the guys a fair amount, but hey,
no one joins the circus expecting a holiday.\"|
|
Lacking all passion and professionalism, the detective replies, \"I'll
suspect who you want me to suspect. You're paying the bill.\"|
|
\"Here, see, the language of this ransom note clearly shows that it's not
an inside job. Detective, I don't know what kind of crazies are running
loose in this town, but I'm afraid harm might come to my daughter if the
police were to show up. God knows this circus doesn't need that kind of
publicity, anyway. So I'm relying on you and you alone.\"|
|
\"I'd better hold on to that note, Munrab.\"|
|
\"Alright, then get going.\"|
|
You can hear " D ,MUNRAB " and the " D ,DICK " ">)
(T
<TELL
D ,MUNRAB " and the " D ,DICK " notice you and they ">)>
<TELL "hustle out of the tent">
<MOVE ,MUNRAB ,ON-WAGON>
<MOVE ,DICK ,MIDWEST>
<MOVE ,FLASK ,DICK>
<MOVE ,TRADE-CARD ,LOCAL-GLOBALS>
<COND (<AND ,HIDING
<NOT <VERB? STAND>>>
<TELL ". You stand up.">)
(T
<TELL ".">)>
<SETG P-IT-OBJECT ,MUNRAB>
<SETG HIDING <>>
<SETG MEET-COUNTER 10> ;"I.E., can get to under the stands now"
<SETG FOLLOW-FLAG 13>
<ENABLE <QUEUE I-FOLLOW 2>>
<CRLF>
<STOP>>
<OBJECT MUNRAB
(IN ON-WAGON)
(DESC "Mr. Munrab")
(DESCFCN MUNRAB-DESC)
(SYNONYM MUNRAB OWNER MAN)
(ADJECTIVE MR CIRCUS)
(FLAGS ACTORBIT NARTICLEBIT PERSON NDESCBIT OPENBIT CONTBIT SEARCHBIT)
(ACTION MUNRAB-F)>
;"RMUNGBIT = in end-game told about cost of tightrope"
<ROUTINE MUNRAB-F ()
<COND (<EQUAL? ,HERE ,ON-WAGON ,OFFICE>
<COND (<OR <AND <NOT <FSET? ,PANEL ,OPENBIT>>
<TALKING-TO? ,MUNRAB>>
<NOT <FSET? ,PANEL ,OPENBIT>>>
<CANT-SEE ,MUNRAB>
<STOP>)
(<OR <DISTURB? ,MUNRAB>
<VERB? APPLAUD>>
<STARTLE-MUNRAB>
<STOP>)>)
(<AND <EQUAL? ,HERE ,PROP-ROOM>
<TOUCHING? ,MUNRAB>>
<CANT-REACH ,MUNRAB>)
(<AND <VERB? LISTEN>
<EQUAL? ,HERE ,PROP-ROOM>>
<PERFORM ,V?LISTEN ,VOICES>
<RTRUE>)
(<VERB? EXAMINE>
<TELL
"He gives off the dual expressions of indigestion and indignation." CR>)
(<AND ,END-GAME
<TALKING-TO? ,MUNRAB>>
<COND (<FSET? ,MUNRAB ,RMUNGBIT>
<TELL
"Completely distraught, " D ,MUNRAB " is now incommunicado." CR>)
(T
<FSET ,MUNRAB ,RMUNGBIT>
<TELL
"\"Hey you, you're gonna pay for this! And do you know the replacement cost
of a tightrope apparatus!\"" CR>)>
<STOP>)
(<VERB? FOLLOW>
<COND (<EQUAL? ,FOLLOW-FLAG 8>
<DO-WALK ,P?NE>)
(<EQUAL? ,FOLLOW-FLAG 9>
<DO-WALK ,P?NORTH>)
(<EQUAL? ,FOLLOW-FLAG 13>
<DO-WALK ,P?EAST>)>)>>
<ROUTINE MUNRAB-DESC ("OPTIONAL" X)
<COND (<AND <IN? ,NET ,MUNRAB>
<EQUAL? ,HERE ,RING>>
;<ENABLE <QUEUE I-END-GAME 2>>
<TELL
"The " D ,NET " is being held by the motley circle of " D ,MUNRAB ", the "
D ,JIM ", ">
<COND (,GANG-HERE
<TELL-GROUP>)>
;<COND (<IN? ,GUARD ,HERE>
<TELL ", the guard, ">)>
<TELL "and " D ,THUMB>)
(T
<TELL
D ,MUNRAB ", pacing pitifully back and forth across the ring, is a complete
wreck">)>
<TELL ".">>
<GLOBAL GANG-HERE <>>
<ROUTINE TELL-GROUP ()
<TELL
D ,HERM ", " D ,JOEY ", " D ,HYP ", " D ,CON ", " D ,TAMER " ">>
<OBJECT GANG
(IN LOCAL-GLOBALS)
(DESC "group")
(SYNONYM GROUP CIRCLE COMPANY GAGGLE)
(FLAGS ACTORBIT PERSON NDESCBIT)
(ACTION GANG-F)>
<ROUTINE GANG-F ()
<COND (<TALKING-TO? ,GANG>
<PERFORM ,V?TELL ,CON>
<RTRUE>)
(<VERB? EXAMINE>
<TELL "There's " D ,MUNRAB ", the " D ,JIM ", ">
<TELL-GROUP>
<TELL "and " D ,THUMB "." CR>)>>
<OBJECT DICK
(IN LOCAL-GLOBALS)
(DESC "detective")
(DESCFCN DICK-DESC)
(SYNONYM DICK DETECTIVE MAN DRUNK)
(FLAGS ACTORBIT PERSON CONTBIT OPENBIT SEARCHBIT NDESCBIT)
(ACTION DICK-F)>
;"RMUNGBIT = dick in bull-room, too sick to respond, needs water"
<ROUTINE DICK-F ()
<COND (<AND <NOT ,DICK-DRUNK>
<TALKING-TO? ,DICK>
<EQUAL? ,HERE ,MIDWEST>>
<TELL "He just gives you a ">
<COND (<G? ,DRUNK-COUNTER 2>
<TELL "glassy-eyed">)
(T
<TELL "stern">)>
<TELL " look and ignores you." CR>
<STOP>)
(<EQUAL? ,WINNER ,DICK>
<COND (<AND <NOT <FSET? ,DICK ,RMUNGBIT>>
<IN? ,NOTE ,GLOBAL-OBJECTS>>
<COND (<AND <VERB? GIVE>
<PRSO? ,NOTE ,TRADE-CARD>
<PRSI? ,ME>>
<GET-NOTE>)
(<AND <VERB? SGIVE>
<PRSO? ,ME>
<PRSI? ,NOTE ,TRADE-CARD>>
<GET-NOTE>)
(<AND <VERB? FIND WHERE>
<PRSO? ,NOTE ,TRADE-CARD>>
<GET-NOTE>)
(<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>
<PRSI? ,NOTE ,TRADE-CARD>>
<GET-NOTE>)
(T
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?HELLO ,DICK>
<SETG WINNER ,DICK>
<RTRUE>)>)
(<VERB? WHERE>
<PERFORM ,V?ASK-ABOUT ,DICK ,PRSO>
<RTRUE>)
(<OR <VERB? HELLO>
<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?ASK-ABOUT ,DICK ,APE> ;"to any default"
<SETG WINNER ,DICK>
<RTRUE>)
(T
<TELL "The " D ,DICK " appears unable to respond." CR>)>)
(<AND <EQUAL? ,HERE ,PROP-ROOM>
<TOUCHING? ,DICK>>
<CANT-REACH ,DICK>)
(<AND <OR ,DICK-UNRESPONSIVE
<FSET? ,DICK ,RMUNGBIT>>
<VERB? GIVE SHOW>
<PRSI? ,DICK>>
<PERFORM ,V?ASK-ABOUT ,DICK ,COAT>
<RTRUE>)
(<AND <VERB? SHOW GIVE>
<PRSO? ,RIBBON ,SCRAP ,CASE>>
<TELL
"Not surprisingly, the " D ,PRSO " doesn't ring a bell for the "
D ,DICK "." CR>)
(<AND ,DICK-DRUNK
<HURT? ,DICK>>
<TELL "You're beating a dead-drunk horse." CR>)
(<AND <VERB? ASK-ABOUT ASK-FOR TELL-ABOUT HELLO>
<PRSO? ,DICK>>
<COND (<FSET? ,DICK ,RMUNGBIT>
<TELL
"You're having about as much luck as Rimshaw trying to communicate with
the dead, even though the " D ,DICK " still lives on." CR>)
(<AND <PRSI? ,TRADE-CARD ,NOTE ,GIRL ,MUNRAB ,CON>
<IN? ,NOTE ,GLOBAL-OBJECTS>>
<GET-NOTE>)
(,DICK-UNRESPONSIVE
<TELL
"Just his attempting to think or speak or move is obviously causing the "
D ,DICK " great pain." CR>)
(T
<SETG DICK-UNRESPONSIVE T>
<TELL
"As his jawbone pivots open for speech, some monstrous pain seems to ricochet
off the plates of the " D ,DICK "'s skull. He settles back into the "
D ,SAWDUST "." CR>)>)
(<AND <VERB? LISTEN>
<EQUAL? ,HERE ,MIDWEST>
<NOT ,DICK-DRUNK>>
<PERFORM ,V?LISTEN ,VOICES>
<RTRUE>)
(<VERB? SEARCH>
<PERFORM ,V?SEARCH ,COAT>
<RTRUE>)
(<VERB? SEARCH-OBJECT-FOR>
<PERFORM ,V?SEARCH-OBJECT-FOR ,COAT ,PRSI>
<RTRUE>)
(<AND <VERB? THROW POUR PUT-ON>
<PRSO? ,WATER>>
<COND (<FSET? ,DICK ,RMUNGBIT>
<FCLEAR ,DICK ,RMUNGBIT>
<MOVE ,WATER ,LOCAL-GLOBALS>
<MOVE ,FLASK ,LOCAL-GLOBALS>
<TELL
"The cool wave of water breaks upon the " D ,DICK "'s face with a \"whooosh.\"
He comes up for air, wide-eyed and woken-up.|
|
Glancing down at the flask of Dr. Nostrum's, he heaves it against the
turnstile, and it explodes into a cloud of acrid smoke surrounded by twinkling
flying shards of glass. Lucky no one got hurt." CR>)
(,DICK-DRUNK
<TELL "He's already soaked." CR>)>)
(<AND <VERB? ALARM SHAKE RAISE>
,DICK-DRUNK>
<TELL
"Making fists around the coat's lapel, you give a yank, but the "
D ,DICK "'s ">
<COND (<FSET? ,DICK ,RMUNGBIT>
<TELL "overheated ">)>
<TELL "skull merely falls to his opposite shoulder." CR>)
(<VERB? EXAMINE>
<TELL "Wearing a " D ,COAT " and ">
<COND (<AND <NOT ,DICK-DRUNK>
<EQUAL? ,HERE ,MIDWEST>>
<TELL
"cradling a flask of Dr. Nostrum's in his hands,">)
(<EQUAL? ,HERE ,PROP-ROOM>
<TELL "looking otherwise disheveled,">)>
<COND (<AND <EQUAL? ,HERE ,MIDWEST>
,DICK-DRUNK>
<COND (<IN? ,FLASK ,DICK>
<TELL "still clutching the flask">)
(T
<TELL "looking downtrodden">)>
<TELL ",
the " D ,DICK " continues to breathe, but that's about all.">
<COND (<FSET? ,DICK ,RMUNGBIT>
<TELL
" His face is damp with fever.">)>)
(T
<TELL
" he appears to have some kind of " D ,MONKEY " on his back.">)>
<CRLF>)
(<VERB? FOLLOW>
<COND (<EQUAL? ,FOLLOW-FLAG 9>
<DO-WALK ,P?SW>)
(<EQUAL? ,FOLLOW-FLAG 11>
<DO-WALK ,P?WEST>)
(<EQUAL? ,FOLLOW-FLAG 13>
<DO-WALK ,P?EAST>)>)>>
<ROUTINE GET-NOTE ()
<MOVE ,TRADE-CARD ,HERE>
<MOVE ,NOTE ,HERE>
<SETG P-IT-OBJECT ,TRADE-CARD>
<TELL
"With much pain, slowness, and remorse, the " D ,DICK " retrieves what looks
to be a " D ,NOTE " and a " D ,TRADE-CARD " out of the inner lining of his "
D ,COAT " and lays them on the " D ,SAWDUST "." CR>>
<GLOBAL DICK-DRUNK <>> ;"says he's lying in midwest, not with billy"
<GLOBAL DICK-UNRESPONSIVE <>>
<ROUTINE DICK-DESC ("OPTIONAL" X)
<COND (,DICK-DRUNK
<TELL
"Over next to the " D ,BIGTOP ", you can see the rumpled form of the "
D ,DICK " lying in the " D ,SAWDUST ".">)
(T
<TELL "The " D ,DICK " is here.">)>>
<OBJECT COAT
(IN DICK)
(DESC "rumpled trenchcoat")
(SYNONYM TRENCH COAT)
(ADJECTIVE RUMPLED COAT)
(FLAGS CONTBIT NDESCBIT SEARCHBIT TRYTAKEBIT OPENBIT)
(SIZE 15)
(CAPACITY 10)
(ACTION COAT-F)>
<ROUTINE COAT-F ()
<COND (<AND <VERB? LOOK-INSIDE SEARCH SEARCH-OBJECT-FOR OPEN>
<EQUAL? ,HERE ,MIDWEST>
,DICK-DRUNK>
<TELL
"You're unable to search the coat thoroughly, since the " D ,DICK " is wearing
it." CR>)
(<AND <EQUAL? ,HERE ,PROP-ROOM>
<OR <TOUCHING? ,COAT>
<VERB? LOOK-INSIDE>>>
<CANT-REACH ,DICK>)
(<AND <EQUAL? ,HERE ,MIDWEST>
<NOT ,DICK-DRUNK>
<VERB? LOOK-INSIDE OPEN CLOSE SEARCH PICK>>
<PERFORM ,V?TAKE ,FLASK>
<RTRUE>)
(<VERB? CLOSE>
<V-DIG>)
(<AND <VERB? PUT>
<PRSI? ,COAT>>
<V-DIG>)
(<VERB? TAKE REMOVE OPEN>
<COND (,DICK-DRUNK
<TELL
"It's harder than trying to husk an ear of corn; you finally give up." CR>)
(T
<TELL <PICK-ONE ,YUKS> CR>)>)>>
<OBJECT TRADE-CARD
(IN DICK)
(DESC "trade card")
(SYNONYM CARD PICTURE)
(ADJECTIVE TRADE)
(FLAGS TAKEBIT)
(SIZE 4)
;(GENERIC GEN-GIRL-F)
(ACTION TRADE-CARD-F)>
<ROUTINE TRADE-CARD-F ()
<COND (<DONT-HANDLE? ,TRADE-CARD>
<RFALSE>)
(<IN? ,TRADE-CARD ,GLOBAL-OBJECTS>
<CANT-SEE ,TRADE-CARD>)
(<AND <EQUAL? ,HERE ,PROP-ROOM>
<IN? ,TRADE-CARD ,DICK>>
<TELL "It's out of your sight." CR>)
(<AND <VERB? COMPARE>
<EQUAL? ,GIRL ,PRSO ,PRSI>>
<TELL
"The girl depicted on the " D ,TRADE-CARD " indeed appears as an idealized
portrait of " D ,GIRL "." CR>)
(<AND <VERB? COMPARE>
<EQUAL? ,RIBBON ,PRSO ,PRSI>>
<TELL "It looks like the same " D ,RIBBON "." CR>)
(<VERB? EXAMINE>
<IN-PACKAGE ,TRADE-CARD>)>>
<ROUTINE IN-PACKAGE (OBJ)
<TELL "[A replica of">
<ARTICLE .OBJ T>
<TELL " is included in your Ballyhoo package.]" CR>>
<OBJECT NOTE
(IN LOCAL-GLOBALS)
(DESC "ransom note")
(SYNONYM NOTE)
(ADJECTIVE RANSOM)
(FLAGS TAKEBIT)
(ACTION NOTE-F)>
<ROUTINE NOTE-F ()
<COND (<DONT-HANDLE? ,NOTE>
<RFALSE>)
(<IN? ,NOTE ,GLOBAL-OBJECTS>
<CANT-SEE ,NOTE>)
(<VERB? READ EXAMINE>
<FIXED-FONT-ON>
<TELL
"The note is made from letters clipped out of a newspaper. It reads:"
CR CR
" thE kId iS sAFe aND sOUnD.|
|
FOr nOw. DoNT leaVe TowN|
|
WItHOut HeR -|
|
staY tuNeD foR deTaILs" CR>
<FIXED-FONT-OFF>)>>
<ROOM WEST-CAMP
(IN ROOMS)
(DESC "Camp, West")
(NORTH PER PLEAT-EXIT)
(OUT PER PLEAT-EXIT)
(SOUTH TO CLOWN-ALLEY IF WARPED-DOOR IS OPEN)
(IN TO CLOWN-ALLEY IF WARPED-DOOR IS OPEN)
(EAST TO EAST-CAMP)
(FLAGS ONBIT RLANDBIT)
(GLOBAL WARPED-DOOR FENCE CANVAS CLOWN-TRAILER TENT CAMP)
(ACTION WEST-CAMP-F)>
<ROUTINE WEST-CAMP-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<CAMP-DESC>
<TELL CR
"At the northern border of the camp there is a pleated canvas wall, on
either side of which runs the fence that was meant to keep you out. To the
south, you see the long side of a dilapidated trailer, which sits off-kilter."
CR>)
(<AND <EQUAL? .RARG ,M-BEG>
<CANT-WALK?>>
<RTRUE>)>>
<ROUTINE CANT-WALK? ()
<COND (<VERB? WALK>
<COND (<AND <IN? ,THUMB ,PROTAGONIST>
<EQUAL? ,HERE ,WEST-CAMP ,EAST-CAMP>
<EQUAL? ,P-WALK-DIR ,P?NORTH>>
<DONT-WALK ,THUMB>)
(<AND <IN? ,GIRL ,PROTAGONIST>
<OR <AND <EQUAL? ,HERE ,EAST-CAMP>
<EQUAL? ,P-WALK-DIR ,P?WEST ,P?EAST>>
<AND <EQUAL? ,HERE ,BACK-YARD>
<NOT <EQUAL? ,P-WALK-DIR ,P?EAST>>>
<AND <EQUAL? ,HERE ,NEAR-WAGON>
<NOT <EQUAL? ,P-WALK-DIR ,P?SOUTH>>>>>
<DONT-WALK ,GIRL>)
(T
<RFALSE>)>)
(T
<RFALSE>)>>
<ROUTINE DONT-WALK (PERSON)
<COND (<EQUAL? .PERSON ,THUMB>
<TELL D ,THUMB " gets restless in your arms">)
(T
<TELL D ,GIRL " looks afraid">)>
<TELL " when you start that way so you stop." CR>>
<OBJECT CANVAS
(IN LOCAL-GLOBALS)
(DESC "canvas wall")
(SYNONYM PLEATS WALL PLEAT)
(ADJECTIVE PLEATED DARK CANVAS DARKLY SHADOW)
(FLAGS NDESCBIT)
(GENERIC GEN-TENT)
(ACTION CANVAS-F)>
;"RMUNGBIT = canvas wall has been walked through, now is described in 2 rooms"
<ROUTINE CANVAS-F ()
<COND ;(<AND <EQUAL? ,HERE ,PROP-ROOM>
<NOT <FSET? ,CANVAS ,RMUNGBIT>>>
<CANT-SEE ,CANVAS>)
(<VERB? EXAMINE>
<COND (<AND <RUNNING? ,I-MEET>
;<NOT <IN? ,MUNRAB ,HERE>>
<IS-ADJ? ,W?SHADOW>>
<TELL "Very ominous." CR>)
(<AND <NOT <FSET? ,CANVAS ,RMUNGBIT>>
<EQUAL? ,HERE ,PROP-ROOM>>
<RFALSE>)
(T
<TELL
"The " D ,CANVAS " is deeply shadowed by its many pleats." CR>)>)
(<AND <EQUAL? ,HERE ,WEST-CAMP>
<VERB? OPEN RUB RAISE LOOK-UNDER LOOK-INSIDE MOVE>>
<TELL
"One pleat opens up to reveal more darkly shadowed pleats." CR>)
(<AND <VERB? WALK-TO BOARD THROUGH CRAWL-UNDER>
<EQUAL? ,HERE ,WEST-CAMP ,PROP-ROOM>>
<COND (<OR <EQUAL? ,HERE ,WEST-CAMP>
<FSET? ,CANVAS ,RMUNGBIT>>
<COND (<NOT <FSET? ,CANVAS ,RMUNGBIT>>
<SETG SCORE <+ ,SCORE 10>>)>
<TELL-PASS-CANVAS>
<FSET ,CANVAS ,RMUNGBIT>
<COND (<EQUAL? ,HERE ,WEST-CAMP>
<GOTO ,PROP-ROOM>)
(T
<GOTO ,WEST-CAMP>)>)
(T
<TELL
"This side of the tent is too dark and shadowy to make out the confines
of the " D ,CANVAS "." CR>)>)>>
<ROUTINE GEN-TENT ()
,TENT>
<ROUTINE TENT-BOUND ()
<TELL
"The " D ,PRSO " appears securely bound here." CR>>
<ROOM EAST-CAMP
(IN ROOMS)
(DESC "Camp, East")
(NORTH PER TURNSTILE-EXIT)
(OUT PER TURNSTILE-EXIT)
(SOUTH "A fence blocks your way.")
(WEST TO WEST-CAMP)
(EAST TO TAMER-ROOM IF TAMER-DOOR IS OPEN)
(IN TO TAMER-ROOM IF TAMER-DOOR IS OPEN)
(FLAGS ONBIT RLANDBIT)
(GLOBAL TURNSTILE FENCE TAMER-TRAILER TAMER-DOOR CURTAINS WINDOW
BAGGAGE-COMPARTMENT CAMP)
(ACTION EAST-CAMP-F)>
<ROUTINE EAST-CAMP-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<CAMP-DESC>
<TELL CR
"At the eastern end of the camp sits one lone " D ,TAMER-TRAILER "."
CR>)
(<EQUAL? .RARG ,M-BEG>
<COND (<CANT-WALK?>
<RTRUE>)
(<AND <VERB? WAIT>
<EQUAL? ,WIPE-C 100>
<IN? ,JENNY ,LOCAL-GLOBALS>>
<TELL
"It doesn't appear the meeting is about to start soon." CR>)>)
(<AND <EQUAL? .RARG ,M-ENTER>
<FSET? ,CASE ,TOUCHBIT>
<FSET? ,RIBBON ,TOUCHBIT>
<FSET? ,SHEET ,TOUCHBIT>
<NOT ,WON-JOEY>
,WON-ON-TENT
,CLOWN-ALLEY-SCENE>
<SETG WIPE-C 0>
<MOVE ,FLASK ,JOEY>
<MOVE ,RAG ,JOEY>
<ENABLE <QUEUE I-JOEY -1>>
<MOVE ,JOEY ,EAST-CAMP>)>>
<OBJECT TAMER
(IN TAMER-ROOM)
(DESC "Gottfried Wilhelm von Katzenjammer")
(SYNONYM KATZEN KATZ TRAINER TAMER)
(ADJECTIVE MAN HERR VON GOTTFR WILHEL LION)
(FLAGS PERSON ACTORBIT NARTICLEBIT)
(ACTION TAMER-F)>
<ROUTINE TAMER-F ()
<COND (<TALKING-TO? ,TAMER>
<TELL "\"Was ist das!\"" CR>
<STOP>)
(<AND <VERB? FOLLOW>
<EQUAL? ,FOLLOW-FLAG 16>>
<DO-WALK ,P?EAST>)>>
<ROOM TAMER-ROOM
(IN ROOMS)
(DESC "Inside Trailer")
(WEST TO EAST-CAMP IF TAMER-DOOR IS OPEN)
(OUT TO EAST-CAMP IF TAMER-DOOR IS OPEN)
(FLAGS ONBIT RLANDBIT)
(GLOBAL CURTAINS WINDOW TAMER-DOOR TAMER-TRAILER)
(ACTION TAMER-ROOM-F)>
<ROUTINE TAMER-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-ENTER>
<STEP-INTO-TRAILER>
<COND (<RUNNING? ,I-TAMER> ;"so you can close door, I-TAMER"
<MOVE ,TAMER ,LOCAL-GLOBALS>
<ENABLE <QUEUE I-TAMER 3>>)>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"These quarters are furnished in a foreigner's vision of American Rugged
Individualism. ">
<COND (<FSET? ,MOOSE ,NDESCBIT>
<TELL
"The head of a moose, for example, hangs as a trophy against">)
(T
<TELL "There's an opening to a " D ,CRAWL-SPACE " in">)>
<TELL
" one wall. Against the west wall the door stands ">
<OPEN-CLOSED ,TAMER-DOOR>
<TELL " and a gaily decorated " D ,CURTAINS>
<COND (<FSET? ,CURTAINS ,OPENBIT>
<TELL " is open at">)
(T
<TELL " covers">)>
<TELL " the " D ,WINDOW "." CR>)>>
<ROUTINE STEP-INTO-TRAILER ()
<TELL "You step up into the trailer." CR CR>>
<OBJECT MOOSE
(IN TAMER-ROOM)
(DESC "moose head")
(SYNONYM HEAD TROPHY ANTLER)
(ADJECTIVE MOOSE)
(FLAGS NDESCBIT TAKEBIT)
(SIZE 90)
(ACTION MOOSE-F)>
<ROUTINE MOOSE-F ()
<COND (<AND <VERB? MOVE PUSH TAKE LOOK-BEHIND>
<FSET? ,MOOSE ,NDESCBIT>>
<FCLEAR ,MOOSE ,NDESCBIT>
<FCLEAR ,CRAWL-SPACE ,INVISIBLE>
<TELL
"The " D ,MOOSE " drops to the floor with a loud thud, revealing an opening,
about one foot square, to a " D ,CRAWL-SPACE "." CR>)
(<AND <VERB? PUT PUT-ON>
<PRSI? ,WALLS>
<EQUAL? ,HERE ,TAMER-ROOM>>
<TELL "It won't reattach to the " D ,WALLS "." CR>)
(<VERB? DRINK>
<TELL "It's very very dry, undrinkably so." CR>)>>
<OBJECT CRAWL-SPACE
(IN TAMER-ROOM)
(DESC "crawl space")
(SYNONYM OPENING SPACE HOLE)
(ADJECTIVE ;HALLOW CRAWL SQUARE)
(FLAGS NDESCBIT INVISIBLE)
(ACTION CRAWL-SPACE-F)>
<ROUTINE CRAWL-SPACE-F ()
<COND (<VERB? LOOK-INSIDE>
<TELL "It is completely dark inside the opening." CR>)
(<VERB? REACH-IN>
<COND (<IN? ,GIRL ,HERE>
<PERFORM ,V?TAKE ,GIRL>
<RTRUE>)
(T
<TELL-WITHIN-REACH>)>)
(<VERB? EXAMINE>
<TELL "The square hole is about a foot wide." CR>)
(<AND <VERB? PUT-ON>
<PRSO? ,MOOSE>>
<PERFORM ,V?PUT-ON ,MOOSE ,WALLS>
<RTRUE>)
(<VERB? PUT>
<COND (<PRSO? ,GIRL>
<RFALSE>)
(<L? <GETP ,PRSO ,P?SIZE> 75>
<FSET ,PRSO ,INVISIBLE>
<MOVE ,PRSO ,CRAWL-SPACE>
<COND (<PRSO? ,THUMB>
<ENABLE <QUEUE I-TAMER 3>>
<TELL
"A wide-eyed " D ,THUMB " goes easily through the opening and">)
(T
<TELL "As you release">
<ARTICLE ,PRSO T>
<TELL " it">)>
<TELL
" drops to the floor on the other side of the wall. ">
<COND (<AND <IN? ,GIRL ,LOCAL-GLOBALS>
<NOT ,GIRL-CRIED>>
<TELL-WIMPER>
<RTRUE>)
(T
<CRLF>
<RTRUE>)>)
(T
<TELL "It doesn't fit.">)>
<CRLF>)
(<VERB? BOARD ENTER THROUGH>
<TELL
"Despite your writhing and squirming at the opening, it would seem only
a contortionist or a Houdini would fit through it." CR>)>>
<GLOBAL GIRL-CRIED <>>
<OBJECT WINDOW
(IN LOCAL-GLOBALS)
(DESC "window")
(SYNONYM WINDOW)
(FLAGS NDESCBIT TRANSBIT)
(ACTION WINDOW-F)>
<ROUTINE WINDOW-F ()
<COND (<VERB? OPEN CLOSE BOARD THROUGH>
<TELL "It refuses to budge." CR>)
(<VERB? LOOK-INSIDE>
<COND (<FSET? ,CURTAINS ,OPENBIT>
<TELL ,YOU-SEE>
<COND (<EQUAL? ,HERE ,EAST-CAMP>
<TELL " the inside of the trailer.">)
(T
<TELL " the performers' camp.">)>)
(T
<TELL
"The " D ,CURTAINS "s are drawn over the " D ,WINDOW ".">)>
<CRLF>)>>
<OBJECT CURTAINS
(IN LOCAL-GLOBALS)
(DESC "curtain")
(SYNONYM CURTAINS DECORATION)
;(ADJECTIVE ;BUFFALO ;COWBOY ;GUNFIGHT)
(FLAGS NDESCBIT DOORBIT)
(ACTION CURTAINS-F)>
<ROUTINE CURTAINS-F ()
<COND (<AND <TOUCHING? ,CURTAINS>
<EQUAL? ,HERE ,EAST-CAMP>>
<TELL
"The " D ,CURTAINS "s are inside the trailer, hence unreachable." CR>)
(<VERB? EXAMINE>
<TELL "The ">
<COND (<FSET? ,CURTAINS ,OPENBIT>
<TELL "open ">)
(T
<TELL "closed ">)>
<TELL
D ,CURTAINS " is decorated with little Wild West scenes: cowboys mowing down
buffalo, gunfights, and the like." CR>)>>
<OBJECT TAMER-TRAILER
(IN LOCAL-GLOBALS)
(DESC "trailer")
(SYNONYM TRAILER SIDING WAGON)
(ADJECTIVE ALUMINUM CHALKY LONE)
(FLAGS NDESCBIT)
(ACTION TAMER-TRAILER-F)>
<ROUTINE TAMER-TRAILER-F ()
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,EAST-CAMP>
<TELL
"The " D ,TAMER-TRAILER " with its chalky aluminum siding has all the charm
of a generic beer can. In contrast, a garishly painted sign hangs over both
the door, which is">
<COND (<FSET? ,TAMER-DOOR ,OPENBIT>
<TELL " open">)
(T
<TELL " closed">)>
<TELL
", and a window. Built into the side of the " D ,TAMER-TRAILER " is ">
<COND (<FSET? ,BAGGAGE-COMPARTMENT ,OPENBIT>
<TELL "an open ">)
(T
<TELL "some kind of baggage ">)>
<TELL D ,BAGGAGE-COMPARTMENT ".">
<CRLF>)
(T
<V-LOOK>)>)
(<VERB? ENTER BOARD THROUGH>
<COND (<EQUAL? ,HERE ,TAMER-ROOM>
<TELL ,LOOK-AROUND CR>)
(T
<DO-WALK ,P?EAST>)>)
(<VERB? LOOK-INSIDE>
<COND (<EQUAL? ,HERE ,TAMER-ROOM>
<V-LOOK>)
(T
<PERFORM ,V?LOOK-INSIDE ,WINDOW>
<RTRUE>)>)
(<AND <TOUCHING? ,TAMER-TRAILER>
<IN? ,JOEY ,HERE>>
<PERFORM ,V?KNOCK ,TAMER-DOOR>
<RTRUE>)
(<VERB? OPEN CLOSE UNLOCK LOCK>
<PERFORM ,PRSA ,TAMER-DOOR ,PRSI>
<RTRUE>)>>
<OBJECT TAMER-SIGN
(IN EAST-CAMP)
(DESC "sign")
(SYNONYM SIGN)
(ADJECTIVE GARISH PAINTED)
(FLAGS NDESCBIT)
(ACTION TAMER-SIGN-F)>
<ROUTINE TAMER-SIGN-F ()
<COND (<VERB? READ EXAMINE>
<FIXED-FONT-ON>
<TELL
" Home Of|
" D ,TAMER "|
|
KATZENJAMMER OF THE BIG CATS|">
<FIXED-FONT-OFF>)>>
<OBJECT CAMP
(IN LOCAL-GLOBALS)
(DESC "camp")
(SYNONYM CAMP)
(ADJECTIVE PERFOR)
(FLAGS NDESCBIT)
(ACTION GLOBAL-ROOM-F)>
<OBJECT TAMER-DOOR
(IN LOCAL-GLOBALS)
(DESC "trailer door")
(SYNONYM DOOR LOCK)
(ADJECTIVE TRAILER)
(FLAGS DOORBIT LOCKEDBIT)
(ACTION TAMER-DOOR-F)>
<ROUTINE TAMER-DOOR-F ()
<COND (<AND <TOUCHING? ,TAMER-DOOR>
<IN? ,JOEY ,HERE>>
<TELL
D ,JOEY " shields the " D ,TAMER-TRAILER " from you. \"Keep away. The liquid
hasn't dried yet.\"" CR>)
(<AND <VERB? CLOSE LOOK-BEHIND>
<EQUAL? ,HERE ,TAMER-ROOM>
<IN? ,CROWBAR ,LOCAL-GLOBALS>>
<FCLEAR ,TAMER-DOOR ,OPENBIT>
<MOVE ,CROWBAR ,HERE>
<SETG P-IT-OBJECT ,CROWBAR>
<TELL
"As the " D ,TAMER-DOOR " is closed, you notice a " D ,CROWBAR " leaning
against the wall, where it looks more like a weapon than a tool." CR>)
(<VERB? KNOCK>
<COND (<AND <IN? ,TAMER ,TAMER-ROOM>
,WON-JOEY>
<TELL
,YOU-SEE " the " D ,CURTAINS "s part slightly and then ">
<COND (<AND <FSET? ,VEIL ,WORNBIT>
<FSET? ,DRESS ,WORNBIT>
<FSET? ,SHAWL ,WORNBIT>>
<FSET ,CURTAINS ,OPENBIT>
<FSET ,TAMER-DOOR ,OPENBIT>
<FCLEAR ,TAMER-DOOR ,LOCKEDBIT>
<FCLEAR ,TAMER-DOOR ,RMUNGBIT>
<FSET ,TAMER ,NDESCBIT>
<MOVE ,TAMER ,HERE>
<ENABLE <QUEUE I-TAMER 1>>
<TELL
"you hear through the window a hushed voice with a thick German accent.|
|
\"Andrew, where is Eddie?! And Willie! We must talk over what to do.
I go now and bring back them, and the " D ,JIM " too. You be guarding in here,
when I will come back.\"|
|
The " D ,TAMER-DOOR " swings inward, and out of the " D ,TAMER-TRAILER
" steps the robust personage of the " D ,TAMER "." CR>)
(T
<FSET ,TAMER-DOOR ,RMUNGBIT>
<ENABLE <QUEUE I-TAMER 10>>
<TELL "draw closed." CR>)>)
(T
<RFALSE>)>)
(T
<RFALSE>)>>
<OBJECT CROWBAR
(IN LOCAL-GLOBALS)
(DESC "crowbar")
(SYNONYM CROWBAR BAR TOOL)
(ADJECTIVE CROW)
(FLAGS TAKEBIT)
(SIZE 20)
(GENERIC GEN-BAR)>
<GLOBAL TAMER-C 0>
<GLOBAL END-GAME <>>
<GLOBAL CALLED-STATION <>>
<GLOBAL END-GAME-C 0>
<ROUTINE I-END-GAME ()
<SETG END-GAME-C <+ ,END-GAME-C 1>>
<COND (<EQUAL? ,HERE ,LEFT-HANGING>
<COND (<EQUAL? ,END-GAME-C 2>
<TELL CR
"Down below, oblivious of your plight, all of the circus folk are making
noises of mutual forgiveness and reconciliation in the new spirit of
togetherness brought on by the dramatic, emotionally charged rescue of
" D ,MUNRAB "'s daughter." CR>)
(<EQUAL? ,END-GAME-C 3>
<TELL CR
"You can feel your grip loosen as the crowd below continues its orgy of
feeling." CR>)
(<EQUAL? ,END-GAME-C 4>
<TELL "Your sweaty hands slip off the wire.">
<CARRIAGE-RETURNS 14>
<TELL
"The story of your evening's heroic deeds must have just been passed among
the circus people below, because you feel the sudden pressure of your
shoulders sinking deeply into the " D ,NET " and with a rousing chorus of
\"Hip hip hooray!\" you are flung back high into the air, where you view the
smiling upturned faces of your circle of boosters.|
|
You float back down and on the second blast-off -- \"Hip hip hooray!\" -- you
pass out, not so much from the acceleration as from the sheer exhilaration
of having saved The Traveling Circus That Time Forgot, Inc." CR>
<FINISH>)>)
(<IN? ,JIM ,LOCAL-GLOBALS>
<ENABLE <QUEUE I-END-GAME -1>>
<MOVE ,JIM ,RING>
<MOVE ,NET ,MUNRAB>
<MOVE ,THUMB RING>
<FSET ,THUMB ,NDESCBIT>
<FSET ,JIM ,NDESCBIT>
<COND (<EQUAL? ,HERE ,RING>
<TELL CR
"The " D ,JIM " comes sprinting through the wings with the " D ,NET " slung
over his shoulder and the midget " D ,THUMB " in tow. " D ,MUNRAB " and his
two employees each grab part of the net, and they try to position it
directly under the imperiled little girl." CR>)>)
(<AND <EQUAL? ,HERE ,RING>
<FSET? ,DIAL ,RMUNGBIT> ;"fundraising"
<NOT ,GANG-HERE>>
<MOVE ,TAMER ,HERE>
<MOVE ,ANDREW ,HERE>
<MOVE ,JENNY ,HERE>
<MOVE ,HERM ,HERE>
<MOVE ,JOEY ,HERE>
<MOVE ,HYP ,HERE>
<MOVE ,CON ,HERE>
<MOVE ,GANG ,HERE>
<SETG GANG-HERE T>
<FSET ,HERM ,NDESCBIT>
<FSET ,CON ,NDESCBIT>
<FSET ,HYP ,NDESCBIT>
<FSET ,JOEY ,NDESCBIT>
<TELL CR
"Just now a gaggle of circus performers -- ">
<TELL-GROUP>
<TELL
"-- appear through the wings. Quickly assessing the situation, the group
seems to suddenly, gut-wrenchingly accept the burden of responsibility for the
calamity that has occurred. Their immediate reaction is the instinct to help,
and each grabs part of the net." CR>)
(<AND <IN? ,NET ,MUNRAB>
<EQUAL? ,HERE ,RING>>
<ENABLE <QUEUE I-END-GAME -1>>
<TELL CR
"Munrab & Company, their faces anxiously upturned, are pulling the " D ,NET "
every which way, kicking sawdust from one end of the ring to the other." CR>
<RTRUE>)>>
;<OBJECT RADIO-STATION
(IN LOCAL-GLOBALS)
(DESC "station")
(SYNONYM STATION)
(ADJECTIVE RADIO)
(FLAGS NDESCBIT)>
<ROUTINE I-TAMER ()
<COND (<FSET? ,TAMER-DOOR ,RMUNGBIT>
<FCLEAR ,TAMER-DOOR ,RMUNGBIT>
<RFALSE>)
(<AND <EQUAL? ,HERE ,TAMER-ROOM>
<IN? ,THUMB ,CRAWL-SPACE> ;"called for 3 when put in"
<IN? ,GIRL ,LOCAL-GLOBALS>> ;"important test - below"
<ENABLE <QUEUE I-TAMER -1>>
<SETG TAMER-C 0>
<FSET ,GIRL ,RMUNGBIT>
<TELL CR "Coming from the other side of the wall is a scurrying noise. Then ">
<TELL-BOOST-GIRL>
<RTRUE>)
(T
<ENABLE <QUEUE I-TAMER -1>>
<SETG TAMER-C <+ ,TAMER-C 1>>
<COND (<AND <NOT <IN? ,GIRL ,LOCAL-GLOBALS>>
<FSET? ,GIRL ,RMUNGBIT>
<EQUAL? ,HERE ,TAMER-ROOM>>
<COND (<EQUAL? ,TAMER-C 1 3>
<MOVE ,GIRL ,CRAWL-SPACE>
<TELL CR "The girl drops out of view" >
<COND (<EQUAL? ,TAMER-C 3>
<TELL
"; you hear foot-stomping from inside the " D ,CRAWL-SPACE " and then
a long silence">)>
<TELL ,PERIOD>)
(<EQUAL? ,TAMER-C 2>
<TELL-BOOST-GIRL T>)>
<RTRUE>)
(<AND <EQUAL? ,TAMER-C 2>
<IN? ,GIRL ,LOCAL-GLOBALS>>
<MOVE ,TAMER ,LOCAL-GLOBALS>
<COND (<EQUAL? ,HERE ,EAST-CAMP>
<FCLEAR ,TAMER-DOOR ,OPENBIT>
<FSET ,TAMER-DOOR ,LOCKEDBIT>
<ENABLE <QUEUE I-FOLLOW 2>>
<SETG FOLLOW-FLAG 16>
<FCLEAR ,CURTAINS ,OPENBIT>
<TELL CR
D ,TAMER ", with a confused look on his face, stares at you
as if he'd never seen a sideshow freak in his life.">
<COND (<FSET? ,VEIL ,WORNBIT>
<TELL " He peels back your veil,">)
(T
<TELL " He">)>
<TELL
" shoves you to the " D ,GROUND ", and steps up into the "
D ,TAMER-TRAILER ". You bring " D ,ME " to your feet." CR>)>)
;(<AND <G? ,TAMER-C 7>
<EQUAL? ,HERE ,TAMER-ROOM>
<NOT <HELD? ,THUMB>>
<NOT <VERB? WALK OPEN>>
<OR <FSET? ,TAMER-DOOR ,OPENBIT>
<FSET? ,CURTAINS ,OPENBIT>>>
<TELL CR
"Out of the " D ,CORNER " of your eye, you notice a flash of color passing
in front of the ">
<COND (<FSET? ,WINDOW ,OPENBIT>
<TELL D ,WINDOW>)
(T
<TELL D ,TAMER-DOOR>)>
<TELL
". " D ,JOEY " barges through the door, and taunts you with your old
nemesis, the " D ,PROD ". ">
<JIGS-UP 3
"With a lightning thrust, he makes contact.">)>)>>
<ROUTINE TELL-BOOST-GIRL ("OPTIONAL" (AGAIN? <>))
<MOVE ,GIRL ,HERE>
;<CRLF>
<COND (.AGAIN?
<TELL CR "Once again ">)>
<TELL "you can hear the strained voice of " D ,THUMB " cursing in Russian as he gives a boost to his human cargo. ">
<COND (.AGAIN?
<TELL CR
"The girl is held precariously up to the opening." CR>)
(T
<TELL CR CR
"Slowly rising into view through the opening comes the expressionless face
of the missing girl, framed by her tousled and ribbonless hair, seeming too
tired to be frightened.|
|
She pauses there for an instant, a portrait of innocence within a
jagged plywood frame." CR>)>>
<OBJECT GIRL
(IN LOCAL-GLOBALS)
(DESC "Chelsea")
(SYNONYM GIRL CHELSEA)
(ADJECTIVE LITTLE)
(FLAGS PERSON ACTORBIT TAKEBIT NARTICLEBIT FEMALE)
(SIZE 50)
;(GENERIC GEN-GIRL-F)
(ACTION GIRL-F)>
;"RMUNGBIT = girl's being raised and lowered in crawl-space"
<ROUTINE GIRL-F ()
<COND (<AND <VERB? LISTEN>
<IN? ,GIRL ,LOCAL-GLOBALS>
,GIRL-CRIED>
<TELL "You don't hear the " D ,WHIMPER " now." CR>)
(<VERB? EXAMINE>
<TELL
"She looks exhausted, but also somehow strengthened by her travails
this evening." CR>)
(<TALKING-TO? ,GIRL>
<COND (<IN? ,GIRL ,APE>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?TELL ,APE>
<STOP>)
(T
<TELL
"The girl merely looks at you with frightened eyes. She has learned her
lesson about not talking to strangers." CR>
<STOP>)>)
(<AND <VERB? TAKE>
<FSET? ,GIRL ,RMUNGBIT>
<EQUAL? <ITAKE> T>>
<DISABLE <INT I-TAMER>>
<ENABLE <QUEUE I-GIRL -1>>
<MOVE ,THUMB ,LOCAL-GLOBALS>
<SETG SCORE <+ ,SCORE 10>>
<SETG FOLLOW-FLAG 10>
<ENABLE <QUEUE I-FOLLOW 2>>
<FCLEAR ,THUMB ,INVISIBLE>
<FCLEAR ,GIRL ,RMUNGBIT>
<FCLEAR ,APE-DOOR ,OPENBIT>
<FSET ,APE-DOOR ,LOCKEDBIT>
<TELL
"You hoist the girl from out of the " D ,CRAWL-SPACE ". " D ,THUMB
", exhilarated by the rescue, climbs out of the opening unassisted,
and then exits the " D ,TAMER-TRAILER "." CR>
<RTRUE>)
(<AND <VERB? GIVE SHOW>
<PRSO? ,TRADE-CARD>>
<TELL "\"That's me,\" she says." CR>)
(<AND <VERB? DROP PUT THROW GIVE>
<PRSO? ,GIRL>>
<COND (<AND ,PRSI
<FSET? ,PRSI ,TAKEBIT>>
<TELL "She resists">)
(T
<TELL
"With fear in her eyes, she resists your abandonment">)>
<TELL ,PERIOD>)
(<OR <AND <VERB? GIVE PUT-ON>
<PRSI? ,GIRL>>
<AND <VERB? TIE>
<PRSO? RIBBON>>>
<TELL
"Understandably, " D ,GIRL " is reluctant to accept gifts from strangers">
<COND (<PRSO? ,RIBBON>
<TELL ", even her own " D ,RIBBON>)>
<TELL ,PERIOD>)
(<AND <TOUCHING? ,GIRL>
<IN? ,GIRL ,APE>>
<CANT-REACH ,GIRL>)
(<VERB? SAVE-SOMETHING>
<TELL ,HOW CR>)
(<AND <VERB? FOLLOW>
<EQUAL? ,FOLLOW-FLAG 9>>
<DO-WALK ,P?NORTH>)>>
<ROUTINE I-GIRL ()
<COND (<AND <EQUAL? ,HERE ,NEAR-WAGON>
<IN? ,MUNRAB ,OFFICE>
<IN? ,GIRL ,PROTAGONIST>>
<FCLEAR ,OFFICE-DOOR ,LOCKEDBIT>
<FSET ,OFFICE-DOOR ,OPENBIT>
<MOVE ,MUNRAB ,MEN>
<FSET ,MUNRAB ,NDESCBIT>
<ENABLE <QUEUE I-FOLLOW 2>>
<SETG P-IT-OBJECT ,MUNRAB>
<SETG FOLLOW-FLAG 8>
<TELL CR
"As you approach the " D ,WAGON ", " D ,MUNRAB " steps down from
inside his office and, as his eyes fall upon the figure of you
carrying the only bit of preciousness in his life, it's as if he were
jolted by an " D ,PROD ". For an instant, his confused mind appears to
be sending him strong fight-or-flight messages, for suddenly he dashes
off through the hole in the fence." CR>)
(<IN? ,MUNRAB ,MEN>
<COND (<EQUAL? ,HERE ,NEAR-WAGON>
<TELL CR
"The little girl begins whining at you to follow her father, and off you
go." CR CR>
<GOTO ,MEN>)>
<DISABLE <INT I-GIRL>>
<ENABLE <QUEUE I-END-GAME -1>>
<ENABLE <QUEUE I-FOLLOW 2>>
<SETG FOLLOW-FLAG 9>
<SETG END-GAME T>
<SETG APE-LOC 1>
<MOVE ,JIM ,RING>
<MOVE ,MUNRAB ,RING>
<MOVE ,GIRL ,APE>
<MOVE ,DICK ,LOCAL-GLOBALS>
<MOVE ,APE ,LOCAL-GLOBALS>
<FCLEAR ,MUNRAB ,NDESCBIT>
<FCLEAR ,RING ,TOUCHBIT>
<FCLEAR ,CLOWN-ALLEY ,TOUCHBIT>
<FSET ,GIRL ,NDESCBIT>
<FSET ,APE ,NDESCBIT>
<TELL CR
D ,MUNRAB ", standing here desperate and alone in the middle of the
menagerie, is calling out in every direction for the detective.|
|
The sotted sleuth comes staggering in from the midway, and " D ,MUNRAB
", pointing confidently at you, delivers the order, \"There is the
perpetrator. Shoot ">
<MAN-OR-WOMAN "him" "her">
<TELL
".\" As the " D ,DICK " stumbles toward you, your ears are pierced by "
D ,GIRL " screaming at the top of her lungs, and then by the screech of
bending metal. Suddenly, you're blindsided by a wall of bristly animal fur
which knocks you to the ground. You get up dazed, and see " D ,MUNRAB "
chasing a giant ape to the north while the detective slinks away through
the hole in the fence." CR>)>>
<OBJECT WHIMPER
(IN TAMER-ROOM)
(DESC "whimper")
(SYNONYM WHIMPER)
(FLAGS NDESCBIT CLEARBIT)
(ACTION WHIMPER-F)>
<ROUTINE WHIMPER-F ()
<COND (<AND <VERB? LISTEN FOLLOW FIND>
,GIRL-CRIED>
<PERFORM ,V?LISTEN ,GIRL>
<RTRUE>)
(T
<CANT-SEE ,WHIMPER>)>>
<OBJECT BAGGAGE-COMPARTMENT
(IN EAST-CAMP)
(DESC "compartment")
(SYNONYM COMPAR)
(ADJECTIVE BAGGAGE)
(FLAGS NDESCBIT CONTBIT CAGEBIT LOCKEDBIT)
(CAPACITY 50)
(ACTION BAGGAGE-COMPARTMENT-F)>
<ROUTINE BAGGAGE-COMPARTMENT-F ()
<COND (<AND <TOUCHING? ,BAGGAGE-COMPARTMENT>
<IN? ,JOEY ,HERE>>
<PERFORM ,V?KNOCK ,TAMER-DOOR>)>>
<ROUTINE CAMP-DESC ()
<TELL "You're in the ">
<COND (<EQUAL? ,HERE ,WEST-CAMP>
<TELL "west">)
(T
<TELL "east">)>
<TELL
" end of the performers' camp. It is unevenly lighted by a number
of glaring spotlights which ring the camp, creating a stage-like
patchwork of light and dark." CR>>
<OBJECT THUMB
(IN CON-AREA)
(DESC "Comrade Thumb")
(DESCFCN THUMB-DESCFCN)
(SYNONYM THUMB MIDGET MAN GENERAL)
(ADJECTIVE COMRAD CONSTA MIDGET LITTLE)
(FLAGS ACTORBIT PERSON NARTICLEBIT TAKEBIT NDESCBIT CONTBIT OPENBIT
SEARCHBIT)
(SIZE 70)
(ACTION THUMB-F)>
;"THUMB RMUNGBIT = has arrived in I-THUMB and will run away next move"
;" I dont understand = Ya ne ponimayu.
I dont speak English = Ya ne govoryu po-anglijski
What? = Shto?"
<ROUTINE THUMB-F ()
<COND (<EQUAL? ,THUMB ,WINNER>
<COND (<VERB? HELLO>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?HELLO ,THUMB>
<SETG WINNER ,THUMB>
<RTRUE>)
(<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?ASK-ABOUT ,THUMB ,ME>
<SETG WINNER ,THUMB>
<RTRUE>)>)
(<VERB? HELLO WAVE-AT>
<TELL
"He gives you a slow and dramatic wave, as if to a great audience." CR>)
(<TALKING-TO? ,THUMB>
<COND (<RUNNING? ,CLOWN-ALLEY>
<PERFORM ,V?RUB ,JOEY>
<RTRUE>)
(T
<TELL
"Unable to comprehend what you're saying, he shrugs his shoulders." CR>
<STOP>)>)
(<AND <VERB? EXAMINE>
<RUNNING? ,I-CLOWN-EXIT>>
<TELL "He rolls his eyes back in a theatrical way." CR>)
(<AND <VERB? LISTEN>
<EQUAL? ,CLOWN-EXIT-COUNTER 4>
<NOT <HELD? ,THUMB>>>
<TELL
"It's certainly not the hit parade." CR>)
(<AND <VERB? DROP GIVE THROW PUT>
<PRSO? ,THUMB>
<NOT <EQUAL? ,PRSI ,CRAWL-SPACE>>>
<TELL "He squirms out of your hold">
<COND (<AND <EQUAL? ,HERE ,TAMER-ROOM>
<NOT <FSET? ,TAMER-DOOR ,OPENBIT>>>
<FSET ,TAMER-DOOR ,OPENBIT>
<TELL ", opens the door,">)>
<COND (<NOT <RUNNING? ,I-CLOWN-EXIT>>
<TELL " and flees into the night">
<MOVE ,THUMB ,LOCAL-GLOBALS>)
(T
<SETG CLOWN-EXIT-COUNTER 7>
<MOVE ,THUMB ,HERE>)>
<TELL ,PERIOD>)
(<OR <AND <VERB? RAISE PICK-UP>
<NOT ,PRSI>>
<AND <VERB? RAISE>
<EQUAL? ,PRSI ,FOUNTAIN ,BUTTON>>>
<COND (<RUNNING? ,I-BOOST>
<SETG HELPED-THUMB T>
<TELL "Once elevated, ">
<THUMB-DRINKS>
<BOOST-EXIT>)
(T
<PERFORM ,V?TAKE ,THUMB>
<RTRUE>)>)
(<EQUAL? ,HERE ,BLUE-ROOM>
<COND (<DISTURB? ,THUMB>
<TELL
"Curious, the " D ,DEALER " peeks under the " D ,TABLE " and flushes "
D ,THUMB ", who sprints through the " D ,BLUE-DOOR ". ">
<EIGHTY-SIX>)
(<VERB? EXAMINE>
<COND (<AND <FSET? ,TABLE ,RMUNGBIT>
<EQUAL? ,HERE ,BLUE-ROOM>>
<PERFORM ,V?RUB ,THUMB>
<RTRUE>)
(<AND <RUNNING? ,I-CLOWN-ALLEY>
<EQUAL? ,HERE ,CLOWN-ALLEY>
,HELPED-THUMB>
<TELL "He winks at you and flashes a smile." CR>)
(T
<FSET ,TABLE ,RMUNGBIT>
<TELL ,YOU-SEE
" a trembling midget hand pull the tablecloth back down." CR>)>)>)
(<AND <VERB? TAKE>
<PRSO? ,THUMB>>
<COND (<OR <EQUAL? ,HERE ,RING>
<RUNNING? ,I-CLOWN-ALLEY>>
<TELL "He">
<COND (,HELPED-THUMB
<TELL "'s had it with the upsy-daisy stuff and">)>
<COND (<EQUAL? ,HERE ,RING>
<TELL " resists furiously">)
(T
<TELL " leans back out of reach">)>
<TELL ,PERIOD>)
(<RUNNING? ,I-BOOST>
<PERFORM ,V?RAISE ,THUMB>
<RTRUE>)
(<OR <RUNNING? ,I-THUMB>
<AND <RUNNING? ,I-CLOWN-EXIT>
<NOT ,HELPED-THUMB>>>
<TELL
"As you reach down, he scampers between your legs">
<COND (<OR <NOT <RUNNING? ,I-CLOWN-EXIT>>
<RUNNING? ,I-THUMB>>
<TELL
", giggling in his strangely high-pitched, compressed voice">)>
<TELL ,PERIOD>)
(<AND <RUNNING? ,I-CLOWN-EXIT>
<EQUAL? <ITAKE> T>>
<COND (<G? ,CLOWN-EXIT-COUNTER 3>
<SETG CLOWN-EXIT-COUNTER 3>)>
<MOVE ,FLOWER ,THUMB>
<TELL
"As you put your hands on the midget, for an instant he squirms, then, deciding
you mean no harm, relaxes in your grip and you're able to lift him.|
|
You notice him wearing a daisy in the lapel of his uniform." CR>
<RTRUE>)
(<EQUAL? <ITAKE> T>
<TELL
"You cradle the little performer in your arms and he allows you to lift
him." CR>)>
<RTRUE>)
(<VERB? MOVE>
<V-DIG>)
(<VERB? FOLLOW>
<COND (<EQUAL? ,FOLLOW-FLAG 1 10>
<DO-WALK ,P?WEST>)
(<EQUAL? ,FOLLOW-FLAG 2>
<COND (<EQUAL? ,HERE ,BACK-YARD>
<DO-WALK ,P?SOUTH>)
(T
<DO-WALK ,P?WEST>)>)>)>>
;"NDESCBIT for when he's sleeping, desc in clown-alley-f"
<ROUTINE THUMB-DESCFCN ("OPTIONAL" X)
<COND (<AND <EQUAL? ,HERE ,CLOWN-ALLEY>
<RUNNING? ,I-CLOWN-ALLEY>>
<TELL
"Sitting on an upper bunk, with his arms folded and legs swinging,
is Comrade Thumb.">)
(<FSET? ,CROWBAR ,TOUCHBIT>
<TELL
"Lying perfectly still in the " D ,UPPER ", yet with his eyes wide open, is "
D ,THUMB ".">)
(T
<TELL "Comrade Thumb is here.">)>>
<ROUTINE THUMB-DRINKS ()
<TELL D ,THUMB " slurps his fill of " D ,WATER ". He then plops
down, gives you a quick salute,">>
<OBJECT UNIFORM
(IN THUMB)
(DESC "uniform")
(SYNONYM UNIFORM)
(ADJECTIVE RUSSIAN GENERAL)
(FLAGS NDESCBIT TRYTAKEBIT VOWELBIT)
(ACTION UNIFORM-F)>
<ROUTINE UNIFORM-F ()
<COND (<AND <IN? ,UNIFORM ,THUMB>
<VERB? TAKE REMOVE>>
<KIND-OF-PERFORMER ,THUMB>)>>
<ROUTINE KIND-OF-PERFORMER ("OPTIONAL" (PERSON <>))
<COND (.PERSON
<TELL D .PERSON>)
(T
<TELL "Tina">)>
<TELL " is not that kind of performer." CR>>
<OBJECT FLOWER
(IN LOCAL-GLOBALS)
(DESC "flower")
(SYNONYM FLOWER DAISY)
(FLAGS NDESCBIT TRYTAKEBIT)
(ACTION FLOWER-F)>
<ROUTINE FLOWER-F ()
<COND (<VERB? EXAMINE TAKE PICK RUB SMELL>
<COND (<FSET? ,FLOWER ,RMUNGBIT>
<TELL
"You're not going to fall for that trick twice." CR>
<RTRUE>)
(<NOT <VERB? SMELL>>
<TELL "As you reach for it, t">)
(T
<TELL "T">)>
<FSET ,FLOWER ,RMUNGBIT>
<TELL
"he daisy spritzes some water in your face, and " D ,THUMB "'s cherubic
face lets out a squeal of delight." CR>)>>
<GLOBAL BOOST-COUNTER 0>
<GLOBAL HELPED-THUMB <>>
<ROUTINE I-BOOST ()
<SETG BOOST-COUNTER <+ ,BOOST-COUNTER 1>>
<COND (<EQUAL? ,BOOST-COUNTER 7>
<BOOST-EXIT>)
(T
<COND (<EQUAL? ,HERE ,CON-AREA>
<CRLF>
<COND (<EQUAL? ,BOOST-COUNTER 1>
<TELL
"The last of the crowd just now trickles eastward through the "
D ,TURNSTILE ".|
|
A midget decked out in a Russian general's uniform is standing before">)
(<EQUAL? ,BOOST-COUNTER 2>
<TELL
"The little general gets up on his tiptoes in front of">)
(<EQUAL? ,BOOST-COUNTER 3>
<TELL
"Attempting to do a pull-up, Comrade Thumb manages to sprawl himself onto" >)
(<EQUAL? ,BOOST-COUNTER 4>
<TELL
"Straining his neck to reach the spout, the midget gropes for the button,
loses his grip and plops to the " D ,GROUND " before" >)
(<EQUAL? ,BOOST-COUNTER 5>
<TELL
"The midget looks up at you sadly, then at">)
(<EQUAL? ,BOOST-COUNTER 6>
<TELL
"Comrade Thumb flaps his little arms once in frustration,">
<BOOST-EXIT>
<RFALSE>)>
<TELL " the " D ,FOUNTAIN "." CR>)
(T
<RFALSE>)>)>>
<ROUTINE BOOST-EXIT ()
<MOVE ,THUMB ,LOCAL-GLOBALS>
<DISABLE <INT I-BOOST>>
<MOVE ,CROWD ,STANDS-ROOM>
<COND (<AND <EQUAL? ,HERE ,CON-AREA>
<L? ,BOOST-COUNTER 7>>
<TELL " and waddles off into the darkness." CR>
<SETG FOLLOW-FLAG 1>
<ENABLE <QUEUE I-FOLLOW 2>>)>
<RTRUE>>
<OBJECT JOEY
(IN LOCAL-GLOBALS)
(DESC "Chuckles")
(DESCFCN JOEY-DESC)
(SYNONYM CHUCKLES CLOWN JOEY MAN)
(ADJECTIVE ;JOEY LANKY TALL)
(FLAGS ACTORBIT PERSON NARTICLEBIT CONTBIT OPENBIT SEARCHBIT)
(ACTION JOEY-F)>
;"RMUNGBIT = asked guard about him"
<ROUTINE JOEY-DESC ("OPTIONAL" X)
<COND (<RUNNING? ,I-CLOWN-ALLEY>
<TELL
"Chuckles the clown is leaning in front of a mirror, removing his makeup.">)
(<EQUAL? ,HERE ,BACK-YARD>
<TELL
"A tall and lanky clown in baggy pants trudges out of the ">
<COND (<EQUAL? ,P-WALK-DIR ,P?EAST>
<TELL D ,DARKNESS>)
(T
<TELL "tent">)>
<TELL
" and toward the " D ,TURNSTILE ". " D ,THUMB " follows behind.">)
(<EQUAL? ,HERE ,EAST-CAMP>
<TELL
"Chuckles is standing, out of costume, in front of the aluminum trailer.">
<COND (<EQUAL? ,WIPE-C 0>
<TELL " As you approach, ">
<COND (<JOKE-TIME? ,JOEY-JOKE>
<SETG JOEY-JOKE T>
<TELL
"he glances at you and says, \"Pick up an application at the " D ,WAGON
", not here.\"">)
(T
<TELL "he begins polishing away at it.">)>)>)>>
<GLOBAL JOEY-JOKE <>>
<ROUTINE JOEY-F ()
<COND (<EQUAL? ,WINNER ,JOEY> ;"EDDIE omitted"
<COND (<AND <VERB? TELL-ABOUT>
<PRSO? ,ME>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?ASK-ABOUT ,JOEY ,PRSI>
<SETG WINNER ,JOEY>
<RTRUE>)
(<VERB? HELLO>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?HELLO ,JOEY>
<SETG WINNER ,JOEY>
<RTRUE>)
(<AND <VERB? YOU-ARE-OBJECT>
<PRSO? ,EDDIE>>
<SETG WINNER ,PROTAGONIST>
<PERFORM ,V?TELL ,EDDIE>
<SETG WINNER ,JOEY>
<RTRUE>)
(T
<TELL ,BEAT-IT>
<STOP>)>) ;"end of winner"
(<AND <VERB? ASK-ABOUT TELL-ABOUT>
<PRSI? ,EDDIE>
<FSET? ,EDDIE ,RMUNGBIT>>
<PERFORM ,V?HELLO ,EDDIE>
<RTRUE>)
(<AND <TALKING-TO? ,JOEY>
<RUNNING? ,I-CLOWN-ALLEY>>
<PERFORM ,V?RUB ,JOEY>
<RTRUE>)
(<AND <TALKING-TO? ,JOEY>
<NOT <VERB? TELL>>>
<TELL ,BEAT-IT>
<STOP>)
(<VERB? FOLLOW>
<COND (<EQUAL? ,FOLLOW-FLAG 2>
<DO-WALK ,P?SOUTH>)
(<EQUAL? ,FOLLOW-FLAG 3>
<DO-WALK ,P?WEST>)
(<EQUAL? ,FOLLOW-FLAG 4>
<DO-WALK ,P?EAST>)>)
(<AND <VERB? GIVE SHOW>
<PRSI? ,JOEY ,EDDIE>>
<SETG P-IT-OBJECT ,JOEY>
<COND (<AND <PRSO? RIBBON>
<NOT <FSET? ,RIBBON ,RMUNGBIT>>>
<SETG SCARE-NUMBER <+ ,SCARE-NUMBER 1>>
<FSET ,RIBBON ,RMUNGBIT>
<COND (<JOEY-SCARED?>
<RFATAL>)
(<FSET? ,TRADE-CARD ,RMUNGBIT>
<HATE-TO-SEE>
<ELBOW-GREASE>)
(T
<TELL "\"Never saw it before in my life.\"" CR>)>)
(<AND <PRSO? TRADE-CARD>
<NOT <FSET? ,TRADE-CARD ,RMUNGBIT>>>
<SETG SCARE-NUMBER <+ ,SCARE-NUMBER 1>>
<FSET ,TRADE-CARD ,RMUNGBIT>
<COND (<JOEY-SCARED?>
<RFATAL>)
(<FSET? ,RIBBON ,RMUNGBIT>
<TELL
"\"That ribbon in her hair looks like yours.\" He pauses. ">
<HATE-TO-SEE>
<ELBOW-GREASE>
<RTRUE>)
(T
<TELL
"\"Good product. I'd highly recommend it.\"" CR>)>)
(<AND <PRSO? ,SCRAP>
<NOT <FSET? ,SCRAP ,RMUNGBIT>>>
<FSET ,SCRAP ,RMUNGBIT>
<SETG SCARE-NUMBER <+ ,SCARE-NUMBER 1>>
<TELL
D ,JOEY " looks skeptically at the " D ,SCRAP " while listening to you
tell where you found it. ">
<COND (<JOEY-SCARED? T>
<RFATAL>)
(<FSET? ,NOTE ,RMUNGBIT>
<CHERRY-PIE>
<ELBOW-GREASE>)
(T
<TELL CR CR
"\"Yea, I make paper dolls for the local kids. It's part of my act. So
what?\"" CR>)>
<RTRUE>)
(<AND <PRSO? ,NOTE>
<NOT <FSET? ,NOTE ,RMUNGBIT>>>
<FSET ,NOTE ,RMUNGBIT>
<SETG SCARE-NUMBER <+ ,SCARE-NUMBER 1>>
<TELL
"He reads the " D ,NOTE ", silently mouthing the words. ">
<COND (<JOEY-SCARED? T>
<RFATAL>)
(<FSET? ,SCRAP ,RMUNGBIT>
<CHERRY-PIE>
<ELBOW-GREASE>)
(T
<TELL
"He deadpans, \"Fascinating. Don't let the " D ,DICK " find you with
that.\"" CR>)>
<RTRUE>)
(<AND <PRSO? ,SHEET>
<NOT <FSET? ,SHEET ,RMUNGBIT>>>
<FSET ,SHEET ,RMUNGBIT>
<SETG SCARE-NUMBER <+ ,SCARE-NUMBER 1>>
<TELL
"Chuckles's eyes dart between the various numbers in the multiple columns on
the " D ,SHEET ". ">
<COND (<JOEY-SCARED? T>
<RFATAL>)
(,JOEY-NAME-KNOWN
<TELL
"\"So what? It's tough all over. I don't hold any grudge against "
D ,MUNRAB ". Hell, I'm just a clown, a happy clown.\" ">
<ELBOW-GREASE>)
(T
<TELL
"\"I don't know anyone by that name.\"" CR>)>)
(<PRSO? ,SHEET ,NOTE ,SCRAP ,RIBBON ,TRADE-CARD>
<TELL "He ignores it this time." CR>)>)>>
<ROUTINE HATE-TO-SEE ()
<TELL
"\"I'd hate to be caught red-handed holding that " D ,RIBBON " if I were
you.\" ">>
<GLOBAL WON-JOEY <>>
<GLOBAL WIPE-C 100> ;"begins on east-camp m-enter, on 8 Joey enters trailer,
he comes here as you m-enter every time. 100 is he hasn't
come out once yet."
<ROUTINE I-JOEY ()
<SETG WIPE-C <+ ,WIPE-C 1>>
<COND (<EQUAL? ,WIPE-C 8>
<MOVE ,JOEY ,LOCAL-GLOBALS>
<COND (<EQUAL? ,HERE ,EAST-CAMP>
<TELL-SCREWS "enters">
OH<SETG FOLLOW-FLAG 4>
<ENABLE <QUEUE I-FOLLOW 2>>
<TELL " the " D ,TAMER-TRAILER "." CR>)>)
(<AND <EQUAL? ,HERE ,EAST-CAMP>
<EQUAL? ,WIPE-C 2 4 6>
<NOT <AND <VERB? SHOW GIVE>
<PRSI? ,JOEY>>>>
<TELL CR
D ,JOEY " dribbles a little Dr. Nostrum's onto his rag and continues wiping
away at the " D ,TAMER-TRAILER "." CR>)>>
<ROUTINE ELBOW-GREASE ()
<TELL D ,JOEY>
<COND (<EQUAL? ,SCARE-NUMBER 2>
<TELL ", unable to mask his concern,">)
(<EQUAL? ,SCARE-NUMBER 3>
<TELL ", looking unclownly and perturbed,">)
(<EQUAL? ,SCARE-NUMBER 4>
<TELL
" does a slow burn as he continues cleaning the " D ,TAMER-TRAILER "." CR>
<RTRUE>)>
<TELL " applies extra elbow grease to his cleaning." CR>>
<GLOBAL SCARE-NUMBER 0>
<ROUTINE JOEY-SCARED? ("OPTIONAL" (CRLF? <>))
<COND (<AND ,JOEY-NAME-KNOWN
<FSET? ,NOTE ,RMUNGBIT>
<FSET? ,SHEET ,RMUNGBIT>
<FSET? ,SCRAP ,RMUNGBIT>
<FSET? ,TRADE-CARD ,RMUNGBIT>
<FSET? ,RIBBON ,RMUNGBIT>>
<SETG WON-JOEY T>
<DISABLE <INT I-JOEY>>
<MOVE ,JOEY ,LOCAL-GLOBALS>
<SETG SCORE <+ ,SCORE 10>>
<COND (.CRLF?
<CRLF> <CRLF>)>
<TELL-SCREWS "hustles off to the west">
<SETG FOLLOW-FLAG 3>
<ENABLE <QUEUE I-FOLLOW 2>>
<TELL ,PERIOD>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE TELL-SCREWS (STRING)
<COND (,WON-JOEY
<TELL
"Looking like a clown with a hotfoot, ">)>
<TELL
D ,JOEY " suddenly screws the cap onto the flask of Dr. Nostrum's and "
.STRING>>
<ROUTINE CHERRY-PIE ()
<TELL CR CR
"\"So you think you've fingered me for this note. Pretty thin stuff, if
you ask me. Besides, I've got no gripes against the bossman. Why, here I
am doing cherry pie in the middle of the night.\" ">>
<ROOM CLOWN-ALLEY
(IN ROOMS)
(DESC "Clown Alley")
(NORTH PER EXIT-CLOWN-ALLEY)
(OUT PER EXIT-CLOWN-ALLEY)
(FLAGS ONBIT RLANDBIT INDOORSBIT)
(GLOBAL WARPED-DOOR LADDER CLOWN-TRAILER)
(ACTION CLOWN-ALLEY-F)>
<GLOBAL CLOWN-ALLEY-SCENE <>>
<ROUTINE CLOWN-ALLEY-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The gut of the trailer exposes the underside of circus life -- grungy
costumes strewn about, crooked and cracked mirrors, the musty odor of
fresh makeup mingled with clown sweat infusing the air.|
|
Against the wall is a row of cramped-looking bunks, and running from the
floor to one " D ,UPPER " is a small ladder. ">
<COND (<OR <FIRST? ,UPPER>
<FIRST? ,LOWER>>
<TELL ,YOU-SEE>
<COND (<FIRST? ,LOWER>
<PRINT-BUNKS ,LOWER ,UPPER>)
(T
<PRINT-BUNKS ,UPPER ,LOWER>)>)>
<CRLF>)
(<EQUAL? .RARG ,M-ENTER>
<STEP-INTO-TRAILER>
<COND (<NOT ,CLOWN-ALLEY-SCENE>
<SETG CLOWN-ALLEY-SCENE T>
<SETG CLOWN-COUNTER 0>
<ENABLE <QUEUE I-CLOWN-ALLEY -1>>)>)
(<AND <EQUAL? .RARG ,M-BEG>
<ENABLED? ,I-CLOWN-ALLEY>>
<COND (<OR <AND <VERB? REMOVE TAKE-OFF>
<PRSO? ,MASK>>
<NOT <FSET? ,MASK ,WORNBIT>>>
<FCLEAR ,MASK ,WORNBIT>
<TELL ;CR "Y">
<UNMASK>)
;(<AND <FSET? ,WARPED-DOOR ,OPENBIT>
<EQUAL? ,P-WALK-DIR ,P?NORTH ,P?OUT>>
<TELL
"Sensing your eagerness to leave Chuckles recognizes, chases out ...">)
(<DISTURB? ,JOEY>
<COND (<EQUAL? ,FOLLOW-FLAG 99>
<CRLF>)>
<TELL
"Chuckles whirls around, strips you of your disguise and y">
<UNMASK>)
(T
<RFALSE>)>)>>
<ROUTINE PRINT-BUNKS (B1 B2)
<PRINT-CONTENTS .B1>
<TELL " sitting on the " D .B1>
<COND (<FIRST? .B2>
<TELL", and">
<PRINT-CONTENTS .B2>
<TELL " on the " D .B2>)>
<TELL ".">>
<ROUTINE EXIT-CLOWN-ALLEY ()
<COND (<NOT <FSET? ,WARPED-DOOR ,OPENBIT>>
<TELL "The " D ,WARPED-DOOR " is closed." CR>
<RFALSE>)
(<AND <RUNNING? ,I-CLOWN-ALLEY>
<HELD? ,TRAY>>
<MOVE ,TRAY ,LOCAL-GLOBALS>
<TELL
D ,JOEY " notices a little squirreliness on your part, confronts you, grabs
the " D ,TRAY ", and throws you out." CR CR>
<RETURN ,WEST-CAMP>)
(T
<RETURN ,WEST-CAMP>)>>
<OBJECT CLOWN-TRAILER
(IN LOCAL-GLOBALS)
(DESC "trailer")
(SYNONYM TRAILER ALLEY WAGON)
(ADJECTIVE CLOWN DILAPI)
(FLAGS NDESCBIT)
(ACTION CLOWN-TRAILER-F)>
<ROUTINE CLOWN-TRAILER-F ()
<COND (<VERB? EXAMINE>
<COND (<EQUAL? ,HERE ,WEST-CAMP>
<TELL
"It's a vintage model that's seen plenty of bad road. The door, which is ">
<COND (<FSET? ,WARPED-DOOR ,OPENBIT>
<TELL "open">)
(T
<TELL "closed">)>
<TELL ", appears warped." CR>)
(T
<V-LOOK>)>)
(<AND <VERB? SMELL>
<EQUAL? ,HERE ,CLOWN-ALLEY>>
<PERFORM ,V?SMELL>
<RTRUE>)
(<VERB? OPEN CLOSE UNLOCK LOCK>
<PERFORM ,PRSA ,WARPED-DOOR ,PRSI>
<RTRUE>)
(<VERB? WALK-TO THROUGH ENTER>
<COND (<EQUAL? ,HERE ,WEST-CAMP>
<DO-WALK ,P?IN>)
(<EQUAL? ,HERE ,CLOWN-ALLEY>
<TELL ,LOOK-AROUND CR>)>)>>
;"CLOWN-COUNTER OF 6 is a win"
<ROUTINE I-CLOWN-ALLEY ()
<COND (<FSET? ,WARPED-DOOR ,RMUNGBIT>
<FCLEAR ,WARPED-DOOR ,RMUNGBIT>
<RFALSE>)>
<SETG CLOWN-COUNTER <+ 1 ,CLOWN-COUNTER>>
<COND (<AND <NOT <EQUAL? ,HERE ,CLOWN-ALLEY>>
<FSET? ,WARPED-DOOR ,OPENBIT>>
<DISABLE <INT I-CLOWN-ALLEY>>
<FCLEAR ,WARPED-DOOR ,OPENBIT>
<FSET ,WARPED-DOOR ,LOCKEDBIT>
<COND (<EQUAL? ,HERE ,WEST-CAMP>
<TELL CR
"The " D ,WARPED-DOOR " is slammed shut." CR>)>)
(T
<COND (<EQUAL? ,CLOWN-COUNTER 2>
<SETG P-IT-OBJECT ,WARPED-DOOR>
<TELL CR
"Chuckles speaks, \"Sorry about the door, Malcom, but Johnny Tin Plate's
out there nosing around.">
<COND (<FSET? ,WARPED-DOOR ,OPENBIT>
<TELL " Close it, will you?">)>
<TELL "\"">)
(<AND <EQUAL? ,CLOWN-COUNTER 3>
<NOT ,HELPED-THUMB>>
<TELL CR
D ,THUMB " mutters something in Russian to Chuckles." CR CR>
<PERFORM ,V?RUB ,JOEY>
<RTRUE>)
(<EQUAL? ,CLOWN-COUNTER 4>
<TELL CR
"\"Let's just hope he doesn't find the grift.">
<COND (<FSET? ,WARPED-DOOR ,OPENBIT>
<TELL " Close the door, huh?">)>
<TELL "\"">)
(<EQUAL? ,CLOWN-COUNTER 6>
<COND (<FSET? ,WARPED-DOOR ,OPENBIT>
<SETG FOLLOW-FLAG 99>
<ENABLE <QUEUE I-FOLLOW 2>>
<PERFORM ,V?RUB ,JOEY>
<RTRUE>)
(T
<SETG CLOWN-COUNTER 7>
<TELL CR
"\"It'll be okay unless somebody tips him off about shoving Annie Oakley
under the old front by the elephant tent --\"" CR CR "His voice suddenly
halts. ">
<PERFORM ,V?RUB ,JOEY>
<RTRUE>)>)
(T
<RFALSE>)>
<CRLF>)
(T
<RFALSE>)>>
<GLOBAL UNMASKED? <>>
<ROUTINE UNMASK ()
<SETG UNMASKED? T>
<DISABLE <INT I-CLOWN-ALLEY>>
<FCLEAR ,WARPED-DOOR ,OPENBIT>
<FSET ,WARPED-DOOR ,LOCKEDBIT>
<TELL
"ou're suddenly eye-to-eye with a very unhappy clown whose greasepaint red
horseshoe smile practically melts off his face. " CR CR>
<COND (<OR <NOT <FSET? ,MASK ,WORNBIT>>
<HELD? ,TRAY>>
<TELL "Snatching away the ">
<COND (<AND <NOT <FSET? ,MASK ,WORNBIT>>
<HELD? ,TRAY>>
<TELL D ,MASK " and the " D ,TRAY ", ">)
(<HELD? ,TRAY>
<TELL D ,TRAY ", ">)
(T
<TELL D ,MASK ", ">)>)>
<MOVE ,TRAY ,LOCAL-GLOBALS>
<TELL
"Chuckles seizes you by the scruff of your neck, and the irate clown hustles you out of the " D ,CLOWN-TRAILER "." CR CR>
<FCLEAR ,MASK ,WORNBIT>
<MOVE ,MASK ,LOCAL-GLOBALS>
<GOTO ,WEST-CAMP>>
<OBJECT TRAY
(IN LOWER)
(DESC "ash tray")
(SYNONYM TRAY ASHTRAY)
(ADJECTIVE ASH)
(FLAGS OPENBIT TRANSBIT CONTBIT TAKEBIT SEARCHBIT VOWELBIT)
(SIZE 4)
(CAPACITY 2)
(ACTION TRAY-F)>
<ROUTINE TRAY-F ()
<COND (<AND <VERB? EMPTY SEARCH>
<IN? ,ASH ,TRAY>>
<PERFORM ,V?MOVE ,ASH>
<RTRUE>)
(<VERB? OPEN CLOSE>
<V-COUNT>)>>
<OBJECT ASH
(IN TRAY)
(DESC "heap of black ash")
(SYNONYM ASHES ASH HEAP)
(ADJECTIVE ;DARK BLACK)
(FLAGS TAKEBIT)
(SIZE 1)
(ACTION ASH-F)>
;"ASH rmungbit = have disturbed the ashes, revealing newsprint"
<ROUTINE ASH-F ()
<COND (<VERB? EXAMINE>
<TELL
"The ash, by its jet blackness, does not appear to be the remnant of
tobacco." CR>)
(<VERB? TAKE SEARCH RUB LOOK-INSIDE LOOK-UNDER MOVE>
<COND (<FSET? ,ASH ,RMUNGBIT>
<TELL
"The ashes sift through your fingers." CR>)
(T
<FSET ,ASH ,RMUNGBIT>
<MOVE ,SCRAP ,TRAY>
<TELL
"In disturbing the " D ,ASH ", a " D ,SCRAP " is revealed." CR>)>)
(<VERB? EMPTY DROP POUR>
<MOVE ,ASH ,LOCAL-GLOBALS>
<TELL "The ashes swirl through the air and disappear">
<COND (<OR <AND <FSET? ,ASH ,RMUNGBIT>
<IN? ,SCRAP ,TRAY>>
<NOT <FSET? ,ASH ,RMUNGBIT>>>
<MOVE ,SCRAP ,HERE>
<TELL
" as a tiny " D ,SCRAP " floats down">)>
<TELL ,PERIOD>)>>
<OBJECT SCRAP
(IN LOCAL-GLOBALS)
(DESC "scrap of newsprint")
(SYNONYM NEWSPRINT PRINT SCRAP M)
;(ADJECTIVE LETTER NEWS TINY)
(FLAGS TAKEBIT)
(SIZE 1)
(ACTION SCRAP-F)>
<ROUTINE SCRAP-F ()
<COND (<VERB? EXAMINE>
<TELL
"The " D ,SCRAP " is about an inch square." CR>)
(<AND <VERB? COMPARE>
<EQUAL? ,NOTE ,PRSO ,PRSI>>
<TELL
"The \"M\" on the " D ,SCRAP " looks like it was cut from the the same
newspaper as the letters on the " D ,NOTE "." CR>)
(<VERB? READ>
<TELL
"There's a paragraph of yak trivia on one side, and the letter \"M\" in
48-point type on the other." CR>)>>
<OBJECT COSTUME
(IN CLOWN-ALLEY)
(DESC "costume")
(SYNONYM COSTUM)
(ADJECTIVE GRUNGY)
(FLAGS TRYTAKEBIT NDESCBIT)
(ACTION COSTUME-F)>
<ROUTINE COSTUME-F ()
<COND (<VERB? TAKE>
<TELL "Nope, too repulsive." CR>)>>
<OBJECT MIRROR
(IN CLOWN-ALLEY)
(DESC "mirror")
(SYNONYM MIRROR)
(FLAGS NDESCBIT)
(ACTION MIRROR-F)>
<ROUTINE MIRROR-F ()
<COND (<VERB? LOOK-INSIDE>
<COND (<FSET? ,MASK ,WORNBIT>
<TELL
,YOU-SEE " your beady eyes through the " D ,MASK "." CR>)
(T
<PERFORM ,V?EXAMINE ,ME>
<RTRUE>)>)>>
<OBJECT UPPER
(IN CLOWN-ALLEY)
(DESC "upper bunk")
(SYNONYM BUNK BED BUNKS)
(ADJECTIVE UPPER)
(FLAGS NDESCBIT OPENBIT SURFACEBIT TRANSBIT CONTBIT VOWELBIT)
(CAPACITY 100)
(ACTION BUNK-F)>
;"UPPER RMUNGBIT = tried to get on the bunk"
<OBJECT LOWER
(IN CLOWN-ALLEY)
(DESC "lower bunk")
(SYNONYM BUNK BED BUNKS)
(ADJECTIVE LOWER)
(FLAGS NDESCBIT OPENBIT SURFACEBIT TRANSBIT CONTBIT SEARCHBIT)
(CAPACITY 150)
(ACTION BUNK-F)>
;"LOWER RMUNGBIT = tried to get on the bunk"
<ROUTINE BUNK-F ()
<COND (<AND <VERB? EXAMINE LOOK-INSIDE>
<EQUAL? ,PRSO ,UPPER>
<IN? ,THUMB ,HERE>>
<TELL D ,THUMB " is there. ">
<COND (<FIRST? ,UPPER>
<RFALSE>)>
<CRLF>
<RTRUE>)
(<VERB? BOARD CLIMB-ON CLIMB-FOO THROUGH>
<COND (<EQUAL? ,PRSO ,UPPER>
<SETG PRSO ,CEILING>
<FSET ,UPPER ,RMUNGBIT>)
(T
<SETG PRSO ,UPPER>
<FSET ,LOWER ,RMUNGBIT>)>
<SETG CLOCK-WAIT T>
<TELL-HIT-HEAD>
<COND (<AND <FSET? ,UPPER ,RMUNGBIT>
<FSET? ,LOWER ,RMUNGBIT>>
<TELL
"Hadn't you really ought to stop trying to sleep around like this?" CR>
<SETG AWAITING-REPLY 2>
<ENABLE <QUEUE I-REPLY 2>>
<SETG CLOCK-WAIT T>)>
<RTRUE>)>>
<OBJECT WARPED-DOOR
(IN LOCAL-GLOBALS)
(DESC "trailer door")
(SYNONYM DOOR LOCK)
(ADJECTIVE WARPED TRAILER DAMAGE)
(FLAGS NDESCBIT DOORBIT LOCKEDBIT)
(ACTION WARPED-DOOR-F)>
;"RMUNGBIT = Chuckles wont answer"
<GLOBAL CLOWN-COUNTER 25> ;"25 means door NOT opened for you yet,
Zero thru 9 is the undressing clown script."
<GLOBAL WARPED-DOOR-BROKEN <>>
<ROUTINE WARPED-DOOR-F ()
<COND (<AND <VERB? OPEN PICK>
<NOT <FSET? ,WARPED-DOOR ,OPENBIT>>
,PRSI>
<COND (<EQUAL? ,PRSI ,CROWBAR>
<SETG WARPED-DOOR-BROKEN T>
<FSET ,WARPED-DOOR ,OPENBIT>
<FCLEAR ,WARPED-DOOR ,LOCKEDBIT>
<FCLEAR ,CLOWN-ALLEY ,TOUCHBIT>
<TELL
"You wedge the " D ,CROWBAR " between the frame and the door then give it
a yank. The " D ,WARPED-DOOR " pops open." CR>)
(T
<TELL ,IT-LOOKS-LIKE>
<ARTICLE ,PRSI T>
<TELL " is unequal to the task." CR>)>)
(<AND <VERB? OPEN PICK>
<NOT ,WARPED-DOOR-BROKEN>
<NOT ,PRSI>
<HELD? ,CROWBAR>>
<TELL "(with the " D ,CROWBAR ")" CR>
<PERFORM ,V?OPEN ,WARPED-DOOR ,CROWBAR>
<RTRUE>)
(<AND <VERB? CLOSE>
,WARPED-DOOR-BROKEN>
<TELL "The damaged door creaks back open." CR>)
(<AND <VERB? CLOSE>
<EQUAL? ,HERE ,WEST-CAMP>
<IN? ,JOEY ,CLOWN-ALLEY>
<NOT <FSET? ,CLOWN-ALLEY ,TOUCHBIT>>>
<FSET ,WARPED-DOOR ,LOCKEDBIT>
<RFALSE>)
(<VERB? EXAMINE>
<TELL
,YOU-SEE " that the door is warped slightly along its edge." CR>)
(<VERB? KNOCK>
<COND (<OR ,UNMASKED?
<FSET? ,WARPED-DOOR ,RMUNGBIT>
<EQUAL? ,HERE ,CLOWN-ALLEY>
<NOT <EQUAL? ,CLOWN-COUNTER 25>>>
<RFALSE>)
(T
<TELL
"Chuckles pops his head out from behind the " D ,WARPED-DOOR " and ">
<COND (<AND <FSET? ,MASK ,WORNBIT>
<NOT <FSET? ,SHAWL ,WORNBIT>>
<NOT <FSET? ,DRESS ,WORNBIT>>>
<SETG SCORE <+ ,SCORE 10>>
<SETG CLOWN-COUNTER 0>
<ENABLE <QUEUE I-CLOWN-ALLEY 3>>
<FSET ,WARPED-DOOR ,OPENBIT>
<FCLEAR ,WARPED-DOOR ,LOCKEDBIT>
<TELL
"squints at you through a layer of cold cream, then flings the door open. He
withdraws into the trailer." CR>)
(T
<FSET ,WARPED-DOOR ,RMUNGBIT>
<ENABLE <QUEUE I-CLOWN-ALLEY 5>>
<TELL
"shades his eyes to look at you. \"Beat it, lotlice,\" he says, withdrawing
into the trailer and closing the door." CR>)>)
(T
<RFALSE>)>)>>