nordandbert/aisle.zil

1504 lines
43 KiB
Plaintext

"AISLE for
NORD AND BERT
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
<OBJECT AISLE
(LOC LOCAL-GLOBALS)
(DESC "aisle")
(PICK-IT "Go to the Shopping Bizarre")
(MAX-SCORE 22) ;"WAS 22? , HAD BEEN 21"
(SCENE-SCORE 0)
(SCENE-ROOM DESSERT-ROOM)
(SCENE-CUR 0)
(SYNONYM AISLE WRITE MEET MEETS MANICOTTI ISLE MISC MUSSELANEOUS
MAN CELLAR BRITISH BRIT DESERT DESSERT DESSERTS DESS)
(ADJECTIVE I\'LL DESSERT DESERT DESSERTS BRIT BRITISH MISC
;MAN DESS MUSSELANEOUS)
(FLAGS NDESCBIT SCENEBIT VOWELBIT)
(ACTION AISLE-F)>
<GLOBAL REAL-AISLE <>>
<ROUTINE AISLE-F ()
<COND (<OR <ADJ-USED ,AISLE ,W?DESSERT ,W?DESERT ,W?DESSERTS>
<NOUN-USED ,AISLE ,W?DESSERT ,W?DESERT ,W?DESSERTS>
<NOUN-USED ,AISLE ,W?DESS>
<ADJ-USED ,AISLE ,W?DESS>>
<SETG REAL-AISLE ,DESSERT-ROOM>)
(<NOUN-USED ,AISLE ,W?MANICOTTI ,W?MAN>
<SETG REAL-AISLE ,MANICOTTI-ROOM>)
(<NOUN-USED ,AISLE ,W?MEET ,W?MEETS>
;<ADJ-USED ,AISLE ,W?LET ,W?US>
<SETG REAL-AISLE ,LET-ROOM>)
(<OR <ADJ-USED ,AISLE ,W?BRITISH ,W?BRIT>
<NOUN-USED ,AISLE ,W?BRITISH ,W?BRIT>>
<SETG REAL-AISLE ,BRITISH-ROOM>)
(<OR <ADJ-USED ,AISLE ,W?MUSSELANEOUS ,W?MISC>
<NOUN-USED ,AISLE ,W?MUSSELANEOUS ,W?MISC>>
<SETG REAL-AISLE ,MUSSEL-ROOM>)
(<OR <NOUN-USED ,AISLE ,W?WRITE>
<ADJ-USED ,AISLE ,W?I\'LL>>
<SETG REAL-AISLE ,ILL-ROOM>)
(<NOUN-USED ,AISLE ,W?CELLAR>
<SETG REAL-AISLE ,CELLAR-ROOM>)
;(T
<SETG REAL-AISLE ,DESSERT-ROOM>)>
<COND (<OR <NOT ,REAL-AISLE>
<VERB? NO-VERB>
<AND <DONT-HANDLE ,AISLE>
<NOT <VERB? WALK-TO>>>>
<RFALSE>)
(<VERB? WALK-TO>
<COND (<EQUAL? ,HERE ,REAL-AISLE>
<TELL ,ARRIVED>)
(<EQUAL? ,REAL-AISLE ,CELLAR-ROOM>
<COND (<NOT <EQUAL? ,HERE ,ILL-ROOM>>
<TELL "You dash over to \"I'll Write...\" ">)>
<SETG OLD-HERE <>>
<SETG HERE ,ILL-ROOM>
<MOVE ,PROTAGONIST ,ILL-ROOM>
;<DO-WALK ,P?IN>
<ILL-ROOM-EXIT>
;<V-$REFRESH T>
<RTRUE>)
(<EQUAL? ,HERE ,CELLAR-ROOM>
<TELL "You climb up the stairs, going to..." CR CR>
<GOTO ,REAL-AISLE>)
(T
<COND (<PROB 30>
<TELL
"You dash around the corner, sliding on the high-sheen surface of the
well-waxed supermarket floor">)
(<PROB 30>
<TELL "You waltz over there">)
(T
<TELL "You zip around the corner">)>
<TELL "..." CR CR>
<GOTO ,REAL-AISLE>)>)
(<NOT <EQUAL? ,HERE ,REAL-AISLE>>
<CANT-SEE "such place">)
;(T
<CHANGE-OBJECT ,AISLE ,GLOBAL-ROOM>
<RTRUE>)>>
<ROOM DESSERT-ROOM
(LOC ROOMS)
(DESC "Dessert Aisle")
(OUT TO MANICOTTI-ROOM)
(GLOBAL AISLE)
(FLAGS INDOORSBIT)
(ACTION DESSERT-ROOM-F)>
<ROUTINE DESSERT-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"You are all alone in a dessert aisle. The hum of a long
freezer that runs the length of the aisle is monotonous and the air blows
chilly upon your skin.">)>>
<OBJECT MOOSE
(LOC DESSERT-ROOM)
(OLDDESC "chocolate moose")
(NEWDESC "chocolate mousse")
(OLD-TO-NEW
"There's a sudden, belching \"poof\" of smoke, and the odor of burnt
chocolate.")
(NEW-TO-OLD
"\"Poof!\" The moose is suddenly enveloped in a thick plume of chocolaty
smoke.")
(DESCFCN MOOSE-F)
(SYNONYM MOOSE MOUSSE)
(ADJECTIVE CHOCOLATE)
(FLAGS ;NOA OLDBIT)
(ACTION MOOSE-F)>
<ROUTINE MOOSE-F ("OPTIONAL" (OARG <>) "AUX" (NOT-FIRST-TRANS T))
<COND (.OARG
<COND (<FSET? ,MOOSE ,OLDBIT>
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL CR
"An imposing, broad-shouldered adult moose, dark chocolate from hoof
to antler, stands here chewing its thick brown cud">
<COND (<EQUAL? ,HERE ,DESSERT-ROOM>
<TELL
" and blocking part of this narrow aisle">)>
<TELL ".">
<RTRUE>)
(T
<RFALSE>)>)
(<AND <NOUN-USED ,MOOSE ,W?MOOSE>
<TRANS-PRINT ,MOOSE T T>> ;"Means no CR in trans-print"
<COND (<NOT <IN? ,MOOSE ,HERE>>
<MOVE ,MOOSE ,HERE>
<TELL
" The large mammal lands awkwardly on the floor.">)>
<COND (<NOT <VERB? NO-VERB>> ;"was semied"
<CRLF>)>
<CRLF>
<FCLEAR ,MOOSE ,TAKEBIT>
<FCLEAR ,MOOSE ,NOA>)
(<NOUN-USED ,MOOSE ,W?MOUSSE>
<COND (<AND <NOT <FSET? ,MOOSE ,TRANSFORMED>>
<TRANS-PRINT ,MOOSE>>
<COND (<PRSO? ,MOOSE>
<PERFORM-PRSA ,MOOSE ,PRSI>)
(T
<PERFORM-PRSA ,PRSO ,MOOSE>)>
<MOVE ,PI ,FREEZER>
<TELL CR
"With the down-sizing of the big lug, you can see there are numbers
inside " D ,FREEZER ", rather than goodies." CR>
<RTRUE>)
(<NOT <VISIBLE? ,MOOSE>>
<RFALSE>)
(<TRANS-PRINT ,MOOSE> ;"now with own periods"
;<TELL ,PERIOD>)>
<FSET ,MOOSE ,TAKEBIT>
<FSET ,MOOSE ,NOA>)>
<COND (<FSET? ,MOOSE ,OLDBIT>
<COND (<VERB? TELL>
<TELL "He bellows out a sweet-smelling \"mooooo.\"" CR>
<STOP>)
(<VERB? EXAMINE>
<TELL
"Your teeth ache just looking at this massive bulk of ruminating mammalian
chocolate." CR>)
(<VERB? BOARD>
<TELL
"You slide off the slippery chocolatey broad back of the sturdy moose,
standing up to discover yourself filthy with chocolate." CR>)
(<AND <VERB? KILL>
<PRSI? ,BEAR-CLAUSE>>
<TELL "You scare him away..." CR>)
(<VERB? EAT>
<TELL
"You would end up with the hugest stomachache you've ever had!" CR>)>)
;"mousse"
(<VERB? EAT>
<TELL "Don't eat profits." CR>
;<TELL
"The " D ,MOOSE ", fluffed up to a delicate, supreme deliciosity, is
eye-closingly pucker wonderful, and now all gone." CR>)>>
<OBJECT PI
;(LOC DESSERT-ROOM)
(OLDDESC "22/7")
(NEWDESC "pie")
(OLD-TO-NEW
"The thing undergoes a deafening amount of number crunching.")
(NEW-TO-OLD "Pie to pi.")
(SYNONYM PI PIE FRACTION ;NUMBER ;NUMBERS)
(FLAGS NARTICLEBIT OLDBIT TAKEBIT)
(ACTION PI-F)>
<ROUTINE PI-F ()
<COND (<AND <OR <NOUN-USED ,PI ,W?PI ,W?NUMBER ,W?NUMBERS> ;"intum-f"
<NOUN-USED ,PI ,W?FRACTION>>
<NOT ,TRANS-PRINTED>
<TRANS-PRINT ,PI T>>
<FSET ,PI ,NARTICLEBIT>)
(<AND <NOUN-USED ,PI ,W?PIE>
<TRANS-PRINT ,PI>>
<FCLEAR ,PI ,NARTICLEBIT>)>
<COND (<FSET? ,PI ,OLDBIT>
<COND (<VERB? EAT>
<TELL
"After some amount of number crunching, you decide it's inedible." CR>)
(<VERB? EXAMINE READ>
<TELL
"You can see the number 22 frozen over the number 7." CR>)>)
;"pie"
(<VERB? EAT>
<TELL "Don't eat profits." CR>)>>
<OBJECT FREEZER
(LOC DESSERT-ROOM)
(DESC "your grocer's freezer")
(SYNONYM FREEZER)
(ADJECTIVE MY YOUR GROCER\'S)
(FLAGS NARTICLEBIT SEARCHBIT OPENBIT CONTBIT NDESCBIT)
(CAPACITY 300)
(ACTION FREEZER-F)>
<ROUTINE FREEZER-F ()
<COND (<VERB? BOARD>
<TELL
"Going cold turkey is admirable, but there is no monkey on your back." CR>)>>
;<ROUTINE SHELF-DESC (SHELF)
<COND (<FIRST? .SHELF>
<COND (<EQUAL? .SHELF ,FREEZER>
<TELL " Sitting in " D ,FREEZER " is">)
(T
<TELL " Shelves here contain">)>
<D-CONTENTS .SHELF>
;<TELL ,PERIOD>)
(T
<RFALSE>)>>
<ROOM MANICOTTI-ROOM
(LOC ROOMS)
(DESC "Aisle of Manicotti")
(OUT TO LET-ROOM)
(GLOBAL AISLE)
(FLAGS INDOORSBIT)
(ACTION MANICOTTI-ROOM-F)>
<ROUTINE MANICOTTI-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"As its name indicates, this is the aisle where grains and cereals are
stocked.">
;<SHELF-DESC ,MANICOTTI-SHELF>
;<RTRUE>)
(<AND <EQUAL? .RARG ,M-END>
<IN? ,MURDERER ,HERE>
<NOT ,ROOM-DESC-PRINTED>
<NOT <AND <VERB? SHOW>
<PRSI? ,MURDERER>>>>
<TELL CR "The pallid gentleman continues his rampage by "
<PICK-NEXT <GET ,S-MURDERER 0>> " a package of "
<PICK-NEXT <GET ,S-MURDERER 1>>>
<TELL ,PERIOD>)>>
<GLOBAL S-MURDERER
<PTABLE
<LTABLE 2
"tearing his fangs into"
"murdering, in cold red dye #2,"
"devilishly ripping into"
"tucking into">
<LTABLE 2
"tortellini"
"Froot Loops"
"pasta primavera"
"sugar-frosted flakes"
"linguini"
"Count Chocula"
"rice crispies"
"spaghetti"
;"toasted oats">>>
<OBJECT MANICOTTI-SHELF
(LOC MANICOTTI-ROOM)
(SYNONYM SHELF SHELVES)
(DESC "shelves")
(FLAGS SURFACEBIT SEARCHBIT OPENBIT CONTBIT NDESCBIT PLURALBIT)
(CAPACITY 300)
;(ACTION SHELF-F)>
<OBJECT CEREALS
(LOC MANICOTTI-SHELF)
(DESC "infinite variety of cereals")
(SYNONYM GRAINS CEREAL CEREALS VARIETY)
(ADJECTIVE INFINITE)
(FLAGS TRYTAKEBIT VOWELBIT)
(ACTION CEREALS-F)>
<ROUTINE CEREALS-F ()
<COND (<VERB? EXAMINE>
<TELL
"It's dizzying to look at all the different brands. The shelf reaches a
vanishing point at either end of the long aisle." CR>)
(<VERB? TAKE>
<TELL "It deserves a longer shelf life." CR>)>>
<OBJECT MURDERER
(LOC MANICOTTI-ROOM)
(DESC "cereal murderer")
(DESCFCN MURDERER-F)
(SYNONYM MURDERER KILLER VAMPIRE VAMP MAN GENTLEMAN)
(ADJECTIVE CEREAL SERIAL)
(FLAGS ACTORBIT)
(ACTION MURDERER-F)>
<GLOBAL MINCE-EATEN <>>
<ROUTINE MURDERER-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL CR
"About halfway down the aisle there is a sinister and pallid-looking gentleman
in a dark tuxedo">
<COND (<NOT <FSET? ,MURDERER ,RMUNGBIT>>
<FSET ,MURDERER ,RMUNGBIT>
<TELL
". He appears to be systematically destroying boxes of cereal, taking
deep bites into them with his long fangs">)>
<TELL ,PERIOD>)
(<NOT <VISIBLE? ,MURDERER>>
<RFALSE>)
(<AND <ADJ-USED ,MURDERER ,W?SERIAL>
<NOT ,TRANS-PRINTED>>
<SETG TRANS-PRINTED T>
<TELL
"(True, he is both a cereal and a SERIAL murderer, but just knowing his
modus operandi doesn't defeat him.)" CR>
<COND (<NOT <VERB? NO-VERB>>
<CRLF>)
(<VERB? SET>
<RTRUE>)>)>
<COND (<VERB? GIVE> ;"handled in v-give"
<RFALSE>)
(<AND <TOUCHING? ,MURDERER>
<NOT ,MINCE-EATEN>>
<TELL
"The " D ,MURDERER " faces you open-mouthed, and his bad breath caused by
all his recent activity drives you back down the aisle." CR>)
(<OR <AND <VERB? PUT>
<EQUAL? <GET ,P-NAMW 0> ,W?STAKE>
<PRSO? ,STEAK>>
<AND <VERB? KILL>
<EQUAL? <GET ,P-NAMW 1> ,W?STAKE>
<PRSI? ,STEAK>>>
<FCLEAR ,STAKE ,OLDBIT>
<REMOVE ,STEAK>
<REMOVE ,MURDERER>
<UPDATE-SCORE>
<TELL
"With a powerful thrust, you drive the " D ,STEAK " deep into the heart of
the now horrified " D ,MURDERER ". He collapses to the floor, blood trickling
out of the sides of his mouth. Then he vanishes with a puff of pale blue
smoke." CR>)
(<OR <VERB? TELL TELL-ABOUT>
<AND <VERB? SHOW>
<PRSI? ,MURDERER>>>
<TELL
"He's too busy " <PICK-NEXT <GET ,S-MURDERER 0>> " a package of "
<PICK-NEXT <GET ,S-MURDERER 1>> " to notice." CR>
<STOP>)>>
<ROOM MUSSEL-ROOM
(LOC ROOMS)
(DESC "Musselaneous")
(OUT TO ILL-ROOM)
(GLOBAL AISLE)
(FLAGS INDOORSBIT)
(ACTION MUSSEL-ROOM-F)>
<ROUTINE MUSSEL-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This aisle is filled with various and sundry items.">
;<SHELF-DESC ,MUSSEL-SHELF>
;<RTRUE>)>>
<OBJECT MUSSEL-SHELF
(LOC MUSSEL-ROOM)
(DESC "shelves")
(SYNONYM SHELF SHELVES)
(FLAGS SURFACEBIT SEARCHBIT OPENBIT CONTBIT NDESCBIT)
(CAPACITY 300)
;(ACTION SHELF-F)>
<OBJECT MUSSELS
(LOC MUSSEL-SHELF)
(OLDDESC "mussels")
(NEWDESC "muscles")
(OLD-TO-NEW
"You feel yourself undergo a Hulkian physical transformation, with material
ripping and buttons popping and the whole bit.")
(NEW-TO-OLD
"You grow faint and very weak for a few moments and nearly pass out, then fade
back in with the realization that your clothes fit you more loosely now.
A clump of mussels falls to the floor.")
(SYNONYM MUSSELS MUSSEL MUSCLE MUSCLES CLUMP)
(ADJECTIVE MY YOUR)
(FLAGS OLDBIT TAKEBIT ;NARTICLEBIT PLURALBIT)
(ACTION MUSSELS-F)>
<ROUTINE MUSSELS-F ()
<COND (<AND <NOUN-USED ,MUSSELS ,W?MUSSELS ,W?MUSSEL ,W?CLUMP>
<TRANS-PRINT ,MUSSELS T>>
<MOVE ,MUSSELS ,HERE>)
(<AND <NOUN-USED ,MUSSELS ,W?MUSCLE ,W?MUSCLES>
<TRANS-PRINT ,MUSSELS>>
<MOVE ,MUSSELS ,PROTAGONIST>)>
<COND (<FSET? ,MUSSELS ,OLDBIT>
<COND (<VERB? EAT MUNG OPEN>
<TELL
"The shells are too hard to open." CR>)
(<VERB? SMELL>
<TELL "Like mussels gone bad." CR>)
(<VERB? EXAMINE>
<TELL
"The mussels, oozing with glop, look and smell like they've long
passed their expiration date. They may have been once used as bait-and-switch,
but now they're a blight on the store." CR>)>)
;"muscles"
(<VERB? EAT>
<TELL "Auto-canibalism is not the answer." CR>)>>
<OBJECT SAIL
(LOC MUSSEL-SHELF)
(OLDDESC "sail")
(NEWDESC "sale")
(OLD-TO-NEW
"You hear the distant ring-ring of cash registers.")
(NEW-TO-OLD
"A brief but strong wind whips through")
(SYNONYM SAIL SALE)
(FLAGS OLDBIT TAKEBIT SURFACEBIT SEARCHBIT OPENBIT CONTBIT)
(CAPACITY 20)
(ACTION SAIL-F)>
<ROUTINE SAIL-F ()
<COND (<AND <NOUN-USED ,SAIL ,W?SAIL>
<TRANS-PRINT ,SAIL T T>>
<COND (<NOT <EQUAL? ,HERE ,CELLAR-ROOM>> ;"ie, in an aisle?"
<TELL " your aisle">)
(T
<TELL " the air">)>
<TELL ,PERIOD ;CR>)
(<NOUN-USED ,SAIL ,W?SALE>
<TRANS-PRINT ,SAIL>)>
<COND (<FSET? ,SAIL ,OLDBIT>
<COND (<VERB? EXAMINE>
<TELL
"This is a large, rainbow-colored sail, all folded up and wrapped in plastic. ">
<RFALSE>)
(<VERB? OPEN REMOVE>
<TELL "The plastic's too tough." CR>)>)>>
;<OBJECT CHEWS
(LOC MUSSEL-SHELF)
(OLDDESC "chews")
(NEWDESC "choose")
(SYNONYM CHEWS CHOOSE TOBACCO)
(ADJECTIVE CHEWING)
(FLAGS OLDBIT)
(ACTION CHEWS-F)>
;<ROUTINE CHEWS-F ()
<COND (<OR <NOUN-USED ,CHEWS ,W?CHEWS ,W?TOBACCO>
<ADJ-USED ,CHEWS ,W?CHEWING>>
<FSET ,CHEWS ,OLDBIT>
<FCLEAR ,CHEWS ,NARTICLEBIT>
<FSET ,CHEWS ,PLURALBIT>)
(<NOUN-USED ,CHEWS ,W?CHOOSE>
<FCLEAR ,CHEWS ,OLDBIT>
<FSET ,CHEWS ,NARTICLEBIT>
<FCLEAR ,CHEWS ,PLURALBIT>)>>
<OBJECT TACKS
(LOC MUSSEL-SHELF)
(OLDDESC "tacks")
(NEWDESC "tax")
(OLD-TO-NEW
"You hear the distant ring-ring of cash registers.")
(NEW-TO-OLD
"Thumb tacks suddenly begin raining down to the floor.")
(SYNONYM TACK TACKS TAX ;BOX)
(FLAGS TAKEBIT OLDBIT PLURALBIT)
(ACTION TACKS-F)>
<ROUTINE TACKS-F ()
<COND (<AND <NOUN-USED ,TACKS ,W?TACKS ,W?TACK>
<TRANS-PRINT ,TACKS T>>
<FSET ,TACKS ,PLURALBIT>)
(<AND <NOUN-USED ,TACKS ,W?TAX>
<TRANS-PRINT ,TACKS>>
<FCLEAR ,TACKS ,PLURALBIT>)>
<RFALSE>>
<ROOM BRITISH-ROOM
(LOC ROOMS)
(DESC "British Aisle")
(OUT TO MUSSEL-ROOM)
(GLOBAL SIGN AISLE)
(FLAGS INDOORSBIT)
(ACTION BRITISH-ROOM-F)>
<ROUTINE BRITISH-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"The floor here is richly painted in the bold colours of Brittania.">)>>
<OBJECT BRITISH-SHELF
(LOC BRITISH-ROOM)
(DESC "shelf")
(SYNONYM SHELF SHELVES)
(FLAGS SURFACEBIT SEARCHBIT OPENBIT CONTBIT NDESCBIT)
(CAPACITY 300)
(ACTION BRITISH-SHELF-F)>
<ROUTINE BRITISH-SHELF-F ()
<COND (<VERB? LOOK-INSIDE EXAMINE>
<COND (<FSET? ,PUTTING ,OLDBIT>
<TELL
"An avalanche of boxes slopes down from the shelf">)
(T
<TELL
"A neat row of pudding fills the shelf">)>
<TELL ,PERIOD>)>>
<OBJECT PUTTING
(LOC BRITISH-ROOM)
(OLDDESC "Putting Section")
(NEWDESC "Pudding Section")
(OLD-TO-NEW
"The boxes begin swirling into a dark, menacing whirlwind, causing you
to cover yourself up defensively. In an instant there is again calm, with
order having been restored to the aisle.")
(NEW-TO-OLD
"There is a deep rumbling noise which travels along the aisle, shaking the
boxes down from the shelves into a disorderly heap.")
(DESCFCN PUTTING-F)
(SYNONYM PUTTING PUDDING SECTION)
(ADJECTIVE PUTTING PUDDING)
(FLAGS OLDBIT TRYTAKEBIT ;NDESCBIT)
(ACTION PUTTING-F)>
<ROUTINE PUTTING-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL CR "Under a large sign, ">
<COND (<FSET? ,PUTTING ,OLDBIT>
<TELL
"a box boy is frantically filling and overfilling
the shelves with boxes, which are spilling over into the aisle and blocking
the way">)
(T
<TELL
"a wide variety of puddings are neatly stacked upon the shelves">)>
<TELL ,PERIOD>)
(<AND <OR <NOUN-USED ,PUTTING ,W?PUTTING>
<ADJ-USED ,PUTTING ,W?PUTTING>>
<TRANS-PRINT ,PUTTING T>>
<MOVE ,BOX-BOY ,HERE>
<MOVE ,BOXES ,HERE> ;"from british-shelf" )
(<OR <NOUN-USED ,PUTTING ,W?PUDDING>
<ADJ-USED ,PUTTING ,W?PUDDING>>
<COND (<NOT <VISIBLE? ,PUTTING>>
<RFALSE>)
(<NOT <FSET? ,PUTTING ,TRANSFORMED>>
<TRANS-PRINT ,PUTTING>
<MOVE ,ANTS ,HERE>
<TELL
"Having tidied up the place, you can now see a trail of ants crawling along
the aisle floor." CR>)
(T
<TRANS-PRINT ,PUTTING>)>
<FCLEAR ,PUTTING ,OLDBIT>
<MOVE ,BOXES ,BRITISH-SHELF>
<REMOVE ,BOX-BOY>)>
<COND (<FSET? ,PUTTING ,OLDBIT>
<COND (<VERB? EXAMINE>
<TELL
"An avalanche of boxes tumble down as the box boy keeps putting new ones on
the shelves." CR>)
(<VERB? TAKE>
<TELL "The boxes are too bulky." CR>)>)
(<VERB? TAKE>
<COND (,TRANS-PRINTED
<RTRUE>)>
<TELL "They're best left on the shelf." CR>)>>
<OBJECT BOXES
(LOC BRITISH-ROOM)
(DESC "cardboard boxes")
(SYNONYM BOX BOXES)
(ADJECTIVE CARDBOARD UNMARKED)
(FLAGS TRYTAKEBIT NDESCBIT PLURALBIT)
(ACTION BOXES-F)>
<ROUTINE BOXES-F ()
<COND (<AND <VERB? MOVE TAKE>
<IN? ,BOX-BOY ,HERE>>
<TELL
"The " D ,BOX-BOY " grabs the box from you and now is putting it back on the
overcrowded shelf." CR>)
(<AND <VERB? PUT PUT-ON>
<PRSI? ,BOXES>>
<WASTES>)
(<VERB? TAKE>
<COND (<FSET? ,PUTTING ,OLDBIT>
<TELL "You don't really need 'em." CR>)
(T
<PERFORM ,V?TAKE ,PUTTING>
<RTRUE>)>)
(<VERB? OPEN>
<TELL "They're all too tightly bound up." CR>)
(<VERB? EXAMINE>
<COND (<FSET? ,PUTTING ,OLDBIT>
<TELL "They are all unmarked " D ,BOXES "." CR>)
(T
<PERFORM ,V?EXAMINE ,PUTTING>
<RTRUE>)>)>>
<OBJECT BOX-BOY
(LOC BRITISH-ROOM)
(DESC "box boy")
(SYNONYM BOY)
(ADJECTIVE BOX)
(FLAGS ACTORBIT NDESCBIT)
(ACTION BOX-BOY-F)>
<ROUTINE BOX-BOY-F ()
<COND (<VERB? TELL>
<TELL "The blockhead will not answer." CR>
<STOP>)
(<VERB? EXAMINE>
<TELL
"The entire body of the boy is made out of various sized boxes." CR>)>>
<ROOM LET-ROOM
(LOC ROOMS)
(DESC "Meets")
(OUT TO BRITISH-ROOM)
(GLOBAL AISLE)
(FLAGS INDOORSBIT)
(ACTION LET-ROOM-F)>
<ROUTINE LET-ROOM-F (RARG)
<COND (<AND <EQUAL? .RARG ,M-ENTER>
<NOT <FSET? ,LET-ROOM ,TOUCHBIT>>>
<QUEUE I-BRAT -1>)
(<EQUAL? .RARG ,M-LOOK>
<TELL
"This is where people tend to run into each other....">
;<SHELF-DESC ,LET-SHELF>
;<RTRUE>)>>
<OBJECT STEAK
(LOC LET-SHELF)
(OLDDESC "steak")
(NEWDESC "stake")
(OLD-TO-NEW
"Under your gaze, the meat starts sizzling and smoking wildly, licking flames
into the air till nothing is left to it but a charred and pointed stick.")
(NEW-TO-OLD "Shazam! Meet the meat.")
(SYNONYM STEAK STAKE MEAT STICK)
(FLAGS OLDBIT TAKEBIT)
(ACTION STEAK-F)>
<ROUTINE STEAK-F ()
<COND (<NOUN-USED ,STEAK ,W?STEAK ,W?MEAT>
<TRANS-PRINT ,STEAK T>)
(<NOUN-USED ,STEAK ,W?STAKE ,W?STICK>
<TRANS-PRINT ,STEAK>)>
<COND (<FSET? ,STEAK ,OLDBIT>
<COND (<VERB? EAT>
<TELL "The meat is too tough." CR>)>)
;"stake"
(<VERB? EAT>
<TELL "Stakes and stones are inedible." CR>)
(<AND <VERB? PUT>
<FSET? ,PRSI ,ACTORBIT>
<PRSO? ,STEAK>>
<PERFORM ,V?KILL ,PRSI ,PRSO>
<RTRUE>)>>
<OBJECT MINCE
(LOC LET-SHELF)
(OLDDESC "mince")
(NEWDESC "mints")
(OLD-TO-NEW
"You catch a whiff of fresh little candies as the mince goes to pieces
and becomes white before your eyes.")
(NEW-TO-OLD
"You hear the tortured \"moo\" of a cow in the distance.")
(SYNONYM MINCE MEAT MINT MINTS CANDY CANDIES)
(ADJECTIVE MINCE FRESH LITTLE)
(FLAGS OLDBIT TAKEBIT)
(ACTION MINCE-F)>
<ROUTINE MINCE-F ()
<COND (<AND <NOUN-USED ,MINCE ,W?MINCE ,W?MEAT>
<TRANS-PRINT ,MINCE T>
;<ADJ-USED ,MINCE ,W?MEAT>>
<FCLEAR ,MINCE ,PLURALBIT>
<FSET ,MINCE ,NARTICLEBIT>)
(<AND <OR <NOUN-USED ,MINCE ,W?MINTS ,W?MINT ,W?CANDIES>
<NOUN-USED ,MINCE ,W?CANDY>
<ADJ-USED ,MINCE ,W?LITTLE>>
<TRANS-PRINT ,MINCE>>
<FSET ,MINCE ,PLURALBIT>
<FCLEAR ,MINCE ,NARTICLEBIT>)>
<COND (<FSET? ,MINCE ,OLDBIT>
<COND (<VERB? EAT>
<TELL "The mince is too tough." CR>)>)
;"mints"
(<VERB? EAT>
<TELL "Your breath isn't that bad to need them." CR>)>>
<OBJECT BRAT
;(LOC LOCAL-GLOBALS)
(OLDDESC "worst brat")
(NEWDESC "bratwurst")
(DESCFCN BRAT-F)
(SYNONYM BRAT WORST WURST BRATWURST GIRL SAUSAGE NIECE)
(ADJECTIVE BRAT WORST LITTLE THEIR)
(FLAGS ACTORBIT FEMALEBIT TRYTAKEBIT TAKEBIT CONTBIT OPENBIT
SEARCHBIT OLDBIT)
(GENERIC GEN-GIRL)
(ACTION BRAT-F)>
<ROUTINE BRAT-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<FSET? ,BRAT ,OLDBIT>
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL CR
"The girl is busy here throwing a tantrum.">
<RTRUE>)
(T
<RFALSE>)>)
(<NOT <VISIBLE? ,BRAT>>
<RFALSE>)
(<OR <NOUN-USED ,BRAT ,W?BRAT ,W?WORST ,W?GIRL>
<ADJ-USED ,BRAT ,W?WORST ,W?LITTLE>>
<COND (<NOT <FSET? ,BRAT ,OLDBIT>>
<FSET ,BRAT ,OLDBIT>
<SETG TRANS-PRINTED T>
<TELL
"The sausage suddenly sprouts legs, and is transformed into the form of
a small girl (thereby shattering the myth about sugar and spice and
everything nice). ">
<COND (<HELD? ,BRAT>
<TELL
"She fiercely struggles from your grip and">)
;(<NOT <IN? ,BRAT ,HERE>>
<TELL "She climbs o">
<COND (<FSET? <LOC ,BRAT> ,SURFACEBIT>
<TELL "ff">)
(T
<TELL "ut of">)>
<TELL T <LOC ,BRAT>>)
(T
<TELL "She">)>
<TELL " sprints away">
<COND (<NOT <EQUAL? ,HERE ,CELLAR-ROOM>>
<TELL " down the aisle">)>
<COND (<AND <IN? ,ANTS ,HERE>
<NOT <FSET? ,ANTS ,OLDBIT>>>
<UPDATE-SCORE>
<TELL
" into the waiting hands of her aunts. They thank you, then leave." CR>
<REMOVE ,ANTS>
<REMOVE ,BRAT>
<DEQUEUE I-BRAT>
<DEQUEUE I-ANTS>
<RTRUE>)
(T
<TELL " and out of sight">)>
<TELL ,PERIOD>
<REMOVE ,BRAT>
<SETG BRAT-C 5>
<QUEUE I-BRAT -1>
<RTRUE>)>
<FCLEAR ,BRAT ,NARTICLEBIT>
<FSET ,BRAT ,ACTORBIT>
<FSET ,BRAT ,FEMALEBIT>
<FCLEAR ,RIBBON ,INVISIBLE>
<FSET ,BRAT ,TRYTAKEBIT>
<FSET ,BRAT ,CONTBIT>)
(<NOUN-USED ,BRAT ,W?BRATWURST ,W?WURST ,W?SAUSAGE>
<COND (<FSET? ,BRAT ,OLDBIT>
<SETG TRANS-PRINTED T>
<COND (<NOT <FSET? ,BRAT ,TRANSFORMED>>
<UPDATE-SCORE>)>
<FSET ,BRAT ,TRANSFORMED>
<TELL "The little girl">
<COND (<NOT <G? ,BRAT-C 5>>
<TELL " begins running away in horror. She">)>
<TELL
" tumbles head over heels to the floor in a blur, and then you observe a
sausage come rolling to a stop." CR>
<COND (<NOT <VERB? NO-VERB>>
<CRLF>)>)>
<DEQUEUE I-BRAT>
<FCLEAR ,BRAT ,CONTBIT>
<FCLEAR ,BRAT ,TRYTAKEBIT>
<FCLEAR ,BRAT ,OLDBIT>
<FCLEAR ,BRAT ,ACTORBIT>
<FCLEAR ,BRAT ,FEMALEBIT>
<FSET ,BRAT ,NARTICLEBIT>
<FSET ,RIBBON ,INVISIBLE>)>
<COND (<FSET? ,BRAT ,OLDBIT>
<COND (<VERB? EXAMINE>
<TELL
"You notice the little girl is wearing a " D ,RIBBON " with something written on it." CR>)
(<VERB? TELL>
<TELL
"She tilts her head up toward, you and issues a loud, mean-spirited raspberry." CR>
<STOP>)
(<VERB? TAKE>
<TELL
"Dashing between your legs and screaming bloody murder, the girl whirls you
'round in a violent twist." CR>)>)
;"bratwurst"
(<VERB? EAT>
<TELL "Very spicy." CR>)>>
<GLOBAL BRAT-C 0>
<GLOBAL RESUME-BRAT <>>
<ROUTINE I-BRAT ()
;<COND (<EQUAL? ,HERE ,BRITISH-ROOM>
<RFALSE>)>
<INC BRAT-C>
<COND (<EQUAL? ,BRAT-C 1>
<MOVE ,BRAT ,HERE>
<TELL CR
"You notice a blur of colorful lace and flowing blond hair come rolling
off one of the shelves. A little girl stands at your feet." CR>)
(<AND <L? ,BRAT-C 5> ;"2 3 4"
<IN? ,BRAT ,HERE>>
<TELL CR <PICK-NEXT <GET ,S-BRAT 0>> " little girl "
<PICK-NEXT <GET ,S-BRAT 1>> ,PERIOD>)
(<AND <EQUAL? ,BRAT-C 5>
<IN? ,BRAT ,HERE>>
<REMOVE ,BRAT>
<TELL CR
"With a final karate chop to your leg, the little girl spirits off down the
aisle and out of sight." CR>)
(<AND <EQUAL? ,BRAT-C 9 16 21 27>
<NOT <IN? ,BRAT ,HERE>>
<NOT <EQUAL? ,HERE ,CELLAR-ROOM>>>
<MOVE ,BRAT ,HERE>
<TELL CR
"The screaming meemie of a girl comes out of nowhere, running down the aisle toward you." CR>
<COND (<AND <NOT <FSET? ,RIBBON ,RMUNGBIT>>
<NOT <FSET? ,BRAT ,TRANSFORMED>>>
<PERFORM ,V?EXAMINE ,BRAT>
<PERFORM ,V?EXAMINE ,RIBBON>)>
<RTRUE>)
(<AND <G? ,BRAT-C 5>
<IN? ,BRAT ,HERE>>
<REMOVE ,BRAT>
<TELL CR
"The girl, screaming at the top of her lungs, runs by you and out of
sight again." CR>)
(<G? ,BRAT-C 28>
<SETG BRAT-C 5>)>
<RTRUE>>
<GLOBAL S-BRAT
<PTABLE
<LTABLE 2
"Tattooing your knee caps with her little fists, the"
"Practicing field goals upon your shins, the"
"The">
<LTABLE 2
"starts throwing a tantrum"
"continues testing your threshold of pain"
"keeps on boxing your calves">>>
<OBJECT RIBBON
(LOC BRAT)
(DESC "blue ribbon")
(SYNONYM RIBBON)
(ADJECTIVE BLUE)
(FLAGS TRYTAKEBIT NDESCBIT)
(ACTION RIBBON-F)>
<ROUTINE RIBBON-F ()
<COND (<AND <VERB? TAKE>
<FSET? ,BRAT ,OLDBIT>>
<TELL "The " D ,BRAT " gives you a kick to the shins." CR>)
(<VERB? EXAMINE READ>
<FSET ,RIBBON ,RMUNGBIT>
<TELL
"It reads: \"Worst Brat.\"" CR>)>>
<OBJECT ANTS
;(LOC LOCAL-GLOBALS)
(OLDDESC "colony of ants")
(NEWDESC "aunts")
(OLD-TO-NEW
"Instantly, the little creatures become big creatures.")
(NEW-TO-OLD
"The ladies seem to vanish in their tracks.")
(DESCFCN ANTS-F)
(SYNONYM ANT ANTS COLONY AUNT AUNTS LINE LADIES WOMEN LADY)
(FLAGS TRYTAKEBIT OLDBIT)
(ACTION ANTS-F)>
<ROUTINE ANTS-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<NOT <FSET? ,ANTS ,OLDBIT>>
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL CR
"A number of aunts in gaudy hats are here milling about.">
<RTRUE>)
(T
<RFALSE>)>)
(<AND <NOUN-USED ,ANTS ,W?ANT ,W?ANTS ,W?COLONY>
<TRANS-PRINT ,ANTS T>>
<DEQUEUE I-ANTS>
<FCLEAR ,ANTS ,ACTORBIT>
<FSET ,ANTS ,PLURALBIT>)
(<AND <NOUN-USED ,ANTS ,W?AUNT ,W?AUNTS ,W?LADIES>
<TRANS-PRINT ,ANTS>>
<COND (<G? ,ANTS-C 5>
<SETG ANTS-C 5>)> ;"will leave on this turn"
<QUEUE I-ANTS -1>
<FSET ,ANTS ,ACTORBIT>
<FSET ,ANTS ,PLURALBIT>)>
<COND (<FSET? ,ANTS ,OLDBIT>
<COND (<VERB? EXAMINE>
<TELL
"They're crawling in a line down the aisle." CR>)
(<VERB? TAKE>
<TELL "They're untakeable." CR>)>)
;"aunts"
(<VERB? EXAMINE>
<TELL
"They are milling about, talking in high falsetto voices with British
accents about the latest sales, and inquiring of each other where their
little niece Emily is." CR>)
(<VERB? TELL>
<TELL "They are too busy gossiping among themselves." CR>
<STOP>)>>
<GLOBAL ANTS-C 0>
<GLOBAL RESUME-ANTS <>>
<ROUTINE I-ANTS ()
<COND (;<EQUAL? ,HERE ,BRITISH-ROOM>
<AND <IN? ,BRAT ,HERE>
<FSET? ,BRAT ,OLDBIT>>
<RFALSE>)>
<INC ANTS-C>
<COND (<EQUAL? ,ANTS-C 1>
<MOVE ,ANTS ,HERE>
<TELL CR
"The aunts start milling." CR>)
(<AND <L? ,ANTS-C 5> ;"2 3 4"
<IN? ,ANTS ,HERE>>
<TELL CR
"The milling aunts are gawking and talking among themselves." CR>)
(<AND <G? ,ANTS-C 4> ;"5 thru 27"
<IN? ,ANTS ,HERE>>
<REMOVE ,ANTS>
<TELL CR
"Finding nothing of interest here, the aunts walk in a line around the corner
of the aisle and out of sight." CR>)
(<AND <EQUAL? ,ANTS-C 9 15 21 26>
<NOT <IN? ,ANTS ,HERE>>
<NOT <EQUAL? ,HERE ,CELLAR-ROOM>>>
<MOVE ,ANTS ,HERE>
<TELL CR
"The motley line of aunts comes strolling into your aisle." CR>)
(<G? ,ANTS-C 28>
<SETG ANTS-C 5>)>
<RTRUE>>
<OBJECT LET-SHELF
(LOC LET-ROOM)
(DESC "shelf")
(SYNONYM SHELF SHELVES)
(FLAGS SURFACEBIT SEARCHBIT OPENBIT CONTBIT NDESCBIT)
(CAPACITY 300)
;(ACTION SHELF-F)>
<ROOM ILL-ROOM
(LOC ROOMS)
(DESC "I'll Write")
(OUT TO DESSERT-ROOM)
(IN PER ILL-ROOM-EXIT)
(DOWN PER ILL-ROOM-EXIT)
(GLOBAL LOCKS-DOOR AISLE)
(FLAGS INDOORSBIT)
(ACTION ILL-ROOM-F)>
<ROUTINE ILL-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the stationery section">
<COND (<NOT <FSET? ,LOCKS-DOOR ,INVISIBLE>>
<TELL
". At one end of the aisle is a door">)>
<TELL ".">)>>
;"called from aisle-f too"
<ROUTINE ILL-ROOM-EXIT ()
<COND (<NOT <FSET? ,QUARTZ ,RMUNGBIT>>
<CANT-SEE <> "door">
<RFALSE>)
(<NOT <FSET? ,LOCKS-DOOR ,OPENBIT>>
<DO-FIRST "open" ,LOCKS-DOOR>
<RFALSE>)
(T
<TELL "You walk down the rickety stairs." CR CR>
<GOTO ,CELLAR-ROOM>
<RFALSE>)>>
<OBJECT ILL-SHELF
(LOC ILL-ROOM)
(DESC "shelf")
(SYNONYM SHELF SHELVES)
(FLAGS SURFACEBIT SEARCHBIT OPENBIT CONTBIT NDESCBIT)
(CAPACITY 300)
;(ACTION SHELF-F)>
<OBJECT FLOUR
(LOC ILL-ROOM)
(OLDDESC "flour")
(NEWDESC "flower")
(FDESC
"Powdery white flour has been spilled onto the floor alongside the shelves.")
(OLD-TO-NEW
"The white powder drifts away like the shifting sands of the desert -- in its
place, a flower.")
(DESCFCN FLOUR-F)
(SYNONYM FLOUR FLOWER FLOWERS POWDER DUNE)
(ADJECTIVE WHITE)
(FLAGS TAKEBIT OLDBIT ;CONTBIT ;OPENBIT SEARCHBIT)
(CAPACITY 1)
(ACTION FLOUR-F)>
<ROUTINE FLOUR-F ("OPTIONAL" (OARG <>))
<COND (<NOT <VISIBLE? ,FLOUR>>
<RFALSE>)
(<OR <NOUN-USED ,FLOUR ,W?FLOUR ,W?POWDER ,W?DUNE>
<ADJ-USED ,FLOUR ,W?WHITE>>
;<FSET ,FLOUR ,OLDBIT>
<FCLEAR ,FLOUR ,CONTBIT>
<FSET ,FLOUR ,NOA>
<FCLEAR ,FLOUR ,OPENBIT>
<COND (<IN? ,SCENT ,FLOUR>
<FSET ,SCENT ,INVISIBLE>)>
<COND (<HELD? ,FLOUR>
<SETG TRANS-PRINTED T>
<MOVE ,FLOUR ,HERE>
<TELL
"The white powder spills between your fingers onto the " D ,GROUND ,PERIOD>
<FSET ,FLOUR ,OLDBIT>
<COND (<VERB? GIVE DROP THROW PUT THROW-TO>
<RTRUE>)>)
(<NOT <FSET? ,FLOUR ,OLDBIT>>
<SETG TRANS-PRINTED T>
<TELL
"The delicate flower \"disintigrates\" into a dune of white powder." CR>)>
<FSET ,FLOUR ,OLDBIT>)
(<AND <NOUN-USED ,FLOUR ,W?FLOWER ,W?FLOWERS>
<TRANS-PRINT ,FLOUR>>
<FCLEAR ,FLOUR ,OLDBIT>
<FCLEAR ,FLOUR ,NOA>
<FSET ,FLOUR ,TOUCHBIT>
<FSET ,FLOUR ,OPENBIT>
<FSET ,FLOUR ,CONTBIT>
<COND (<IN? ,SCENT ,LOCAL-GLOBALS>
<MOVE ,SCENT ,FLOUR>)
(<IN? ,SCENT ,FLOUR>
<FCLEAR ,SCENT ,INVISIBLE>)>)>
<COND (<FSET? ,FLOUR ,OLDBIT>
<COND ;(<VERB? OPEN>
<TELL
"The tamper-proof packaging is too good." CR>)
(<VERB? SMELL TAKE>
<SETG ORPHAN-FLAG ,FLOUR>
<QUEUE I-ORPHAN 2>
<TELL
"You lean down to the fine white powder. \"Ahhh... aahhh... aahhhh...\"" CR>
<RFATAL>)>)
;"flower"
;"only cent can be put in flower, size 1"
(<VERB? SMELL>
<COND (<IN? ,SCENT ,FLOUR>
<PERFORM ,V?LOOK-INSIDE ,FLOUR>
<RTRUE>)
(T
<TELL
"The " D ,FLOUR ", once fragrant, now has no scent." CR>)>)
(<VERB? EXAMINE LOOK-INSIDE>
<COND (<IN? ,SCENT ,FLOUR>
<TELL "The " D ,FLOUR " contains">
<COND (<NOT <D-NOTHING>>
<TELL ,PERIOD>)>
<RTRUE>)
(T
<FCLEAR ,FLOUR ,CONTBIT>
<V-EXAMINE>
<FSET ,FLOUR ,CONTBIT>
<RTRUE>)>)>>
<OBJECT SCENT
(LOC LOCAL-GLOBALS)
(OLDDESC "wonderful scent")
(NEWDESC "cent")
(OLD-TO-NEW "You can hear it -- the penny drops.")
(NEW-TO-OLD "From richer to poorer -- but better smelling...")
(SYNONYM SCENT CENT PENNY CENTS)
(ADJECTIVE WONDERFUL)
(FLAGS OLDBIT TRYTAKEBIT TAKEBIT)
(SIZE 1)
(ACTION SCENT-F)>
<ROUTINE SCENT-F ()
<COND (<AND <OR <NOUN-USED ,SCENT ,W?SCENT>
<ADJ-USED ,SCENT ,W?WONDERFUL>>
<TRANS-PRINT ,SCENT T>>
<FSET ,SCENT ,TRYTAKEBIT>)
(<AND <NOUN-USED ,SCENT ,W?CENT ,W?PENNY>
<TRANS-PRINT ,SCENT>>
<FCLEAR ,SCENT ,TRYTAKEBIT>)>
<COND (<FSET? ,SCENT ,OLDBIT>
<COND (<AND <PRSO? ,SCENT>
<VERB? TAKE PUT GIVE THROW DROP PUT-THROUGH>>
<TELL
"The " D ,SCENT " is to have, and not to hold." CR>
<RTRUE>)>)>
;"cent"
;(<VERB? >)>
<OBJECT BEAR-CLAUSE
(LOC ILL-SHELF)
(OLDDESC "bear clause")
(NEWDESC "bear claws")
(OLD-TO-NEW
"The paper dries up and blows away, replaced by -- bear claws!")
(NEW-TO-OLD
"The hairy fist clenches itself so tightly that it becomes two-dimensional
-- paper.")
(SYNONYM CLAUSE CLAWS CLAW PAIR PIECE PAPER)
(ADJECTIVE BEAR BRITTLE YELLOWING YELLOW)
(FLAGS TAKEBIT ;PLURALBIT OLDBIT)
(ACTION BEAR-CLAUSE-F)>
<ROUTINE BEAR-CLAUSE-F ()
<COND (<AND <NOUN-USED ,BEAR-CLAUSE ,W?PAIR ,W?CLAW ,W?CLAWS>
<TRANS-PRINT ,BEAR-CLAUSE>>
<FSET ,BEAR-CLAUSE ,PLURALBIT>)
(<AND <OR <ADJ-USED ,BEAR-CLAUSE ,W?BRITTLE ,W?YELLOWING
,W?YELLOW>
<NOUN-USED ,BEAR-CLAUSE ,W?CLAUSE>>
<TRANS-PRINT ,BEAR-CLAUSE T>>
<FCLEAR ,BEAR-CLAUSE ,PLURALBIT>)>
<COND (<FSET? ,BEAR-CLAUSE ,OLDBIT>
<COND (<VERB? READ EXAMINE>
<TELL
"Written on a brittle, yellowing piece of paper are the words:|
|
\"A well regulated Militia, being necessary to the security of a free State,
the right of the people to keep and arm Bears, shall not be infringed.\"" CR>)>)
;"claws"
(<VERB? EXAMINE>
<TELL "These are bear claws, the food." CR>
;<TELL
"These are a pair of actual, menacing " D ,BEAR-CLAUSE ,PERIOD>)
(<VERB? EAT>
<TELL "The knuckle sandwich is not palatable." CR>)>>
<OBJECT STATIONARY
(LOC ILL-SHELF)
(OLDDESC "large block of stationary")
(NEWDESC "reams of stationery")
(OLD-TO-NEW
"The floor of the aisle rumbles and the shelf bounces a few inches off
its foundation, as the \"stationary\" takes on the markings of many reams of
stationery bundled together.")
(NEW-TO-OLD
"The reams of paper give off smoke as they mutate into something
large and quite stationary.")
(SYNONYM STATIONARY STATIONERY PAPER REAMS REAM BLOCK)
(ADJECTIVE LARGE)
(FLAGS OLDBIT TRYTAKEBIT ;PLURALBIT)
(ACTION STATIONARY-F)>
<ROUTINE STATIONARY-F ()
<COND (<AND <NOUN-USED ,STATIONARY ,W?STATIONARY ,W?BLOCK>
<TRANS-PRINT ,STATIONARY T>>
<FCLEAR ,STATIONARY ,PLURALBIT>)
(<AND <NOUN-USED ,STATIONARY ,W?STATIONERY ,W?REAMS ,W?REAM>
<TRANS-PRINT ,STATIONARY>>
<FSET ,STATIONARY ,PLURALBIT>)>
<COND (<FSET? ,STATIONARY ,OLDBIT>
<COND (<VERB? TAKE MOVE>
<TELL
"Being stationary, it can't be moved">
<COND (<AND <HELD? ,MUSSELS>
<NOT <FSET? ,MUSSELS ,OLDBIT>>>
<TELL ", even by your " D ,MUSSELS>)>
<TELL ,PERIOD>)>)
(<VERB? TAKE MOVE>
<TELL
"The bundled stationery is too heavy to be moved, and doesn't need to
be." CR>)>>
<OBJECT QUARTZ
(LOC ILL-ROOM)
(OLDDESC "solid wall of quartz")
(NEWDESC "quarts")
(OLD-TO-NEW
"The surface of the wall crumbles away, revealing a tall and wide stack of
quarts.")
(NEW-TO-OLD
"The quarts seem to petrify into rock.")
(SYNONYM QUARTZ SOLID WALL STACK QUARTS QUART PILE RUBBLE)
(ADJECTIVE WIDE TALL SOLID)
(DESCFCN QUARTZ-F)
(FLAGS OLDBIT TRYTAKEBIT)
(ACTION QUARTZ-F)>
<ROUTINE QUARTZ-F ("OPTIONAL" (OARG <>))
<COND (.OARG
<COND (<EQUAL? .OARG ,M-OBJDESC?>
<RTRUE>)>
<TELL CR "The far end of the aisle ">
<COND (<FSET? ,QUARTZ ,RMUNGBIT>
<TELL "is strewn with ">
<COND (<FSET? ,QUARTZ ,OLDBIT>
<TELL "rubble">)
(T
<TELL "quarts">)>)
(T
<TELL
"appears to be blocked off by a ">
<COND (<NOT <FSET? ,QUARTZ ,OLDBIT>>
<TELL "tall stack of ">)>
<TELL D ,QUARTZ>)>
<TELL ".">
<RTRUE>)
(<AND <NOUN-USED ,QUARTZ ,W?RUBBLE>
<NOT <FSET? ,QUARTZ ,RMUNGBIT>>>
<CANT-SEE <> "rubble">
<RTRUE>)
(<AND <OR <NOUN-USED ,QUARTZ ,W?QUARTZ>
<ADJ-USED ,QUARTZ ,W?SOLID>>
<TRANS-PRINT ,QUARTZ T>>
<FCLEAR ,QUARTZ ,PLURALBIT>)
(<AND <FSET? ,QUARTZ ,OLDBIT>
<FSET? ,QUARTZ ,RMUNGBIT>
<NOUN-USED ,QUARTZ ,W?QUART ,W?QUARTS ,W?STACK>>
<TELL "The rubble remains unmoved." CR>
<RTRUE>)
(<AND <NOUN-USED ,QUARTZ ,W?QUART ,W?QUARTS ,W?STACK>
<TRANS-PRINT ,QUARTZ>>
<COND (<FSET? ,QUARTZ ,RMUNGBIT>
<FCLEAR ,LOCKS-DOOR ,INVISIBLE>)>
<FSET ,QUARTZ ,PLURALBIT>)>
<COND (<NOT <FSET? ,QUARTZ ,OLDBIT>>
<COND (<VERB? MOVE PUSH TAKE REMOVE KILL>
<COND (<FSET? ,QUARTZ ,RMUNGBIT>
<TELL
"The barrier has already been removed">)
(T
<FSET ,QUARTZ ,RMUNGBIT>
<FCLEAR ,LOCKS-DOOR ,INVISIBLE>
<FCLEAR ,LOCKS ,INVISIBLE>
<PUTP ,QUARTZ ,P?OLDDESC "quartz">
<FCLEAR ,JAMB ,INVISIBLE>
<TELL
"The stack of " D ,QUARTZ " weaves sideways like a drunk and then comes
tumbling down in a short, rumbling avalanche. A door behind the quarts is
revealed">)>
<TELL ,PERIOD>)
(<VERB? EXAMINE READ>
<TELL
"These generic containers are each labeled with the word \"quart.\"">
<COND (<NOT <FSET? ,QUARTZ ,RMUNGBIT>>
<TELL
" The stack is covering the entire wall.">)>
<CRLF>)
(<VERB? OPEN DRINK LOOK-INSIDE>
<TELL
"The liquid inside seems not pasteurized, but petrified." CR>)>)
;"quartz the rock"
(<VERB? EXAMINE>
<TELL "The " D ,QUARTZ>
<COND (<FSET? ,QUARTZ ,RMUNGBIT>
<TELL ", now in rubble,">)>
<TELL
" is colored in lavenders, blues and pearly whites." CR>)
(<VERB? TOUCH RUB KILL PUSH REMOVE>
<TELL "It's hard as a rock." CR>)>>
<OBJECT LOCKS-DOOR
(LOC LOCAL-GLOBALS)
(DESC "door")
(SYNONYM DOOR)
(FLAGS DOORBIT INVISIBLE NDESCBIT ;LOCKEDBIT)
(ACTION LOCKS-DOOR-F)>
<ROUTINE LOCKS-DOOR-F ()
<COND (<AND <VERB? UNLOCK>
<NOT <EQUAL? ,P-PRSA-WORD ,W?UNLOX>>
<NOT <FSET? ,LOCKS ,RMUNGBIT>>
<FSET? ,LOCKS ,OLDBIT>>
<TELL "There's no key to this problem of locks." CR>)
(<AND <VERB? LOCK>
<NOT <FSET? ,LOCKS ,RMUNGBIT>>
<FSET? ,LOCKS ,OLDBIT>>
<TELL "It's already locked." CR>)
(<VERB? OPEN>
<COND (<NOT <FSET? ,LOCKS ,RMUNGBIT>>
<COND (<FSET? ,LOCKS ,OLDBIT>
<TELL
"It's easy to see why the door won't open: ">
<PERFORM ,V?EXAMINE ,LOCKS-DOOR>
<RTRUE>)
(T
<TELL "The " D ,LOCKS-DOOR " is loxed." CR>)>)
(<FSET? ,JAMB ,OLDBIT>
<TELL "Although you tug your hardest, you can
see the door jamb is too tight against the door." CR>)
(T
<SETG OLD-HERE <>>
<RFALSE>)>)
(<VERB? EXAMINE>
<COND (<NOT <FSET? ,LOCKS ,RMUNGBIT>> ;"not removed"
<TELL "It's lined with ">
<COND (<FSET? ,LOCKS ,OLDBIT>
<TELL "many different kinds of locks">)
(T
<TELL "lox">)>
<TELL ,PERIOD>)
(<FSET? ,JAMB ,OLDBIT>
<PERFORM ,V?EXAMINE ,JAMB>
<RTRUE>)>)
(<VERB? ENTER WALK-TO>
<DO-WALK ,P?IN>
<RTRUE>)>>
<OBJECT LOCKS
(LOC ILL-ROOM)
(OLDDESC "locks")
(NEWDESC "lox")
(OLD-TO-NEW
"Smoke issues from each of the locks, as they turn into smoked salmon.")
(NEW-TO-OLD
"Your vision wavers, and the salmon appears changed.")
(SYNONYM LOCK LOCKS LOX SALMON)
(ADJECTIVE SMOKED)
(FLAGS OLDBIT INVISIBLE PLURALBIT NDESCBIT TAKEBIT TRYTAKEBIT)
(ACTION LOCKS-F)>
;"rmungbit = lox (locks) is off door, can't reattach"
<ROUTINE LOCKS-F ()
<COND (<AND <NOUN-USED ,LOCKS ,W?LOCKS ,W?LOCK>
<TRANS-PRINT ,LOCKS T>>
<FSET ,LOCKS ,PLURALBIT>
<FCLEAR ,LOCKS ,NOA>)
(<AND <OR <NOUN-USED ,LOCKS ,W?LOX ,W?SALMON>
<ADJ-USED ,LOCKS ,W?SMOKED>>
<TRANS-PRINT ,LOCKS>>
<FCLEAR ,LOCKS ,TRYTAKEBIT>
<FCLEAR ,LOCKS ,PLURALBIT>
<FSET ,LOCKS ,NOA>)>
<COND ;"both"
(<AND <VERB? PUT PUT-ON>
<PRSI? ,LOCKS-DOOR>>
<TELL "The " D ,LOCKS " won't reattach." CR>)
;"locks"
(<FSET? ,LOCKS ,OLDBIT>
<COND (<VERB? PICK UNLOCK>
<TELL "There's no key to these locks." CR>)
(<VERB? TAKE>
<TELL "They're strongly attached to the door." CR>)>)
;"lox"
(<VERB? EAT>
<REMOVE ,LOCKS>
<TELL "You ">
<COND (<NOT <FSET? ,LOCKS ,RMUNGBIT>>
<FSET ,LOCKS ,RMUNGBIT>
<TELL "\"unlox\" the door as you ">)>
<TELL
"fill your belly with the warmth of smoked salmon." CR>)
(<AND <VERB? TAKE REMOVE TAKE-OFF MOVE>
<NOT <FSET? ,LOCKS ,RMUNGBIT>>
;<EQUAL? <ITAKE> T>
<NOT <EQUAL? <ITAKE <>> ,M-FATAL <>>>>
<FSET ,LOCKS ,RMUNGBIT>
<TELL
"You \"unlox\" the door by gathering the smoked salmon." CR>)>>
<OBJECT JAMB
(LOC ILL-ROOM)
(OLDDESC "jamb")
(NEWDESC "pool of hot, fresh strawberry jam")
(OLD-TO-NEW
"The outline of the door smokes, and hot fresh jam oozes out from the outline
of the door onto the floor.")
;(NEW-TO-OLD
"As if in a film running backward, the jam oozes back up and into the door
frame.")
(SYNONYM JAM JAMB POOL)
(ADJECTIVE DOOR HOT FRESH STRAWBERRY)
(FLAGS OLDBIT INVISIBLE NDESCBIT TRYTAKEBIT)
(ACTION JAMB-F)>
<ROUTINE JAMB-F ()
<COND (<AND <NOUN-USED ,JAMB ,W?JAMB>
<NOT <FSET? ,JAMB ,OLDBIT>>>
<TELL
"The strawberry jam bubbles a bit, but that's all." CR>
<RTRUE>)
(<AND <OR <NOUN-USED ,JAMB ,W?JAM ,W?POOL>
<ADJ-USED ,W?HOT ,W?FRESH ,W?STRAWBERRY>>
<TRANS-PRINT ,JAMB>>
<FCLEAR ,JAMB ,NDESCBIT>
;<FSET ,JAMB ,TRYTAKEBIT>)>
<COND (<FSET? ,JAMB ,OLDBIT>
<COND (<VERB? EXAMINE>
<TELL "The door jamb is tight against the door." CR>)>)
;"jam"
(<VERB? EAT>
<TELL "The sample is nice and tasty." CR>)
(<VERB? TAKE>
;<EQUAL? <ITAKE> T>
<TELL
"The hot jam oozes between your fingers." CR>)>>
<ROOM CELLAR-ROOM
(LOC ROOMS)
(DESC "Cellar")
(GLOBAL AISLE LOCKS-DOOR)
(FLAGS INDOORSBIT)
(OUT TO ILL-ROOM IF LOCKS-DOOR IS OPEN)
(IN TO ILL-ROOM IF LOCKS-DOOR IS OPEN)
(UP TO ILL-ROOM IF LOCKS-DOOR IS OPEN)
(ACTION CELLAR-ROOM-F)>
<ROUTINE CELLAR-ROOM-F (RARG)
<COND (<EQUAL? .RARG ,M-LOOK>
<TELL
"This is the empty cellar of the market.">)
;(<EQUAL? .RARG ,M-ENTER>
<TELL "You descend some rickety stairs." CR CR>)>>
<OBJECT CELLAR
(LOC CELLAR-ROOM)
(OLDDESC "cellar")
(NEWDESC "seller")
(LDESC "A seller stands here.")
(OLD-TO-NEW
"The room starts spinning madly around, the four walls begin to close
in on you. When it finally slows enough for you to open your eyes, you see a woman wearing a store uniform.")
(NEW-TO-OLD
"The clerk's body becomes cubist, expands, and engulfs you.")
(SYNONYM CELLAR SELLER WOMAN LADY)
;(ADJECTIVE DARK)
(FLAGS OLDBIT NDESCBIT FEMALEBIT)
(ACTION CELLAR-F)>
<ROUTINE CELLAR-F ()
<COND (<AND <NOUN-USED ,CELLAR ,W?CELLAR>
<TRANS-PRINT ,CELLAR T>>
<FSET ,CELLAR ,NDESCBIT>
<FCLEAR ,CELLAR ,ACTORBIT>
<RTRUE>)
(<AND <NOUN-USED ,CELLAR ,W?SELLER>
<TRANS-PRINT ,CELLAR <> T>> ;"No CR's after trans"
<CRLF>
<FSET ,CELLAR ,ACTORBIT>
<FCLEAR ,CELLAR ,NDESCBIT>
<RTRUE>)>
<COND (<FSET? ,CELLAR ,OLDBIT>
<COND (<VERB? EXAMINE>
<V-LOOK>)>)
;"seller"
(<VERB? TELL>
<TELL
"\"Don't bother me unless you want to buy something.\"" CR>
<STOP>)>>