543 lines
16 KiB
Plaintext
543 lines
16 KiB
Plaintext
"THINGS for MILLIWAYS
|
|
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
|
|
|
<ROUTINE RANDOM-PSEUDO ()
|
|
<COND (<VERB? ASK-ABOUT ASK-CONTEXT-ABOUT LOOK-BEHIND LOOK-UNDER TELL-ABOUT>
|
|
<RFALSE>)
|
|
(<VERB? EXAMINE LOOK-INSIDE SEARCH>
|
|
<NOTHING-SPECIAL>
|
|
<RTRUE>)
|
|
(T
|
|
<WONT-HELP>
|
|
;<TELL "You can't do anything useful with that." CR>)>>
|
|
|
|
<OBJECT SCREWDRIVER
|
|
(LOC PLAYER)
|
|
(DESC "flathead screwdriver")
|
|
(SYNONYM SCREWDRIV TOOL TOOLS)
|
|
(ADJECTIVE FLATHEAD PROPER)
|
|
(FLAGS TAKEBIT ;TRYTAKEBIT TOOLBIT)
|
|
(SIZE 3)
|
|
;(GENERIC TWEEZERS)>
|
|
|
|
<OBJECT TOOTHBRUSH
|
|
(LOC PLAYER)
|
|
(OWNER PLAYER)
|
|
(DESC "toothbrush")
|
|
(ADJECTIVE TOOTH MY PROPER)
|
|
(SYNONYM TOOTHBRUSH BRUSH TOOL TOOLS)
|
|
(FLAGS TAKEBIT TRYTAKEBIT TOOLBIT)
|
|
(SIZE 3)
|
|
(ACTION TOOTHBRUSH-F)>
|
|
|
|
<ROUTINE TOOTHBRUSH-F ()
|
|
<COND (<AND <VERB? TAKE>
|
|
<NOT <FSET? ,TOOTHBRUSH ,TOUCHBIT>>>
|
|
<MOVE ,TOOTHBRUSH ,PLAYER>
|
|
<FSET ,TOOTHBRUSH ,TOUCHBIT>
|
|
<FCLEAR ,TOOTHBRUSH ,TRYTAKEBIT>
|
|
<TELL
|
|
"As you pick up the " D ,TOOTHBRUSH " a tree outside the window collapses.
|
|
There is no causal relationship between these two events.">
|
|
;<COND (<FSET? ,PHONE ,TOUCHBIT>
|
|
<TWO-TREES>)>
|
|
<CRLF>)>>
|
|
|
|
<OBJECT GOWN
|
|
(LOC PLAYER)
|
|
(OWNER PLAYER)
|
|
(DESC "your gown")
|
|
;(LDESC "Your gown is here.")
|
|
(ADJECTIVE MY ;YOUR DRESSING TATTY FADED BATTERED)
|
|
(SYNONYM GOWN POCKET ROBE LOOP)
|
|
(FLAGS WORNBIT WEARBIT TAKEBIT CONTBIT ;NDESCBIT NARTICLEBIT SEARCHBIT)
|
|
(SIZE 15)
|
|
(CAPACITY 14)
|
|
(ACTION GOWN-F)>
|
|
|
|
<ROUTINE GOWN-F ()
|
|
<COND (<AND <VERB? OPEN CLOSE>
|
|
<NOT <FSET? ,GOWN ,WORNBIT>>>
|
|
<TELL
|
|
"It's hard to open or close the pocket unless you're wearing the gown." CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The dressing gown is faded and battered, and is
|
|
clearly a garment which has seen better decades. It has a pocket which is ">
|
|
<COND (<FSET? ,GOWN ,OPENBIT>
|
|
<TELL "open">)
|
|
(T
|
|
<TELL "closed">)>
|
|
<COND ;(,GOWN-HUNG
|
|
<TELL ". It is hanging from a " D ,HOOK ".">)
|
|
(T
|
|
<TELL ", and a small loop at the back of the collar.">)>
|
|
;<COND (,SLEEVE-TIED
|
|
<TELL " The sleeves are tied closed.">)>
|
|
<CRLF>)
|
|
;(<AND <VERB? TAKE>
|
|
<EQUAL? ,GOWN ,PRSO>
|
|
,HEADACHE>
|
|
<FCLEAR ,GOWN ,TRYTAKEBIT>
|
|
<FCLEAR ,GOWN ,NDESCBIT>
|
|
<MOVE ,GOWN ,PLAYER>
|
|
<TELL
|
|
"Luckily, this is large enough for you to get hold of. You notice something
|
|
in the pocket." CR>)
|
|
;(<AND <VERB? WEAR>
|
|
,SLEEVE-TIED>
|
|
<TELL "You'll have to untie the sleeve first." CR>)
|
|
;(<VERB? TIE UNTIE>
|
|
<PERFORM ,PRSA ,SLEEVES>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT SLEEVES
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "sleeve")
|
|
(SYNONYM SLEEVE)
|
|
(ACTION SLEEVES-F)>
|
|
|
|
<ROUTINE SLEEVES-F ()
|
|
<COND (<NOT <VISIBLE? ,GOWN>>
|
|
<NOT-HERE ,SLEEVES>)
|
|
(<VERB? ;WEAR TAKE>
|
|
<PERFORM ,PRSA ,GOWN>
|
|
<RTRUE>)
|
|
;(<VERB? TIE CLOSE>
|
|
<SETG PRSO ,GOWN>
|
|
<COND (<IDROP>
|
|
<RTRUE>)
|
|
(,SLEEVE-TIED
|
|
<TELL "It is." CR>)
|
|
(T
|
|
<SETG SLEEVE-TIED T>
|
|
<TELL "The sleeves are now tied closed." CR>)>)
|
|
;(<VERB? UNTIE OPEN>
|
|
<COND (,SLEEVE-TIED
|
|
<SETG SLEEVE-TIED <>>
|
|
<TELL "Untied." CR>)
|
|
(T
|
|
<TELL "It isn't tied!" CR>)>)>>
|
|
|
|
<OBJECT THING
|
|
(LOC GOWN)
|
|
(DESC "thing your aunt gave you which you don't know what it is")
|
|
(ADJECTIVE AUNT\'S)
|
|
(SYNONYM THING GIFT)
|
|
(FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT)
|
|
(SIZE 6)
|
|
(CAPACITY 90)
|
|
(ACTION THING-F)>
|
|
|
|
<ROUTINE THING-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"Apart from a label on the bottom saying \"Made in Ibiza\" it furnishes you
|
|
with no clue as to its purpose, if indeed it has one. You are surprised to see
|
|
it because you thought you'd thrown it away. Like most gifts from your aunt,"
|
|
,GET-RID CR>)
|
|
(<AND <VERB? DROP>
|
|
;<NOT <EQUAL? ,HERE ,MAZE ,ACCESS-SPACE>>>
|
|
<MOVE ,THING ,HERE>
|
|
<TELL
|
|
"It falls to the ground with a light \"thunk.\" It doesn't do anything
|
|
else at all." CR>)
|
|
(<VERB? CLOSE>
|
|
<TELL
|
|
"Come to think of it, you vaguely remember an instruction booklet with
|
|
directions for that. You never read it and lost it months ago." CR>)>>
|
|
|
|
<CONSTANT GET-RID " you've been trying to get rid of it for years.">
|
|
|
|
<ROUTINE I-THING ()
|
|
<QUEUE I-THING <+ 4 <RANDOM 4>>>
|
|
<COND (<OR ;<NOT <EQUAL? ,IDENTITY-FLAG ,ARTHUR>>
|
|
;<AND <EQUAL? ,HERE ,ENGINE-ROOM>
|
|
<L? ,LOOK-COUNTER 3>>
|
|
;<EQUAL? ,HERE ,DARK ,ACCESS-SPACE ,MAZE>
|
|
<VISIBLE? ,THING>
|
|
<HELD? ,THING>
|
|
;<IN? ,FLEET ,HERE>>
|
|
<RFALSE>)>
|
|
<COND (<PROB 40>
|
|
<MOVE ,THING ,HERE>)
|
|
(<AND <FSET? ,GOWN ,WORNBIT>
|
|
<FSET? ,GOWN ,OPENBIT>
|
|
<PROB 65>>
|
|
<MOVE ,THING ,GOWN>)
|
|
(T
|
|
<MOVE ,THING ,PLAYER>)>
|
|
<RFALSE>>
|
|
|
|
<OBJECT GUIDE
|
|
(LOC SATCHEL)
|
|
(DESC "The Hitchhiker's Guide")
|
|
(DESCFCN GUIDE-DESCFCN)
|
|
(ADJECTIVE HITCHHIKER\'S SUB-ETHA)
|
|
(SYNONYM COPY GUIDE)
|
|
(SIZE 10)
|
|
(FLAGS NARTICLEBIT TAKEBIT READBIT)
|
|
(TEXT "Try: CONSULT GUIDE ABOUT (something).")
|
|
(ACTION GUIDE-F)>
|
|
|
|
<ROUTINE GUIDE-DESCFCN ("OPTIONAL" X)
|
|
<TELL "There is a copy of " ,GUIDE-NAME " here." CR>>
|
|
|
|
<ROUTINE GUIDE-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The Guide is a Mark II model. Its only resemblance to the Mark IV pictured
|
|
in the brochure in your game package is the large, friendly \"Don't Panic!\"
|
|
on its cover.|
|
|
|
|
|
The Guide is a Sub-Etha Relay. You can use it to tap information from a huge
|
|
and distant data bank by consulting the Guide about some item or subject." CR>)
|
|
(<AND <VERB? ASK-ABOUT>
|
|
<DOBJ? GUIDE>>
|
|
<COND (<FSET? ,TOWEL ,WORNBIT>
|
|
<TELL ,WITH-TOWEL CR>
|
|
<RTRUE>)
|
|
;(<IOBJ? ACCESS-SPACE>
|
|
<TELL
|
|
"Suddenly, agents of the " ,AGENCY " pop in using Sub-Etha belts, rough you up
|
|
a bit, tell you there's no such thing as the " ,AGENCY " and never to consult "
|
|
D ,GUIDE " about the " ,AGENCY " again; then they leave." CR>
|
|
<RTRUE>)>
|
|
<TELL
|
|
"The Guide checks through its Sub-Etha-Net database and eventually comes
|
|
up with the following entry:" CR CR>
|
|
<COND (<IOBJ? GUIDE>
|
|
<TELL
|
|
D ,GUIDE " is a wholly remarkable product." ,ALREADY-KNOW-THAT CR>)
|
|
(<IOBJ? HEART-OF-GOLD>
|
|
<TELL
|
|
"There is absolutely no such spaceship as " D ,HEART-OF-GOLD " and anything
|
|
you've ever read in this spot to the contrary was just a prank.|
|
|
-- " ,AGENCY CR>)
|
|
(<IOBJ? SCC ;GALLEY>
|
|
<TELL
|
|
"The " ,SCC " incompetently produces a wide range of inefficient and unreliable
|
|
high-tech machinery. However, thanks to SCC's ruthless marketing division, this
|
|
junk accounts for over 95% of the high-tech machinery sold in the Galaxy.
|
|
(SCC's marketing division will be the first against the wall when the
|
|
revolution comes.)" CR>)
|
|
(<IOBJ? MARVIN>
|
|
<TELL
|
|
,GPP " are a misguided attempt by the " ,SCC " to make their machines behave
|
|
more like people. Among the more miserable failures: paranoid-depressive
|
|
robots and over-protective computers." CR>)
|
|
;(<IOBJ? DARK>
|
|
<TELL
|
|
"A must for the serious hitchhiker, peril-sensitive sunglasses darken at the
|
|
first hint of danger, thus shielding the wearer from seeing anything alarming.
|
|
Recommended brand: Joo Janta." CR>)
|
|
(<IOBJ? RAMP>
|
|
<TELL
|
|
"According to legend, Magrathea was a planet that amassed incredible wealth by
|
|
manufacturing other planets. The legends also mention it as the setting
|
|
of the very eagerly awaited second Infocom Hitchhiker's game." CR>)
|
|
(<OR <IOBJ? ZAPHOD>
|
|
;<AND <IOBJ? ME>
|
|
<EQUAL? ,IDENTITY-FLAG ,ZAPHOD>>>
|
|
<TELL D ,ZAPHOD " is the current" ,PRESIDENT "." CR>)
|
|
(<IOBJ? BABEL-FISH>
|
|
<TELL
|
|
"A mind-bogglingly improbable creature. A " D ,BABEL-FISH ", when placed in
|
|
one's ear, allows one to understand any language." CR>)
|
|
(<IOBJ? TOWEL>
|
|
<TELL
|
|
"A towel is the most useful thing (besides the Guide) a Galactic hitchhiker
|
|
can have. Its uses include travel, combat, communications, protection from the
|
|
elements, hand-drying and reassurance. Towels have great symbolic value, with
|
|
many associated points of honour. Never mock the towel of another, even if it
|
|
has little pink and blue flowers on it. Never do something to somebody else's
|
|
towel that you would not want them to do to yours. And, if you borrow the towel
|
|
of another, you MUST return it before leaving their world." CR>)
|
|
(<IOBJ? GARGLE-BLASTER>
|
|
<TELL
|
|
"The best drink in existence; somewhat like having your brains smashed out by
|
|
a slice of lemon wrapped around a large gold brick." CR>)
|
|
(<IOBJ? THIRD-PLANET ;MAZE>
|
|
<TELL "Mostly harmless." CR>)
|
|
(<FSET? ,PRSI ,TOOLBIT>
|
|
<TELL
|
|
"The editor responsible for entries under this heading has been out to lunch
|
|
for a couple of years but is expected back soon, at which point there will be
|
|
rapid updates. Until then, don't panic, unless your situation is really a life
|
|
or death one, in which case, sure, go ahead, panic." CR>)
|
|
;(<IOBJ? TEA>
|
|
<TELL
|
|
"Sorry, that portion of our Sub-Etha database was accidentally deleted last
|
|
night during a wild office party. The lost data will be restored as soon as
|
|
we find someone who knows where the back-up tapes are kept, if indeed any
|
|
are kept at all." CR>)
|
|
(T
|
|
<TELL
|
|
"That is one of the Great Unanswered Questions. For a list of the others,
|
|
consult the Guide." CR>)>)>>
|
|
|
|
<CONSTANT GUIDE-NAME "The Hitchhiker's Guide to the Galaxy">
|
|
|
|
<CONSTANT ALREADY-KNOW-THAT
|
|
" But then again you must already know that, since you bought one.">
|
|
|
|
<CONSTANT WITH-TOWEL "With a towel wrapped around your head!?!">
|
|
|
|
<CONSTANT AGENCY "Galactic Security Agency">
|
|
|
|
<CONSTANT GPP "Genuine People Personalities">
|
|
|
|
;<CONSTANT SPACE-TEXT
|
|
"If you hyperventilate and then empty your lungs, you will last about thirty
|
|
seconds in the vacuum of space. However, because space is so vastly hugely
|
|
mind-bogglingly big, getting picked up by another ship within those thirty
|
|
seconds is almost infinitely improbable.">
|
|
|
|
<OBJECT BABEL-FISH
|
|
(LOC PLAYER)
|
|
(DESC "babel fish")
|
|
(ADJECTIVE BABEL)
|
|
(SYNONYM FISH)
|
|
(FLAGS TRYTAKEBIT WORNBIT)
|
|
(ACTION BABEL-FISH-F)>
|
|
|
|
<ROUTINE BABEL-FISH-F ()
|
|
<COND (<VERB? TAKE REMOVE>
|
|
<TELL
|
|
"That would be foolish. Having a " D ,BABEL-FISH " in your ear is terribly
|
|
useful." CR>)>>
|
|
|
|
<OBJECT TOWEL
|
|
(LOC FORD)
|
|
(DESC "towel")
|
|
(SYNONYM TOWEL TOWELS)
|
|
(FLAGS TAKEBIT TRYTAKEBIT)
|
|
(SIZE 7)
|
|
(CAPACITY 40)
|
|
(ACTION TOWEL-F)>
|
|
|
|
<ROUTINE TOWEL-F ()
|
|
<COND (<AND <VERB? TAKE MOVE>
|
|
<DOBJ? TOWEL>
|
|
<FSET? ,TOWEL ,SURFACEBIT>>
|
|
<FCLEAR ,TOWEL ,TRYTAKEBIT>
|
|
<FCLEAR ,TOWEL ,SURFACEBIT>
|
|
<ROB ,TOWEL ,HERE>
|
|
<FCLEAR ,TOWEL ,CONTBIT>
|
|
<FCLEAR ,TOWEL ,OPENBIT>
|
|
<FCLEAR ,TOWEL ,NDESCBIT>
|
|
<COND (<VERB? MOVE>
|
|
<TELL "Okay, it's no longer covering the drain." CR>)
|
|
(T
|
|
<RFALSE>)>)
|
|
(<AND <VERB? PUT ;TIE>
|
|
<IOBJ? HEAD EYES>>
|
|
<COND (<FSET? ,TOWEL ,WORNBIT>
|
|
<TELL "It already is." CR>)
|
|
(T
|
|
<TELL
|
|
"There's no need for that. It's not as if there's a Bugblatter Beast around,
|
|
or something." CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<COND ;(<FSET? ,TOWEL ,SURFACEBIT>
|
|
<PERFORM ,V?EXAMINE ,DRAIN>
|
|
<COND (<FIRST? ,TOWEL>
|
|
<RFALSE>)>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"It's covered with little pink and blue flowers." CR>)>)
|
|
;(<AND <VERB? LIE-DOWN>
|
|
<FSET? ,TOWEL ,SURFACEBIT>>
|
|
<PERFORM ,V?STAND-BEFORE ,HOOK>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT SATCHEL
|
|
(LOC FORD)
|
|
(OWNER FORD)
|
|
(DESC "satchel")
|
|
(DESCFCN SATCHEL-DESCFCN)
|
|
(ADJECTIVE BATTERED LEATHER BULKY)
|
|
(SYNONYM SATCHEL)
|
|
(FLAGS CONTBIT SEARCHBIT TAKEBIT TRYTAKEBIT)
|
|
(CAPACITY 30)
|
|
(SIZE 20)
|
|
(ACTION SATCHEL-F)>
|
|
|
|
<ROUTINE SATCHEL-DESCFCN ("OPTIONAL" X)
|
|
<TELL "There is a satchel here.">
|
|
<ITEM-ON-SATCHEL-DESCRIPTION>
|
|
<CRLF>
|
|
<RTRUE>>
|
|
|
|
<GLOBAL ITEM-ON-SATCHEL:OBJECT 0>
|
|
<ROUTINE ITEM-ON-SATCHEL-DESCRIPTION ()
|
|
<COND (,ITEM-ON-SATCHEL
|
|
<TELL " Sitting on top of it is ">
|
|
<TELL a ,ITEM-ON-SATCHEL>
|
|
<TELL ".">)>>
|
|
|
|
<ROUTINE SATCHEL-F ()
|
|
<COND (<AND <VERB? OPEN>
|
|
;<NOT <EQUAL? ,IDENTITY-FLAG ,FORD>>>
|
|
<PRIVATE "Ford">)
|
|
(<AND <VERB? PUT>
|
|
<EQUAL? ,SATCHEL ,PRSI>>
|
|
<COND (<HELD? ,SATCHEL>
|
|
<TELL "Put down the satchel first." CR>)
|
|
(,ITEM-ON-SATCHEL
|
|
<TELL "But">
|
|
<TELL the ,ITEM-ON-SATCHEL>
|
|
<TELL " is already on the satchel." CR>)
|
|
(T
|
|
<SETG ITEM-ON-SATCHEL ,PRSO>
|
|
<MOVE ,PRSO ,HERE>
|
|
<FSET ,PRSO ,NDESCBIT>
|
|
<FSET ,PRSO ,TRYTAKEBIT>
|
|
<TELL "Okay,">
|
|
<TELL the ,PRSO>
|
|
<TELL " is now sitting on the satchel." CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<TELL "The satchel, which is ">
|
|
<COND (<FSET? ,SATCHEL ,OPENBIT>
|
|
<TELL "open">)
|
|
(T
|
|
<TELL "closed">)>
|
|
<TELL ", is fairly bulky.">
|
|
<ITEM-ON-SATCHEL-DESCRIPTION>
|
|
<CRLF>)
|
|
(<AND <VERB? TAKE>
|
|
<IN? ,SATCHEL ,FORD>>
|
|
<TELL
|
|
"Ford says, \"Hey, Arthur, keep " D ,HANDS "s off my satchel!\"" CR>)>>
|
|
|
|
<ROUTINE PRIVATE (STRING)
|
|
<TELL
|
|
"You can't. It's not yours. It's " .STRING "'s and it's private." CR>>
|
|
|
|
<ROOM GARGLE-BLASTER
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "Pan-Galactic Gargle Blaster")
|
|
(ADJECTIVE PAN-GALACTIC GARGLE)
|
|
(SYNONYM BLASTER)>
|
|
|
|
<ROOM SCC
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "Sirius Cybernetics Corporation")
|
|
(ADJECTIVE SIRIUS CYBERNETICS)
|
|
(SYNONYM CORPORATION SCC)>
|
|
|
|
<OBJECT HEART-OF-GOLD
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "the Heart of Gold")
|
|
(ADJECTIVE SPACE INCREDIBLE NEW)
|
|
(SYNONYM HEART GOLD SHIP SPACESHIP)
|
|
(FLAGS NARTICLEBIT)
|
|
;(ACTION HEART-OF-GOLD-F)>
|
|
|
|
<OBJECT GAME
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "MILLIWAYS")
|
|
(SYNONYM GAME MILLIWAYS)
|
|
(FLAGS NARTICLEBIT)
|
|
(ACTION GAME-F)>
|
|
|
|
<ROUTINE GAME-F ()
|
|
<COND (<VERB? EXAMINE FIND LAMP-ON PLAY READ THROUGH>
|
|
<SETG CLOCK-WAIT T>
|
|
<TELL "[You're playing it now!]" CR>)>>
|
|
|
|
<OBJECT DINNER
|
|
(LOC PUB)
|
|
(OWNER PLAYER)
|
|
(DESC "your dinner")
|
|
(ADJECTIVE COVERED MY)
|
|
(SYNONYM DINNER FOOD ;ARRAY DISHES PLATE ;FISH)
|
|
(FLAGS NARTICLEBIT TRYTAKEBIT)
|
|
(SIZE 10)
|
|
(DESCFCN DINNER-D)
|
|
(ACTION DINNER-F)>
|
|
|
|
<ROUTINE DINNER-D (ARG "AUX" (L <LOC ,DINNER>))
|
|
<COND (T ;<EQUAL? .L ,KITCHEN ,SIDEBOARD>
|
|
<TELL "An appetizing aroma wafts from an array of covered dishes">
|
|
;<COND (<==? .L ,KITCHEN>
|
|
<TELL " sitting about">)
|
|
(<==? .L ,SIDEBOARD>
|
|
<TELL " on the " 'SIDEBOARD>)>
|
|
<TELL "." CR>)>>
|
|
|
|
<ROUTINE DINNER-F ("AUX" I (L <LOC ,DINNER>))
|
|
<COND ;(<VERB? DRESS>
|
|
<COND (<EQUAL? ,HERE <META-LOC ,DINNER-OUTFIT>>
|
|
<PERFORM ,V?WEAR ,DINNER-OUTFIT>
|
|
<RTRUE>)
|
|
(T
|
|
<NOT-HERE ,DINNER-OUTFIT>
|
|
<RTRUE>)>)
|
|
(<VERB? EAT>
|
|
<COND ;(<FSET? ,DINNER ,TRYTAKEBIT> ;<QUEUED? ,I-DINNER-SIT>
|
|
<TELL
|
|
"You look around and notice that no one else is eating yet." CR>)
|
|
(T <TELL "You take a bite and find it delicious." CR>)>)
|
|
(<VERB? EXAMINE ;SMELL>
|
|
<TELL
|
|
"A lovely assortment of fish, fowl, greens, and sweets fills the ">
|
|
<COND ;(<EQUAL? .L ,KITCHEN ,SIDEBOARD>
|
|
<TELL "dishes." CR>)
|
|
(T <TELL "plate." CR>)>)
|
|
;(<VERB? TAKE LAMP-ON ;"start">
|
|
<COND (<FSET? ,DINNER ,TRYTAKEBIT>
|
|
<COND (<==? .L ,KITCHEN>
|
|
<TELL "It's not ready yet." CR>)
|
|
(<==? .L ,SIDEBOARD>
|
|
<SET L <I-DINNER-SIT>>
|
|
<COND (<ZERO? .L>
|
|
<TELL
|
|
"You look around and notice that no one else is eating yet."
|
|
;"Not all the guests are ready yet." CR>
|
|
<RTRUE>)
|
|
(T <RETURN .L>)>)>)>)
|
|
;(<VERB? WAIT-FOR>
|
|
<COND (<SET I <QUEUED? ,I-DINNER>>
|
|
<V-WAIT <- ,DINNER-TIME ,PRESENT-TIME> ;.I <> T>
|
|
<RTRUE>)>)
|
|
;(<VERB? WALK-TO>
|
|
<COND (<EQUAL? ,HERE ,DINING-ROOM>
|
|
<PERFORM ,PRSA <META-LOC ,DINNER>>)
|
|
(T <PERFORM ,PRSA ,DINING-ROOM>)>
|
|
<RTRUE>)>>
|
|
|
|
"For debugging parser:"
|
|
|
|
<OBJECT RED-FROB
|
|
(LOC RAMP)
|
|
(DESC "red frob")
|
|
(ADJECTIVE RED)
|
|
(SYNONYM FROB FROBS)
|
|
(FLAGS TAKEBIT)
|
|
(SIZE 1)>
|
|
|
|
<OBJECT GREEN-FROB
|
|
(LOC RAMP)
|
|
(DESC "green frob")
|
|
(ADJECTIVE GREEN)
|
|
(SYNONYM FROB FROBS)
|
|
(FLAGS TAKEBIT)
|
|
(SIZE 1)>
|
|
|
|
<OBJECT BIG-BLUE-FROB
|
|
(LOC THING)
|
|
(DESC "big blue frob")
|
|
(ADJECTIVE BIG BLUE)
|
|
(SYNONYM FROB FROBS)
|
|
(FLAGS TAKEBIT)
|
|
(SIZE 1)>
|
|
|
|
<OBJECT SMALL-BLUE-FROB
|
|
(LOC THING)
|
|
(DESC "small blue frob")
|
|
(ADJECTIVE SMALL BLUE)
|
|
(SYNONYM FROB FROBS)
|
|
(FLAGS TAKEBIT)
|
|
(SIZE 1)>
|