suspect/people.zil
historicalsource 1f1c2b1567 Final Revision
2019-04-13 22:22:25 -04:00

4891 lines
156 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"PEOPLE for M3
Copyright (C) 1984 Infocom, Inc. All rights reserved."
"Necessary Flags"
;<GLOBAL LOAD-MAX 100>
<GLOBAL LOAD-ALLOWED 100>
<ROUTINE GLOBAL-PERSON-F ("AUX" PER)
<COND (<VERB? $CALL>
<SET PER <CHARACTERIZE ,PRSO>>
<COND (<NEARBY? .PER>
<PERFORM ,V?$CALL .PER>
<RTRUE>)
(ELSE <TELL-ISNT-HERE .PER>)>)
(<VERB? GIVE>
<TELL-ISNT-HERE ,PRSI>)
(<VERB? SLAP MUNG KILL ATTACK DANCE HELP
ACCUSE SEARCH LOOK-INSIDE>
<TELL-ISNT-HERE ,PRSO>)
(<OR <AND <VERB? SHOW REVEAL>
<IN? ,PRSI ,GLOBAL-OBJECTS>
<SET PER ,PRSI>>
<AND <VERB? ASK-ABOUT TELL-ME ;PHONE>
<IN? ,PRSO ,GLOBAL-OBJECTS>
<SET PER ,PRSO>>>
<COND (<EQUAL? .PER ,ME> <RFALSE>)
(<NEARBY? .PER>
<TELL
CD .PER " is waiting for you to come justify your interruption." CR>)
(ELSE
<TELL
"Your audience isn't listening." CR>)>)>>
<GLOBAL I-DONT-KNOW "\"I don't know ">
<GLOBAL ISNT-HERE " isn't here.">
<ROUTINE TELL-ISNT-HERE (PER)
<TELL CTHE .PER ,ISNT-HERE CR>>
<OBJECT HIM-HER
(IN GLOBAL-OBJECTS)
(SYNONYM HIM HER THEM GROUP)
(DESC "him or her")
(FLAGS NDESCBIT)>
<OBJECT YOU
(IN GLOBAL-OBJECTS)
(SYNONYM YOU YOURSELF HIMSELF HERSELF)
(DESC "himself or herself")
(FLAGS NDESCBIT)
(ACTION YOU-F)>
<ROUTINE YOU-F ()
<COND (<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSI ,YOU>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSO>
<RTRUE>)
(<AND <VERB? TELL-ME> <EQUAL? ,PRSI ,YOU>>
<PERFORM ,V?TELL-ME ,PRSO ,WINNER>
<RTRUE>)>>
<OBJECT OBJECT-PAIR
(DESC "such things")
(ACTION OBJECT-PAIR-F)>
<ROUTINE LOCALIZE (P)
<COND (<AND <FSET? .P ,PERSON>
<IN? .P ,GLOBAL-OBJECTS>
<GETP .P ,P?CHARACTER>>
<CHARACTERIZE .P>)
(ELSE .P)>>
<ROUTINE CHARACTERIZE (P)
<COND (<FSET? .P ,PERSON>
<GET ,CHARACTER-TABLE <GETP .P ,P?CHARACTER>>)>>
<ROUTINE CHARACTERIZE? (P)
<COND (<SET P <GETP .P ,P?CHARACTER>>
<GET ,CHARACTER-TABLE .P>)>>
<ROUTINE OBJECT-PAIR-F ("AUX" P1 P2)
<COND (<VERB? ARREST>
<TELL-YOU-CANT
"arrest anyone. Only the police can do that. Besides, this
seems pretty far-fetched. It could only mean humiliation for you">)
(<G? <GET ,P-PRSO ,P-MATCHLEN> 2>
<COND (<VERB? EXAMINE COMPARE>
<TELL
"That's more than one per eye. " ,YOU-ARENT "up to it." CR>)>
<RTRUE>)>
<SET P1 <1 ,P-PRSO>>
<SET P2 <2 ,P-PRSO>>
<COND (<VERB? COMPARE>
<PERFORM ,PRSA .P1 .P2>
<RTRUE>)
(<VERB? EXAMINE>
<COND (<OR <NOT <FSET? .P1 ,PERSON>>
<NOT <FSET? .P2 ,PERSON>>>
<TELL-BORING>)
(<EQUAL? <LOC .P1> <LOC .P2>>
<TELL-YOU-CANT
"overhear or see anything out of the ordinary">)
(T <THEY-ARENT "together">)>)>>
<ROUTINE THEY-ARENT (STR)
<TELL "They aren't " .STR "." CR>>
<ROUTINE TELL-BORING ()
<TELL
"You see nothing interesting." CR>>
"People"
<OBJECT PLAYER
(IN BALLROOM-9)
(DESC "reporter")
(SYNONYM REPORTER)
(ACTION PLAYER-F)
(FLAGS NDESCBIT TRANSBIT THE PERSON INVISIBLE)
(CHARACTER 0)
(SIZE 0)>
<GLOBAL PLAYER-HIDING <>>
<ROUTINE PLAYER-F ()
<COND (<EQUAL? ,WINNER ,PLAYER>
<COND (<AND <VERB? EXAMINE> <EQUAL? ,PRSO ,PLAYER>>
<TELL
"You look pretty much like you always do, excepting the fact that you are
wearing a fairly ridiculous looking " 'COWBOY-COSTUME "." CR>)
(<EQUAL? ,NOT-ROPE ,PRSO ,PRSI>
<NOT-ROPE-F>)
(<AND <VERB? ACCUSE ARREST>
<EQUAL? ,PRSO ,PLAYER ,ME>>
<TELL "Turning yourself in, eh?" CR>)
(<AND <VERB? KILL ATTACK>
<IN? ,PRSO ,HERE>
<NOT <EQUAL? ,PRSO ,CORPSE ,VERONICA ,DOG>>>
<COND (<EQUAL? ,PRSO ,PLAYER>
<TELL "Suicide">)
(<FSET? ,PRSO ,PERSON>
<TELL <COND (<FSET? ,PLAYER ,TOLD>
"Another ")
(T "A ")>
'GLOBAL-MURDER>)
(T
<TELL "This">)>
<TELL " is not the way to clear up this mess." CR>)
(<AND <VERB? GIVE> <EQUAL? ,PRSI ,PLAYER>>
<TELL
"Taking up juggling, eh?" CR>)
(<AND <VERB? TAKE DANCE> <EQUAL? ,PRSO ,PLAYER>>
<TELL
"Usually, you say that to someone else." CR>)
(<AND <IN? ,DETECTIVE ,HERE>
<EQUAL? ,TARGET ,PLAYER>>
<COND (<VERB? SSHOW SGIVE> <RFALSE>)
(<AND <PLAYER-ARRESTED? ,DETECTIVE>
<VERB? WALK WALK-TO FOLLOW THROUGH>>
<RTRUE>)>)
(<AND <IN? ,DETECTIVE ,HERE>
<LAB-RESULTS-TO-PLAYER>>
<CRLF>
<RFALSE> ;"so what you were doing gets handled")
(<AND <IN? ,DUFFY ,HERE>
<EQUAL? ,TARGET ,PLAYER>>
<COND (<VERB? SSHOW SGIVE> <RFALSE>)
(<AND <PLAYER-ARRESTED? ,DUFFY>
<VERB? WALK WALK-TO FOLLOW THROUGH>>
<RTRUE>)>)
(<OR <AND <VERB? REVEAL> <EQUAL? ,PRSI ,PLAYER>>
<AND <VERB? TELL-ME TELL $CALL>
<EQUAL? ,PRSO ,PLAYER>>>
<COND (<VERB? TELL>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>)>
<INTERVIEW-SELF>)
(<OR <AND <VERB? REVEAL>
<EQUAL? ,PRSO ,GLOBAL-MURDER>>
<AND <VERB? TELL-ME ASK-ABOUT>
<EQUAL? ,PRSI ,GLOBAL-MURDER>>>
<COND (<NOT <FSET? ,PLAYER ,TOLD>>
<TELL
"What murder? " ,YOU-DONT "know anything about a murder." CR>)>)
(<OR <AND <VERB? THROW-AT POUR-ON>
<EQUAL? ,PRSI ,PLAYER>>
<AND <VERB? RUB FOLLOW>
<EQUAL? ,PRSO ,PLAYER>>>
<TELL ,YOU-ARENT "coordinated enough." CR>)
(<AND <VERB? ALARM>
<EQUAL? ,PRSO <> ,PLAYER ,ME>>
<TELL "Getting sleepy, huh?" CR>)>)
(ELSE <RFALSE>)>>
<OBJECT ME
(IN GLOBAL-OBJECTS)
(DESC "yourself")
(SYNONYM ME REPORTER MYSELF ;I)
(ADJECTIVE COWBOY COWGIRL)
(ACTION ME-F)
(FLAGS NDESCBIT TRANSBIT PERSON)
(CHARACTER 0)
(SIZE 0)>
<ROUTINE ME-F ()
<COND (<VERB? RUB> <RFALSE>)
(<EQUAL? ,ME ,PRSO ,PRSI>
<PERFORM ,PRSA
<COND (<EQUAL? ,PRSO ,ME> ,PLAYER)
(T ,PRSO)>
<COND (<EQUAL? ,PRSI ,ME> ,PLAYER)
(T ,PRSI)>>
<RTRUE>)>>
<OBJECT COWBOY-COSTUME
(IN PLAYER)
(SYNONYM COSTUME OUTFIT)
(ADJECTIVE COWBOY COWGIRL MY WESTERN)
(DESC "western outfit")
(ACTION COWBOY-COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT WEARBIT)>
<ROUTINE COWBOY-COSTUME-F ()
<COND (<VERB? EXAMINE>
<PERFORM ,V?EXAMINE <LOC ,PRSO>>
<RTRUE>)
(<VERB? TAKE-OFF DROP>
<TELL "The result would be embarrassing." CR>)>>
<OBJECT GUNBELT
(IN PLAYER)
(DESC "gunbelt")
(SYNONYM GUNBELT HOLSTER LOOP LOOPS)
(ADJECTIVE WESTERN LEATHER BELT)
(ACTION GUNBELT-F)
(CAPACITY 10)
(FLAGS TAKEBIT BURNBIT WEARBIT CONTBIT OPENBIT)>
<ROUTINE GUNBELT-F ()
<COND (<VERB? EXAMINE>
<TELL
"This is fine western gunbelt, with a holster for a six-gun and loops
with lots of bullets. It's expertly tooled leather and is really the
nicest element of your costume.">
<COND (<AND <NOT <FSET? ,GUNBELT ,WEARBIT>>
<NOT <IN? ,BULLET ,GUNBELT>>>
<TELL
" Now that you have it off, you can see that in the back one of the
cartridge loops is empty: a bullet is missing.">)>
<CRLF>)
(<VERB? LOOK-INSIDE>
<TELL
"Don't you remember, you left the gun at home. It was just a toy
anyway." CR>)
(<AND <VERB? PUT>
<NOT <EQUAL? ,PRSO ,BULLET>>
<EQUAL? ,PRSI ,GUNBELT>>
<TELL-WONT-FIT>)>>
<OBJECT PEN
(IN PLAYER)
(DESC "pen")
(SYNONYM PEN)
(ACTION PEN-F)
(FLAGS TAKEBIT)>
<ROUTINE PEN-F ()
<COND (<AND <VERB? WRITE> <EQUAL? ,PRSO ,PEN>>
<COND (<IN? ,NOTEBOOK ,PLAYER>
<PERFORM ,V?WRITE ,NOTEBOOK ,PEN>
<RTRUE>)
(T
<TELL "On your cuff, no doubt." CR>)>)>>
<OBJECT NOTEBOOK
(IN PLAYER)
(DESC "notebook")
(SYNONYM NOTEBOOK NOTES)
(ADJECTIVE REPORTER)
(FLAGS TAKEBIT BURNBIT READBIT)
(ACTION NOTEBOOK-F)
(TEXT
"The notebook contains a few doodles, a truncated phrase or two, and
little else.")>
<ROUTINE NOTEBOOK-F ()
<COND (<OR <VERB? WRITE>
<AND <VERB? TAKE> <IN? ,NOTEBOOK ,PLAYER>>>
<COND (<IN? ,PEN ,PLAYER>
<TELL
"The notebook now contains more doodles, phrases, and such than before." CR>)
(ELSE
<TELL
,YOU-DONT-HAVE "a writing implement." CR>)>)>>
<OBJECT YOUR-COAT
(IN EAST-COAT-CLOSET)
(DESC "reporter's overcoat")
(SYNONYM OVERCOAT COAT)
(ADJECTIVE PLAYER REPORTER MY)
(ACTION YOUR-COAT-F)
(FLAGS TAKEBIT BURNBIT OPENBIT TRANSBIT CONTBIT)>
<ROUTINE YOUR-COAT-F ()
<COND (<VERB? THROUGH>
<PERFORM ,V?WEAR ,YOUR-COAT>
<RTRUE>)
(<VERB? LOOK-INSIDE>
<TELL
,THERE-IS "nothing in the coat." CR>)
(<VERB? SMELL>
<TELL
"It smells slightly damp, which is expected, as it was raining when you
arrived." CR>)
(<VERB? RUB>
<TELL
"It feels slightly damp. It hasn't finished drying off from the rain." CR>)>>
\
<OBJECT GLOBAL-MICHAEL
(IN GLOBAL-OBJECTS)
(DESC "Michael")
(SYNONYM WELLMAN SHEIK MICHAEL MIKE)
(ADJECTIVE MR MICHAEL MIKE)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 1)>
<OBJECT MICHAEL
(IN BALLROOM-8)
(DESC "Michael")
(LDESC "Michael, costumed as a sheik, is here.")
(SYNONYM WELLMAN SHEIK MICHAEL MIKE)
(ADJECTIVE MR MICHAEL MIKE)
(ACTION MICHAEL-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 1)>
<GLOBAL MICHAEL-SEEN 0>
"add verbs that in general non-player ,winner doesn't want to handle here."
<ROUTINE DONT-HANDLE? ()
<COND (<VERB? WHAT SGIVE SSHOW FIND DANCE EXAMINE
IS $REVEAL THANKS>
<RTRUE>)
(<AND <VERB? TELL-ME>
<EQUAL? ,PRSO ,ME ,PLAYER>>
<RTRUE>)>>
<ROUTINE MICHAEL-F ()
<COND (<EQUAL? ,WINNER ,MICHAEL>
<COND (<VERB? HELLO>
<COND (<FSET? ,MICHAEL ,TOLD>
<TELL
"\"How could this have happened? " ,YOU-MUST "feel lucky, something like
this happening when you're here, but it's horrible, horrible!\"" CR>)
(T
<TELL
"\"Glad you could make it. I don't see where you'll find a story here,
but you'll have fun, at least.\"" CR>)>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL 'MICHAEL " pays you no heed." CR>)>)
(<AND <VERB? $REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<ENABLE <QUEUE I-MICHAEL-TO-GARAGE 5>>
<COND (<REVEAL-MURDER ,MICHAEL>
<COND (<IN? ,WINNER ,HERE>
<TELL
CD ,WINNER " breaks the news of the murder to " 'MICHAEL ", who responds
jokingly, then realizes that " D ,WINNER " is serious. He seems to be
in a state of shock." CR>)
(<NEARBY? ,MICHAEL>
<TELL
CD ,WINNER " has just told " 'MICHAEL " something that seems to have
shocked him terribly." CR>)>)
(ELSE
<COND (<IN? ,WINNER ,HERE>
<TELL
CD ,WINNER " breaks the news of the murder to " 'MICHAEL ". He already
knows about it, and replies scornfully." CR>)>)>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<ENABLE <QUEUE I-MICHAEL-TO-GARAGE 5>>
<COND (<REVEAL-MURDER ,MICHAEL>
<TELL
"\"What! You're kidding... No, you're not, are you?\" He seems to be
in a state of shock." CR>)
(ELSE
<TELL
"\"I already know. You're a cruel person to harp on it.\"" CR>)>)
(<VERB? EXAMINE>
<TELL
'MICHAEL " Wellman is a tall, greying man about forty years of age. He is
costumed as an Arab sheik straight out of a bad movie of the twenties." CR>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,MICHAEL>>
<COND (<NOT <FSET? ,PRSI ,PERSON>>
<COND (<AND <EQUAL? ,PRSI ,DRINK>
<IN-BALLROOM? ,VERONICA>>
<TELL
"\"" 'VERONICA "'s drink? She was drinking a Singapore Sling.\"" CR>)
(<EQUAL? ,PRSI ,HORSE>
<TELL
"\"'Lurking Grue' is " 'VERONICA "'s prize show jumper. He's really quite a
beautiful animal. He's coal black, you can barely see him in the dark.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"You reporters have all the sensitivity of buffalo. Can't you leave
me alone?\"" CR>)
(T
<TELL
"\"Murder?\"" CR>)>)
(ELSE
<TELL
"\"I'm not sure what I can tell you about " THE ,PRSI ".\"" CR>)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"I thought you were a friend of " 'VERONICA "'s. Didn't you go to school
together or something?\"" CR>)
(<EQUAL? ,PRSI ,MICHAEL ,GLOBAL-MICHAEL>
<TELL
"\"What can I say? I didn't realize the rich had to serve any function
but decoration and public amusement. That's what I do, and I take my job
seriously.\" He smiles." CR>)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA ,VERONICA ,CORPSE>
<COND (<FSET? ,MICHAEL ,TOLD>
<TELL
'MICHAEL " stares at you. \"What a strange question! She was my wife, and
I loved her, and she's dead! Murdered! Why would anyone want to kill
her?\" His words trail off. \"I can't understand this. Things were so
good for us...\"" CR>)
(<IN? ,VERONICA ,HERE>
<TELL
'MICHAEL " hugs " 'VERONICA". He smiles." CR>)
(<IN-BALLROOM? ,VERONICA>
<TELL
"\"That's her over there. I guess she's going to try to get that costume
cleaned up.\"" CR>)
(T
<TELL
"\"That's an odd question. She's my wife: I love her.\"">
<COND (<G? ,PRESENT-TIME 555>
<TELL
" He looks around
quizzically. \"I wonder where she's gotten off to?\"">)>
<CRLF>)>)
(<EQUAL? ,PRSI ,ALICIA ,GLOBAL-ALICIA>
<TELL
"\"She's an excellent horsewoman, and a good friend of " 'VERONICA"'s. She
boards her horses here, so she's here a lot.\"" CR>)
(<EQUAL? ,PRSI ,COL-MARSTON ,GLOBAL-COL-MARSTON>
<TELL
"\"" 'COL-MARSTON "? One of the ablest men I know. He's done a lot with our family
trust, and I can always count on his advice.\"" CR>)
(<EQUAL? ,PRSI ,SEN-ASHER ,GLOBAL-SEN-ASHER>
<TELL
"\"" 'VERONICA " and I are quite fond of him. With a little luck he'll be
president some day. The man has a lot on the ball.\"" CR>)
(<EQUAL? ,PRSI ,OSTMANN ,GLOBAL-OSTMANN>
<TELL
"\"" 'OSTMANN " would love to buy the farm, but we turned him down. Our roots are
here, even though this part of the county is getting so suburban. Some
think it's past time to make a move upcounty. Most of the Club has
moved already. " 'OSTMANN " wanted to develop the land as town houses.
Imagine that!\"" CR>)
(<IN? ,PRSI ,HERE>
<TELL
'MICHAEL " glances toward " D ,PRSI ". \"What a rude question! Are you hoping
I'll say something derogatory and start a shouting match?\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
"\"It's common knowledge Richard and I have our disagreements. " 'VERONICA "
tries to keep him in line, but you know how it is sometimes between brother
and sister. Linda is another problem. She just doesn't fit in this sort of
group.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
,I-DONT-KNOW "why Richard keeps company with her. Well, I suppose I do.
But have you ever talked to her? With a
good tail wind she has an outside chance at a two-digit IQ.\" He shakes his
head ruefully. \"Richard is still a bit immature.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
"\"The fellow is a crook. I hear he's going up before" ,REAL-ESTATE-BOARD
" for unethical practices. He and " 'OSTMANN " hate each other, if
you believe the stories. I certainly didn't invite him, but
I'm not going to throw him out and make a scene.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"" 'BUTLER " has been with us forever. He worked for " 'VERONICA"'s
parents when they were still alive. He's lived on the farm for most of
his life.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<I-DONT-KNOW-ABOUT "him: " <>>
<TELL
'VERONICA " hired him from some agency for
the party. He mixes a pretty good martini, I can say that.\"" CR>)
(ELSE
<TELL
"\"I can't say much one way or the other.\"" CR>)>)
(<OR <VERB? SHOW>
<AND <VERB? $DISCOVER>
<IN? ,MICHAEL ,HERE>
<NOT <IN? ,MICHAEL ,OFFICE>>>>
<COND (<EQUAL? ,PRSO ,CORPSE>
<COND (<REVEAL-MURDER ,MICHAEL>
<TELL
'MICHAEL " stares at the corpse, stunned. He rushes over, cradles the body
in his arms, and seems about to cry. Then, suddenly, he turns to you: \"Did
you do this?" ,CALLING-POLICE>
<COND (<GLOBAL-IN? ,TELEPHONE ,HERE>
<TELL-MICHAEL-CALLS-POLICE>)>
<CRLF>)
(ELSE
<TELL
"He looks away. \"I can't bear it,\" he says, trying to compose
himself." CR>)>)
(<FSET? ,PRSO ,MICHAELBIT>
<FCLEAR ,PRSO ,MICHAELBIT>
<SETG MICHAEL-SEEN <+ ,MICHAEL-SEEN 1>>
<ENABLE <QUEUE I-FLEE 5>>
<TELL
"\"I have no idea what this has to do with me.\"" CR>)>)>>
<GLOBAL THREE-STOOGES-IN-OFFICE? <>>
<ROUTINE TELL-MICHAEL-CALLS-POLICE ()
<TELL
'MICHAEL " picks up the telephone
and calls the police.">
<COND (<FSET? ,MICHAEL ,TOLD>
<TELL " His voice breaks towards the end.">)>
<RTRUE>>
<ROUTINE G-MICHAEL (GARG "AUX" (L <LOC ,MICHAEL>) (BODY? <>))
<COND (<NOT .GARG> <IMOVEMENT ,MICHAEL G-MICHAEL>)
(<EQUAL? .GARG ,G-IMPATIENT>
<COND (<EQUAL? .L ,HERE ,OFFICE> <RFALSE>)
(<EQUAL? .L ,LIBRARY>
<FCLEAR ,LIBRARY-DOOR ,LOCKED>
<RFALSE>)>
<TELL 'MICHAEL " is looking ">
<COND (<EQUAL? .L ,GARAGE>
<TELL
"angry and impatient." CR>)
(<FSET? ,MICHAEL ,TOLD>
<TELL
"impatient, nervous, and distraught." CR>)
(ELSE
<TELL "very bored with all this." CR>)>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<AND <EQUAL? .L ,BALLROOM-5>
<IN? ,ALICIA ,BALLROOM-5>>
<THEY-DANCE ,MICHAEL>)
(<AND <EQUAL? .L ,BALLROOM-8>
<NOT ,PARTY-OVER>>
<NEW-SCRIPT ,MICHAEL ,MICHAEL-LOOP>
<RFALSE>)
(<AND <EQUAL? .L ,BALLROOM-9>
<NOT ,OFFICE-EXPEDITION?>>
<GOALS? ,MICHAEL <>>
<ESTABLISH-GOAL ,COL-MARSTON ,BALLROOM-9 T>
<ESTABLISH-GOAL ,COCHRANE ,BALLROOM-9 T>
<ENABLE <QUEUE I-ARGUMENT 5>>
<RFALSE>)
(<EQUAL? .L ,GARAGE>
<ENABLE <QUEUE I-MICHAEL-HIDES-FOLDER 1>>
<RFALSE>)
(<AND <EQUAL? .L ,HALLWAY-3>
<NOT ,THREE-STOOGES-IN-OFFICE?>>
<GOALS? ,MICHAEL <>>
<COND (<AND <IN? ,COCHRANE ,HALLWAY-3>
<IN? ,COL-MARSTON ,HALLWAY-3>>
<GANGS-ALL-HERE>)>)
(<EQUAL? .L ,OFFICE>
<SETG THREE-STOOGES-IN-OFFICE? T>
<ESTABLISH-GOAL ,MICHAEL ,LIVING-ROOM>
<GRAB-ATTENTION ,MICHAEL>
<COND (<NOT ,MURDER-PUBLIC?>
<SET BODY? <EQUAL? <META-LOC ,CORPSE> ,OFFICE>>
<COND (.BODY?
<FCLEAR ,MICHAEL ,TOLD>
<REVEAL-MURDER ,MICHAEL>)
(ELSE
<SETG MURDER-PUBLIC? T>
<ENABLE <QUEUE I-POLICE-ARRIVE 25>>)>
<COND (<EQUAL? .L ,HERE>
<COND (.BODY?
<TELL-LOOK-AROUND>
<TELL
"The three of them start to search the room, examine the body, and so on.
Then " 'MICHAEL " says, \"Wait! This is a job for the police! Don't touch
anything!\" The others agree, though " D ,COCHRANE " takes some convincing. ">
<TELL-MICHAEL-CALLS-POLICE>
<CRLF>)
(ELSE
<TELL-LOOK-AROUND>
<TELL
'MICHAEL " is particularly shocked. \"There must have
been a prowler in here, or maybe some kids out for a thrill.\" He looks
around some more. ">
<COND (<IN? ,FAIRY-MASK .L>
<TELL
"\"" 'VERONICA "'s mask is here!\" he says. ">)>
<COND (<IN? ,ROPE .L>
<TELL
"\"And isn't that your rope?\" He asks you. ">)>
<TELL
"He seems puzzled. \"Nothing seems to be taken." ,CALLING-POLICE
" He does so." CR>)>
<RTRUE>)>)>)
(<EQUAL? .L ,LIBRARY>
<COND (<IN? ,COL-MARSTON ,LIBRARY>
<LIBRARY-MEETING ,MICHAEL>)
(ELSE
<GOALS? ,MICHAEL <>>
<RFALSE>)>)
(<AND ,FLEEING? <EQUAL? .L ,SITTING-ROOM>>
<UNPRIORITIZE ,MICHAEL>
<COND (<IN? ,ALICIA .L>
<GOALS? ,ALICIA T>
<ESTABLISH-GOAL ,ALICIA ,BARN T>
<ESTABLISH-GOAL ,MICHAEL ,BARN T>)
(T
<GOALS? ,MICHAEL <>>)>
<RFALSE>)
(<EQUAL? .L ,BARN>
<GOALS? ,MICHAEL <>>
<BARN-DANCE ,MICHAEL>)>)>>
<ROUTINE TELL-LOOK-AROUND ()
<TELL
'MICHAEL " and the others look around the room, startled. They see the total
wreck of the office. ">>
<ROUTINE I-MICHAEL-HIDES-FOLDER ()
<COND (<AND <EQUAL? ,HERE ,GARAGE>
<NOT ,PLAYER-HIDING>>
<COND (<LISTENING? ,MICHAEL>
<TELL "\"Get out of here!\" " 'MICHAEL " screams." CR>
<RTRUE>)>
<SETG MICHAEL-TO-GARAGE? <>>
<ENABLE <QUEUE I-MICHAEL-TO-GARAGE 25>>
<ESTABLISH-GOAL ,MICHAEL ,BALLROOM-9 T>
<GRAB-ATTENTION ,MICHAEL>
<TELL
'MICHAEL " eyes you suspiciously. \"What are you doing in here?\" he asks.">
<COND (<OR <FSET? ,BMW-TRUNK ,OPENBIT>
<IN? ,CROWBAR ,PLAYER>
<FIRST? ,BMW-TRUNK>>
<TELL
" \"Have you been fooling with my car? What are you doing in here! I'll
have you thrown out!\" He seems serious.">)>
<COND (<FSET? ,MICHAEL ,TOLD>
<TELL
" \"Are you trying to hide something? You've been acting pretty oddly.
Did you kill my wife?\" He breaks off, torn between several courses of
action.">)>
<TELL
" Finally he just says \"Get out of here!\"" CR>)
(ELSE
<ENABLE <QUEUE I-LIBRARY-MEETING 20>>
<COND (<AND <NOT <FIRST? ,BMW-TRUNK>>
<NOT <FSET? ,BMW-TRUNK ,OPENBIT>>>
<FSET ,BMW-TRUNK ,LOCKED>
<MOVE ,TRUST-FOLDER ,BMW-TRUNK>
<FCLEAR ,TRUST-FOLDER ,INVISIBLE>
<COND (<EQUAL? ,HERE ,GARAGE>
<TELL-MIKE-WALKS>
<TELL
", and after a few seconds, closes it again. Unfortunately, the trunk lid
blocks your view of what he was doing when the trunk was open." CR>)>)
(ELSE
<REMOVE ,TRUST-FOLDER>
<COND (<EQUAL? ,HERE ,GARAGE>
<TELL-MIKE-WALKS>
<TELL
", and becomes extremely agitated. He looks around, fails to see you, and
stands for a moment, confused." CR>)>)>)>>
<ROUTINE TELL-MIKE-WALKS ()
<TELL
'MICHAEL " walks to the rear of the BMW, ">
<COND (<FSET? ,BMW-TRUNK ,OPENBIT>
<TELL "notices the trunk is open">)
(T
<TELL "opens the trunk">)>>
<ROUTINE I-LIBRARY-MEETING ()
%<DEBUG-CODE
<COND (,DEBUG
<TELL "[Michael and Marston to Library]" CR>)>>
<ESTABLISH-GOAL ,MICHAEL ,LIBRARY T>
<ESTABLISH-GOAL ,COL-MARSTON ,LIBRARY T>
<RFALSE>>
<ROUTINE TELL-THREE-STOOGES ()
<TELL 'MICHAEL ", " 'COL-MARSTON ", and " 'COCHRANE>>
<ROUTINE TELL-THREE-ARRIVE (KNEW?)
<COND (<EQUAL? ,HERE ,OFFICE ,HALLWAY-3>
<FSET ,PLAYER ,TOLD>
<TELL-THREE-STOOGES>
<TELL
" arrive at the office door.
" 'COL-MARSTON " glances through the door. \"Look in there!\" he cries.
\"The place is a shambles!">
<COND (.KNEW?
<TELL " It must be true, then!">)>
<COND (<EQUAL? ,HERE ,OFFICE>
<TELL
"\" They see you">)
(ELSE
<TELL
"\" " 'MICHAEL " and " 'COCHRANE " look startled as well">)>
<TELL ,THREE-CROWD CR>)
(<CORRIDOR-LOOK ,MICHAEL>
<TELL-THREE-STOOGES>
<TELL
" are down the hall, in front of the
office. " 'COL-MARSTON " shouts" ,THREE-CROWD CR>)>>
<GLOBAL THREE-CROWD ", and the three of them crowd into the room.">
<GLOBAL GANG-BEEN-TO-OFFICE? <>>
<ROUTINE GANGS-ALL-HERE ("AUX" (KNEW <>))
<COND (,GANG-BEEN-TO-OFFICE? <RFALSE>)>
<SETG GANG-BEEN-TO-OFFICE? T>
<UNPRIORITIZE ,MICHAEL>
<ESTABLISH-GOAL ,MICHAEL ,OFFICE T>
<UNPRIORITIZE ,COCHRANE>
<ESTABLISH-GOAL ,COCHRANE ,OFFICE T>
<UNPRIORITIZE ,COL-MARSTON>
<ESTABLISH-GOAL ,COL-MARSTON ,OFFICE T>
<COND (<OR <FSET? ,MICHAEL ,TOLD>
<FSET? ,COCHRANE ,TOLD>
<FSET? ,COL-MARSTON ,TOLD>>
<SET KNEW T>)>
%<DEBUG-CODE
<COND (<AND ,GOSSIP <NOT .KNEW>>
<TELL
"[Michael, Marston, Cochrane find out at office]" CR>)>>
<COND (<EQUAL? <META-LOC ,CORPSE> ,OFFICE>
<FSET ,MICHAEL ,TOLD>
<FSET ,COL-MARSTON ,TOLD>
<FSET ,COCHRANE ,TOLD>)>
<COND (<FSET? ,SOUTH-OFFICE-DOOR ,OPENBIT>
<TELL-THREE-ARRIVE .KNEW>)
(T
<FCLEAR ,SOUTH-OFFICE-DOOR ,LOCKED>
<FSET ,SOUTH-OFFICE-DOOR ,OPENBIT>
<COND (<EQUAL? ,HERE ,OFFICE>
<TELL
"Outside, you hear voices. ">
<COND (<NOT .KNEW>
<TELL
" You hear someone say," ,LET-ME ,THERE-IS "a pause."
,I-HAD-THEM "Another pause. The doorknob turns." ,WAIT-A-MINUTE>)>
<TELL "The door opens, revealing ">
<TELL-THREE-STOOGES>
<TELL ". They crowd forward." CR>)
(<EQUAL? ,HERE ,HALLWAY-3>
<FSET ,PLAYER ,TOLD>
<COND (.KNEW
<TELL
'MICHAEL " says, \"If it's true, I can take it, just let me go in.\" He
opens the door, and the three of them crowd around." CR>)
(T
<TELL
'MICHAEL " says," ,LET-ME "He roots around underneath
his robes for a moment, obviously trying to find his keys. He clearly
can't find them." ,I-HAD-THEM "He gets more and more
frantic." ,WAIT-A-MINUTE 'MICHAEL " throws open the door of the office, the others crowding
closely around him." CR>)>)
(<CORRIDOR-LOOK ,MICHAEL>
<TELL
"You see, at the office door, a group which includes ">
<TELL-THREE-STOOGES>
<TELL ". " 'MICHAEL>
<COND (<NOT .KNEW>
<TELL " is looking for something in his
robes, getting more and more frantic. Then, suddenly, he">)>
<TELL " opens the door,
and the other two crowd around him, staring into the office." CR>)>)>>
<GLOBAL LET-ME " \"Let me unlock this door...\" ">
<GLOBAL I-HAD-THEM " \"I had them! I unlocked the wine cellar only an hour
ago; Smythe needed to get to it! My keys are gone!\" ">
<GLOBAL WAIT-A-MINUTE " \"Wait a minute! This door isn't
locked! Something's going on here!\" ">
<ROUTINE LIBRARY-MEETING (LAST "AUX" FIRST)
<COND (<EQUAL? .LAST ,MICHAEL> <SET FIRST ,COL-MARSTON>)
(ELSE <SET FIRST ,MICHAEL>)>
<FCLEAR ,LIBRARY-DOOR ,OPENBIT>
<FCLEAR ,LH-DOOR ,OPENBIT>
<FSET ,LIBRARY-DOOR ,LOCKED>
<FSET ,LH-DOOR ,LOCKED>
<MOVE ,INVESTOR-LIST ,COL-MARSTON>
<ENABLE <QUEUE I-END-MEETING 2>>
<COND (<NOT <EQUAL? <META-LOC ,PLAYER> ,LIBRARY>>
<RFALSE>)>
<TELL D .LAST " enters the library. ">
<COND (<EQUAL? ,PLAYER-HIDING ,CHAIR>
<TELL
'MICHAEL " and " 'COL-MARSTON " greet each other, then glance suspiciously
around the room. They do not see you hiding behind the overstuffed
chair. " 'MICHAEL " closes and locks the doors. He then passes the Colonel a
piece of paper, which the latter avidly scans, then folds up and
stuffs into a pocket. Both men grin." CR>)
(<EQUAL? <META-LOC ,PLAYER> ,LIBRARY>
<GRAB-ATTENTION ,MICHAEL 2>
<GRAB-ATTENTION ,COL-MARSTON 2>
<TELL
"He seems surprised to see you. " D .FIRST "
looks at him and shrugs his shoulders. \"Please leave us. We have some
private business to transact. I'm sure you understand,\" says " 'MICHAEL ".
The two of them unceremoniously show you the door." CR>
<GOTO ,HALLWAY-16>
<RTRUE>)>>
<ROUTINE I-END-MEETING ()
<UNPRIORITIZE ,COL-MARSTON>
<ESTABLISH-GOAL ,COL-MARSTON ,BALLROOM-8 T>
<UNPRIORITIZE ,MICHAEL>
<ESTABLISH-GOAL ,MICHAEL ,BALLROOM-8 T>
<RFALSE>>
<GLOBAL OFFICE-EXPEDITION? <>>
<ROUTINE I-ARGUMENT ("AUX" S (FLG <>))
<COND (<AND <NOT ,OFFICE-EXPEDITION?>
<NOT <FSET? ,MICHAEL ,TOLD>>
<IN? ,MICHAEL ,BALLROOM-9>
<IN? ,COL-MARSTON ,BALLROOM-9>
<IN? ,COCHRANE ,BALLROOM-9>>
<SET S <GET ,ARGUMENT-TABLE ,ARGUMENT-COUNT>>
<COND (<EQUAL? ,HERE ,BALLROOM-9>
<SET FLG T>
<TELL .S CR>)
(<IN-BALLROOM? ,PLAYER>
<SET FLG T>
<TELL
,SEEMS-TO-BE A ,DISCUSSION " going on at the bar." CR>)
(<EQUAL? ,ARGUMENT-COUNT 0>
<SETG ARGUMENT-POSTPONE <- ,ARGUMENT-POSTPONE 1>>
<COND (<G? ,ARGUMENT-POSTPONE 0>
<QUEUE I-ARGUMENT 2>
<RFALSE>)>)>
<SETG ARGUMENT-COUNT <+ ,ARGUMENT-COUNT 1>>
<COND (<SET S <GET ,ARGUMENT-TABLE ,ARGUMENT-COUNT>>
<QUEUE I-ARGUMENT 1>)
(ELSE
<SETG ARGUMENT-COUNT 0> ;"argument over"
<SETG OFFICE-EXPEDITION? T>
<THIS-IS-S-HE ,MICHAEL>
<ESTABLISH-GOAL ,MICHAEL ,HALLWAY-3 T>
<ESTABLISH-GOAL ,COL-MARSTON ,HALLWAY-3 T>
<ESTABLISH-GOAL ,COCHRANE ,HALLWAY-3 T>)>
<RETURN .FLG>)
(<FSET? ,MICHAEL ,TOLD>
<SETG OFFICE-EXPEDITION? T>
<SETG ARGUMENT-COUNT 0>
<RFALSE>)
(ELSE
<QUEUE I-ARGUMENT 5>
<RFALSE>)>>
<GLOBAL ARGUMENT-POSTPONE 5>
<GLOBAL ARGUMENT-COUNT 0>
<GLOBAL ARGUMENT-TABLE
<TABLE
"Some guests are discussing this year's horse sales. Col. Marston
maintains that no stallion went for more than one
hundred thousand dollars, while Cochrane contends that he's wrong."
"Michael joins in the discussion. \"I recall a black stallion that
went for a high price last year. It was probably over a hundred thousand.\"
Col. Marston glares at him."
"Col. Marston says, \"I have a good memory for figures. The top price last
year was ninety two thousand. I even remember the horse, it was a chestnut,
about fifteen hands. Beautiful animal!\" Michael nods, apparently convinced.
Cochrane glances at Michael, feeling betrayed. \"Nonsense,\" he says, angrily."
"Cochrane takes another gulp of his drink. \"You're just
getting senile, Colonel. It was a black stallion, and I remember who bought
it. It was Jeffries! So there!\" He makes a gesture of
finality, almost spilling his drink on Marston, who is beginning to get
angry himself."
"Michael steps between them. \"Look here,\" he says, \"No need to fight.
We've got all the auction records in the office. Veronica
gets everything published. We can settle
this like gentlemen. Okay?\" Cochrane seems mollified, and
Marston comments under his breath, \"Some of us aren't gentlemen.\"
They head off towards the office."
<>>>
<GLOBAL MURDER-PUBLIC? <>>
\
<ROUTINE VERONICA-UNMASKED? ()
<EQUAL? <GETP ,VERONICA ,P?SDESC> ,VERONICA-SDESC>>
<ROUTINE VERONICA-UNMASKS ()
<FCLEAR ,VERONICA ,THE>
<PUTP ,VERONICA ,P?SDESC ,VERONICA-SDESC>
<FCLEAR ,GLOBAL-VERONICA ,THE>
<PUTP ,GLOBAL-VERONICA ,P?SDESC ,VERONICA-SDESC>>
<GLOBAL VERONICA-SDESC "Veronica">
<OBJECT GLOBAL-VERONICA
(IN GLOBAL-OBJECTS)
(DESC "Veronica")
(SDESC "fairy queen")
(SYNONYM VERONICA TITANIA QUEEN ASHCROFT ;WELLMAN)
(ADJECTIVE VERONICA MRS MS FAIRY WIFE)
(ACTION GLOBAL-VERONICA-F)
(GENERIC GENERIC-VERONICA-F)
(FLAGS TRANSBIT PERSON FEMALE THE)
(CHARACTER 2)>
<ROUTINE GLOBAL-VERONICA-F ()
<COND (<AND <NOT <LOC ,VERONICA>>
<EQUAL? <META-LOC ,CORPSE> ,HERE>
<NOT <VERB? TELL-ME ASK-ABOUT>>>
<PERFORM ,PRSA
<COND (<EQUAL? ,PRSO ,GLOBAL-VERONICA> ,CORPSE)
(T ,PRSO)>
<COND (<EQUAL? ,PRSI ,GLOBAL-VERONICA> ,CORPSE)
(T ,PRSI)>>
<RTRUE>)
(ELSE
<GLOBAL-PERSON-F>)>>
<OBJECT VERONICA
(IN BALLROOM-8)
(DESC "Veronica")
(SDESC "fairy queen")
(SYNONYM VERONICA TITANIA QUEEN ASHCROFT ;WELLMAN)
(ADJECTIVE VERONICA MRS MS FAIRY WIFE)
(ACTION VERONICA-F)
(DESCFCN VERONICA-DESC-F)
(GENERIC GENERIC-VERONICA-F)
(FLAGS TRANSBIT PERSON FEMALE THE)
(CHARACTER 2)>
<ROUTINE GENERIC-VERONICA-F (NAM)
<COND (<NOT <EQUAL? .NAM ,W?COSTUME>> ,VERONICA)
(ELSE <GENERIC-STUFF-F .NAM>)>>
<ROUTINE VERONICA-DESC-F ("OPTIONAL" (RARG <>))
<TELL "Titania, Queen of Faery,">
<COND (<VERONICA-UNMASKED?>
<TELL " in the person of " 'VERONICA ",">)>
<TELL " is">
<TELL-HERE>>
<ROUTINE TELL-IGNORES () <TELL "She" ,IGNORES-YOU "." CR>>
<GLOBAL IGNORES-YOU " ignores you">
<ROUTINE LONG-MASK-DESC ()
<TELL
" It covers the entire head with a glittery silver stocking. The hair is
silver and gold wire streaming out behind as though blown by the wind.
The ears are silvered butterfly wings, and the eyebrows turn up into
antennae." CR>>
<ROUTINE VERONICA-F ()
<COND (<EQUAL? ,WINNER ,VERONICA>
<COND (<VERB? WHAT>
<COND (<EQUAL? ,PRSO ,YOU>
<TELL
"\"I'm Queen of Faery, stupid!\" she growls." CR>)>)
(<VERB? HELLO>
<TELL "She pauses for a moment and greets you." CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL-IGNORES>)>)
(<VERB? $CALL WAIT>
<TELL-IGNORES>)
(<VERB? EXAMINE>
<COND (<VERONICA-UNMASKED?>
<TELL 'VERONICA " Ashcroft">)
(ELSE <TELL "Titania, Queen of Faery">)>
<TELL " is in her early thirties, about 5'3\" in height,
weighing about 100 pounds. She is wearing a voluminous white gown and
silvered fairy wings. Her mask is quite striking.">
<LONG-MASK-DESC>)
(<VERB? UNMASK ATTACK KILL TAKE CUT>
<TELL
"\"Stop that! " 'MICHAEL ", help me!\"">
<COND (<IN? ,MICHAEL ,HERE>
<TELL " " 'MICHAEL " restrains you, a quizzical look in
his eye.">)>
<CRLF>)
(<VERB? HELP RUB BRUSH>
<TELL
"She fends you off, angrily. \"I don't need any help from you!\"" CR>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,VERONICA>>
<TELL-IGNORES>)
(<VERB? DANCE>
<TELL
"\"Some other time.\" You get the impression this will be soon after the
first ski resort opens in the infernal regions." CR>)>>
<ROUTINE G-VERONICA (GARG)
<COND (<NOT .GARG> <IMOVEMENT ,VERONICA G-VERONICA>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<IN? ,VERONICA ,OFFICE>
<SETG YELL-TIME
<+ <- ,PRESENT-TIME
<MOD ,PRESENT-TIME 5>>
5>>
<ENABLE <QUEUE I-ALICIA-SNEAKS 2>>
<MOVE ,FAIRY-COSTUME ,CORPSE>
<MOVE ,FAIRY-MASK ,OFFICE>
<FCLEAR ,FAIRY-MASK ,NDESCBIT>
<MOVE ,STAIN ,CORPSE>
<MOVE ,HAIR ,FAIRY-MASK>
<REMOVE ,VERONICA>
<FSET ,VERONICA ,NDESCBIT>
<RFALSE>)>)>>
<GLOBAL YELL-TIME <>>
<OBJECT CORPSE
(IN OFFICE)
(DESC "Veronica's body")
(SYNONYM CORPSE BODY VERONICA TITANIA)
(ADJECTIVE MS MRS FAIRY QUEEN WIFE ASHCROFT VERONICA ;"9/17")
(DESCFCN CORPSE-DESC-F)
(ACTION CORPSE-F)
(GENERIC GENERIC-VERONICA-F)
(FLAGS INVISIBLE SEARCHBIT TAKEBIT TRANSBIT CONTBIT SURFACEBIT
PERSON OPENBIT FEMALE TOLD)
(CAPACITY 30)
(SIZE 70)>
<ROUTINE CORPSE-DESC-F ("OPTIONAL" (RARG <>))
%<DEBUG-CODE
<COND (<AND ,GOSSIP <NOT <FSET? ,WINNER ,TOLD>>>
<TELL "[Corpse: " CD ,WINNER " sees it.]" CR>)>>
<FSET ,WINNER ,TOLD>
<COND (<NOT <FSET? ,CORPSE ,TOUCHBIT>>
<TELL
"Slumped behind " THE ,LARGE-DESK " is the body of " 'VERONICA " Ashcroft.">
<COND (<NOT <IN? ,FAIRY-MASK ,CORPSE>>
<TELL " Her
mask has been pulled off, though the rest of the costume is intact.">)>
<COND (<FSET? ,ROPE ,NDESCBIT>
<REMOVE ,NOT-ROPE>
<TELL
" Around her neck is the agent of death, a rope. In fact, it's your lariat,
which you got tired of carrying around and hung in the closet with your
coat.">)>
<CRLF>)
(ELSE
<TELL
"Lying in a heap is the body of " 'VERONICA " Ashcroft, strangled">
<COND (<FSET? ,ROPE ,NDESCBIT>
<REMOVE ,NOT-ROPE>
<TELL " with a cowboy's lariat">)>
<TELL "." CR>)>>
<ROUTINE TALKING-TO? (PER)
<COND (<VERB? SHOW REVEAL $REVEAL>
<COND (<EQUAL? ,PRSI .PER> <RTRUE>)>)
(<VERB? $CALL ASK-ABOUT ASK-FOR TELL-ME HELLO>
<COND (<EQUAL? ,PRSO .PER> <RTRUE>)>)>>
<GLOBAL STOPS-YOU " stops you from tampering with evidence.">
<ROUTINE CORPSE-F ()
<COND (<OR <EQUAL? ,WINNER ,CORPSE>
<AND <VERB? TELL>
<EQUAL? ,PRSO ,CORPSE>>>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<TELL
"At this point, it would take a seance." CR>)
(<TALKING-TO? ,CORPSE>
<TELL
"For obvious reasons, there is no response." CR>)
(<AND <VERB? SHOW>
<EQUAL? ,PRSO ,CORPSE>
<FSET? ,PRSI ,PERSON>
<NOT <EQUAL? ,PRSI ,PLAYER>>>
<REVEAL-MURDER ,PRSI>
<TELL
CD ,PRSI " recoils in horror. \"No!" ,CALLING-POLICE " " HE/SHE ,PRSI
" says." CR>)
(<VERB? DANCE>
<TELL
,HAVE-TO "lead, you can be sure of that." CR>)
(<VERB? EXAMINE>
<TELL
'VERONICA " is still wearing her costume, stained with whatever she was
drinking."> <COND (<NOT <IN? ,FAIRY-MASK ,CORPSE>>
<TELL " Her mask has been removed.">)>
<TELL " She was obviously strangled">
<COND (<IN? ,CORPSE ,OFFICE>
<TELL ", but
there are few signs of a struggle">)>
<TELL "." CR>)
(<VERB? HELP BRUSH ALARM>
<TELL
"It's too late to help " 'VERONICA " now." CR>)
(<VERB? LISTEN>
<TELL
,THERE-IS "no sign of breathing." CR>)
(<VERB? RUB>
<TELL "The body is ">
<COND (<L? ,PRESENT-TIME 570>
<TELL "still warm." CR>)
(<L? ,PRESENT-TIME 630>
<TELL "cooling off." CR>)
(ELSE
<TELL "cold." CR>)>)
(<VERB? LOOK-UNDER RAISE SEARCH>
<COND (<IN? ,BULLET ,CORPSE>
<FCLEAR ,BULLET ,INVISIBLE>
<MOVE ,BULLET ,HERE>
<TELL
"As you look under the body, you notice a small object on the floor
beneath it." CR>)
(<VERB? SEARCH>
<TELL
"A search reveals nothing beyond what was first apparent." CR>)>)
(<AND <VERB? TAKE MOVE> <EQUAL? ,PRSO ,CORPSE>>
<COND (<IN? ,DETECTIVE ,HERE>
<TELL
CTHE ,DETECTIVE ,STOPS-YOU CR>)
(<IN? ,DUFFY ,HERE>
<TELL
'DUFFY ,STOPS-YOU CR>)
(<OR <VERB? MOVE>
<EQUAL? <ITAKE> ,M-HANDLED>>
<COND (<VERB? MOVE>
<TELL "Moved">)
(T
<SETG PLAYER-MOVED-BODY? T>
<TELL "Taken">)>
<TELL
", but the body is heavy.">
<FCLEAR ,ROPE ,NDESCBIT>
<COND (<IN? ,BULLET ,CORPSE>
<FCLEAR ,BULLET ,INVISIBLE>
<MOVE ,BULLET ,HERE>
<TELL
" As you move the body a small object drops to the floor beneath it.">)>
<CRLF>)>
<RTRUE>)
(<VERB? DROP>
<MOVE ,PRSO ,HERE>
<TELL "The body drops like a sack of potatoes." CR>)
(<VERB? POUR-ON THROW MUNG>
<TELL "That might destroy evidence." CR>)
(<AND <VERB? SLAP KILL ATTACK TIE-WITH TIE-TO>
<EQUAL? ,PRSO ,CORPSE>>
<TELL
"She's quite dead already, you know." CR>)
(<AND <VERB? THROW-AT> <EQUAL? ,PRSI ,CORPSE>>
<MOVE ,PRSO ,HERE>
<TELL "That wasn't very sporting." CR>)
(<AND <VERB? WALK-TO> <NOT <FSET? ,WINNER ,TOLD>>>
<TELL "What corpse?" CR>)
(<AND <VERB? PUT>
<EQUAL? ,PRSI ,CORPSE>
<NOT <EQUAL? ,PRSO ,FAIRY-MASK>>>
<TELL-WONT-FIT>)>>
<ROUTINE TELL-WONT-FIT ()
<TELL "It won't fit." CR>>
<OBJECT BULLET
(IN CORPSE)
(DESC "silver bullet")
(SYNONYM BULLET OBJECT)
(ADJECTIVE SILVER SMALL)
(ACTION BULLET-F)
(FLAGS INVISIBLE TAKEBIT TRYTAKEBIT)>
<GLOBAL IN-GUNBELT " in your gunbelt.">
<ROUTINE BULLET-F ()
<COND (<VERB? EXAMINE>
<TELL "It looks just like the ones" ,IN-GUNBELT CR>)
(<VERB? COUNT>
<COND (<EQUAL? <META-LOC ,GUNBELT> ,HERE>
<COND (<IN? ,BULLET ,GUNBELT>
<TELL "All the loops have bullets in them." CR>)
(T
<TELL
,SEEMS-TO-BE "one empty loop" ,IN-GUNBELT CR>)>)
(T <TELL "One." CR>)>)
(<AND <VERB? PUT> <EQUAL? ,PRSI ,GUNBELT>>
<COND (<IN? ,BULLET ,GUNBELT>
<TELL "All the bullets are" ,IN-GUNBELT CR>)
(T
<FSET ,BULLET ,NDESCBIT>
<MOVE ,BULLET ,GUNBELT>
<TELL
"Okay, each loop of the belt now has a bullet in it." CR>)>)
(<VERB? TAKE>
<COND (<DONT-TAKE-EVIDENCE ,BULLET> <RTRUE>)
(<IN? ,BULLET ,GUNBELT>
<FCLEAR ,BULLET ,NDESCBIT>)
(<EQUAL? ,PRSI ,GUNBELT>
<TELL
"Isn't one enough? " ,DO-YOU-WANT-TO "scatter them all over?" CR>
<RTRUE>)>
<FSET ,BULLET ,RMUNGBIT>
<RFALSE>)
(<VERB? BRUSH>
<FCLEAR ,BULLET ,RMUNGBIT>
<TELL
"It's now shiny clean again." CR>)>>
<OBJECT FAIRY-COSTUME
(IN VERONICA)
(DESC "fairy costume")
(SYNONYM COSTUME TITANIA)
(ADJECTIVE FAIRY VERONICA)
(ACTION FAIRY-COSTUME-F)
(GENERIC GENERIC-VERONICA-F)
(FLAGS NDESCBIT ;TAKEBIT ;TRYTAKEBIT)>
<ROUTINE FAIRY-COSTUME-F ("AUX" (DEAD? <IN? ,FAIRY-COSTUME ,CORPSE>))
<COND (<VERB? EXAMINE>
<TELL
"This is a gossamer " 'FAIRY-COSTUME ", intended to represent Titania, Queen of
Faery. It has a silver belt. On the back are fairy wings">
<COND (.DEAD? <TELL ", now crushed">)> <TELL ". The
beauty of the costume is marred by a large red stain on the front." CR>)
(<VERB? TAKE>
<TELL
"Taking the costume would get you into even deeper trouble than you are
in now." CR>)>>
<OBJECT STAIN
(IN VERONICA)
(DESC "stain")
(SYNONYM STAIN)
(ADJECTIVE RED)
(ACTION STAIN-F)
(FLAGS NDESCBIT)
(SIZE 0)>
<OBJECT STAIN-SAMPLE
(DESC "cloth sample")
(SYNONYM CLOTH SAMPLE)
(FLAGS TAKEBIT BURNBIT)
(SIZE 1)>
<ROUTINE STAIN-F ()
<COND (<VERB? EXAMINE>
<TELL
"The large red stain spreads over the front of the costume." CR>)>>
<OBJECT FAIRY-MASK
(IN VERONICA)
(DESC "fairy mask")
(FDESC
"Crumpled on the floor is the fairy costume's mask.")
(SYNONYM MASK)
(ADJECTIVE FAIRY)
(ACTION FAIRY-MASK-F)
(FLAGS NDESCBIT TRYTAKEBIT TAKEBIT BURNBIT CONTBIT OPENBIT)
(CAPACITY 10)
(SIZE 5)>
<ROUTINE FAIRY-MASK-F ()
<COND (<VERB? EXAMINE>
<TELL
"This is a very ornate and beautiful mask.">
<LONG-MASK-DESC>)
(<AND <IN? ,FAIRY-MASK ,VERONICA>
<VERB? TAKE LOOK-INSIDE LOOK-UNDER RUB LOOK-BEHIND MOVE>>
<TELL
"As you reach for the mask, " 'VERONICA " pulls back, surprised.">
<COND (<IN? ,MICHAEL ,HERE>
<TELL
" " 'MICHAEL " knocks your hand away. \"What do you think you're doing?\"
he says angrily. \"Are you trying to hurt my wife?\"">)>
<CRLF>)
(<VERB? TAKE> <FCLEAR ,FAIRY-MASK ,WEARBIT> <RFALSE>)
(<AND <VERB? PUT> <EQUAL? ,PRSI ,CORPSE>>
<MOVE ,FAIRY-MASK ,CORPSE>
<FSET ,FAIRY-MASK ,WEARBIT>
<TELL "Okay, the mask is on the body." CR>)
(<OR <VERB? LOOK-INSIDE SEARCH>
<AND <VERB? SEARCH-OBJECT-FOR>
<EQUAL? ,PRSO ,FAIRY-MASK>>>
<COND (<IN? ,FAIRY-MASK ,WINNER>
<TELL
"The inside of the mask is slightly damp with sweat.">
<COND (<AND <IN? ,HAIR ,FAIRY-MASK>
<NOT <FSET? ,HAIR ,TOUCHBIT>>>
<FCLEAR ,HAIR ,INVISIBLE>
<TELL
" Caught in the silver mesh is " A ,HAIR>
<PRINT-CONTENTS ,FAIRY-MASK
". There is also "
,HAIR>
<TELL ".">)
(<PRINT-CONTENTS ,FAIRY-MASK
" The mask contains ">
<TELL ".">)>
<CRLF>)
(ELSE <TELL ,YOU-DONT-HAVE "it." CR>)>)>>
<OBJECT HAIR
(IN FAIRY-MASK)
(DESC "dark hair")
(SYNONYM HAIR)
(ADJECTIVE DARK)
(ACTION HAIR-F)
(FLAGS TAKEBIT BURNBIT INVISIBLE)
(SIZE 1)>
<ROUTINE HAIR-F ()
<COND (<VERB? EXAMINE>
<TELL
"The hair is dark and medium in length." CR>)
(<VERB? COMPARE>
<COND (<EQUAL? ,VERONICA-HAIR ,PRSO ,PRSI>
<THEY-ARENT "even the same color">)
(<EQUAL? ,ALICIA-HAIR ,PRSO ,PRSI>
<TELL
"The hairs look very similar in both color and length." CR>)
(<EQUAL? ,LINDA-HAIR ,PRSO ,PRSI>
<TELL
"They don't resemble each other at all." CR>)>)>>
<OBJECT VERONICA-HAIR
(IN CORPSE)
(DESC "Veronica's hair")
(SYNONYM HAIR)
(ADJECTIVE VERONICA)
(ACTION VERONICA-HAIR-F)
(FLAGS NDESCBIT FEMALE ;"means never use 'the'")
(SIZE 0)>
<ROUTINE VERONICA-HAIR-F ()
<COND (<VERB? EXAMINE>
<TELL
'PRSO " is short and blonde." CR>)>>
<OBJECT ALICIA-HAIR
(IN ALICIA)
(DESC "Alicia's hair")
(SYNONYM HAIR)
(ADJECTIVE ALICIA)
(ACTION ALICIA-HAIR-F)
(FLAGS NDESCBIT FEMALE ;"means never use 'the'")>
<ROUTINE ALICIA-HAIR-F ()
<COND (<VERB? EXAMINE>
<TELL
'ALICIA-HAIR " is medium length and dark." CR>)
(<VERB? MOVE>
<TELL
'ALICIA " fends you off. \"Are you crazy?\"" CR>)>>
<OBJECT LINDA-HAIR
(IN LINDA)
(DESC "Linda's hair")
(SYNONYM HAIR)
(ADJECTIVE LINDA)
(ACTION LINDA-HAIR-F)
(FLAGS NDESCBIT FEMALE ;"means never use 'the'")>
<ROUTINE LINDA-HAIR-F ()
<COND (<VERB? EXAMINE>
<TELL
"Linda's hair is long and red." CR>)
(<VERB? MOVE>
<TELL
"Linda pushes you away. \"Ouch!\"" CR>)>>
<OBJECT PULSE
(IN CORPSE)
(DESC "vital signs")
(SYNONYM PULSE BREATH SIGNS)
(ADJECTIVE VITAL)
(ACTION PULSE-F)
(FLAGS NDESCBIT)
(SIZE 0)>
<ROUTINE PULSE-F ()
<COND (<NOT <EQUAL? <META-LOC ,CORPSE> ,HERE>>
<NOT-HERE ,PULSE>)
(<VERB? TAKE ANALYZE RUB FIND>
<TELL ,THERE-IS "no sign of life in the corpse." CR>)
(<VERB? PUT> <TELL-YOU-CANT "take that">)
(<VERB? LISTEN>
<TELL "You hear nothing." CR>)>>
<ROUTINE REVEAL-MURDER (WHO "AUX" N X (NEWS? <NOT <FSET? .WHO ,TOLD>>))
<COND (.NEWS?
<FSET .WHO ,TOLD>
%<DEBUG-CODE
<COND (,GOSSIP
<TELL
"[" CD .WHO " revealed in " D <LOC .WHO> ".]" CR>)>>)>
<SET X <FIRST? <LOC .WHO>>>
<REPEAT ()
<COND (<NOT .X> <RETURN>)>
<SET N <NEXT? .X>>
<COND (<AND <FSET? .X ,PERSON>
<NOT <FSET? .X ,TOLD>>>
%<DEBUG-CODE
<COND (,GOSSIP
<TELL
"[" CD .X " overhears in " D <LOC .X> ".]" CR>)>>
<FSET .X ,TOLD>)>
<SET X .N>>
<COND (<NOT ,MURDER-PUBLIC?>
<SETG MURDER-PUBLIC? .WHO>
%<DEBUG-CODE
<COND (,GOSSIP
<TELL "[" D ,MURDER-PUBLIC? " called police.]" CR>)>>
<FSET ,DETECTIVE ,TOLD>
<FSET ,DUFFY ,TOLD>
<ENABLE <QUEUE I-POLICE-ARRIVE 25>>)>
<RETURN .NEWS?>>
<OBJECT POLICE
(IN GLOBAL-OBJECTS)
(DESC "police")
(SYNONYM POLICE COPS)
(ADJECTIVE STATE COUNTY)
(ACTION POLICE-F)
(FLAGS PERSON NDESCBIT)>
<ROUTINE POLICE-F ("AUX" WHO)
<COND (<VERB? PHONE>
<COND (<NOT <GLOBAL-IN? ,TELEPHONE ,HERE>>
<TELL
"If you yell loud enough, perhaps you can overcome the lack of a
telephone." CR>
<RTRUE>)>
<TELL "A bored desk sergeant answers the telephone. ">
<COND (,MURDER-PUBLIC?
<TELL
"You describe the situation,
but he says, \"Hey, we're sending someone over, in fact, two of our best
officers are on the case.\"" CR>)
(<NOT <FSET? ,OFFICE ,TOUCHBIT>>
<TELL
"After a few minutes of listening
to you, he asks angrily if you have anything to report. Not getting a
reasonable answer to that poser, he hangs up." CR>)
(ELSE
<REVEAL-MURDER ,PLAYER>
<TELL
"He becomes considerably less
bored as you describe the situation. \"Don't let anyone leave,\" he says.
\"There'll be someone there in no time. Don't touch anything!\"" CR>)>)
(<VERB? WAIT-FOR>
<PERFORM ,V?WAIT-FOR ,DETECTIVE>
<RTRUE>)
(<OR <AND <IN? ,DETECTIVE ,HERE>
<SET WHO ,DETECTIVE>>
<AND <IN? ,DUFFY ,HERE>
<SET WHO ,DUFFY>>>
<PERFORM ,PRSA
<COND (<EQUAL? ,PRSO ,POLICE> .WHO)
(ELSE ,PRSO)>
<COND (<EQUAL? ,PRSI ,POLICE> .WHO)
(ELSE ,PRSI)>>
<RTRUE>)
(<AND <VERB? ASK-ABOUT TELL-ME>
<EQUAL? ,PRSI ,POLICE>>
<RFALSE>)
(<VERB? FIND>
<TELL
"You never can find a policeman when you want one, can you?" CR>)
(ELSE
<COND (<VERB? TELL>
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>)>
<TELL ,HAVE-TO "find one first." CR>)>>
\
<OBJECT GLOBAL-ALICIA
(IN GLOBAL-OBJECTS)
(DESC "Alicia")
(SYNONYM GIRL BARRON ALICIA)
(ADJECTIVE ALICIA HAREM MS MISS)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT CONTBIT PERSON FEMALE)
(CHARACTER 3)>
<OBJECT ALICIA
(DESC "Alicia")
(SYNONYM GIRL BARRON ALICIA)
(ADJECTIVE ALICIA HAREM MS MISS)
(ACTION ALICIA-F)
(DESCFCN ALICIA-DESC-F)
(FLAGS TRANSBIT CONTBIT PERSON FEMALE)
(CHARACTER 3)>
<GLOBAL ALICIA-SEEN 0>
<ROUTINE ALICIA-DESC-F ("OPTIONAL" (RARG <>))
<TELL 'ALICIA ", ">
<COND (<IN? ,ALICIA-COAT ,ALICIA>
<TELL "wearing a wet overcoat">)
(ELSE
<TELL "dressed in harem silks">)>
<TELL ", is">
<TELL-HERE>>
<OBJECT ALICIA-COAT
(IN ALICIA)
(DESC "wet overcoat")
(SYNONYM OVERCOAT COAT)
(ADJECTIVE ALICIA WET)
(ACTION ALICIA-COAT-F)
(FLAGS TAKEBIT BURNBIT NDESCBIT CONTBIT
TRYTAKEBIT OPENBIT SEARCHBIT ALICIABIT)>
<OBJECT LABEL
(IN ALICIA-COAT)
(DESC "label")
(SYNONYM LABEL)
(ACTION ALICIA-COAT-F)
(FLAGS INVISIBLE READBIT)
(TEXT
"In the coat is a label which reads \"Lord and Taylor\" and underneath
that in sewn script, \"Alicia Barron.\"")>
<ROUTINE ALICIA-COAT-F ()
<COND (<VERB? LOOK-INSIDE LOOK-UNDER EXAMINE TAKE TAKE-OFF READ>
<COND (<IN? ,ALICIA-COAT ,ALICIA>
<COND (<NOT <VERB? EXAMINE>>
<TELL
'ALICIA " draws the coat more tightly around herself. \"Just what do you
think you're doing?\" she asks, frostily." CR>)
(ELSE
<TELL
"It's a wet overcoat." CR>)>)
(<IN? ,ALICIA-COAT ,BUTLER>
<TELL "The butler has the coat now." CR>)
(<NOT <VERB? TAKE TAKE-OFF>>
<FCLEAR ,LABEL ,INVISIBLE>
<TELL <GETP ,LABEL ,P?TEXT> CR>)>)
(<VERB? SMELL>
<TELL
"It smells wet." CR>)
(<VERB? RUB>
<TELL
"It feels wet." CR>)
(<VERB? THROUGH WEAR>
<IT-DOESNT-FIT>)>>
<ROUTINE ALICIA-F ("AUX" (HADBIT? <>))
<COND (<EQUAL? ,WINNER ,ALICIA>
<COND (<VERB? HELLO>
<TELL
"\"Hello. " ,YOU-MUST "be the reporter " 'VERONICA " said was coming tonight.\"" CR>)
(<AND <VERB? GIVE>
<EQUAL? ,PRSO ,ALICIA-COAT>
<EQUAL? ,PRSI ,BUTLER>>
<MOVE ,ALICIA-COAT ,BUTLER>
<FCLEAR ,ALICIA-COAT ,NDESCBIT>
<COND (<EQUAL? ,HERE <LOC ,ALICIA>>
<TELL
'ALICIA " gives " 'BUTLER " her coat, which is soaking wet. Underneath
she is wearing a harem girl costume which leaves little to the imagination."
CR>)>
<RTRUE>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
"\"I beg your pardon?\" she replies." CR>)>)
(<VERB? EXAMINE>
<TELL
'ALICIA " Barron, a dark-haired young woman about 5'2\" tall, is dressed ">
<COND (<IN? ,ALICIA-COAT ,ALICIA>
<TELL
"in a soaking wet overcoat. ">
<TELL-YOU-CANT "tell what costume she may be wearing
underneath">)
(ELSE
<TELL "as
a harem girl. She is a slender, attractive woman. The costume is a
revealing one, and she seems to be pleased with the results." CR>)>)
(<AND <VERB? $REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<REVEAL-MURDER ,ALICIA>
<COND (<IN? ,PRSI ,HERE>
<SOMEONE-TELLS-ALICIA T>)
(<NEARBY? ,ALICIA>
<SOMEONE-TELLS-ALICIA <>>)>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,ALICIA>
<ALICIA-HORRIFIED>)
(T
<TELL "\"Yes, I know, isn't it horrible?\"" CR>)>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,ALICIA>>
<COND (<NOT <FSET? ,PRSI ,PERSON>>
<COND (<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<ALICIA-HORRIFIED>)
(T
<TELL
"\"What murder do you mean?\"" CR>)>)
(<EQUAL? ,PRSI ,ALICIA-COAT>
<TELL
"\"What about it? It's just my wet overcoat.\"" CR>)
(<EQUAL? ,PRSI ,ALICIA-CAR>
<TELL
"\"I parked it on the other side of the barn, out of the way of all
the other cars.\"" CR>)
(<EQUAL? ,PRSI ,HAIR>
<COND (<EQUAL? <META-LOC ,HAIR> ,HERE>
<TELL
"She examines the hair carefully. \"It doesn't look like one of mine to
me,\" she says. She doesn't sound terribly convincing." CR>)
(ELSE
<TELL
,I-DONT-KNOW "what you mean.\"" CR>)>)
(<EQUAL? ,PRSI ,HORSE>
<TELL
"\"I'm not the rider that some here are: " 'VERONICA " "
<COND (<FSET? ,ALICIA ,TOLD> "was") (T "has been")> " a dressage
champion several times. I like riding to hounds though. Except at the
end when the dogs get the fox. I can't stand the sight of blood.\"" CR>)
(ELSE
<I-DONT-KNOW-ABOUT "that">)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"" 'VERONICA " mentioned you to me a week or two ago, and I suggested she
invite you. She remembers you fondly from school.\"" CR>)
(<EQUAL? ,PRSI ,ALICIA ,GLOBAL-ALICIA>
<TELL
"\"There's not much to say. I've had a pretty dull life, not anything
that would interest your readers.\"" CR>)
(<IN? ,PRSI ,HERE>
<TELL
"\"I have nothing but good things to say about " HIM/HER ,PRSI ".\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<COND (<NOT <FSET? ,PRSO ,TOLD>>
<TELL
"\"" 'MICHAEL " is a fine man. I wish I could say that " 'VERONICA " treats him
as well as he deserves.\"" CR>)
(ELSE
<TELL
"\"Now he's free of that creature! It serves her right.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA>
<COND (<NOT <FSET? ,PRSO ,TOLD>>
<TELL
"\"" 'VERONICA " and I went to school together. I probably know her as
well as anyone. She has her faults. Of course, I suppose
we all do.\"" CR>)
(ELSE
<TELL
"\"She was too hard a woman. She must have just pushed someone too hard.
I knew it would happen eventually.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
"\"Poor Richard. He's such a wimp where " 'VERONICA " is concerned.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"A silly old fool, if you ask me. He has that sinecure job with the
trust. I doubt he's had an original thought in his life.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"Isn't she something? I never thought I'd see an Ashcroft hanging around
with the likes of her. Richard acts like he's thirteen years old sometimes,
especially where women are concerned.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"I'll vote for him any time. He's so handsome!\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
"\"What an oaf! I can't imagine why he's here, unless it's to make trouble
of some kind.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<TELL
"\"A courtly gentleman, isn't he? That black cape makes him look almost
cuddly.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"" 'BUTLER " is so silly in that gorilla suit, and he keeps trying to look
dignified. Perhaps I should find him some bananas to carry around.\" She
giggles." CR>)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
"\"" 'VERONICA " hired him for tonight.\"" CR>)
(ELSE
<TELL
"\"I have no opinion.\"" CR>)>)
(<VERB? SHOW>
<COND (<FSET? ,PRSO ,ALICIABIT>
<SET HADBIT? T>
<FCLEAR ,PRSO ,ALICIABIT>
<SETG ALICIA-SEEN <+ ,ALICIA-SEEN 1>>
<ENABLE <QUEUE I-FLEE 10>>)>
<COND (<EQUAL? ,PRSO ,MASK>
<TELL
"\"That looks like " 'VERONICA "'s mask.\"" CR>)
(<AND <EQUAL? ,PRSO ,HAIR>
<IN? ,HAIR ,FAIRY-MASK>>
<TELL
"\"I don't see what this has to do with me. " 'VERONICA " probably
dyed her hair. I wouldn't put it past her.\"" CR>)
(<EQUAL? ,PRSO ,HAIR>
<TELL
"\"Why are you showing me this? It's just a hair.\"" CR>)
(<EQUAL? ,PRSO ,HAIR-ANALYSIS>
<TELL
"\"That's silly! You think it's my hair? Millions of women have dark
hair! You know those costume places, they don't really clean the costumes
very well, the hair's probably been there for months.\"" CR>)
(<EQUAL? ,PRSO ,CORPSE>
<COND (<REVEAL-MURDER ,ALICIA>
<TELL
"It takes Alicia a few moments to recover from the shock. Then, suddenly,
she laughs! \"This is wonderful! Now I can marry " 'MICHAEL "! But why
are you doing this?" ,CALLING-POLICE CR>)
(ELSE
<TELL
"\"Yes, I know. It's horrible, isn't it?\" She chuckles. \"She was my
friend, but I'm glad she's dead. Now I can marry " 'MICHAEL ".\"" CR>)>)
(.HADBIT?
<TELL
,I-DONT-KNOW "what you hope to accomplish waving these things in my
face.\"" CR>)>)>>
<ROUTINE ALICIA-HORRIFIED ()
<TELL
"\"It's horrible! She was my best friend. Who could have done such
a thing?\"" CR>>
<ROUTINE SOMEONE-TELLS-ALICIA (HERE?)
<TELL
CD ,WINNER " tells Alicia " <COND (.HERE? "of the murder") (T "something")>
". It horrifies and then elates her." CR>>
<GLOBAL CALLING-POLICE " I'm calling the police!\"">
<OBJECT ALICIA-CAR
(IN GLOBAL-OBJECTS)
(DESC "Alicia's car")
(SYNONYM CAR)
(ADJECTIVE ALICIA)
(FLAGS NDESCBIT)>
<GLOBAL FLEEING? <>>
<ROUTINE I-FLEE ()
<COND (<G? ,ALICIA-SEEN 2>
<SETG FLEEING? T>
<ESTABLISH-GOAL ,ALICIA ,SITTING-ROOM T>)>
<COND (<G? ,MICHAEL-SEEN 1>
<SETG FLEEING? T>
<ESTABLISH-GOAL ,MICHAEL ,SITTING-ROOM T>)>
<RFALSE>>
<OBJECT NOT-ROPE
(IN PLAYER)
(DESC "lariat (no, you left it with your coat)")
(SYNONYM LARIAT LASSO ROPE)
(ACTION NOT-ROPE-F)
(FLAGS NDESCBIT TRYTAKEBIT TAKEBIT)>
<ROUTINE NOT-ROPE-F ()
<REMOVE ,NOT-ROPE>
<TELL
"Remember, the silly thing was getting in your way, particularly when you
danced, so you went back and hung it in the closet with your coat.">
<COND (<EQUAL? ,HERE ,EAST-COAT-CLOSET>
<TELL
" But it doesn't seem to be here now.">)>
<CRLF>>
<OBJECT ROPE
(IN OFFICE)
(DESC "lariat")
(SYNONYM LARIAT LASSO ROPE)
(ACTION ROPE-F)
(FLAGS NDESCBIT TRYTAKEBIT TAKEBIT BURNBIT WEAPONBIT)>
<ROUTINE ROPE-F ()
<REMOVE ,NOT-ROPE>
<COND (<VERB? EXAMINE>
<TELL
"It's a fairly thin rope, like the sort of rope movie cowboys carry. It
looks serviceable, though." CR>)
(<VERB? TAKE>
<COND (<DONT-TAKE-EVIDENCE ,ROPE> <RTRUE>)
(T
<FCLEAR ,ROPE ,NDESCBIT>
<RFALSE>)>)>>
<ROUTINE DONT-TAKE-EVIDENCE (OBJ "AUX" WHO)
<COND (<IN? ,DETECTIVE ,HERE>
<SET WHO ,DETECTIVE>)
(<IN? ,DUFFY ,HERE>
<SET WHO ,DUFFY>)
(ELSE <RFALSE>)>
<TELL CD .WHO " stops you. \"That " D .OBJ " is evidence. Don't
take it!\"" CR>>
<GLOBAL ALICIA-HERE? <>>
<ROUTINE TELL-ALICIA-ARRIVES ()
<TELL "Alicia Barron" ,ARRIVES>>
<GLOBAL ARRIVES " arrives at the ">
<ROUTINE TELL-ARRIVES (WHO)
<TELL CD .WHO ,ARRIVES>>
<ROUTINE G-ALICIA (GARG "AUX" (L <LOC ,ALICIA>))
<COND (<NOT .GARG> <IMOVEMENT ,ALICIA G-ALICIA>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL
"Alicia seems to be looking for any excuse to leave you." CR>)
(<EQUAL? .GARG ,G-ENROUTE>
<COND (<AND <EQUAL? .L ,HALLWAY-12>
<IN? ,ALICIA-COAT ,ALICIA>>
<FCLEAR ,ALICIA-COAT ,NDESCBIT>
<MOVE ,ALICIA-COAT ,EAST-COAT-CLOSET>
<COND (<OR <CORRIDOR-LOOK ,ALICIA>
<EQUAL? ,HERE ,EAST-COAT-CLOSET>>
<TELL
'ALICIA " deposits her coat in the coat closet." CR>)>)>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<AND <IN? ,ALICIA ,BALLROOM-5>
<IN? ,MICHAEL ,BALLROOM-5>>
<SETG ALICIA-HERE? T>
<THEY-DANCE ,ALICIA>)
(<EQUAL? .L ,PORCH>
<SETG NEW-ARRIVAL ,ALICIA>
<ESTABLISH-GOAL ,MICHAEL ,BALLROOM-5>
<ESTABLISH-GOAL ,BUTLER ,HALL T>
<COND (<EQUAL? ,HERE ,PORCH>
<TELL-ALICIA-ARRIVES>
<TELL
"front porch. Her overcoat is soaking wet.">
<COND (<NOT ,PLAYER-HIDING>
<TELL
" \"Hi,\" she says. \"Late as usual. I parked back near the barn, there
are so many cars out here I'm afraid someone would dent mine.\"">)>
<TELL
" She rings " THE ,DOORBELL "." CR>)
(<EQUAL? ,HERE ,CIRCLE>
<TELL-ALICIA-ARRIVES>
<TELL
'FRONT-DOOR " and rings the bell." CR>)
(<NOT <OUTSIDE? ,HERE>>
<TELL
CTHE ,DOORBELL " rings." CR>)>)
(<AND ,FLEEING? <EQUAL? .L ,SITTING-ROOM>>
<UNPRIORITIZE ,ALICIA>
<COND (<IN? ,MICHAEL .L>
<GOALS? ,MICHAEL T>
<ESTABLISH-GOAL ,ALICIA ,BARN T>
<ESTABLISH-GOAL ,MICHAEL ,BARN T>)
(T
<GOALS? ,ALICIA <>>)>
<RFALSE>)
(<EQUAL? .L ,BARN>
<GOALS? ,ALICIA <>>
<BARN-DANCE ,ALICIA>)>)>>
<ROUTINE BARN-DANCE (WHO "AUX" (FLG <>))
<ENABLE <QUEUE I-ESCAPE 20>>
<COND (<FSET? ,BARN-DOOR ,LOCKED>
<FCLEAR ,BARN-DOOR ,LOCKED>
<COND (<EQUAL? ,HERE ,WEST-OF-GARAGE>
<TELL
'WHO " unlocks the barn door and enters." CR>
<SET FLG T>)>)>
<OR <I-SCREAMS> .FLG>>
<ROUTINE I-SCREAMS ()
<ENABLE <QUEUE I-SCREAMS 1>>
<COND (<AND <IN? ,MICHAEL ,BARN>
<IN? ,ALICIA ,BARN>
<EQUAL? ,HERE
,WEST-OF-HOUSE
,WEST-OF-GARAGE
,NORTH-OF-HOUSE>>
<TELL
"You hear shouting and screams from the direction of the barn." CR>)>>
<ROUTINE I-ESCAPE ()
<REMOVE ,ALICIA>
<DISABLE <INT I-SCREAMS>>
<COND (<OUTSIDE? ,HERE>
<TELL
"You hear a car off behind the barn. The sound grows fainter and
fainter." CR>)>>
<ROUTINE I-ALICIA-SNEAKS ()
<COND (<AND <NOT <EQUAL? ,HERE ,GARDEN ,WALKWAY ,HALLWAY-7>>
<NOT <EQUAL? ,HERE ,NORTH-OF-HOUSE ,HALLWAY-14>>>
<START-ALICIA ,WALKWAY>)
(<AND <NOT <EQUAL? ,HERE
,HALLWAY-4 ,HALLWAY-3 ,HALLWAY-2>>
<NOT <EQUAL? ,HERE
,HALLWAY-1 ,WEST-OF-GARAGE>>>
<COND (,ALICIA-WAITED?
<START-ALICIA ,WEST-OF-GARAGE>)
(ELSE
<SETG ALICIA-WAITED? T>
<QUEUE I-ALICIA-SNEAKS 3>)>)>
<RFALSE>>
<GLOBAL ALICIA-WAITED? <>>
<ROUTINE START-ALICIA (RM)
<DISABLE <INT I-ALICIA-SNEAKS>>
<MOVE ,ALICIA .RM>
<ESTABLISH-GOAL ,ALICIA ,PORCH>
<FCLEAR ,CORPSE ,INVISIBLE>
<FSET ,NORTH-DOOR ,LOCKED>
<FSET ,WEST-DOOR ,LOCKED>
<FCLEAR ,NORTH-OFFICE-DOOR ,LOCKED>
<FCLEAR ,SOUTH-OFFICE-DOOR ,LOCKED>
<FCLEAR ,MEDIA-OFFICE-DOOR ,LOCKED>
<FCLEAR ,NORTH-OFFICE-DOOR ,OPENBIT>
<FCLEAR ,SOUTH-OFFICE-DOOR ,OPENBIT>
<FCLEAR ,MEDIA-OFFICE-DOOR ,OPENBIT>>
<ROUTINE THEY-DANCE (LAST "AUX" FIRST)
<ENABLE <QUEUE I-MICHAEL-TO-GARAGE 5>>
<NEW-SCRIPT ,MICHAEL ,MICHAEL-LOOP>
<COND (<IN-BALLROOM? ,PLAYER>
<COND (<EQUAL? .LAST ,MICHAEL> <SET FIRST ,ALICIA>)
(ELSE <SET FIRST ,MICHAEL>)>
<TELL
D .LAST " walks up to " D .FIRST " and they begin to dance." CR>)>>
<ROUTINE I-MICHAEL-TO-GARAGE ()
<COND (,MICHAEL-TO-GARAGE? <RFALSE>)
(<AND <OR <FSET? ,MICHAEL ,TOLD>
,GANG-BEEN-TO-OFFICE?>
<NOT <EQUAL? <GET <GET ,GOAL-TABLES ,MICHAEL-C>
,GOAL-F>
,OFFICE
,HALLWAY-3>>>
%<DEBUG-CODE
<COND (,DEBUG
<TELL "[Michael heads to Garage]" CR>)>>
<SETG MICHAEL-TO-GARAGE? T>
<ESTABLISH-GOAL ,ALICIA ,BALLROOM-9>
<ESTABLISH-GOAL ,MICHAEL ,GARAGE T>)
(ELSE
%<DEBUG-CODE
<COND (,DEBUG
<TELL "[Michael isn't ready]" CR>)>>
<ENABLE <QUEUE I-MICHAEL-TO-GARAGE 5>>)>
%<DEBUG-CODE <COND (,DEBUG <RTRUE>)>>
<RFALSE>>
<GLOBAL MICHAEL-TO-GARAGE? <>>
\
<OBJECT GLOBAL-RICHARD
(IN GLOBAL-OBJECTS)
(DESC "Richard")
(SDESC "Werewolf")
(SYNONYM ASHCROFT WEREWOLF RICHARD)
(ADJECTIVE MR RICHARD)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON THE)
(CHARACTER 4)>
<OBJECT RICHARD
(IN SITTING-ROOM)
(SDESC "Werewolf")
(LDESC "A petulant werewolf slouches nearby.")
(SYNONYM ASHCROFT WEREWOLF RICHARD)
(ADJECTIVE MR RICHARD)
(ACTION RICHARD-F)
(FLAGS TRANSBIT PERSON THE)
(CHARACTER 4)>
<GLOBAL RICHARD-SDESC "Richard">
<ROUTINE RICHARD-UNMASKED? ()
<EQUAL? <GETP ,RICHARD ,P?SDESC> ,RICHARD-SDESC>>
<ROUTINE RICHARD-UNMASKS ()
<FCLEAR ,RICHARD ,THE>
<PUTP ,RICHARD ,P?SDESC ,RICHARD-SDESC>
<FCLEAR ,GLOBAL-RICHARD ,THE>
<PUTP ,GLOBAL-RICHARD ,P?SDESC ,RICHARD-SDESC>
<PUTP ,RICHARD ,P?LDESC
"Richard Ashcroft, the petulant werewolf, slouches nearby.">>
<ROUTINE RICHARD-F ()
<COND (<EQUAL? ,WINNER ,RICHARD>
<COND (<OR <VERB? UNMASK>
<AND <VERB? WHAT> <EQUAL? ,PRSO ,YOU>>>
<COND (<RICHARD-UNMASKED?>
<TELL
"\"I'm still Richard.\"" CR>)
(<PROB 50>
<TELL
"\"None of your business! Grrr!\"" CR>)
(ELSE
<RICHARD-UNMASKS>
<TELL
"He answers somewhat gruffly, \"Oh, I'm Richard under all this fur.\"" CR>)>)
(<VERB? HELLO>
<TELL
"Richard mumbles a surly greeting." CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
"\"Not on your life!\" he says angrily." CR>)>)
(<VERB? EXAMINE>
<COND (<RICHARD-UNMASKED?>
<TELL
"Richard Ashcroft is " 'VERONICA "'s younger brother, and">)
(ELSE
<TELL "The wearer of the costume">)>
<TELL" appears as a plump and petulant
werewolf, although he has gone to the trouble of smearing something wet
and red on his chin which looks authentically bloody." CR>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,RICHARD>
<TELL
"\"You're joking, of course. No, you're not, are you?\" He seems
shocked, but it's hard to tell if it's just a pose." CR>)
(ELSE
<TELL
"\"I already know.\"" CR>)>)
(<VERB? UNMASK>
<TELL
"\"Hey, watch it! I'll bite you!\"" CR>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,RICHARD>>
<COND (<NOT <RICHARD-UNMASKED?>>
<COND (<NOT <FSET? ,PRSO ,TOLD>>
<TELL "\"Grrr!\"" CR>
<RTRUE>)
(ELSE
<RICHARD-UNMASKS>
<TELL
"The werewolf removes his mask, revealing him as Richard, " 'VERONICA "'s
younger brother. ">)>)>
<COND (<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"I've never met you before tonight. You work for the paper,
right?\"" CR>)
(<EQUAL? ,PRSI ,RICHARD>
<TELL
"\"Me? I'm not interesting enough to write about. Write about my sister
instead, she's interesting: she's the Dragon Lady, not the Fairy Queen.\"" CR>)
(<IN? ,PRSI ,HERE>
<TELL
"\"Are you trying to cause trouble? " ,YOU-MUST "think I'm drunk and will say
anything about anyone.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<TELL
"\"" 'MICHAEL "? He thinks he's pretty wonderful, but he just slides around
after my sister, taking whatever he can. I don't think he ever loved
her, but then, I don't think anyone ever loved her.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"You think I did it, don't you? If I was the sort of person
who could kill her, I would have long ago, believe me!\"" CR>)
(ELSE
<TELL
"\"She's my older sister, but she acts like she's my keeper.
I have to account for my every move, like I was still ten years old.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<TELL
"\"She's such a goodie two-shoes, she's been " 'VERONICA "'s friend for years,
but you know something? Whenever they're apart, she cuts her
up something fierce. I have my suspicions about her.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"That pompous blowhard! He's been in clover for
years, just because he was a crony of my father's. Now he runs the trust
and " 'VERONICA " has him in the palm of her hand! But I'll get mine
one of these days, just wait!\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"Linda's a perfect example of my sister's interference. She's sweet, and
lovely, and I love her, but my sister can't stand her because her family
didn't come over on the Mayflower.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"Our family has known him for years, since he was just on the county
council. I'd think more of him if " 'VERONICA " didn't like him so much.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
,I-DONT-KNOW "why " 'VERONICA " invited him. He's making a fool
of himself. He's going to have trouble from me if he keeps
staring at Linda like that.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<TELL
"\"Who's he? He seems like a nice enough fellow.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"He's been here so long he's part of the furniture.
He taught me to ride when I was a child. " 'VERONICA ", too. Dad was
too busy.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
"\"He's somebody " 'VERONICA " hired.\"" CR>)
(ELSE
<I-WOULDNT-KNOW>)>)>>
<ROUTINE G-RICHARD (GARG)
<COND (<NOT .GARG> <IMOVEMENT ,RICHARD G-RICHARD>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL
CD ,RICHARD " seems to find you more and more boring as time passes." CR>)>>
\
<OBJECT GLOBAL-COL-MARSTON
(IN GLOBAL-OBJECTS)
(DESC "Colonel Marston")
(SYNONYM MARSTON EXPLORER HUNTER ROBERT)
(ADJECTIVE COLONEL ROBERT)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 5)>
<OBJECT COL-MARSTON
(IN LIVING-ROOM)
(DESC "Colonel Marston")
(LDESC "Colonel Marston, the African Explorer, is here.")
(SYNONYM MARSTON EXPLORER HUNTER ROBERT)
(ADJECTIVE COL COLONEL ROBERT)
(ACTION COL-MARSTON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 5)>
<GLOBAL MARSTON-SEEN-TRUST-DOCUMENTS? <>>
<ROUTINE COL-MARSTON-F ()
<COND (<EQUAL? ,WINNER ,COL-MARSTON>
<COND (<VERB? HELLO>
<TELL
"He replies, somewhat curtly." CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL 'COL-MARSTON " only scowls at you." CR>)>)
(<VERB? EXAMINE>
<TELL
'COL-MARSTON " is bedecked as an explorer or perhaps a big-game hunter.
From pith helmet down to whipcord trousers, he looks the part. His
gaze is steely and his white mustache painstakingly trimmed." CR>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,COL-MARSTON>
<TELL
"\"Are you sure? I mean, how terrible!\" He seems to have conflicting
feelings about what he has just heard." CR>)
(ELSE
<TELL
"\"I already know. Only a reporter would be spreading this like it was
some bit of dirty gossip.\"" CR>)>)
(<VERB? ACCUSE>
<COND (<EQUAL? ,PRSI ,GLOBAL-EMBEZZLEMENT>
<COND (,MARSTON-SEEN-TRUST-DOCUMENTS?
<TELL
"\"You'd have a hard time proving anything, documents or no. At the worst,
they would say I've made some bad investments. Of course, you could try
to ruin me in the press, but I'll sue if you do. You know most libel
suits are found for the plaintiff these days.\"" CR>)
(ELSE
<TELL
"\"What could you mean by that? I've never stolen anything in my life.
I've never had to.\" He grins." CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-MURDER>
<TELL
"\"What a ridiculous accusation!\"" CR>)>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,COL-MARSTON>>
<COND (<NOT <FSET? ,PRSI ,PERSON>>
<COND (<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"Maybe she surprised someone. A sneak thief, probably.\"" CR>)
(T
<TELL
,I-DONT-KNOW "of any murder.\"" CR>)>)
(<EQUAL? ,PRSI ,TRUST ,TRUST-FOLDER
,TRUST-DOCUMENTS>
<COND (,MARSTON-SEEN-TRUST-DOCUMENTS?
<TELL
"\"What more could I tell you? You'll just write lies anyway!\"" CR>)
(ELSE
<TELL
"\"I've run the Trust for almost twenty years. I'm proud of what I've done.
Sure, there have been some bad years, but the trend is up.\" He looks
resolved and confident." CR>)>)
(ELSE
<I-DONT-KNOW-ABOUT "it that would interest you">)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"I don't like reporters very much, if that's what you're getting at.\"" CR>)
(<EQUAL? ,PRSI ,COL-MARSTON>
<TELL
"\"Well, I'm really semi-retired. I run the Ashcroft Family Trust, but it
mostly runs itself: I don't need to be involved in day-to-day operations
too much. Just a decision now and then.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA ,CORPSE>
<COND (,MARSTON-SEEN-TRUST-DOCUMENTS?
<TELL
"\"She was conspiring against me! She had some foolish idea that I'm not
running the trust properly. That's what those ridiculous documents are
about! Now she's dead, and it's only just desserts!\" He turns livid with
embarrassment. \"I didn't mean that... I didn't kill her... Don't jump to
conclusions...\"" CR>)
(<FSET? ,PRSO ,TOLD>
<TELL
"\"'Nil nisi,' they say, but I never liked her very much. Didn't have the
vision a man would have. Home and hearth. Should be a man at the
head of a great old family like the Ashcrofts. Of course, Richard's the
head now, officially.\"" CR>)
(ELSE
<TELL
"\"I can't say that working with her is as rewarding as working with her father
was, still, I can't really complain.\"" CR>)>)
(<IN? ,PRSI ,HERE>
<TELL
'COL-MARSTON " glances at " D ,PRSI ", then sniffs disdainfully at you, as though
you had asked him to stand on his head." CR>)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<COND (,MARSTON-SEEN-TRUST-DOCUMENTS?
<TELL
"\"" 'MICHAEL "? Well, sometimes he makes big promises and doesn't
follow through... Fundamentally a sound fellow, though.\" "
'COL-MARSTON " seems somewhat distracted." CR>)
(<FSET? ,PRSO ,TOLD>
<TELL
"\"He must be devastated. But he's a strong man, he'll survive it.\"" CR>)
(ELSE
<TELL
"\"A fine man. You can count on him. " 'VERONICA "'s father would have approved
of him. He'll get her straightened out one day.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<TELL
"\"She's one of " 'VERONICA "'s cronies. Went to school with her, but then I heard
you did too? Anyway, I hardly know her.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
"\"As Teddy Roosevelt said, 'I could carve a man with more backbone out of a
banana.' The only thing he stands up to " 'VERONICA " on is that Linda person. He's
never really grown up.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"She's just not our sort. I know that sounds prejudiced, but she's not happy
here, you can tell, and she'd be better off if she and Richard stopped seeing
each other. It would be kinder to her.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"A fine Senator. He has plans. You'll hear more from him, mark my
words.\"" CR> )
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
"\"The man is clearly an alcoholic. I don't approve of people who can't hold
their liquor.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<TELL
"\"That's a man with a true eye for business. I wonder why he's here tonight?
" 'VERONICA " and " 'MICHAEL " don't mix too much with his crowd, and vice versa.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"" 'BUTLER " is the disproof of the canard that there are no good servants
anymore.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
"\"He told me he's studying law. Lawyers and accountants! Two
professions we would be better off without! We can always use a good
bartender.\"" CR>)
(ELSE
<TELL
"\"I have nothing to say about that.\"" CR>)>)
(<VERB? SHOW>
<COND (<EQUAL? ,PRSO ,SALE-FOLDER ,SALE-AGREEMENT>
<TELL
'COL-MARSTON " glances cursorily through the agreement. " ,I-DONT-KNOW
"where you got this. It's true, " 'VERONICA " was going to sell the farm and
move further upcountry, away from the suburbs. It wasn't supposed to be
announced until tomorrow." <COND (<FSET? ,COL-MARSTON ,TOLD>
" Too bad it was never")
(T
" Odd that it isn't")>
" signed.\" He smiles
frostily." CR>)
(<OR <EQUAL? ,PRSO ,TRUST-DOCUMENTS>
<AND <EQUAL? ,PRSO ,TRUST-FOLDER>
<IN? ,TRUST-DOCUMENTS ,TRUST-FOLDER>>>
<COND (,MARSTON-SEEN-TRUST-DOCUMENTS?
<TELL
"\"I have nothing more to say. I've said too much already. If you publish
anything you'll hear from my lawyer!\"" CR>)
(ELSE
<SETG MARSTON-SEEN-TRUST-DOCUMENTS? T>
<COND (<IN? ,INVESTOR-LIST ,MICHAEL>
%<DEBUG-CODE
<COND (,DEBUG
<TELL
"[Marston scared]" CR>)>>
<ESTABLISH-GOAL ,COL-MARSTON ,LIBRARY T>
<ESTABLISH-GOAL ,MICHAEL ,LIBRARY T>)>
<TELL
"The colonel's composure breaks for a moment, then reforms. \"Where did
you get that? I've run that Trust for twenty years, and all my
investments have been good: for her. I finally decided I should get
something out of it. Do you know what she pays me? Peanuts! And she
wallows in luxury, decadence. I wanted a turn. Besides, I did nothing
wrong, you can't prove anything, no matter what those accountants
say.\"" CR>)>)>)>>
<ROUTINE G-COL-MARSTON (GARG "AUX" (L <LOC ,COL-MARSTON>))
<COND (<NOT .GARG> <IMOVEMENT ,COL-MARSTON G-COL-MARSTON>)
(<EQUAL? .GARG ,G-IMPATIENT>
<COND (<IN? ,COL-MARSTON ,OFFICE>
<RFALSE>)
(<IN? ,COL-MARSTON ,LIBRARY>
<FCLEAR ,LIBRARY-DOOR ,LOCKED>
<RFALSE>)>
<TELL
'COL-MARSTON " looks at his watch, and not very surreptitiously." CR>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<AND <EQUAL? .L ,BALLROOM-9>
<ENABLED? <INT I-ARGUMENT>>>
<GOALS? ,COL-MARSTON <>>
<RFALSE>)
(<AND <EQUAL? .L ,HALLWAY-3>
<NOT ,THREE-STOOGES-IN-OFFICE?>>
<GOALS? ,COL-MARSTON <>>
<COND (<AND <IN? ,COCHRANE ,HALLWAY-3>
<IN? ,MICHAEL ,HALLWAY-3>>
<GANGS-ALL-HERE>)>)
(<EQUAL? .L ,OFFICE>
<UNPRIORITIZE ,COL-MARSTON>
<ESTABLISH-GOAL ,COL-MARSTON ,BALLROOM-9>
<GRAB-ATTENTION ,COL-MARSTON>
<RFALSE>)
(<EQUAL? .L ,LIBRARY>
<COND (<IN? ,MICHAEL ,LIBRARY>
<LIBRARY-MEETING ,COL-MARSTON>)
(ELSE
<GOALS? ,COL-MARSTON <>>
<RFALSE>)>)
(<AND <IN? ,INVESTOR-LIST ,COL-MARSTON>
<EQUAL? .L ,BALLROOM-8>>
<FCLEAR ,INVESTOR-LIST ,INVISIBLE>
<MOVE ,INVESTOR-LIST ,FIREPLACE>
<ENABLE <QUEUE I-BURNED 1>>
<COND (<EQUAL? ,HERE ,BALLROOM-8>
<TELL-ARRIVES ,COL-MARSTON>
<TELL
"fireplace, warms his hands briefly, and then
turns to warm his back. As he does, you notice a crumpled piece of paper
drop from his hands into the fireplace. It doesn't land quite in the fire
though. It's beginning to singe a bit." CR>)
(<IN-BALLROOM? ,PLAYER>
<TELL
'COL-MARSTON " is now warming his hands and back at the fireplace. You
catch an odd movement out of the corner of your eye." CR>)>)>)>>
<GLOBAL LIST-BURNING? <>>
<ROUTINE I-BURNED ()
<COND (<IN? ,INVESTOR-LIST ,FIREPLACE>
<COND (<NOT ,LIST-BURNING?>
<SETG LIST-BURNING? T>
<QUEUE I-BURNED 1>
<COND (<EQUAL? ,HERE ,BALLROOM-8>
<TELL
"The piece of paper is beginning to smolder." CR>)>)
(ELSE
<MOVE ,INVESTOR-LIST ,POLICE-LAB>
<COND (<EQUAL? ,HERE ,BALLROOM-8>
<TELL
"The crumpled piece of paper bursts into flame and is reduced to ashes." CR>)>)>)>>
\
<OBJECT GLOBAL-LINDA
(IN GLOBAL-OBJECTS)
(DESC "Linda")
(SYNONYM LINDA MEADE BALLERINA)
(ADJECTIVE LINDA MISS MS)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON FEMALE)
(CHARACTER 6)>
<OBJECT LINDA
(IN SITTING-ROOM)
(DESC "Linda")
(LDESC "Linda Meade, prima ballerina, is here.")
(SYNONYM LINDA MEADE BALLERINA)
(ADJECTIVE LINDA MISS MS)
(ACTION LINDA-F)
(FLAGS TRANSBIT PERSON FEMALE)
(CHARACTER 6)>
<GLOBAL BOOP-CNT 1>
<ROUTINE LINDA-F ()
<COND (<EQUAL? ,WINNER ,LINDA>
<COND (<VERB? HELLO>
<TELL "\"Hi! What's your sign?\"" CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL "Linda bats her eyes and looks confused." CR>)>)
(<VERB? EXAMINE>
<TELL
"Linda Meade is dressed as a ballerina. Her costume and hair are both
flaming red. She is a beautiful woman, and knows it. Eyes
follow her every move." CR>)
(<VERB? UNMASK RUB>
<TELL
"\"Stop that, silly!\" she giggles." CR>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,LINDA>
<TELL
"\"Yuck! I think I don't feel too well.\" She shivers, and then
composes herself. \"Now Richard will be out from under her thumb.\" She
looks at you as though she committed an indiscretion, and then
smiles inanely." CR>)
(T
<TELL
"\"Everyone will treat it like a juicy piece of gossip! Just wait. She's dead,
poor thing. I didn't like her very much, but honestly!\"" CR>)>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,LINDA>>
<COND (<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"I heard you're a reporter. Will you write about me?\"">)
(<EQUAL? ,PRSI ,LINDA>
<TELL
"\"Until I met Richard I was working at the drug store, checking people
out. It wasn't very exciting. Now I'm going to be a model! It's my
ambition: I'll be on TV someday!\"">)
(<AND <FSET? ,PRSI ,PERSON> <IN? ,PRSI ,HERE>>
<TELL
"\"You wouldn't want me to commit a faux pas, would you?\"">)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<TELL
"\"He's nasty to me. I don't think he likes Richard much.\"">)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA>
<TELL
"\"She hates me. She hates Richard! I hate her! She thinks she's
so great because she's got a lot of money. She treats Richard like a child,
doling out an allowance! Really! He's thirty years old! Just because
she's got control of the Trust! Confidentially, he hates her, too.\"">)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<TELL
,I-DONT-KNOW "her.\"">)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
"\"We're in love! " 'VERONICA " is keeping us from being married, by
not giving Richard what's coming to him from the Trust. It's not
fair at all!\"">)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"That old monster! He hates Richard! He won't make " 'VERONICA " give
him what's coming to him lawfully. He says he can't change the rules,
but that's silly: doesn't he run it?\"">)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"Isn't it exciting? A real Senator. He's even distinguished dressed in
that silly costume.\"">)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
,I-DONT-KNOW "him. He's drunk, isn't he?\"">)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<TELL
"\"He owns that building company. Their signs are all over the
place!\"">)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"He hates me. He kicked me out once when I came
over without Richard.\"">)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
,I-DONT-KNOW "him. I don't think he usually works here.\"">)
(ELSE
<TELL-DONT-KNOW>
<RTRUE>)>
<SETG BOOP-CNT <- ,BOOP-CNT 1>>
<COND (<EQUAL? ,BOOP-CNT 0>
<SETG BOOP-CNT 10>
<TELL
" Linda's voice is high and squeaky, a sort of Betty Boop voice.">)>
<CRLF>)>>
<ROUTINE G-LINDA (GARG)
<COND (<NOT .GARG> <IMOVEMENT ,LINDA G-LINDA>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL "Linda seems increasingly impatient with you." CR>)>>
\
<OBJECT GLOBAL-SEN-ASHER
(IN GLOBAL-OBJECTS)
(DESC "Senator Asher")
(SYNONYM ASHER HARLEQUIN ALAN AL)
(ADJECTIVE SENATOR SEN ALAN AL)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 7)>
<OBJECT SEN-ASHER
(IN MEDIA-ROOM)
(DESC "Senator Asher")
(SYNONYM ASHER HARLEQUIN ALAN AL)
(ADJECTIVE SENATOR ALAN AL SEN)
(ACTION SEN-ASHER-F)
(DESCFCN SEN-ASHER-DESC-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 7)>
<ROUTINE SEN-ASHER-DESC-F ("OPTIONAL" (RARG <>))
<COND (<IN? ,SEN-ASHER ,MEDIA-ROOM>
<TELL
'SEN-ASHER ", dressed in harlequin costume, is relaxing on a sofa,
watching the news on CNN." CR>)
(ELSE
<TELL 'SEN-ASHER ", a distinguished harlequin, is">
<TELL-HERE>)>>
<ROUTINE SEN-ASHER-F ()
<COND (<EQUAL? ,WINNER ,SEN-ASHER>
<COND (<VERB? HELLO>
<TELL
"The Senator greets you and shakes your hand. His handshake is firm, warm,
and dry." CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
"\"You can't order me around! You reporters have a lot of nerve.\"" CR>)>)
(<AND <VERB? $REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<REVEAL-MURDER ,SEN-ASHER>
<COND (<IN? ,PRSI ,HERE>
<TELL
CD ,WINNER " tells the Senator of the murder. He looks like he has been
hit with a sandbag." CR>)
(<NEARBY? ,SEN-ASHER>
<TELL
CD ,WINNER " tells the Senator something that horrifies him." CR>)>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,SEN-ASHER>
<TELL
"\"No! That's ridiculous! Who did it?\" He recoils from the idea as
though he had been punched." CR>)
(T
<TELL
"\"Horrible, horrible.\" The Senator hasn't yet recovered from the
revelation." CR>)>)
(<AND <VERB? ACCUSE> <EQUAL? ,PRSI ,GLOBAL-MURDER>>
<TELL
"\"" ,YOU-MUST "be insane. Sure, I was in the next room when it happened.
How do you suppose that makes me feel? I was in love with her once...
I suppose I still am. I could no more kill her than, than...\" He chokes
back a sob." CR>)
(<VERB? EXAMINE>
<TELL
"Senator Alan Asher is two years into a successful first term, a man the
party is already eyeing for higher office. He is tall and not quite so
handsome as to be too handsome for a politician. Even dressed as he is
in harlequin costume, he manages to look commanding and at ease." CR>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,SEN-ASHER>>
<COND (<NOT <FSET? ,PRSI ,PERSON>>
<COND (<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"You know, I heard a muffled yell from the office at about ">
<TIME-PRINT ,YELL-TIME <>>
<TELL " I didn't really notice
it consciously; I was watching television and relaxing.\"" CR>)
(ELSE
<TELL
"\"What murder? Is this some sort of trick question?\"" CR>)>)
(ELSE
<TELL
"\"No comment.\"" CR>)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"Your paper has always been fair and impartial to me. I appreciate
that.\"" CR>)
(<EQUAL? ,PRSI ,SEN-ASHER>
<TELL
"\"Tell your readers I'm just a dedicated public servant.\" He grins
winningly." CR>)
(<IN? ,PRSI ,HERE>
<TELL "\"It would be impolitic to say anything.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<TELL
"\"" 'MICHAEL " is a fine man. He was a lucky man to capture " 'VERONICA ".\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"The Senator tries to compose himself. \"She was always one of my greatest
friends. We knew each other for many years. How could anyone have done this
to her?\"" CR>)
(ELSE
<TELL
"\"She gives a great party. It's always a pleasure to come out here: the
pressure's off for a while and I can just relax.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<TELL
"\"She's an old friend of " 'VERONICA "'s. When they were in school together
they were roommates. Borrowing each other's clothes, stealing boyfriends
back and forth, and all that.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
"\"He is, unfortunately, not much. " 'VERONICA " despair"
<COND (<FSET? ,PRSO ,TOLD> "ed")(ELSE "s")> " of him ever amounting to
anything.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"He's a hidebound old reactionary. It's unfortunate. The trust could do
so much good with a different administrator. But " 'VERONICA " likes him.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"I've never been introduced. I know Richard is well and truly smitten,
though.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
"\"Construction is a big business around here. These suburbs are among the
fastest growing areas in the country. It's driving the Hunt Club types
further out into the country. " 'COCHRANE " is a big force in the industry,
not that anyone is terribly pleased at that.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<TELL
"\"He's done a lot of construction in the area, mostly office buildings,
and many of those for the government. You'd be surprised at how little
of the space the government occupies is actually government-owned. We're
tenants in a lot of places, and " 'OSTMANN " owns a lot of those.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"" 'BUTLER " is a family retainer. He'll live here for the rest of his life,
if he can. They'll let him, too.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
"\"Seems a nice kid. He told me he's in Law School.\"" CR>)
(ELSE
<TELL
"\"Nothing to say, not even off-the-record.\"" CR>)>)>>
<ROUTINE G-SEN-ASHER (GARG)
<COND (<NOT .GARG> <IMOVEMENT ,SEN-ASHER G-SEN-ASHER>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL "The Senator is becoming bored with you." CR>)>>
\
<OBJECT GLOBAL-COCHRANE
(IN GLOBAL-OBJECTS)
(DESC "Cochrane")
(SDESC "Astronaut")
(SYNONYM COCHRANE ASTRONAUT SPACEMAN BILL)
(ADJECTIVE BILL WILLIAM MR)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON THE AN)
(CHARACTER 8)>
<OBJECT COCHRANE
(IN EAST-BATH)
(SDESC "Astronaut")
(DESC "Cochrane")
(LDESC
"An astronaut in an itchy spacesuit is here.")
(SYNONYM COCHRANE ASTRONAUT SPACEMAN BILL)
(ADJECTIVE BILL WILLIAM MR)
(ACTION COCHRANE-F)
(FLAGS TRANSBIT PERSON AN THE)
(CHARACTER 8)>
<GLOBAL COCHRANE-SDESC "Cochrane">
<ROUTINE COCHRANE-UNMASKS ()
<COND (<EQUAL? <GETP ,COCHRANE ,P?SDESC> ,COCHRANE-SDESC>
<RFALSE>)
(ELSE
<FCLEAR ,COCHRANE ,THE>
<FCLEAR ,COCHRANE ,AN>
<PUTP ,COCHRANE ,P?SDESC ,COCHRANE-SDESC>
<FCLEAR ,GLOBAL-COCHRANE ,THE>
<FCLEAR ,GLOBAL-COCHRANE ,AN>
<PUTP ,GLOBAL-COCHRANE ,P?SDESC ,COCHRANE-SDESC>
<PUTP ,COCHRANE ,P?LDESC
"William Cochrane, who looks like his spacesuit itches, is here.">
<TELL
"The figure lifts its visor. \"I'm Bill " 'COCHRANE "! This costume is
so hot and itchy, I'm sorry I got it.\" He wipes his brow. ">)>>
<GLOBAL COCHRANE-SEEN-AGREEMENT? <>>
<ROUTINE COCHRANE-F ("AUX" UNMASKED?)
<COND (<EQUAL? ,WINNER ,COCHRANE>
<COND (<VERB? HELLO SAY> <TELL "\"Uh, hi.\"" CR>)
(<AND <VERB? WHAT> <EQUAL? ,PRSO ,YOU>>
<COND (<COCHRANE-UNMASKS> <CRLF> <RTRUE>)
(ELSE
<TELL
"\"You know who I am: I'm " 'COCHRANE "!\"" CR>)>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
"\"Wha? Whatcha mean?\" he responds, in a slightly slurred voice." CR>)>)
(<VERB? EXAMINE>
<COND (<EQUAL? <GETP ,COCHRANE ,P?SDESC> ,COCHRANE-SDESC>
<TELL "William " 'COCHRANE>)
(ELSE <TELL "The Astronaut">)>
<TELL
" is crammed into an ill-fitting, obviously rented, spacesuit.
The helmet is badly attached and bounces as he moves. It's clear he's
uncomfortable. It's also clear he has already had quite a lot to drink." CR>)
(<VERB? ACCUSE>
<COND (<AND <FSET? ,COCHRANE ,TOLD>
,COCHRANE-SEEN-AGREEMENT?>
<TELL
"\"You can't scare me. Sure, I'm just as happy she's dead, but I wouldn't
do it. I've hardly been out of the ballroom all night. You can't pin this
on me.\"" CR>)>)
(<VERB? SHOW>
<COCHRANE-UNMASKS>
<COND (<EQUAL? ,PRSO ,CARD>
<TELL
"\"Yeah. I just wanted to keep her from doing something she'd regret.
I just want an equal chance to buy this property. If she's going to
sell it, why a sweetheart deal with " 'OSTMANN "? I went to her office earlier
to try to convince her, but the door was locked and she wouldn't answer.">
<COND (<FSET? ,COCHRANE ,TOLD>
<TELL
" That was at about quarter of eight, so you can't pin this
on me: she was still alive then, everybody saw her.">)>
<TELL "\"" CR>)
(<EQUAL? ,PRSO ,SALE-FOLDER ,SALE-AGREEMENT>
<COND (,COCHRANE-SEEN-AGREEMENT?
<TELL
"\"Yeah. I've seen it, remember?\"" CR>
<RTRUE>)>
<SETG COCHRANE-SEEN-AGREEMENT? T>
<COND (<FSET? ,COCHRANE ,TOLD>
<TELL
"\"What a joke on Sam! He'll never get this property now! " 'MICHAEL
" will sell to me, I bet... I mean, well, it's a shame she's dead and
all, but you gotta look out for yourself.\"" CR>)
(ELSE
<SETG COCHRANE-LOOKS-FOR-OSTMANN? T>
<TELL
"\"Ask " 'OSTMANN " about that.\" " 'COCHRANE "'s calm
covers a less placid interior." CR>)>)>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,COCHRANE>>
<SET UNMASKED? <COCHRANE-UNMASKS>>
<TELL
'COCHRANE " is a little unsteady, and swallows a little more of his drink
before answering. ">
<COND (<NOT <FSET? ,PRSI ,PERSON>>
<COND (<EQUAL? ,PRSI ,ASTRONAUT-COSTUME>
<COND (.UNMASKED? <RTRUE>)
(ELSE
<TELL "\"It itches.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"I didn't do it! She wasn't giving me a fair shake, but murder?
Not me!\"">)
(T
<TELL
"\"Murder? No one's been murdered. Is this a joke?\"">)>)
(<EQUAL? ,PRSI ,SALE ,SALE-FOLDER ,SALE-AGREEMENT>
<TELL
"\"That skunk " 'OSTMANN "! He's out to get me. I should have had that sale.\"">)
(ELSE
<TELL "\"I dunno.\"">)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"Reporters. Can't stand them. You seem basically okay, though.\"">)
(<EQUAL? ,PRSI ,COCHRANE>
<TELL
"\"I'm just a small businessman trying to make a profit.
Dealing with these rich types doesn't make it any
easier. Whoever said the rich were free spenders didn't know these
people.\"">)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA ,CORPSE>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"She treated me like dirt, just because she never worked
for her money and I did. My hands are clean.\"">)
(ELSE
<TELL
"\"She's a fancy-pants rich girl, thinks she's too good to deal
with me. She's got another think coming!\"">)>)
(<IN? ,PRSI ,HERE>
<TELL
"\"I could tell you some things. But " HE/SHE ,PRSI "'s
right here.\" He grins.">)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<TELL
"\"I think he'd deal with me. I can talk to him man-to-man,
but that wife of his...\"">)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<TELL
"\"I never met her. Another one of those society types,
like Ms. Ashcroft.\"">)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
,I-DONT-KNOW "him. Everybody seems down on him, and given
this family, that means he's a good guy.\"">)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"" 'COL-MARSTON "? I hear he was a colonel in a supply battalion.
He never got closer to the front than Georgia. I could tell you a few
more things about him if I wanted to...\"">)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"She's the ballerina, right? You know her? Want to introduce me?\"">)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"He's a friend of the family. He and Ms. Ashcroft
were an item before she married " 'MICHAEL ".\"">)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<TELL
"\"That slime! He'll get what's coming to him one of these days. He's got
an in with" ,REAL-ESTATE-BOARD ", and he's tight with " 'VERONICA ".
He's ruining my business!\" He angrily scans the room,
looking for " 'OSTMANN ".">)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"Thinks he's Jeeves. All stiff-upper-lip and fake
British accent.\"">)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
"\"Makes a heck of a drink, doesn't he?\"">)
(ELSE
<TELL-DONT-KNOW>)>
<TELL " He steadies himself." CR>)>>
<ROUTINE I-DONT-KNOW-ABOUT (THAT "OPTIONAL" (CR? T))
<TELL ,I-DONT-KNOW "anything about ">
<TELL .THAT>
<COND (.CR? <TELL ".\"" CR>)>>
<ROUTINE TELL-DONT-KNOW ()
<I-DONT-KNOW-ABOUT "that">>
<GLOBAL COCHRANE-LOOKS-FOR-OSTMANN? <>>
<ROUTINE G-COCHRANE (GARG "AUX" (L <LOC ,COCHRANE>))
<COND (<NOT .GARG> <IMOVEMENT ,COCHRANE G-COCHRANE>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL
'COCHRANE " swallows some of his drink, then says, \"Excuse me, but I
think I need a refill.\"" CR>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<AND <EQUAL? .L ,BALLROOM-9>
<ENABLED? <INT I-ARGUMENT>>>
<GOALS? ,COCHRANE <>>
<RFALSE>)
(<EQUAL? .L ,BALLROOM-9>
<NEW-SCRIPT ,COCHRANE ,COCHRANE-LOOP>
<COND (<PROB 25>
<ESTABLISH-GOAL ,COCHRANE ,EAST-BATH T>
<COND (<EQUAL? ,HERE .L>
<TELL-ARRIVES ,COCHRANE>
<TELL
"bar, pauses, and gives his empty glass back to
the bartender." CR>)>)
(<EQUAL? ,HERE .L>
<TELL-ARRIVES ,COCHRANE>
<TELL
"bar and orders another drink." CR>)>)
(<AND <EQUAL? .L ,HALLWAY-3>
<NOT ,THREE-STOOGES-IN-OFFICE?>>
<GOALS? ,COCHRANE <>>
<COND (<AND <IN? ,MICHAEL ,HALLWAY-3>
<IN? ,COL-MARSTON ,HALLWAY-3>>
<GANGS-ALL-HERE>)>)
(<EQUAL? .L ,OFFICE>
<SETG THREE-STOOGES-IN-OFFICE? T>
<UNPRIORITIZE ,COCHRANE>
<NEW-SCRIPT ,COCHRANE ,COCHRANE-LOOP>
<GRAB-ATTENTION ,COCHRANE>
<RFALSE>)
(<EQUAL? .L ,EAST-BATH>
<FCLEAR ,EAST-BATH-DOOR ,OPENBIT>
<ESTABLISH-GOAL ,COCHRANE ,BALLROOM-9>
<RFALSE>)>)>>
\
<OBJECT GLOBAL-OSTMANN
(IN GLOBAL-OBJECTS)
(DESC "Ostmann")
(SYNONYM OSTMANN VAMPIRE SAM SAMUEL)
(ADJECTIVE MR SAM SAMUEL)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 9)>
<OBJECT OSTMANN
(IN BALLROOM-9)
(DESC "Ostmann")
(SYNONYM OSTMANN VAMPIRE SAM SAMUEL)
(ADJECTIVE MR SAM SAMUEL)
(ACTION OSTMANN-F)
(DESCFCN OSTMANN-DESC-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 9)>
<GLOBAL OSTMANN-SEEN-AGREEMENT? <>>
<ROUTINE OSTMANN-DESC-F ("OPTIONAL" (RARG <>))
<TELL
"Samuel " 'OSTMANN ", "
<COND (<FSET? ,OSTMANN ,TOLD>
"costumed")
(T "enjoying himself hugely")>
" as a vampire, is">
<TELL-HERE>>
<GLOBAL REAL-ESTATE-BOARD " the Real Estate Board">
<ROUTINE OSTMANN-F ()
<COND (<EQUAL? ,WINNER ,OSTMANN>
<COND (<VERB? HELLO>
<TELL
"\"How do you do. My name is Samuel " 'OSTMANN ".\"" CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL 'OSTMANN " politely demurs." CR>)>)
(<VERB? EXAMINE>
<TELL
"Samuel " 'OSTMANN " is a very formal, slightly pudgy vampire. He
has a black cape with a red lining, but otherwise is in full evening
dress; a somewhat old-fashioned tuxedo. The vampire effect is achieved
by a realistic set of fangs which he rubs occasionally, as though they
itched." CR>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,OSTMANN>
<TELL
"\"This is a terrible thing...for all of us.\" His tone indicates that
the worst thing about murder is that it's a breach of etiquette." CR>)
(ELSE
<TELL
"\"Yes. I know.\"" CR>)>)
(<VERB? SHOW>
<COND (<EQUAL? ,PRSO ,SALE-AGREEMENT ,SALE-FOLDER>
<COND (,OSTMANN-SEEN-AGREEMENT?
<TELL
"\"You showed me that before. What makes you think the situation has
changed?\"" CR>)
(ELSE
<SETG OSTMANN-SEEN-AGREEMENT? T>
<TELL
'OSTMANN " looks surprised. \"Where did you get that?
That's the agreement " 'VERONICA " and I were supposed to sign tonight.
I wouldn't come to a party like this if I didn't have to. Well,
actually I guess I'm having a pretty good time.\"">
<COND (<FSET? ,OSTMANN ,TOLD>
<TELL
" " 'OSTMANN " is thoughtful for a moment. \"Something struck me as odd. She
put me off earlier this evening when I wanted to sign then. She said she
had some other business to take care of first. She seemed preoccupied. I tried
to change her mind but she was adamant.\"">)>
<CRLF>)>)>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,OSTMANN>>
<COND (<NOT <FSET? ,PRSI ,PERSON>>
<COND (<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"It's terrible! She had agreed to sell me this property, we were going
to finalize the deal tonight. Someone must have wanted to stop it!\"" CR>)
(T
<TELL
,I-DONT-KNOW "of any murder.\"" CR>)>)
(<EQUAL? ,PRSI
,SALE ,SALE-FOLDER SALE-AGREEMENT>
<COND (,OSTMANN-SEEN-AGREEMENT?
<TELL
"\"She told me this area is getting too suburban. It's no
longer a proper place to raise horses. She wants to buy up-county,
where it's still rural. There'd be a hefty profit from
selling this place, but the new one is even more expensive. She said she
could raise the money, though.\"" CR>)
(ELSE
<TELL
"\"I'm not sure I know what you're talking about. You do like to
pry into other people's business, don't you?\"" CR>)>)
(<IN? ,PRSI ,HERE>
<TELL
"\"That's an interesting " D ,PRSI ".\"" CR>)
(ELSE
<TELL
"\"I'm not sure what you want me to say.\"" CR>)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"I've never met you before, so I don't really have an opinion. You are
somewhat impolite.\"" CR>)
(<EQUAL? ,PRSI ,OSTMANN>
<TELL
"\"I'm just a businessman trying to make a profit, trying to keep busy.">
<COND (,OSTMANN-SEEN-AGREEMENT?
<TELL
" For example, what I planned to do with this property is build mostly
condominiums, if I can get the zoning. Some two-acre lots, too. This is
really the last undeveloped property in this section of the county." CR>)>
<TELL "\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<COND (,OSTMANN-SEEN-AGREEMENT?
<TELL
"\"That weasel! I've half a mind to sue, after what he tried trying to get
this property!">)
(ELSE
<TELL
"\"He's going to be in big trouble before he's done.">)>
<TELL
" He's already up before" ,REAL-ESTATE-BOARD " for unethical practices:
cleaning out the escrow accounts, from what I've heard. He and his agents
are a disgrace to the profession! I can't believe " 'VERONICA " invited him.
He must be crashing the party. He's certainly got enough gall!\"" CR>)
(<IN? ,PRSI ,HERE>
<TELL
"\"Why don't you ask " HIM/HER ,PRSI " yourself?\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<COND (,OSTMANN-SEEN-AGREEMENT?
<TELL
"\"He's just a parasite. " 'VERONICA " told me he opposed
the sale. It's going to cost more to buy the new place and
he'll have less to play with.\"" CR>)
(ELSE
<TELL
"\"He's pathetic. What does he do? A man
should be doing something, or he's just a parasite.\"" CR>)>)
(<EQUAL? ,PRSI
,GLOBAL-VERONICA ,GLOBAL-MURDER ,CORPSE>
<COND (<AND <EQUAL? ,PRSI ,GLOBAL-MURDER>
<NOT <FSET? ,OSTMANN ,TOLD>>>
<TELL
"\"What murder?\"" CR>)
(<FSET? ,OSTMANN ,TOLD>
<TELL
"\"I think someone must have wanted to stop the sale! That crook " 'COCHRANE "!
I bet he did it!\"" CR>)
(ELSE
<TELL
"\"" 'VERONICA " is a woman with a sure sense of what she wants, and a good head
for business.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<TELL
,I-DONT-KNOW "her. I understand she's a friend of " 'VERONICA "'s.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"" 'VERONICA " told me he hated her. Now he's got the last laugh. He probably
inherits it all.\"" CR>)
(ELSE
<TELL
"\"Another parasite. The family is full of them. " 'VERONICA " is the only one
who's got any energy.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"He's an old dinosaur. A toothy one, though. I'd be wary of him. He
think's he's 'in loco parentis' to " 'VERONICA " and Richard.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"" 'VERONICA " called her 'Richard's bar girl'.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"He's done a lot for this state. Has a good understanding of the needs
of the businessman. I contributed to his last campaign.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"He looks uncomfortable.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-BARTENDER>
<TELL
"\"He's going to be a lawyer, he said.\"" CR>)
(ELSE
<TELL
"\"I haven't any opinion.\"" CR>)>)>>
<ROUTINE G-OSTMANN (GARG)
<COND (<NOT .GARG> <IMOVEMENT ,OSTMANN G-OSTMANN>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL
'OSTMANN " is getting impatient, but is too polite to say so." CR>)
(<EQUAL? .GARG ,G-ENROUTE>
<C&D-SNUB>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<EQUAL? <LOC ,OSTMANN> ,BALLROOM-9>
<NEW-SCRIPT ,OSTMANN ,OSTMANN-LOOP>)>
<C&D-SNUB>)>>
<ROUTINE C&D-SNUB ()
<COND (<AND <IN? ,OSTMANN ,HERE>
<IN? ,COCHRANE ,HERE>>
<COND (,COCHRANE-LOOKS-FOR-OSTMANN?
<SETG COCHRANE-LOOKS-FOR-OSTMANN? <>>
<TELL
'COCHRANE " comes up behind " 'OSTMANN ". \"You've
got this coming!\" he yells, and takes a roundhouse swing at his nose. "
'OSTMANN " ducks and returns the blow with surprising skill, right to the
solar plexus. " 'COCHRANE " folds up like a house of cards, and drops to the
floor with a look of surprise and resentment.\"" CR>)
(ELSE
<TELL 'OSTMANN " and " D ,COCHRANE " are here, "
<PICK-ONE ,COCHRANE-VS-OSTMANN> CR>)>)>>
<GLOBAL COCHRANE-VS-OSTMANN
<LTABLE 0
"ostentatiously avoiding each other."
"arguing about something."
"trying to avoid each other."
"glaring at each other.">>
\
<OBJECT GLOBAL-BUTLER
(IN GLOBAL-OBJECTS)
(DESC "Smythe")
(SYNONYM SMYTHE BUTLER GORILLA)
(ADJECTIVE MR GEORGE)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 10)>
<OBJECT BUTLER
(IN HALLWAY-12)
(DESC "Smythe")
(SYNONYM SMYTHE BUTLER GORILLA)
(ADJECTIVE MR GEORGE)
(ACTION BUTLER-F)
(DESCFCN BUTLER-DESC-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 10)>
<ROUTINE BUTLER-DESC-F ("OPTIONAL" (RARG <>) "AUX" OBJ)
<TELL 'BUTLER " the butler">
<COND (,ENTANGLED?
<TELL
" appears to be tying his shoelaces with someone else's teeth, or
a similar contortion." CR>)
(<PRINT-CONTENTS ,BUTLER
", a gorilla of noble bearing, is carrying " ,GORILLA-COSTUME>
<TELL "." CR>)
(<IN? ,BUTLER ,EAST-COAT-CLOSET>
<TELL
" is straightening up some coats." CR>)
(<AND <NOT ,SLAPSTICK?>
<IN-MOTION? ,VERONICA>>
<TELL
" is helping a guest with his coat." CR>)
(ELSE
<TELL
", maintaining his regal bearing even though costumed as a
gorilla, waits nearby." CR>)>>
<ROUTINE BUTLER-F ()
<COND (<EQUAL? ,WINNER ,BUTLER>
<COND (,ENTANGLED?
<TELL 'BUTLER " is in no condition to talk now." CR>)
(<VERB? HELLO>
<TELL
"\"How do you do? A lovely evening, isn't it?\"" CR>)
(<VERB? GIVE>
<COND (<EQUAL? ,PRSO ,GLASS>
<TELL
"\"I'm sorry, but you might cut yourself. I propose to throw this
in the trash.\"" CR>)
(<EQUAL? ,PRSI ,PLAYER>
<MOVE ,PRSO ,PRSI>
<TELL
"\"If you insist,\" he replies, handing you ">
<TELL-PRSO>)
(ELSE
<TELL
"He politely refuses." CR>)>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
'BUTLER " looks at you calmly through the eyeholes of his gorilla suit." CR>)>)
(<VERB? EXAMINE>
<TELL
"George " 'BUTLER ", the butler, is resplendent in an all-over gorilla suit,
over which he is wearing his butler's uniform (up to and including white
gloves). The effect is striking, particularly when he speaks,
as " 'BUTLER " has a British accent." CR>)
(<VERB? DANCE>
<TELL
"\"I beg your pardon? I'm working, as you can see.\"" CR>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,BUTLER>
<TELL
"\"A tragedy.\" He seems to be genuinely saddened by the news." CR>)
(T
<TELL
"\"It is extremely improper of you to be conveying this news in such a
callous way.\"" CR>)>)
(<VERB? GIVE>
<COND (<EQUAL? ,PRSO ,YOUR-COAT ,ALICIA-COAT>
<MOVE ,PRSO ,BUTLER>
<NEW-SCRIPT ,BUTLER ,BUTLER-LOOP>
<COND (<IN? ,BUTLER ,HERE>
<COND (<NOT <EQUAL? ,WINNER ,PLAYER>>
<TELL
CD ,WINNER " gives " HIS/HER ,WINNER " coat to the butler." CR>)>
<TELL
"\"Thank you, I'll go hang it up. I believe you know your way to the
ballroom? It's down the long hall to the right. I hope you enjoy your
evening.\"" CR>)>)
(<EQUAL? ,PRSO ,GLASS>
<MOVE ,GLASS ,BUTLER>
<ESTABLISH-GOAL ,BUTLER ,KITCHEN T>
<TELL
"The butler takes it carefully. \"You could have cut yourself,\" he
comments." CR>)
(<IN? ,BUTLER ,HERE>
<TELL
"The butler politely refuses ">
<TELL-PRSO>)>
<RTRUE>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,BUTLER>>
<TELL 'BUTLER " ignores the question." CR>)>>
<GLOBAL NEW-ARRIVAL <>>
<ROUTINE G-BUTLER (GARG
"AUX" (NA <>) OW COAT (L <LOC ,BUTLER>) (FLG <>)
(HERE? <EQUAL? ,HERE .L>))
<SET OW ,WINNER>
<COND (<NOT .GARG> <IMOVEMENT ,BUTLER G-BUTLER>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL
"\"Pardon me,\" says " 'BUTLER ", \"but I have work to do.\"" CR>)
(<EQUAL? .GARG ,G-ENROUTE>
<COND (<NOT ,NEW-ARRIVAL>
<COND (<IN? ,ALICIA .L>
<SET NA ,ALICIA>
<SET COAT ,ALICIA-COAT>)
(<IN? ,DETECTIVE .L>
<SET NA ,DETECTIVE>
<SET COAT ,DETECTIVE-COAT>)
(<IN? ,DUFFY .L>
<SET NA ,DUFFY>
<SET COAT ,DUFFY-COAT>)
(<EQUAL? <META-LOC ,PLAYER> .L>
<SET NA ,PLAYER>
<SET COAT ,YOUR-COAT>)>
<COND (.NA
<COND (<AND <IN? .COAT .NA>
<NOT <FSET? .COAT ,RMUNGBIT>>>
<FSET .COAT ,RMUNGBIT>
<COND (.HERE?
<TELL
'BUTLER " says to ">
<COND (<EQUAL? .NA ,PLAYER>
<TELL "you">)
(ELSE <TELL D .NA>)>
<TELL
", \"If you would be so kind as to give me
your coat, I'll hang it up for you.\"" CR>)>
<COND (<NOT <EQUAL? .NA ,PLAYER>>
<SETG WINNER .NA>
<PERFORM ,V?GIVE
.COAT
,BUTLER>
<SETG WINNER .OW>)>)>
<RETURN .HERE?>)>
<COND (<AND <IN? ,GLASS ,BALLROOM-8>
<NOT <IN-MOTION? ,VERONICA>>>
<ESTABLISH-GOAL ,BUTLER ,BALLROOM-8 T>
<RFALSE>)>)>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<UNPRIORITIZE ,BUTLER>
<COND (<IN? ,BUTLER ,HALL>
<COND (,NEW-ARRIVAL
<SET FLG <NEW-ARRIVAL-STUFF ,BUTLER>>)
(<EQUAL? ,HERE ,HALL>
<SET FLG T>
<TELL
"The butler looks out the " 'FRONT-DOOR ", finds no one waiting, and resumes
his regular rounds." CR>)>
<NEW-SCRIPT ,BUTLER ,BUTLER-LOOP>
.FLG)
(<IN? ,BUTLER ,EAST-COAT-CLOSET>
<COND (<DUMP-COATS>
<COND (.HERE?
<TELL
'BUTLER " hangs the coat in the closet." CR>)>)>)
(<EQUAL? .L ,BALLROOM-8>
<COND (<IN? ,GLASS ,BALLROOM-8>
<MOVE ,GLASS ,BUTLER>
<ESTABLISH-GOAL ,BUTLER ,KITCHEN T>
<COND (<IN-BALLROOM? ,PLAYER>
<TELL
'BUTLER " unobtrusively sweeps up " THE ,GLASS "." CR>)>)>)
(<AND <EQUAL? .L ,KITCHEN>
<IN? ,GLASS ,BUTLER>>
<COND (<EQUAL? ,HERE ,KITCHEN>
<TELL 'BUTLER " dumps " THE ,GLASS " in ">)>
<COND (<IN? ,TRASH-BASKET ,KITCHEN>
<MOVE ,GLASS ,TRASH-BASKET>
<COND (<EQUAL? ,HERE ,KITCHEN>
<TELL THE ,TRASH-BASKET "." CR>)>)
(ELSE
<REMOVE ,GLASS>
<COND (<EQUAL? ,HERE ,KITCHEN>
<TELL "the garbage disposal." CR>)>)>)>)>>
<ROUTINE DUMP-COATS ("AUX" N X (ROBBED? <>))
<SET X <FIRST? ,BUTLER>>
<REPEAT ()
<COND (<NOT .X> <RETURN .ROBBED?>)>
<SET N <NEXT? .X>>
<COND (<AND <FSET? .X ,TAKEBIT>
<NOT <EQUAL? .X ,GLASS>>>
<MOVE .X ,EAST-COAT-CLOSET>
<FCLEAR .X ,NDESCBIT>
<SET ROBBED? .X>)>
<SET X .N>>>
<OBJECT TRASH-BASKET
(IN KITCHEN)
(SYNONYM BASKET TRASH TRASHBASKET)
(ADJECTIVE TRASH)
(FDESC "In the corner is a trash basket.")
(DESC "trash basket")
(ACTION TRASH-BASKET-F)
(CAPACITY 15)
(SIZE 15)
(FLAGS SEARCHBIT CONTBIT OPENBIT TAKEBIT BURNBIT)>
<ROUTINE TRASH-BASKET-F ()
<COND (<VERB? LOOK-INSIDE EXAMINE SEARCH>
<COND (<IN? ,GLASS ,TRASH-BASKET>
<TELL
"A " 'GLASS " is on top">)
(ELSE
<TELL
"It's nearly full">)>
<TELL " of uninteresting garbage">
<PRINT-CONTENTS ,TRASH-BASKET ", including " ,GLASS>
<TELL "." CR>)>>
\
<OBJECT GLOBAL-BARTENDER
(IN GLOBAL-OBJECTS)
(DESC "Johnson")
(SYNONYM JACK BARTENDER JOHNSON DOMINO)
(ADJECTIVE MR JACK)
(ACTION GLOBAL-PERSON-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 11)>
<OBJECT BARTENDER
(IN BALLROOM-9)
(DESC "Johnson")
(LDESC
"The bartender is busy behind the bar, his only concession to the party a
small domino mask.")
(SYNONYM JACK BARTENDER JOHNSON DOMINO)
(ADJECTIVE MR JACK)
(ACTION BARTENDER-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 11)>
<GLOBAL HEY-BARTENDER "\"Hello. What'll it be?\"">
<ROUTINE BARTENDER-F ("AUX" OW)
<SET OW ,WINNER>
<COND (<EQUAL? ,WINNER ,BARTENDER>
<COND (<VERB? HELLO>
<TELL ,HEY-BARTENDER CR>)
(<VERB? GIVE MAKE>
<COND (<NOT ,PRSI> <RFALSE>)
(<OR <EQUAL? ,PRSO ,DRINK ,GLOBAL-DRINK>
<EQUAL? ,PRSI ,DRINK ,GLOBAL-DRINK>>
<COND (<OR <EQUAL? ,PRSI ,ME ,PLAYER>
<EQUAL? ,PRSO ,ME ,PLAYER>>
<SETG DRINK-COUNT <+ ,DRINK-COUNT 1>>
<TELL "\"Sure.">
<COND (<IN? ,DRINK ,PLAYER>
<TELL
" Here, let me take your old one.">)>
<THIS-IS-IT ,DRINK>
<MOVE ,DRINK ,PLAYER>
<PUTP ,DRINK ,P?SIZE 10>
<COND (<G? ,DRINK-COUNT 3>
<TELL
" Don't you think you've had enough?\"" CR>)
(T
<TELL
"\" The bartender swiftly and efficiently mixes a drink, then hands it to
you." CR>)>)
(<OR <FSET? ,PRSO ,PERSON>
<FSET? ,PRSI ,PERSON>>
<TELL
"\"" ,YOU-SHOULD "let people order their own drinks.\"" CR>)
(ELSE
<TELL "\"Pardon?\"" CR>)>)
(ELSE
<TELL
"\"I'm afraid I can't make one of those.\"" CR>)>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
"\"Sorry, I've been hired to mix drinks and that's all I'll do.\"" CR>)>)
(<VERB? HELLO>
<TELL ,HEY-BARTENDER CR>)
(<VERB? TIP>
<TELL "\"Thanks.\"" CR>)
(<VERB? ASK-FOR>
<COND (<EQUAL? ,PRSI ,DRINK ,GLOBAL-DRINK>
<SETG WINNER ,BARTENDER>
<PERFORM ,V?GIVE ,DRINK ,PLAYER>
<SETG WINNER .OW>
<RTRUE>)
(T
<TELL
"\"I don't have that.\"" CR>)>)
(<AND <VERB? REVEAL> <EQUAL? ,PRSO ,GLOBAL-MURDER>>
<COND (<REVEAL-MURDER ,BARTENDER>
<TELL
"\"I hope I'll still get paid.\" He realizes that wasn't a very tactful
remark, and tries to recover. \"It's too bad.\"" CR>)
(ELSE
<TELL
"\"I know. You'd think it would quiet these people down, but it
hasn't.\"" CR>)>)
(<VERB? EXAMINE>
<TELL
"Jack Johnson, the bartender, is a well-barbered young man wearing a red
uniform and, as his only concession to the theme of the party, a simple
domino mask." CR>)
(<VERB? DANCE>
<TELL "\"Sorry, I'm on duty.\"" CR>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,BARTENDER>>
<COND (<EQUAL? ,PRSI ,DRINK ,GLOBAL-DRINK ,BAR>
<TELL
"\"I know a lot about drinks.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-MURDER>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"It certainly puts a damper on the evening for me, but no one else
seems too concerned.\"" CR>)
(T
<TELL
"\"What? What murder?\"" CR>)>)
(<EQUAL? ,PRSI ,PLAYER>
<TELL
"\"I'm interested in things like libel law, and the first amendment. We
should talk later, I'm sure your views are interesting.\"" CR>)
(<EQUAL? ,PRSI ,BARTENDER>
<TELL
"\"I'm Jack Johnson. I'm trying to pay some of my tuition by working
behind bars. Get it? Well, I get quite a view of mankind. It's good
practice, I'm going to be a lawyer.\"" CR>)
(<IN? ,PRSI ,HERE>
<TELL
"Glancing discreetly at the subject of the inquiry, Jack only smiles." CR>)
(<EQUAL? ,PRSI ,GLOBAL-MICHAEL>
<TELL
"\"Nice guy, sort of the hail-fellow-well-met type. Practically broke my hand
shaking it when I first came in. Likes a very dry martini, already had a
couple tonight. 'You want dry?' I told him. I pour the gin in, and then I
kinda wave the fumes from the vermouth over the glass. He thought that was
a good one...\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-VERONICA>
<TELL
"\"One of her friends told her about me. I worked a party over there a month
or so ago, so Ms. Ashcroft asks the agency for me
specifically. I can use the dough. Going to Law School, and it ain't cheap.\"
He looks significantly at the tip glass. \"Anyway, she had a Singapore Sling:
most of these women like a sweet drink.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-LINDA>
<TELL
"\"A knockout, isn't she? She actually drinks sloe
gin fizzes. I didn't think anybody over 21 could stand them.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-RICHARD>
<TELL
"\"He seems sort of beaten down. You see too many of them in
this business. Like they're carrying something too heavy.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COL-MARSTON>
<TELL
"\"A very distinguished gentleman, and he knows it. Of course, the fact
that he knows it spoils the whole effect.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-ALICIA>
<COND (,ALICIA-HERE?
<TELL
"\"Nice harem costume.\"" CR>)
(ELSE
<TELL "\"I haven't seen her.\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-SEN-ASHER>
<TELL
"\"The man's a true politician. Not even up for election for another four
years, and he's doing the whole campaign bit the first time he comes over
for a drink. Of course, I guess I'm the closest thing there is to the
public here, the average income in this room must be something. He told
me he's a teetotaler, too: ordered a soft drink. His father was an alcoholic
and the Senator could never bring himself to drink, remembering.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-COCHRANE>
<TELL
"\"That one? He'll be out before the night's over. Straight bourbon, no
ice, and beer chasers. I'm surprised he can stand up now. He's had three
already.\"" CR>)
(<EQUAL? ,PRSI ,GLOBAL-OSTMANN>
<COND (<FSET? ,PRSO ,TOLD>
<TELL
"\"He's taking " 'VERONICA "'s death hard. I wonder why.\"" CR>)
(ELSE
<TELL
"\"He's very pleased with himself, isn't he?\"" CR>)>)
(<EQUAL? ,PRSI ,GLOBAL-BUTLER>
<TELL
"\"He's been quite helpful. He obviously knows his job.\"" CR>)
(ELSE
<I-WOULDNT-KNOW>)>)>>
<ROUTINE I-WOULDNT-KNOW ()
<TELL
"\"I wouldn't know.\"" CR>>
<GLOBAL DRINK-COUNT 0>
<OBJECT DRINK
(SYNONYM DRINK LIQUOR REFILL)
(ADJECTIVE MIXED COLD)
(DESC "drink")
(FLAGS TAKEBIT DRINKBIT)
(SIZE 10)
(ACTION DRINK-F)>
<OBJECT GLOBAL-DRINK
(IN GLOBAL-OBJECTS)
(SYNONYM DRINK LIQUOR REFILL)
(ADJECTIVE MIXED COLD)
(DESC "drink")
(FLAGS DRINKBIT)
(SIZE 10)
(ACTION DRINK-F)>
<ROUTINE DRINK-F ("AUX" OW)
<SET OW ,WINNER>
<COND (<VERB? ASK-FOR>
<COND (<EQUAL? ,HERE ,BALLROOM-9>
<SETG WINNER ,BARTENDER>
<PERFORM ,V?GIVE ,DRINK .OW>
<SETG WINNER .OW>
<RTRUE>)
(ELSE
<TELL
"Drinks may be obtained at the bar." CR>)>)
(<VERB? THROW POUR-ON>
<PUTP ,PRSO ,P?SIZE 5>
<RFALSE>)
(<VERB? DRINK>
<COND (<NOT <EQUAL? ,PRSO ,DRINK>>
<TELL
"Perhaps you've had one too many already. There is no drink">
<TELL-HERE>)
(<EQUAL? <GETP ,DRINK ,P?SIZE> 5>
<TELL
"It's empty. If you want more, you'll need a refill." CR>)
(ELSE
<PUTP ,DRINK ,P?SIZE <- <GETP ,DRINK ,P?SIZE> 1>>
<TELL
"You sip the drink. It's cold and tasty, but perhaps a little stronger
than you would like." CR>)>)
(<VERB? TAKE>
<COND (<IN? ,DRINK ,PLAYER>
<TELL
"You already have one." CR>)
(<AND <EQUAL? ,HERE ,BALLROOM-9>
<NOT <IN? ,DRINK ,HERE>>>
<PERFORM ,V?ORDER ,DRINK>
<RTRUE>)>)>>
<ROUTINE G-BARTENDER (GARG)
<COND (<NOT .GARG> <IMOVEMENT ,BARTENDER G-BARTENDER>)>>
\
<OBJECT GLOBAL-DETECTIVE
(IN GLOBAL-OBJECTS)
(DESC "detective")
(SYNONYM DETECTIVE)
(FLAGS TRANSBIT PERSON THE)
(ACTION GLOBAL-PERSON-F)
(CHARACTER 12)>
<OBJECT DETECTIVE
(DESC "detective")
(SYNONYM DETECTIVE)
(ACTION DETECTIVE-F)
(DESCFCN DETECTIVE-DESC-F)
(CONTFCN DETECTIVE-F)
(FLAGS TRANSBIT PERSON THE SEARCHBIT)
(CHARACTER 12)>
<GLOBAL FROB <>>
<GLOBAL LAST-FROB <>>
<ROUTINE DETECTIVE-DESC-F ("OPTIONAL" (RARG <>))
<TELL CTHE ,DETECTIVE>
<COND (<EQUAL? <LOC ,DETECTIVE> ,BALLROOM-8 ,BALLROOM-9>
<TELL
" stands nearby, weighing evidence." CR>)
(<IN? ,DETECTIVE ,OFFICE>
<SETG LAST-FROB ,FROB>
<SETG FROB <PICK-ONE ,OFFICE-FROBS>>
<TELL " is examining " THE ,FROB "." CR>)
(ELSE
<TELL " is here">
<COND (<EQUAL? <META-LOC ,CORPSE> ,HERE>
<TELL ", examining " D ,CORPSE>)
(<AND <L? ,DETECTIVE-SEEN 5>
<OR ,DETECTIVE-SEEN-CORPSE?
,DETECTIVE-SEEN-ROPE?
,DETECTIVE-SEEN-BULLET?>>
<TELL
", eyeing you suspiciously">)>
<TELL "." CR>)>>
<GLOBAL OFFICE-FROBS
<LTABLE 0
LARGE-DESK
SMALL-DESK
FILE-CABINET
TELEPHONE
TRASH
OFFICE-JUNK
COMPUTER
DISK>>
<GLOBAL PLAYER-MOVED-BODY? <>>
<GLOBAL PLAYER-SEEN-WITH-BODY? <>>
<GLOBAL DETECTIVE-BEEN-TO-OFFICE? <>>
<GLOBAL DETECTIVE-SEEN-BULLET? <>>
<GLOBAL DETECTIVE-SEEN-BULLET-PRINTS? <>>
<GLOBAL DETECTIVE-SEEN-CORPSE? <>> ;"1"
<GLOBAL DETECTIVE-SEEN-ROPE? <>> ;"2 -- implicates player"
<GLOBAL DETECTIVE-SEEN-COAT? <>> ;"3 -- implicates Alicia"
<GLOBAL DETECTIVE-SEEN-GLASS? <>> ;"4 -- you suspect imposture"
<GLOBAL DETECTIVE-SEEN-HAIR? <>> ;"5 -- casts suspicion on Alicia"
<GLOBAL DETECTIVE-SEEN-CARD? <>> ;"6 -- casts suspicion on Cochrane"
<GLOBAL DETECTIVE-SEEN-AGREEMENT? <>> ;"7 -- casts suspicion on Cochrane"
<GLOBAL DETECTIVE-SEEN-TRUST-DOCUMENTS? <>> ;"8 -- implicates Marston"
<GLOBAL DETECTIVE-SEEN-LIST? <>> ;"9 -- implicates Marston and Michael"
<GLOBAL GLASS-ANALYZED? <>> ;"10 -- you suspect imposture"
<GLOBAL GLASS-ANALYZED-FOR-PRINTS? <>> ;"11 -- implicates Alicia as acc."
<GLOBAL DETECTIVE-TOLD-ABOUT-RAIN? <>> ;"12 -- Alicia was here early."
<CONSTANT DETECTIVE-CONVINCED 12> ;"should equal number of clues"
<GLOBAL DETECTIVE-SEEN 0>
<ROUTINE DETECTIVE-F ("AUX" OSEEN)
<COND (<EQUAL? ,WINNER ,DETECTIVE>
<COND (<AND <VERB? GIVE>
<EQUAL? ,PRSO ,DETECTIVE-COAT>
<EQUAL? ,PRSI ,BUTLER>>
<COND (<IN? ,BUTLER ,HERE>
<TELL
CTHE ,DETECTIVE " politely refuses to yield the trenchcoat." CR>)>
<RTRUE>)
(<AND <NOT ,DETECTIVE-BEEN-TO-OFFICE?>
<IN? ,DETECTIVE ,HERE>
<NOT <VERB? $DISCOVER $REVEAL>>>
<TELL
"\"Can't this wait until I've visited the scene of the crime?\"" CR>)
(<AND <VERB? LOOK-INSIDE>
<EQUAL? ,PRSO ,FAIRY-MASK>>
<COND (<IN? ,HAIR ,FAIRY-MASK>
<FCLEAR ,HAIR ,INVISIBLE>
<SETG WINNER ,PLAYER>
<PERFORM ,V?SHOW ,HAIR ,DETECTIVE>
<SETG WINNER ,DETECTIVE>
<RTRUE>)
(T
<TELL
"\"Yes, I'm looking... What's inside that's so interesting? I don't see
any blood or anything.\"" CR>)>)
(<VERB? ARREST ACCUSE>
<COND (<EQUAL? ,PRSI ,GLOBAL-EMBEZZLEMENT>
<TELL
"\"We'll worry about that after we've solved the murder, okay?\"" CR>)
(<EQUAL? ,PRSO ,OBJECT-PAIR>
<COND (<G? <GET ,P-PRSO ,P-MATCHLEN> 2>
<TELL
"\"Sure, why don't I just run them all in?\"" CR>)
(<AND <GETP <1 ,P-PRSO> ,P?CHARACTER>
<GETP <2 ,P-PRSO> ,P?CHARACTER>>
<ARREST <LOCALIZE <1 ,P-PRSO>>
<LOCALIZE <2 ,P-PRSO>>>)
(ELSE
<TELL
"\"Arrested development, that's what you've got.\"" CR>)>)
(<AND <GETP ,PRSO ,P?CHARACTER>
<NOT <EQUAL? ,PRSO
,VERONICA
,GLOBAL-VERONICA>>>
<COND (<G? ,DETECTIVE-SEEN 4>
<ARREST <LOCALIZE ,PRSO>>)
(ELSE
<TELL
"\"Whoa! Who's " THE ,DETECTIVE " here? If you can give me enough good reasons
to arrest someone, I might listen to you, but you haven't given me
enough!\"" CR>)>)
(ELSE
<TELL
"\"That's the silliest thing I've ever heard.\"" CR>)>)
(<VERB? ANALYZE>
<COND (<NOT <EQUAL? <META-LOC ,PRSO> ,HERE ,POLICE-LAB>>
<NOT-HERE ,PRSO>
<RTRUE>)
(<EQUAL? ,PRSO ,GLASS>
<CHECK-GLASS>)
(<EQUAL? ,PRSI ,GLOBAL-FINGERPRINTS>
<TELL
"\"I doubt we'll find any " 'GLOBAL-FINGERPRINTS " on " THE ,PRSO ".\"" CR>)
(<EQUAL? ,PRSO ,STAIN>
<TELL
CTHE ,DETECTIVE " reaches down and snips a small sample of stained cloth
from the costume." CR>
<CHECK-JUNK ,STAIN-SAMPLE>)
(<EQUAL? ,PRSO ,HAIR>
<COND (<IN? ,HAIR ,FAIRY-MASK>
<COND (<NOT ,DETECTIVE-SEEN-HAIR?>
<SETG DETECTIVE-SEEN-HAIR? T>
<SETG DETECTIVE-SEEN
<+ ,DETECTIVE-SEEN 1>>)>
<CHECK-JUNK ,HAIR>)
(T
<TELL
"\"What's the point of analyzing this hair after you've been fooling around
with it?\"" CR>)>)
(<EQUAL? ,PRSO ,FAIRY-MASK>
<CHECK-JUNK ,FAIRY-MASK>)
(<EQUAL? ,PRSO ,CORPSE>
<TELL
"\"I think I'll leave that to the coroner. For the moment, it's enough
that she's dead.\"" CR>)
(ELSE
<TELL
"\"I don't think an analysis of " THE ,PRSO " would reveal any useful
information.\"" CR>)>)
(<VERB? COMPARE>
<COND (<AND <OR <EQUAL? ,PRSO ,HAIR ,VERONICA-HAIR>
<EQUAL? ,PRSO ,ALICIA-HAIR ,LINDA-HAIR>>
<OR <EQUAL? ,PRSI ,HAIR ,VERONICA-HAIR>
<EQUAL? ,PRSI
,ALICIA-HAIR
,LINDA-HAIR>>>
<TELL
"The detective compares the hairs. \"These hairs are ">
<COND (<AND <EQUAL? ,PRSO ,PRSI ,HAIR>
<EQUAL? ,PRSI ,PRSO ,ALICIA-HAIR>>
<TELL "quite similar">)
(T
<TELL "not alike">)>
<TELL ".\"" CR>)
(T
<TELL
"\"How about apples and oranges?\"" CR>)>)
(<VERB? TELL ASK-ABOUT>
<TELL
"\"I'll ask the questions here.\"" CR>)
(<VERB? FIND>
<COND (<EQUAL? <META-LOC ,PRSO> ,HERE>
<TELL "\"Not too observant, are you?\"" CR>)
(ELSE
<TELL
"\"It would help if you told me where to look.\"" CR>)>)
(<OR <DONT-HANDLE?>
<VERB? FINGERPRINT>>
<RFALSE>)
(ELSE
<TELL
"\"I'm very busy. There's been a murder, in case you haven't noticed.\"" CR>)>)
(<VERB? PHONE>
<PERFORM ,V?PHONE ,POLICE>
<RTRUE>)
(<AND <VERB? EXAMINE> <EQUAL? ,PRSO ,DETECTIVE>>
<TELL
CTHE ,DETECTIVE " is quiet and intense, wearing a trenchcoat and a crumpled
hat. The trenchcoat and hat are still wet from the rain." CR>)
(<AND <VERB? SHOW GIVE> <EQUAL? ,PRSI ,DETECTIVE>>
<SET OSEEN ,DETECTIVE-SEEN>
<TELL CTHE ,DETECTIVE>
<COND (<EQUAL? ,PRSO ,CORPSE>
<TELL
" comes over.">)
(<NOT ,DETECTIVE-BEEN-TO-OFFICE?>
<TELL
" says, \"Can't this wait until I've visited the scene of the crime?\"" CR>
<RTRUE>)
(<IN? ,PRSO ,DETECTIVE>
<TELL
" looks at you strangely and then shows " THE ,PRSO " to you." CR>
<RTRUE>)
(<OR <EQUAL? ,PRSO ,GLASS-ANALYSIS ,HAIR-ANALYSIS>
<EQUAL? ,PRSO ,NULL-ANALYSIS ,STAIN-ANALYSIS>>
<MOVE ,PRSO ,DETECTIVE>
<TELL
" takes it back. \"Thanks, I hope you found it interesting.\"" CR>
<RTRUE>)
(<AND <EQUAL? ,PRSO ,HAIR>
<IN? ,HAIR ,FAIRY-MASK>>
<COND (<IN? ,FAIRY-MASK ,DETECTIVE>
<TELL
" looks inside the mask.">)
(ELSE
<FSET ,FAIRY-MASK ,TRYTAKEBIT>
<MOVE ,FAIRY-MASK ,DETECTIVE>
<TELL
" takes the mask, noting the hair as you point it out.">)>)
(<IN? ,PRSO ,FIREPLACE>
<MOVE ,PRSO ,DETECTIVE>
<TELL
" snatches it from the fireplace.">)
(<IN? ,PRSO ,GLOBAL-OBJECTS>
<TELL
" is confused. \"What are you trying to tell me about?\"" CR>
<RTRUE>)
(<OR <FSET? ,PRSO ,PERSON>
<GLOBAL-IN? ,PRSO ,HERE>
<NOT <FSET? ,PRSO ,TAKEBIT>>>
<TELL
" looks at " THE ,PRSO ".">)
(<AND <FSET? ,PRSO ,TRYTAKEBIT>
<NOT <EQUAL? ,PRSO ,GLASS ,BULLET ,FAIRY-MASK>>
<NOT <HELD? ,PRSO ,PLAYER>>>
<TELL
" says, \"Would you mind bringing it over?\"" CR>
<RTRUE>)
(<VERB? SHOW>
<MOVE ,PRSO ,DETECTIVE>
<FSET ,PRSO ,TRYTAKEBIT>
<TELL
" looks at " THE ,PRSO " for a moment, then takes it.">)
(ELSE
<MOVE ,PRSO ,DETECTIVE>
<FSET ,PRSO ,TRYTAKEBIT>
<TELL
" takes " THE ,PRSO ".">)>
<COND (<EQUAL? ,JUNK-COUNT 4>
<TELL
" \"Go away and stop bothering me!\"" CR>)
(<EQUAL? ,PRSO ,CORPSE>
<TELL " " CTHE ,DETECTIVE>
<COND (,DETECTIVE-SEEN-CORPSE?
<TELL
" looks at the corpse, and replies, \"Show me something
I haven't already seen!\"" CR>)
(ELSE
<SETG DETECTIVE-SEEN-CORPSE? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN>>
<TELL
" examines the body." CR>)>)
(<EQUAL? ,PRSO ,ROPE>
<TELL " " CTHE ,DETECTIVE " examines the rope">
<COND (<NOT ,DETECTIVE-SEEN-ROPE?>
<SETG DETECTIVE-SEEN-ROPE? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>
<TELL
" with interest">)>
<TELL "." CR>)
(<EQUAL? ,PRSO ,CARD>
<COND (,DETECTIVE-SEEN-CARD?
<TELL
" \"I've seen that already.\"" CR>)
(ELSE
<SETG DETECTIVE-SEEN-CARD? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>
<COND (,DETECTIVE-SEEN-AGREEMENT?
<TELL
" \"This certainly seems to implicate " 'COCHRANE ". He seems hot-headed
enough to commit murder, and the sale provides a motive.\"" CR>)
(ELSE
<TELL
" \"I wonder what this means? What was she doing that she might regret?
It certainly casts some suspicion on " 'COCHRANE ".\"" CR>)>)>)
(<OR <EQUAL? ,PRSO ,SALE-AGREEMENT>
<AND <EQUAL? ,PRSO ,SALE-FOLDER>
<IN? ,SALE-AGREEMENT ,SALE-FOLDER>>>
<COND (<NOT ,DETECTIVE-SEEN-AGREEMENT?>
<SETG DETECTIVE-SEEN-AGREEMENT? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>
<TELL
" \"If someone wanted to prevent this sale,
it might have been worth committing a murder to do. ">
<COND (,DETECTIVE-SEEN-CARD?
<TELL "Could it have been " 'COCHRANE>)
(T
<TELL "But
who could that have been">)>
<TELL "?\"" CR>)
(ELSE
<TELL
" \"Yes, I've seen that. Stop bothering me!\"" CR>)>)
(<EQUAL? ,PRSO ,ALICIA-COAT>
<COND (<NOT ,DETECTIVE-SEEN-COAT?>
<SETG DETECTIVE-SEEN-COAT? T>
<COND (<NOT ,DETECTIVE-TOLD-ABOUT-RAIN?>
<TELL
" \"I don't see the significance of this. It's been raining all night,
as far as I know. Everyone's coat is wet.\"" CR>)
(ELSE
<SETG DETECTIVE-SEEN
<+ ,DETECTIVE-SEEN 2>>
<TELL
" \"Hmm. When Alicia arrived it wasn't raining, and this coat is wet! She
must have really been outside during the rain.\"" CR>)>)
(ELSE
<TELL
" \"Yes, it's still wet.\"" CR>)>)
(<OR <EQUAL? ,PRSO ,TRUST-DOCUMENTS>
<AND <EQUAL? ,PRSO ,TRUST-FOLDER>
<IN? ,TRUST-DOCUMENTS ,TRUST-FOLDER>>>
<COND (<NOT ,DETECTIVE-SEEN-TRUST-DOCUMENTS?>
<SETG DETECTIVE-SEEN-TRUST-DOCUMENTS? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>
<FCLEAR ,TRUST-DOCUMENTS ,NDESCBIT>
<TELL
" \"Where did you get this? It's important!">
<COND (,DETECTIVE-SEEN-LIST?
<TELL
" This means that " 'MICHAEL " and " 'COL-MARSTON " were embezzling from the family
trust. And further, " 'VERONICA " knew it!">)>
<TELL "\"" CR>)
(ELSE
<TELL
" \"Don't you have anything new to show me?\"" CR>)>)
(<EQUAL? ,PRSO ,GLASS>
<COND (<NOT ,DETECTIVE-SEEN-GLASS?>
<TELL " ">
<CHECK-GLASS>)
(ELSE
<TELL
" \"It's the same glass, right?\"" CR>)>)
(<EQUAL? ,PRSO ,FAIRY-MASK>
<TELL
" \"What's so interesting about this mask?\"" CR>)
(<EQUAL? ,PRSO ,HAIR>
<COND (<AND <IN? ,HAIR ,FAIRY-MASK>
<NOT <FSET? ,HAIR ,INVISIBLE>>>
<COND (<NOT ,DETECTIVE-SEEN-HAIR?>
<SETG DETECTIVE-SEEN-HAIR? T>
<SETG DETECTIVE-SEEN
<+ ,DETECTIVE-SEEN 1>>
<TELL
" \"A " 'HAIR ", eh? " 'VERONICA "'s hair was blonde. How did a hair this color
get into this mask?\"" CR>)
(ELSE
<TELL
" \"Same old hair, eh?\"" CR>)>)
(ELSE
<TELL
" \"It looks like a hair. What is it supposed to prove? You're going to be
in deep trouble if you've been disturbing evidence!\"" CR>)>)
(<EQUAL? ,PRSO ,INVESTOR-LIST>
<COND (<NOT ,DETECTIVE-SEEN-LIST?>
<SETG DETECTIVE-SEEN-LIST? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>
<COND (,DETECTIVE-SEEN-TRUST-DOCUMENTS?
<TELL
" " CTHE ,DETECTIVE " reads the paper with growing excitement. \"This is it!
The motive I've been looking for!\"" CR>)
(ELSE
<TELL
" \"What's the significance of this? " 'COL-MARSTON " and " 'MICHAEL " were co-investors
in something?\"" CR>)>)
(ELSE
<TELL
" \"Seen it before.\"" CR>)>)
(ELSE
<SETG JUNK-COUNT <+ ,JUNK-COUNT 1>>
<TELL " " <GET ,JUNK-STRINGS ,JUNK-COUNT> CR>)>
<COND (<G? ,DETECTIVE-SEEN .OSEEN>
<GRAB-ATTENTION ,DETECTIVE>)>
<RTRUE>)
(<AND <VERB? TELL-ME> <EQUAL? ,PRSO ,DETECTIVE>>
<COND (<EQUAL? ,PRSI ,WEATHER>
<COND (,SAW-RAIN-SLACK-OFF?
<COND (<NOT ,DETECTIVE-TOLD-ABOUT-RAIN?>
<SETG DETECTIVE-TOLD-ABOUT-RAIN? T>
<COND (<NOT ,DETECTIVE-SEEN-COAT?>
<TELL
"You try to explain the significance of the rain, but " THE ,DETECTIVE " doesn't
understand what you're getting at." CR>)
(ELSE
<SETG DETECTIVE-SEEN
<+ ,DETECTIVE-SEEN 2>>
<TELL
CTHE ,DETECTIVE " listens as you explain how when Alicia arrived the rain was
falling very lightly, but that her overcoat was soaked, which is why you
turned it over to the authorities. " CTHE ,DETECTIVE " says, \"That may mean
she was here earlier when the rain was pelting down, that she didn't arrive
when she said she did.\"" CR>)>)
(T
<TELL
"\"You've already told me this.\"" CR>)>)
(T
<TELL
"You haven't seen anything significant about the weather, so you can't
tell " THE ,DETECTIVE " about it." CR>)>)
(<AND <EQUAL? ,PRSI ,BMW>
,DETECTIVE-SEEN-TRUST-DOCUMENTS?>
<TELL
"\"Ah! Either " 'MICHAEL " or someone with access to his keys must have
put the documents there.\"" CR>)
(ELSE
<TELL
CTHE ,DETECTIVE " doesn't seem very interested." CR>)>
<COND (<G? ,DETECTIVE-SEEN .OSEEN>
<GRAB-ATTENTION ,DETECTIVE>)>
<RTRUE>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,DETECTIVE>>
<COND (<EQUAL? ,PRSI ,DETECTIVE>
<TELL
"\"I'm a detective. That's all you need to know right now.\"" CR>)
(<EQUAL? ,PRSI ,DUFFY ,GLOBAL-DUFFY>
<TELL
"\"" 'DUFFY " is my assistant, and a finer public servant you're
unlikely to find.\"" CR>)
(ELSE
<TELL
"\"I don't reveal my methods, particularly to potential suspects.\"" CR>)>)
(<AND <VERB? TAKE> <IN? ,PRSO ,DETECTIVE>>
<TELL
"\"You can't have that. It's evidence.\"" CR>)
(<VERB? REPLY>
<TELL CTHE ,DETECTIVE " listens intently." CR>)
(<CAUGHT-WITH-BODY?>
<COND (<NOT ,DETECTIVE-SEEN-CORPSE?>
<SETG DETECTIVE-SEEN-CORPSE? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>)>
<I-START-ARREST>
<TELL
CTHE ,DETECTIVE " sees you carrying the body." CR>)>>
<GLOBAL JUNK-COUNT 0>
<GLOBAL JUNK-STRINGS <LTABLE
"\"Well, thank you, but I don't see what this has to do with the
case.\""
"\"Why are you trying to waste my time with this?\""
"\"If you keep this up, I'll have you up on 'obstruction of justice.'\""
"\"I refuse to be bothered with this idiocy! I have work to do!\"">>
<ROUTINE ITLL-WAIT ()
<TELL
"\"It will have to wait until " 'DUFFY " gets back from the lab.\"" CR>>
<ROUTINE CHECK-GLASS ()
<COND (<IN? ,DUFFY ,POLICE-LAB>
<ITLL-WAIT>
<RTRUE>)>
<COND (<NOT ,DETECTIVE-SEEN-GLASS?>
<SETG DETECTIVE-SEEN-GLASS? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>)>
<COND (<OR <AND ,GLASS-ANALYZED?
<NOT ,PRSI>>
<AND ,GLASS-ANALYZED-FOR-PRINTS?
<EQUAL? ,PRSI ,GLOBAL-FINGERPRINTS>>>
<TELL
"\"That's already been done.\"" CR>)
(ELSE
<COND (<NOT ,GLASS-ANALYZED?>
<SETG GLASS-ANALYZED? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>)>
<TELL-ANALYZE ,GLASS>
<COND (<EQUAL? ,PRSI ,GLOBAL-FINGERPRINTS>
<COND (<NOT ,GLASS-ANALYZED-FOR-PRINTS?>
<SETG GLASS-ANALYZED-FOR-PRINTS? T>
<COND (<NOT <FSET? ,GLASS ,TOUCHBIT>>
<SETG DETECTIVE-SEEN
<+ ,DETECTIVE-SEEN 1>>)>)>
<TELL " for " 'GLOBAL-FINGERPRINTS>)>
<DUFFY-TO-LAB ,GLASS>)>>
<ROUTINE CHECK-JUNK (OBJ)
<COND (<IN? ,DUFFY ,POLICE-LAB>
<ITLL-WAIT>
<RTRUE>)>
<TELL-ANALYZE .OBJ>
<DUFFY-TO-LAB .OBJ>>
<ROUTINE TELL-ANALYZE (OBJ)
<TELL
"\"" 'DUFFY ", analyze " THE .OBJ>>
<ROUTINE DUFFY-TO-LAB (OBJ "AUX" GT)
<TELL "!\" " 'DUFFY " ">
<COND (<NOT <IN? ,DUFFY ,HERE>>
<TELL "appears as if out of nowhere and ">)>
<TELL
"takes " THE .OBJ ". He seems to almost disappear. \"He's a fine
public servant,\" comments " THE ,DETECTIVE "." CR>
<SET GT <GET ,GOAL-TABLES ,DUFFY-C>>
<PUT .GT ,GOAL-ENABLE <>>
<PUT .GT ,ATTENTION 0>
<MOVE ,DUFFY ,POLICE-LAB>
<ENABLE <QUEUE I-DUFFY-RETURNS 20>>
<MOVE .OBJ ,POLICE-LAB>
<COND (<EQUAL? .OBJ ,GLASS>
<SET OBJ ,GLASS-ANALYSIS>
<COND (,GLASS-ANALYZED-FOR-PRINTS?
<COND (<FSET? ,GLASS ,TOUCHBIT>
<PUTP ,GLASS-ANALYSIS
,P?TEXT
,GLASS-ANALYSIS-Q>)
(ELSE
<FSET ,GLASS-ANALYSIS ,ALICIABIT>
<PUTP ,GLASS-ANALYSIS
,P?TEXT
,GLASS-ANALYSIS-P>)>)>)
(<EQUAL? .OBJ ,HAIR>
<SET OBJ ,HAIR-ANALYSIS>)
(<EQUAL? .OBJ ,MASK>
<SET OBJ ,MASK-ANALYSIS>)
(<EQUAL? .OBJ ,STAIN>
<SET OBJ ,STAIN-ANALYSIS>)
(ELSE
<SET OBJ ,NULL-ANALYSIS>)>
<MOVE .OBJ ,DUFFY>>
<ROUTINE I-DUFFY-RETURNS ("AUX" AOBJ GT PRIORITY FINAL)
<MOVE ,DUFFY <LOC ,DETECTIVE>>
<WHERE-UPDATE ,DUFFY <EQUAL? ,HERE <LOC ,DETECTIVE>>>
<SET GT <GET ,GOAL-TABLES ,DUFFY-C>>
<SET FINAL <GET .GT ,GOAL-F>>
<COND (<SET PRIORITY <GET .GT ,GOAL-QUEUED>>
<ESTABLISH-GOAL ,DUFFY .PRIORITY>)>
<ESTABLISH-GOAL ,DUFFY .FINAL .PRIORITY>
<PUT .GT ,GOAL-ENABLE T>
<COND (<SET AOBJ <FIRST? ,DUFFY>>
<COND (<IN? ,DETECTIVE ,HERE>
<MOVE .AOBJ ,PLAYER>
<TELL
'DUFFY " returns with the analysis. " CTHE ,DETECTIVE " reads it, then hands it
to you. It reads, omitting the irrelevant details:|
">
<TELL CR <GETP .AOBJ ,P?TEXT> CR>)
(ELSE
<FSET .AOBJ ,TOLD>
<MOVE .AOBJ ,DETECTIVE>
<RFALSE>)>)>>
<OBJECT HAIR-ANALYSIS
(SYNONYM ANALYSIS)
(ADJECTIVE HAIR)
(DESC "hair analysis")
(FLAGS TAKEBIT BURNBIT READBIT ALICIABIT)
(TEXT
"\"This hair was found entangled in the mesh inner lining of a masquerade
costume. The hair is a woman's. It is dark brown, of medium length, and has
not recently been dyed. It includes the root, and thus was not cut but
pulled out or fell out.\"")>
<OBJECT MASK-ANALYSIS
(SYNONYM ANALYSIS)
(ADJECTIVE MASK)
(DESC "mask analysis")
(FLAGS TAKEBIT BURNBIT READBIT)
(TEXT
"\"The mask was examined. There were small quantities of cosmetics
in positions consistent with the mask having recently been worn. Nothing
else of interest was discovered.\"")>
<OBJECT STAIN-ANALYSIS
(SYNONYM ANALYSIS)
(ADJECTIVE STAIN)
(DESC "stain analysis")
(FLAGS TAKEBIT BURNBIT READBIT)
(TEXT
"\"The stain was analyzed and discovered to consist of residue of
an alcoholic beverage known as a 'Singapore Sling.' The cloth is otherwise
unremarkable.\"")>
<OBJECT NULL-ANALYSIS
(SYNONYM ANALYSIS)
(ADJECTIVE IRRELEVANT)
(DESC "irrelevant analysis")
(FLAGS TAKEBIT BURNBIT READBIT AN)
(TEXT
"\"Nothing of relevance to the case was discovered.\"")>
<OBJECT GLASS-ANALYSIS
(SYNONYM ANALYSIS)
(ADJECTIVE BROKEN GLASS)
(DESC "glass analysis")
(FLAGS TAKEBIT BURNBIT READBIT)
(TEXT
"\"The glass was analyzed and discovered to be coated with the residue of
an alcoholic beverage known as a 'Singapore Sling.' The glass itself, of
which this is only a large fragment, appears to have been shattered by an
impact.\"")>
<GLOBAL GLASS-ANALYSIS-P
"\"The glass was analyzed for fingerprints. This was difficult as the
surface was covered with the sugary residue of an alcoholic beverage
known as a 'Singapore Sling.' However, partial prints were recovered from
a dry area. These were compared with prints of Veronica Ashcroft taken
by Sergeant Duffy at the beginning of his investigation. It is our conclusion
that the prints on the glass are not those of Veronica Ashcroft.\"">
<GLOBAL GLASS-ANALYSIS-Q
"\"The glass was analyzed for fingerprints. This was difficult as the
surface was covered with the sugary residue of an alcoholic beverage
known as a 'Singapore Sling.' There are several badly smudged partial
prints. However, it was impossible to reach any conclusions based on them.
We believe that someone handled the fragment after the prints were
deposited, resulting in the smudging.\"">
<OBJECT DETECTIVE-COAT
(IN DETECTIVE)
(DESC "trenchcoat")
(SYNONYM TRENCHCOAT COAT)
(FLAGS NDESCBIT)>
<ROUTINE TELL-RINGS ()
<TELL CTHE ,DETECTIVE " rings the doorbell, then stands
and waits." CR>>
<ROUTINE G-DETECTIVE (GARG "AUX" (L <LOC ,DETECTIVE>) (FLG <>))
<COND (<NOT .GARG> <IMOVEMENT ,DETECTIVE G-DETECTIVE>)
(<EQUAL? .GARG ,G-IMPATIENT>
<TELL
CTHE ,DETECTIVE " says, \"If you'll excuse me, I have an investigation
to conduct.\"" CR>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<AND <EQUAL? ,TARGET ,PLAYER>
<SET FLG
<PLAYER-ARRESTED? ,DETECTIVE .GARG>>>
<RTRUE>)>
<COND (<AND <IN? ,DETECTIVE ,HERE>
<LAB-RESULTS-TO-PLAYER .GARG>>
<SET GARG ,G-ALREADY>)>
<COND (<IN? ,DETECTIVE ,PORCH>
<SETG NEW-ARRIVAL ,DETECTIVE>
<ESTABLISH-GOAL ,BUTLER ,HALL T>
<COND (<EQUAL? ,HERE ,PORCH>
<COND (<NOT ,PLAYER-HIDING>
<TELL
CTHE ,DETECTIVE " looks you over suspiciously. No one said that a costume
party was in progress. ">)>
<TELL-RINGS>)
(<EQUAL? ,HERE ,CIRCLE>
<TELL-RINGS>)
(<NOT <OUTSIDE? ,HERE>>
<TELL
CTHE ,DOORBELL " has just rung." CR>)>
;<RTRUE>)
(<IN? ,DETECTIVE ,OFFICE>
<SETG DETECTIVE-BEEN-TO-OFFICE? T>)>
<COND (<DETECTIVE-FINDS-BODY? .GARG> <SET FLG T>)
(<GO-AFTER-BODY? ,DETECTIVE>
<COND (<IN? ,DETECTIVE ,HERE>
<TELL
CTHE ,DETECTIVE " makes a quick examination of the vicinity." CR>)>)
(<AND <EQUAL? .GARG ,G-REACHED>
<IN? ,DETECTIVE ,HERE>>
<TELL
CTHE ,DETECTIVE " stops, looks carefully around, and then begins a detailed
examination of the vicinity." CR>)>
<COND (<DETECTIVE-SEES-ROPE? .L>
<COND (<EQUAL? .L ,HERE>
<TELL
CTHE ,DETECTIVE " looks significantly at the rope. You catch a very suspicious
sidelong glance at your costume. You can almost hear the click of the lock
on a jail cell." CR>
<SET FLG T>)>)>
<COND (<IN? ,DETECTIVE ,BALLROOM-8>
<I-START-ARREST>)>
.FLG)
(<EQUAL? .GARG ,G-ENROUTE>
<COND (<EQUAL? ,TARGET ,PLAYER>
<PLAYER-ARRESTED? ,DETECTIVE .GARG>)
(<DETECTIVE-FINDS-BODY? .GARG> <RTRUE>)
(<IN? ,DETECTIVE ,HERE>
<LAB-RESULTS-TO-PLAYER>)>)>>
<ROUTINE DETECTIVE-SEES-ROPE? (L)
<COND (<AND <EQUAL? <META-LOC ,ROPE> .L>
<NOT ,DETECTIVE-SEEN-ROPE?>>
<SETG DETECTIVE-SEEN-ROPE? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>)>>
<ROUTINE DETECTIVE-FINDS-BODY? (GARG "AUX" (L <LOC ,DETECTIVE>)
(LC <LOC ,CORPSE>) (BULLET? <>))
<COND (<AND .LC
<EQUAL? <META-LOC ,CORPSE> .L>
<NOT ,DETECTIVE-SEEN-CORPSE?>>
<FSET ,DETECTIVE ,TOLD>
<SETG DETECTIVE-SEEN-CORPSE? T>
<SETG DETECTIVE-SEEN <+ ,DETECTIVE-SEEN 1>>
<OPEN-HIDING-PLACE>
<UNPRIORITIZE ,DETECTIVE>
<GOALS? ,DETECTIVE <>>
<ENABLE <QUEUE I-AMBULANCE 20>>
<COND (<AND <IN? ,DETECTIVE ,OFFICE>
<EQUAL? <LOC ,BULLET> ,CORPSE ,OFFICE>>
<SET BULLET? T>
<FCLEAR ,BULLET ,INVISIBLE>
<MOVE ,BULLET ,DETECTIVE>
<SETG DETECTIVE-SEEN-BULLET? T>
<COND (<FSET? ,BULLET ,RMUNGBIT>
<SETG DETECTIVE-SEEN-BULLET-PRINTS? T>)>)>
<COND (<AND <NOT <IN? ,DUFFY .L>>
<NOT <IN? ,DUFFY ,POLICE-LAB>>>
<ESTABLISH-GOAL ,DUFFY .L T>)>
<COND (<EQUAL? .L ,HERE>
<TELL CTHE ,DETECTIVE " ">
<COND (<EQUAL? .GARG ,G-REACHED>
<TELL "arrives and ">)>
<COND (<OR <IN? ,CORPSE ,PLAYER>
<IN? .LC ,PLAYER>>
<SETG TARGET ,PLAYER>
<TELL
"stops short, seeing you carrying the body." CR>
<DETECTIVE-SEES-ROPE? .L>
<RETURN <PLAYER-ARRESTED? ,DETECTIVE>>)
(<NOT <IN? .LC ,ROOMS>>
<COND (<IN? ,DUFFY .L>
<TELL
"with a nod to " 'DUFFY ", takes over.">)
(T
<TELL-COMES-UPON .LC>
<COND (<NOT <EQUAL? .LC ,CHAIR>>
<TELL
"With an air of anticipation, " THE ,DETECTIVE " looks inside. ">)>
<TELL-BODY-THERE>)>)
(ELSE
<TELL
"immediately notices the body.">)>
<COND (.BULLET?
<TELL
" Seeing a glint of silver, the detective stoops down and carefully
retrieves " A ,BULLET ".">)>
<COND (<AND <NOT <EQUAL? .L ,OFFICE>>
<NOT <IN? ,DUFFY .L>>>
<TELL
" \"" 'DUFFY ", come here, I want you!\"">)>
<TELL
" As first priority, " THE ,DETECTIVE " checks out the corpse. While you
watch, it is efficiently examined, touched, looked at, looked under,
fingerprinted, and so on." CR>)>)>>
<ROUTINE OPEN-HIDING-PLACE ("AUX" (L <LOC ,CORPSE>))
<COND (<OR <EQUAL? .L ,HAMPER ,WINDOW-SEAT ,MERCEDES-TRUNK>
<EQUAL? .L ,BMW-TRUNK>>
<FSET .L ,OPENBIT>
<COND (<IN? ,PLAYER .L>
<MOVE ,PLAYER ,HERE>)>)>>
<ROUTINE I-START-ARREST ()
<COND (<AND <G? ,DETECTIVE-SEEN 4>
<NOT ,PLAYER-SEEN-WITH-BODY?>>
<RFALSE>)
(<AND <OR ,DETECTIVE-SEEN-CORPSE?
,DUFFY-SEEN-CORPSE?>
<NOT <IN? ,DUFFY ,POLICE-LAB>>>
<SETG TARGET ,PLAYER>
<STALK-PLAYER ,DETECTIVE>
<STALK-PLAYER ,DUFFY>)
(ELSE
<ENABLE <QUEUE I-START-ARREST 10>>)>
<RFALSE>>
<ROUTINE STALK-PLAYER (WHO)
<COND (<DIR-FROM ,HERE <LOC .WHO>>
<MOVE .WHO ,HERE>
<PLAYER-ARRESTED? .WHO ,G-REACHED>)
(ELSE
<ESTABLISH-GOAL .WHO ,HERE>)>>
<ROUTINE LAB-RESULTS-TO-PLAYER ("OPTIONAL" (GARG ,G-ALREADY)
"AUX" F N (FIRST T))
<SET F <FIRST? ,DETECTIVE>>
<REPEAT ()
<COND (<NOT .F>
<RETURN <NOT .FIRST>>)>
<SET N <NEXT? .F>>
<COND (<FSET? .F ,TOLD>
<FCLEAR .F ,TOLD>
<MOVE .F ,PLAYER>
<COND (.FIRST
<SET FIRST <>>
<TELL
CTHE ,DETECTIVE>
<COND (<EQUAL? .GARG ,G-REACHED>
<TELL " comes up to you and">)>
<TELL " interrupts.">)>
<TELL CR
"\"">
<COND (<EQUAL? .F ,NULL-ANALYSIS>
<TELL "analysis">)
(T
<TELL CTHE .F>)>
<TELL
" is back from the lab. I thought you might be interested
in what it says.\" " CTHE ,DETECTIVE " hands it to you. It reads, omitting the
irrelevant details:|
" CR <GETP .F ,P?TEXT> CR>)>
<SET F .N>>>
<GLOBAL TARGET <>>
<ROUTINE TELL-ON-SCENE (WHO)
<TELL CD .WHO " arrives on the scene">>
<ROUTINE PLAYER-ARRESTED? (WHO "OPTIONAL" (GARG ,G-ALREADY))
<COND (<AND <G? ,DETECTIVE-SEEN 4>
<NOT ,PLAYER-SEEN-WITH-BODY?>>
<SETG TARGET <>>
<RFALSE>)
(<AND <EQUAL? .WHO ,DETECTIVE>
<IN? ,DETECTIVE ,HERE>>
<COND (,DUFFY-SNARFED
<TELL-ON-SCENE ,DETECTIVE>
<TELL ", surveys the situation, and says
\"Good work, Sergeant!\" " CTHE ,DETECTIVE " eyes you with satisfaction.
\"You're under arrest for the murder of " 'VERONICA " Ashcroft.\" The
standard warnings are given. " 'DUFFY>)
(ELSE
<FSET ,PLAYER ,TOLD>
<TELL CTHE ,DETECTIVE>
<COND (<NOT <EQUAL? .GARG ,G-ALREADY>>
<TELL
" sees you, approaches warily, and">)>
<TELL
" grabs you firmly by the wrist, and with a practiced twist,
slips the cuffs on you. \"You're under arrest for the murder of " 'VERONICA "
Ashcroft.\" The standard warnings are given. " 'DUFFY " appears, as
though out of nowhere, and">)>
<TELL " escorts you out to the waiting police car.
All your protests are ignored.|
|
In the subsequent trial, you are ">
<COND (<OR ,PLAYER-FOLLOWED-VERONICA?
,PLAYER-BEEN-TO-OFFICE?>
<TELL
"convicted of second degree murder. There was damning evidence, such as">)
(T
<TELL
"acquitted, in spite of">)>
<TELL " the fact that">
<COND (<AND ,DETECTIVE-BEEN-TO-OFFICE?
<NOT ,DETECTIVE-SEEN-ROPE?>>
<TELL " you attempted to hide the lariat which">)
(T
<TELL " your lariat">)>
<TELL " was the murder weapon">
<COND (,DETECTIVE-SEEN-BULLET?
<TELL
" and the bullet from your gunbelt">
<COND (,DETECTIVE-SEEN-BULLET-PRINTS?
<TELL
" (with both your " 'GLOBAL-FINGERPRINTS " and " 'VERONICA "'s on it)">)>
<TELL " was found near the
body">)>
<TELL ".">
<COND (,PLAYER-FOLLOWED-VERONICA?
<TELL
" Also, you were presumably the last person to see her alive, since you charged
off after her when she spilled her drink.">)>
<COND (,PLAYER-SEEN-WITH-BODY?
<TELL
" Of course, you were seen moving the body around after the murder.">)
(,PLAYER-MOVED-BODY?
<TELL
" Stupidly, you moved the body after the murder.">)>
<TELL " Finally, several guests testified against you as
a nosy and suspicious character." CR>
<TELL "|
However, " THE ,DETECTIVE " and " 'DUFFY ", nagged by doubt, continue the
investigation on their own time. Their brilliant detective work unravels
the tangled mess behind the murder. You are released, and as you leave
jail, you can't help but think that if you had been able to figure out
what was going on that night, you might have won yourself a Pulitzer
Prize by now." CR>
<FINISH>)
(<AND <EQUAL? .WHO ,DUFFY> <IN? ,DUFFY ,HERE>>
<COND (<NOT ,DUFFY-SNARFED>
<FSET ,PLAYER ,TOLD>
<SETG DUFFY-SNARFED T>
<PUT <GET ,GOAL-TABLES ,PLAYER-C> ,GOAL-S <>>
<PUT <GET ,GOAL-TABLES ,DUFFY-C> ,GOAL-ENABLE <>>
<ESTABLISH-GOAL ,DETECTIVE ,HERE>
<TELL 'DUFFY>
<COND (,PLAYER-HIDING
<TELL " immediately penetrates the
concealment of " THE ,PLAYER-HIDING ". He">
<SETG PLAYER-HIDING <>>)>
<COND (<NOT <EQUAL? <LOC ,PLAYER> ,HERE>>
<MOVE ,PLAYER ,HERE>)>
<TELL
" grabs you with a grip of iron. \"" CTHE ,DETECTIVE " would like
a word with you,\" he says." CR>)
(<OR <NOT <VERB? TELL>> ,PRSI>
<TELL
'DUFFY " maintains his iron grip as you wait apprehensively for
the arrival of " THE ,DETECTIVE "." CR>)>)
(ELSE
<I-START-ARREST>
<RFALSE>)>>
<GLOBAL DUFFY-SNARFED <>>
\
<OBJECT GLOBAL-DUFFY
(IN GLOBAL-OBJECTS)
(DESC "Sergeant Duffy")
(SYNONYM DUFFY)
(ADJECTIVE SGT SERGEANT)
(FLAGS TRANSBIT PERSON)
(ACTION GLOBAL-PERSON-F)
(CHARACTER 13)>
<OBJECT DUFFY
(DESC "Sergeant Duffy")
(SYNONYM DUFFY)
(ADJECTIVE SGT SERGEANT)
(ACTION DUFFY-F)
(DESCFCN DUFFY-DESC-F)
(FLAGS TRANSBIT PERSON)
(CHARACTER 13)>
<ROOM POLICE-LAB
(IN ROOMS)
(DESC "Police Laboratory")>
<ROUTINE DUFFY-DESC-F ("OPTIONAL" (RARG <>))
<TELL 'DUFFY>
<COND (,DUFFY-SNARFED
<TELL
" is here, his iron grip immobilizing you." CR>)
(<AND <IN? ,DUFFY ,OFFICE> ,LAST-FROB>
<TELL
" is carefully checking over " THE ,LAST-FROB
", making sure his boss has missed nothing." CR>)
(ELSE
<TELL
" waits nearby, ready to spring into action to serve his superior
officer." CR>)>>
<ROUTINE DUFFY-F ()
<COND (<EQUAL? ,WINNER ,DUFFY>
<COND (<AND <VERB? GIVE>
<EQUAL? ,PRSO ,DUFFY-COAT>
<EQUAL? ,PRSI ,BUTLER>>
<COND (<IN? ,BUTLER ,HERE>
<TELL
'DUFFY ", following the example of his boss, refuses to give up his
raincoat." CR>)>
<RTRUE>)
(<VERB? ANALYZE>
<TELL
"\"I perform analyses for " THE ,DETECTIVE ". If you want
something analyzed, that's how to do it.\"" CR>)
(<DONT-HANDLE?> <RFALSE>)
(ELSE
<TELL
'DUFFY " stands silently, intent upon his business, and ignores your
request. You realize that his devotion to duty is so strong that he
would be hard to distract." CR>)>)
(<VERB? PHONE>
<PERFORM ,V?PHONE ,POLICE>
<RTRUE>)
(<VERB? EXAMINE>
<TELL
'DUFFY " is of medium height, very non-descript, very attentive to
his boss, " THE ,DETECTIVE ". He is in uniform." CR>)
(<AND <VERB? ASK-ABOUT> <EQUAL? ,PRSO ,DUFFY>>
<TELL
"\"You'd have to ask " THE ,DETECTIVE ". His opinions are mine.\"" CR>)
(<VERB? SHOW>
<COND (<AND <EQUAL? ,PRSO ,CORPSE>
<EQUAL? ,PRSI ,DUFFY>>
<TELL
'DUFFY " approaches." CR>)
(T
<TELL
"\"Perhaps that would interest the detective.\"" CR>)>)
(<CAUGHT-WITH-BODY?>
<SETG DUFFY-SEEN-CORPSE? T>
<I-START-ARREST>
<TELL
'DUFFY " sees you carrying the body." CR>)>>
<ROUTINE CAUGHT-WITH-BODY? ()
<AND <VERB? $DISCOVER>
<EQUAL? ,PRSO ,CORPSE>
<IN? ,CORPSE ,PLAYER>>>
<OBJECT DUFFY-COAT
(IN DUFFY)
(DESC "raincoat")
(SYNONYM RAINCOAT COAT)
(ADJECTIVE TRANSPARENT)
(FLAGS NDESCBIT)>
<GLOBAL DUFFY-SEEN-CORPSE? <>>
<ROUTINE G-DUFFY (GARG "AUX" (FLG <>))
<COND (<NOT .GARG> <IMOVEMENT ,DUFFY G-DUFFY>)
(<AND <EQUAL? .GARG ,G-IMPATIENT>
<NOT ,DUFFY-SNARFED>>
<TELL
'DUFFY " says, \"I have work to do. Goodbye.\"" CR>)
(<EQUAL? .GARG ,G-REACHED ,G-ALREADY>
<COND (<AND <EQUAL? .GARG ,G-REACHED>
<IN? ,DUFFY ,HERE>>
<TELL-ON-SCENE ,DUFFY>
<TELL "." CR>
<SET FLG T>)>
<COND (<DUFFY-FINDS-BODY? .GARG> <RTRUE>)
(ELSE .FLG)>)
(<EQUAL? .GARG ,G-ENROUTE>
<DUFFY-FINDS-BODY? .GARG>)>>
<ROUTINE TELL-COMES-UPON (LC)
<TELL
"begins to search the room, and comes upon " THE .LC ". ">>
<ROUTINE TELL-BODY-THERE ()
<TELL
'VERONICA "'s body is there.">>
<ROUTINE DUFFY-FINDS-BODY? (GARG "AUX" (L <LOC ,DUFFY>) (LC <LOC ,CORPSE>))
<COND (<EQUAL? ,TARGET ,PLAYER>
<PLAYER-ARRESTED? ,DUFFY .GARG>)
(<AND .LC
<EQUAL? <META-LOC ,CORPSE> .L>
<NOT ,DUFFY-SEEN-CORPSE?>>
<FSET ,DUFFY ,TOLD>
<OPEN-HIDING-PLACE>
<SETG DUFFY-SEEN-CORPSE? T>
<UNPRIORITIZE ,DUFFY>
<GOALS? ,DUFFY <>>
<COND (<NOT <IN? ,DETECTIVE .L>>
<ESTABLISH-GOAL ,DETECTIVE .L T>)>
<COND (<EQUAL? .L ,HERE>
<COND (<OR <IN? ,CORPSE ,PLAYER>
<IN? .LC ,PLAYER>>
<I-START-ARREST>
<TELL
'DUFFY "'s eyes widen as he sees you brazenly carrying the corpse." CR>
<PLAYER-ARRESTED? ,DUFFY>
<RTRUE>)
(<NOT <IN? .LC ,ROOMS>>
<COND (<IN? ,DETECTIVE .L>
<TELL
"He begins to lend his assistance." CR>)
(T
<TELL 'DUFFY " ">
<TELL-COMES-UPON .LC>
<COND (<NOT <EQUAL? .LC ,CHAIR>>
<TELL
"He looks at it suspiciously for a moment, then looks inside. ">)>
<TELL "His eyes widen. ">
<TELL-BODY-THERE>
<CRLF>)>)
(ELSE
<COND (<EQUAL? .GARG ,G-REACHED>
<TELL "He immediately">)
(<TELL 'DUFFY " suddenly">)>
<TELL
" notices the body." CR>)>
<COND (<AND <NOT <EQUAL? .L ,OFFICE>>
<NOT <IN? ,DETECTIVE .L>>>
<TELL
"He blows a small police whistle several times. \"" 'VERONICA "'s
body is here!\" he yells." CR>)>
<TELL 'DUFFY>
<COND (<NOT ,DETECTIVE-SEEN-CORPSE?>
<TELL
" makes a preliminary examination of the corpse while
he waits for " THE ,DETECTIVE "." CR>)
(<IN? ,DETECTIVE .L>
<TELL
" examines the body, making a few comments to " THE ,DETECTIVE ",
who makes a few notes." CR>)
(ELSE
<TELL
" makes a few observations which he records in his notebook." CR>)>)>)
(.LC
<GO-AFTER-BODY? ,DUFFY>
<RFALSE>)>>
<ROUTINE GO-AFTER-BODY? (WHO)
<COND (<OR <NOT ,DETECTIVE-BEEN-TO-OFFICE?>
,DETECTIVE-SEEN-CORPSE?
,DUFFY-SEEN-CORPSE?
<LISTENING? .WHO>>
<RFALSE>)
(<OR <FSET? ,CORPSE ,RMUNGBIT>
,PLAYER-SEEN-WITH-BODY?
<PROB 25>>
<FSET ,CORPSE ,RMUNGBIT>
<ESTABLISH-GOAL .WHO <META-LOC ,CORPSE> T>
<RTRUE>)>>
<ROUTINE I-POLICE-ARRIVE ()
<MOVE ,DETECTIVE ,CIRCLE>
<MOVE ,DUFFY ,CIRCLE>
<MOVE ,POLICE-CAR ,CIRCLE>
<ESTABLISH-GOAL ,DETECTIVE ,PORCH>
<ESTABLISH-GOAL ,DUFFY ,PORCH>
<COND (<EQUAL? ,HERE ,PORCH ,CIRCLE>
<TELL
"Up the driveway speeds an unmarked police car with a detachable bubble
light blinking on its roof. It parks right in front of you
in the circle. The driver and a passenger emerge. The driver is wearing
a rain slicker under which you can see a uniform. The passenger is in
plain clothes, wearing a trenchcoat." CR>)
(ELSE
<TELL
"You hear the sound of a police siren approaching. It stops." CR>)>>
<ROUTINE I-AMBULANCE ("AUX" (L <META-LOC ,CORPSE>))
<COND (<NOT ,DETECTIVE-BEEN-TO-OFFICE?>
<NEW-SCRIPT ,DETECTIVE ,DETECTIVE-SCRIPT>
<NEW-SCRIPT ,DUFFY ,DUFFY-SCRIPT>)
(T
<GOALS? ,DETECTIVE T>
<COND (<NOT <IN? ,DUFFY ,POLICE-LAB>>
<GOALS? ,DUFFY T>)>)>
<FCLEAR ,ROPE ,NDESCBIT>
<REMOVE ,CORPSE>
<COND (<OR <EQUAL? ,HERE .L>
<EQUAL? ,HERE ,CIRCLE ,PORCH ,HALL>>
<TELL
"The ambulance has finally arrived, and the attendants remove the body on a
stretcher." CR>)>>
<OBJECT POLICE-CAR
(DESC "police car")
(SYNONYM CAR)
(ADJECTIVE POLICE)
(ACTION POLICE-CAR-F)
(FLAGS LOCKED WINDOWBIT DOORBIT)>
<ROUTINE POLICE-CAR-F ()
<COND (<VERB? LOOK-INSIDE>
<TELL
"You see the usual equipment that TV has led you to expect." CR>)>>
<OBJECT MASK
(IN PLAYER)
(DESC "western mask")
(SYNONYM MASK)
(ADJECTIVE MY COWBOY WESTERN)
(ACTION MASK-F)
(FLAGS WEARBIT TAKEBIT TRYTAKEBIT)>
<ROUTINE MASK-F ()
<COND (<VERB? TAKE-OFF>
<COND (<FSET? ,PRSO ,WEARBIT>
<FCLEAR ,PRSO ,WEARBIT>
<TELL
"You remove your mask, revealing your smiling face and twinkling eyes." CR>)
(T
<TELL ,ITS-ALREADY "off." CR>)>)
(<VERB? WEAR>
<COND (<FSET? ,PRSO ,WEARBIT>
<TELL ,ITS-ALREADY "on." CR>)
(T
<FSET ,PRSO ,WEARBIT>
<TELL "Okay." CR>)>)>>
<OBJECT SHEIK-COSTUME
(IN MICHAEL)
(SYNONYM COSTUME MASK)
(ADJECTIVE SHEIK MICHAEL)
(DESC "sheik costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT HAREM-COSTUME
(IN ALICIA)
(SYNONYM COSTUME MASK)
(ADJECTIVE HAREM ALICIA)
(DESC "harem costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT BALLERINA-COSTUME
(IN LINDA)
(SYNONYM COSTUME MASK)
(ADJECTIVE BALLERINA LINDA)
(DESC "ballerina costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT WEREWOLF-COSTUME
(IN RICHARD)
(SYNONYM COSTUME MASK)
(ADJECTIVE WEREWOLF RICHARD)
(DESC "werewolf costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT HARLEQUIN-COSTUME
(IN SEN-ASHER)
(SYNONYM COSTUME MASK)
(ADJECTIVE HARLEQUIN SEN ASHER)
(DESC "harlequin costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT EXPLORER-COSTUME
(IN COL-MARSTON)
(SYNONYM COSTUME MASK)
(ADJECTIVE EXPLORER HUNTER MARSTON)
(DESC "explorer costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT ASTRONAUT-COSTUME
(IN COCHRANE)
(SYNONYM COSTUME MASK)
(ADJECTIVE ASTRONAUT COCHRANE)
(DESC "astronaut costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT VAMPIRE-COSTUME
(IN OSTMANN)
(SYNONYM COSTUME MASK)
(ADJECTIVE VAMPIRE OSTMANN)
(DESC "vampire costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<OBJECT GORILLA-COSTUME
(IN BUTLER)
(SYNONYM COSTUME MASK)
(ADJECTIVE GORILLA BUTLER SMYTHE)
(DESC "gorilla costume")
(ACTION COSTUME-F)
(GENERIC GENERIC-STUFF-F)
(FLAGS NDESCBIT)>
<ROUTINE COSTUME-F ()
<COND (<VERB? EXAMINE>
<PERFORM ,V?EXAMINE <LOC ,PRSO>>
<RTRUE>)
(<VERB? TAKE LOOK-BEHIND LOOK-UNDER LOOK-INSIDE>
<PERFORM ,V?UNMASK <LOC ,PRSO>>
<RTRUE>)>>
"GENERICS: MASK, COSTUME, DOOR"
<ROUTINE GENERIC-STUFF-F (NAM)
<COND (<AND <EQUAL? .NAM ,W?COSTUME>
<EQUAL? <META-LOC ,FAIRY-COSTUME> ,HERE>>
,FAIRY-COSTUME)
(<AND <EQUAL? .NAM ,W?MASK>
<EQUAL? <META-LOC ,FAIRY-MASK> ,HERE>>
,FAIRY-MASK)
(T
<TELL-SPECIFIC>
,NOT-HERE-OBJECT)>>