witness/people.zil

1771 lines
63 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

"PEOPLE for WITNESS
Copyright (C) 1983 Infocom, Inc. All rights reserved."
"Necessary Flags"
<GLOBAL LOAD-MAX 100>
<GLOBAL LOAD-ALLOWED 100>
<OBJECT HIM-HER
(IN GLOBAL-OBJECTS)
(SYNONYM HE SHE HIM HER)
(DESC "him or her")
(FLAGS NDESCBIT)>
<OBJECT YOU
(IN GLOBAL-OBJECTS)
(SYNONYM YOURSELF HIMSELF HERSELF)
(DESC "himself or herself")
(FLAGS NDESCBIT)
(ACTION YOU-F)>
<ROUTINE YOU-F ()
<COND (<AND <VERB? ASK-ABOUT> <IOBJ? YOU>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSO>
<RTRUE>)
(<AND <VERB? TELL-ME> <IOBJ? YOU>>
<PERFORM ,V?TELL-ME ,PRSO ,WINNER>
<RTRUE>)>>
<OBJECT OBJECT-PAIR
(DESC "such things")
(ACTION OBJECT-PAIR-F)>
<ROUTINE OBJECT-PAIR-F ("AUX" P1 P2)
<COND (<L? 2 <GET ,P-PRSO ,P-MATCHLEN>>
<COND (<VERB? ARREST>
<TELL
"You think it over. You realize that this arrest is pretty far-fetched.
It could only mean humiliation for you." CR>)
(<VERB? COMPARE>
<TELL
"That's too many things to compare all at once!" CR>)>
<RTRUE>)
(<AND <VERB? ARREST> <NOT <FSET? ,CORPSE ,INVISIBLE>>>
<COND (<IN? <SET P1 <1 ,P-PRSO>> ,GLOBAL-OBJECTS>
<SET P1 <GET ,CHARACTER-TABLE <GETP .P1 ,P?CHARACTER>>>)>
<COND (<IN? <SET P2 <2 ,P-PRSO>> ,GLOBAL-OBJECTS>
<SET P2 <GET ,CHARACTER-TABLE <GETP .P2 ,P?CHARACTER>>>)>
<ARREST .P1 .P2>)
(<VERB? COMPARE>
<PERFORM ,PRSA <1 ,P-PRSO> <2 ,P-PRSO>>
<RTRUE>)>>
"People"
"Constants used as table offsets for each character, including the player:"
<CONSTANT PLAYER-C 0>
<CONSTANT PHONG-C 1>
<CONSTANT LINDER-C 2>
<CONSTANT STILES-C 3>
<CONSTANT MONICA-C 4>
<CONSTANT CAT-C 5>
<CONSTANT CHARACTER-MAX 5>
<GLOBAL CHARACTER-TABLE
<PTABLE PLAYER PHONG LINDER STILES MONICA CAT>>
<GLOBAL GLOBAL-CHARACTER-TABLE
<PTABLE PLAYER GLOBAL-PHONG GLOBAL-LINDER GLOBAL-STILES GLOBAL-MONICA
GLOBAL-CAT>>
<OBJECT PLAYER
(IN DRIVEWAY-GATE)
(DESC "detective")
(SYNONYM I ME MYSELF DETECTIVE)
(ACTION PLAYER-F)
(FLAGS NDESCBIT TRANSBIT)
(CHARACTER 0)>
<GLOBAL PLAYER-HIDING <>>
<ROUTINE PLAYER-F ()
<COND (<AND <VERB? SHOOT> <DOBJ? PLAYER>>
<TELL
"What, and let down the Police Department track-and-field team?!" CR>)
(<AND <NOT ,PLAYER-HIDING> <IN? <LOC ,PLAYER> ,ROOMS>>
<RFALSE>)
(<NOT ,PRSO>
<RFALSE>)
(<VERB? WALK>
<TOO-BAD-SIT-HIDE>)
(<AND ,PLAYER-HIDING
<VERB? $CALL TELL HELLO GOODBYE ASK-ABOUT ASK-FOR>>
<TOO-BAD-SIT-HIDE>)
(<NOT <STANDING-VERB?>>
<RFALSE>)
(<NOT <IN? ,PRSO ,WINNER>>
<COND (<AND <VERB? EXAMINE>
<NOT <==? ,P-ADVERB ,W?CAREFULLY>>
<OR ;<FSET? ,PRSO ,PERSON>
<DOBJ? CLOCK>
<==? ,OFFICE <LOC ,PRSO>>>>
<TELL
"You'd do a much better job if you stood up, but let's see..." CR>
<RFALSE>)
(<AND <IN? ,PLAYER ,CARVED-CHAIR>
<VERB? FIND PUSH RING>
<DOBJ? BUTTON OFFICE-BUTTON>>
<RFALSE>)
(<AND <VERB? TAKE> <DOBJ? HINT>>
<RFALSE>)
(T
<TOO-BAD-SIT-HIDE>)>)
(<NOT ,PRSI> <RFALSE>)
(<IN? ,PRSI ,WINNER> <RFALSE>)
(T
<TOO-BAD-SIT-HIDE>)>>
<ROUTINE STANDING-VERB? ()
<COND (<VERB? ATTACK BRUSH ;BURN CLOSE DRINK EAT ENTER EXAMINE
FINGERPRINT FOLLOW HANDCUFF HIDE-BEHIND
KICK KILL KISS KNOCK LOCK
LOOK-BEHIND LOOK-INSIDE LOOK-OUTSIDE LOOK-UNDER MAKE MOVE
MUNG OPEN PHONE PICK ;PLAY PUSH PUT PUT-UNDER
RAISE RAPE READ REVIVE RING RUB RUB-OVER
SEARCH SEARCH-OBJECT-FOR SIT SLAP SMELL
TAKE TAKEOUT THROUGH TIE-TO TIE-WITH
UNLOCK UNTIE USE WALK WALK-AROUND WALK-TO>
T)>>
<ROUTINE TOO-BAD-SIT-HIDE ()
<SETG P-CONT <>>
<COND (<NOT <IN? <LOC ,PLAYER> ,ROOMS>>
<COND (<VERB? SIT> <TELL "You're already sitting down." CR>)
(T <TELL
"You'd do a much better job if you stood up." CR>)>)
(,PLAYER-HIDING
<COND (<VERB? HIDE-BEHIND> <TELL "You're already hiding."CR>)
(T <TELL
"You can't do that while you're hiding." CR>)>)>>
<OBJECT PHONG
(IN KITCHEN)
(DESC "Mr. Phong")
(ADJECTIVE MR MISTER HUI ASIAN ORIENTAL)
(SYNONYM PHONG MAN)
(ACTION PHONG-F)
(DESCFCN PHONG-F)
(XDESC "Asian man")
(TEXT
"Phong's straight black hair and folded eyelids make him obviously
Asian, but no definite nationality. His open, almost gentle face holds a
quick smile and eyes that seem to miss nothing. He carries his stout
body lightly, but you can see great strength under his light shirt and
dark trousers. You guess his age at about fifty, but who knows how many
lifetimes of experience he carries?")
(FLAGS PERSON ;OPENBIT)
(CAPACITY 40)
(CHARACTER 1)>
<OBJECT PHONG-SHOES
(DESC "pair of Phong's shoes")
(IN PHONG)
(ADJECTIVE PHONG PHONGS ;PHONG\'S HIS)
(SYNONYM PAIR SHOE SHOES)
(FLAGS NDESCBIT)
(ACTION RANDOM-SHOES-F)>
<OBJECT GLOBAL-PHONG
(DESC "Mr. Phong")
(IN GLOBAL-OBJECTS)
(SYNONYM PHONG)
(ADJECTIVE MR MISTER HUI)
(FLAGS PERSON)
(ACTION GLOBAL-PERSON)
(CHARACTER 1)>
<GLOBAL PHONG-HAS-MOTIVE <>>
<GLOBAL PHONG-ADMITTED-HELPING? <>>
<ROUTINE PHONG-F ("OPTIONAL" (ARG <>) "AUX" OBJ (L <LOC ,PHONG>))
<COND (<==? .ARG ,M-OBJDESC>
<COND (<IN-MOTION? ,PHONG> <RTRUE>)
(<FSET? ,PHONG ,TOUCHBIT>
<COND (<AND <NOT <FSET? ,LINDER ,TOUCHBIT>>
<==? ,HERE <LOC ,LINDER>>>
<TELL CR
"\"Excuse me, sir,\" says Phong, \"but the detective has arrived.\"" CR CR>)
(<==? .L ,BUTLER-ROOM>
<TELL "Phong is lying on the bed, ">
<COND (<IN? ,RECURSIVE-BOOK ,PHONG>
<TELL "reading a book." CR>)
(T <TELL "meditating." CR>)>)
(<AND <==? .L ,KITCHEN> <L? ,PRESENT-TIME 710>>
<TELL "Phong is here, "
<GET ,KITCHEN-ACTIVITIES
<+ 1 </ <- ,PRESENT-TIME 480> 60>>> "." CR>)
(<AND <==? .L ,OFFICE> <IN? ,CORPSE ,OFFICE>
,PHONG-SEEN-CORPSE?>
<TELL "Phong is gazing out the window." CR>)
(<==? .L ,ENTRY>
<TELL "Phong is waiting for you to do something." CR>)
(T <TELL "Phong is here, "
<PICK-ONE ,PHONG-HERE> "." CR>)>)
(T
<FSET ,PHONG ,TOUCHBIT>
<TELL <GETP ,PHONG ,P?TEXT> CR>)>
<RTRUE>)
(<==? ,WINNER ,PHONG>
<COND (<AND <VERB? FIND>
<DOBJ? PHONG-KEYS>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?ASK-ABOUT ,PHONG ,PRSO>
<RTRUE>)
(<VERB? FIND THANKS> <RFALSE>)
(<VERB? SLAP>
<TELL "\"No, I must be careful about that.\"" CR>)
(<OR <AND <VERB? GIVE>
<DOBJ? PHONG-KEYS GENERIC-KEY GENERIC-GUN OUTSIDE-GUN>>
<AND <VERB? SGIVE>
<IOBJ? PHONG-KEYS GENERIC-KEY GENERIC-GUN OUTSIDE-GUN>>>
<TAKE-PHONG-KEYS>)
(<VERB? OPEN CLOSE LOCK UNLOCK>
<COND (<FSET? ,CORPSE ,INVISIBLE>
<TELL
"\"You'll have to ask Mr. Linder about that.\""CR>)
(<DOBJ? CLOCK ;GLOBAL-CLOCK>
<TELL "\"I don't have the key for the clock.\"" CR>)
(<AND <VERB? OPEN UNLOCK> <IN? ,PHONG-KEYS ,PHONG>>
<FCLEAR ,PRSO ,LOCKED>
<COND (<VERB? OPEN> <FSET ,PRSO ,OPENBIT>)>
<TELL "\"Okey.\"" CR>)
(<AND <VERB? CLOSE LOCK> <IN? ,PHONG-KEYS ,PHONG>>
<FCLEAR ,PRSO ,OPENBIT>
<COND (<VERB? LOCK> <FSET ,PRSO ,LOCKED>)>
<TELL "\"Okey.\"" CR>)>)
(<COM-CHECK ,PHONG> <RTRUE>)
(T <TELL <PICK-ONE ,WHY-ME> CR>)>)
(<VERB? ACCUSE>
<COND (<NOT ,PHONG-SEEN-CORPSE?>
<TELL
"\"What are you talking about?\" He looks frightened." CR>)
(<AND ,SIDE-FOOTPRINTS-MATCHED <FSET? ,GUN-RECEIPT ,TOUCHBIT>>
<SETG PHONG-ADMITTED-HELPING? T>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"It's true I helped set you up for deception with the guns. But only
because Mr. Linder asked me to! He said he wanted to frighten Stiles.
He wasn't supposed to be killed! Monica must have muffed it. Or else ...
could she ...?\" He looks confused and angry." CR>)
(,SIDE-FOOTPRINTS-MATCHED
<TELL
"\"I don't see why you're accusing me!" " Sure, I was in the yard, because "
"I thought I heard a
noise outside and went out to investigate."
" It's part of my job, you know.\""
CR>)
(<FSET? ,GUN-RECEIPT ,TOUCHBIT>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"I don't see why you're accusing me!" " You should ask Monica about those
guns.\"" CR>)
(T <TELL "\"You haven't a clue, and you know it!\"" CR>)>)
(<OR <AND ,PRSI <SET OBJ ,PRSI><VERB? ASK-ABOUT CONFRONT><DOBJ? PHONG>>
<AND ,PRSO <IN? ,PRSO ,GLOBAL-OBJECTS> <SET OBJ ,PRSO>
<VERB? FIND WHAT>>>
<COND (<NOT <GRAB-ATTENTION ,PHONG>> <RTRUE>)>
<SAID-TO ,PHONG>
<COND (<EQUAL? .OBJ ,BUTTON>
<TELL "\"That's my butler's button, of course.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-CAN-OF-WORMS>
<TELL
"\"I didn't think you had any interest in gardening! Those little babies
are the best thing for the clay soil around here. You can just order
them by mail and open them up when they arrive.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-GUN>
<TELL "\"I don't have one, if that's what you mean.\"" CR>)
(<EQUAL? .OBJ ,BLACK-WIRE>
<TELL
"\"Oh, Monica wired the house for butler's buttons.\"" CR>)
(<EQUAL? .OBJ ,WHITE-WIRE>
<TELL
"\"Oh, Monica wired the windows with burglar alarms.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-GREEN-WIRE ,GENERIC-WIRE>
<TELL
"\"There's wire all over the house. You'll have to ask Monica.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-KEY ,PHONG-KEYS>
<COND (<IN? ,PHONG-KEYS ,PHONG>
<TELL
"\"I have the keys for all the doors in the house.\"" CR>)
(T
<TELL
"\"Don't you remember? I gave you all the keys I have.\"" CR>)>)
(<EQUAL? .OBJ ,CLOCK-KEY>
<COND (<IN? ,CLOCK-KEY ,PLAYER>
<TELL
"\"That looks like the key to Mr. Linder's clock.\"" CR>)
(T <TELL
"\"There's only one key to Mr. Linder's clock. I think he keeps it in
the office somewhere.\"" CR>)>)
(<EQUAL? .OBJ ,GLOBAL-LINDER ,LINDER ,CORPSE>
<COND (<IN? ,LINDER ,HERE>
<TELL
"\"That man is a marvel. Always seems to have several deals going at
once. I don't know how he does it.\" Linder beams with self-pride." CR>)
(,PHONG-SEEN-CORPSE?
<SETG PHONG-HAS-MOTIVE ,CORPSE>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"Frankly, Detective, I can't say I" "'m sorry he's dead"
". He always promised me wealth here in America, but I've never seen it.
I could " "have managed" " the
Asian branch of his business if he'd let me. If I had any money, I'd quit
on the spot and return home.\"" CR>)
(T
<SETG PHONG-HAS-MOTIVE ,LINDER>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"Frankly, Detective, I can't say I" " like him much"
". He always promised me wealth here in America, but I've never seen it.
I could " "manage" " the
Asian branch of his business if he'd let me. If I had any money, I'd quit
on the spot and return home.\"" CR>)>)
(<EQUAL? .OBJ ,GLOBAL-MONICA ,MONICA>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"She's an intelligent girl. Mr. Linder is very proud of her, but I
think she acts too much like a man.">
<COND (,PHONG-SEEN-CORPSE?
<TELL " She really muffed it this time.">)>
<TELL "\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-AFFAIR ,GLOBAL-MRS-LINDER>
<DISCRETION ,PHONG ,LINDER>
<TELL
"\"If only Mr. Linder had been home more, he could have kept her in
line.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-PHONG ,PHONG>
;<DISCRETION ,PHONG ,LINDER>
<SETG PHONG-HAS-MOTIVE ,PHONG>
<TELL
"\"Mr. Linder brought me here from Asia, to help manage his business and
run his house. I guess I do more running than managing. If I can help you,
just push the button anywhere in the house.\"" CR>)
(<AND ,SHOT-FIRED <EQUAL? .OBJ ,GLOBAL-SHOT>>
<TELL
"\"I was in the kitchen and heard a sound like a gunshot, so I ran to the
office and found you and Mr. Linder. You were closer to it than I was.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-STILES ,STILES>
<DISCRETION ,PHONG ,LINDER>
<TELL
"\"He used to come around here now and then, when Mr. Linder was away. I
never thought much about it until the fighting between Mr. and Mrs. got
bad, just before Mrs. Linder passed on.\" He pauses. \"I think Mr. Linder
has been calling him on the telephone a lot lately.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-SUICIDE>
<SETG MONICA-HAS-MOTIVE ,PHONG>
<DISCRETION ,PHONG ,LINDER ,MONICA>
<TELL
"\"Everyone was sad about that. Mr. Linder just threw himself into his
work, as usual. Monica was terribly depressed, didn't even come out of
her room for a long time. I doubt she'll ever get over it.\"" CR>)
(<EQUAL? .OBJ ,WILL>
<COND (,PHONG-SEEN-CORPSE?
;<SETG PHONG-HAS-MOTIVE ,WILL>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"Mr. Linder probably kept it in his bank safe. I've never seen it.\"" CR>)
(T <TELL
"\"You'll have to ask Mr. Linder about that.\"" CR>)>)
(<EQUAL? .OBJ ,BROOM>
<TELL
"\"What can I tell you? That's a 'flathead broom,' invented by your
American Shakers, I believe.\"" CR>)
(<AND <EQUAL? .OBJ ,DOORBELL> ,PHONG-SEEN-CORPSE?>
<TELL
"He seems surprised. \"Uh, that was just some door-to-door salesman.\"" CR>)
(<EQUAL? .OBJ ,GUN-RECEIPT>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"Yes, I think Monica bought those, using some other name.\"" CR>)
(<EQUAL? .OBJ ,MATCHBOOK>
<TELL
"\"I've heard Mr. Linder mention that restaurant." " But I don't recognize
the phone number.\"" CR>)
(<EQUAL? .OBJ ,BRASS-LANTERN>
<TELL
"\"I've heard Mr. Linder mention that restaurant." "\"" CR>)
(<EQUAL? .OBJ ,MEDICAL-REPORT ,TUMOR>
<TELL
"Phong looks surprised but not alarmed. \"This is the first I've
heard of this.\"" CR>)
(<EQUAL? .OBJ ,MUDDY-SHOES>
<SETG SIDE-FOOTPRINTS-MATCHED T>
<TELL
"\"Those are my gardening boots. They're muddy because, while you were
in the office, " "I thought I heard a
noise outside and went out to investigate." "\"" CR>)
(<OR <EQUAL? .OBJ ,OFFICE-BUTTON ,CLOCK>
<EQUAL? .OBJ ,POWDER ,CLOCK-POWDER>>
<COND (,PLAYER-PUSHED-BUTTON
<SETG PHONG-ADMITTED-HELPING? T>
<DISCRETION ,PHONG ,MONICA>
<TELL
"\"I might as well tell you: Mr. Linder concocted this scheme to frighten
Stiles, and he got Monica and me to help him. But he was supposed to be
only wounded, not killed!\"" CR>
<RTRUE>)>
<COND (,PHONG-SEEN-CORPSE?
<TELL "Phong seems shaken, but all he says is, ">)>
<COND (<EQUAL? .OBJ ,OFFICE-BUTTON>
;<OR ,BUTTON-FIXED <NOT ,SHOT-FIRED>>
<TELL
"\"That's my butler's button, of course.\"" CR>)
(<EQUAL? .OBJ ,CLOCK>
;<OR ,BUTTON-FIXED <NOT ,SHOT-FIRED>>
<TELL
"\"Mr. Linder has a certain fondness for elaborate things like that.\"" CR>)
(T
<TELL
"\"If it's dust you're after, I plead guilty to plenty of it.\"" CR>)>)
(<EQUAL? .OBJ ,PIECE-OF-WIRE ,CLOCK-WIRES ,PIECE-OF-PUTTY>
<TELL "\"Oh, I guess that's part of the burglar alarm.\"" CR>)
(<EQUAL? .OBJ ,RECURSIVE-BOOK>
<TELL
"\"It's a mystery called 'Deadline.' Monica recommended it to me.\"" CR>)
(<EQUAL? .OBJ ,TELEGRAM>
<TELL
"\"Yes, that's the telegram Mr. Linder sent this morning.\"" CR>)
(<EQUAL? .OBJ ,THREAT-NOTE>
<COND (,PHONG-ADMITTED-HELPING?
<TELL
"\"Yes, now you know that Mr. Linder forged that note. Stiles didn't
send it to him.\"" CR>)
(T <TELL
"\"Yes, that's the note that Stiles sent to Mr. Linder.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-CAR ,FILE-CABINET>
<TELL
"\"That has nothing to do with why Mr. Linder asked you here.\"" CR>)
(T <TELL
"\"I'm sorry, Detective, but I can't help you.\"" CR>)>)>)
(<AND <DOBJ? PHONG> <VERB? HELP>>
<TELL
"Phong looks offended. \"I'm quite capable by myself, you know.\"" CR>)
(<AND <DOBJ? PHONG> <VERB? RUB>>
<PHONG-FIGHTS>)
(<AND <DOBJ? PHONG> <VERB? ASK-FOR>>
<FSET ,PHONG ,TOUCHBIT>
<COND (<IOBJ? GENERIC-KEY PHONG-KEYS GENERIC-GUN OUTSIDE-GUN>
<PERFORM ,V?ASK-ABOUT ,PHONG ,PRSI>
<RTRUE>)
(T <RFALSE>)>)
(<AND <DOBJ? PHONG> <VERB? SEARCH SEARCH-OBJECT-FOR>>
<COND (<IN? ,OUTSIDE-GUN ,PHONG>
<PHONG-FIGHTS>)
(<AND <IN? ,PHONG-KEYS ,PHONG>
<OR <VERB? SEARCH>
<AND <VERB? SEARCH-OBJECT-FOR>
<IOBJ? PHONG-KEYS GENERIC-KEY>>>>
<MOVE ,PHONG-KEYS ,PLAYER>
<FCLEAR ,PHONG-KEYS ,NDESCBIT>
<TELL
"You find a " D ,PHONG-KEYS " in Phong's pocket and take it." CR> ;"? better")
(T <RFALSE>)>)
(<AND <DOBJ? PHONG> <VERB? SHOW>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI>
<RTRUE>)
(<AND <VERB? TAKE>
<DOBJ? PHONG-KEYS GENERIC-KEY GENERIC-GUN OUTSIDE-GUN>
;<IOBJ? PHONG>>
<TAKE-PHONG-KEYS>)
(<AND <VERB? TAKEOUT> ;"TAKE PHONG OUTSIDE"
<IOBJ? OFFICE-BACK-DOOR MONICA-BACK-DOOR LINDER-BACK-DOOR>>
<PHONG-FIGHTS>)
(<VERB? ARREST> <ARREST ,PHONG>)>>
<ROUTINE PHONG-FIGHTS ()
<TELL
"Phong's smile disappears and his body shifts subtly toward a fighting
stance. \"I don't think you really want to try that, Detective.\"" CR>>
<ROUTINE TAKE-PHONG-KEYS ()
<COND (,PHONG-SEEN-CORPSE?
<MOVE ,PHONG-KEYS ,PLAYER>
<FCLEAR ,PHONG-KEYS ,NDESCBIT>
<TELL
"\"Here, you may as well take them. I don't see how Mr. Linder can
object now.\"" CR>)
(T <TELL
"\"I don't think Mr. Linder would like that.\"" CR>)>>
<GLOBAL PHONG-HERE
<PLTABLE "tidying up" ;" as usual"
"looking imperturbable">>
<GLOBAL KITCHEN-ACTIVITIES
<PLTABLE "washing dishes"
"opening a can of worms"
"smoking a cigarette" ;"polishing the silver"
"making pickles">>
<OBJECT LINDER
(IN LIVING-ROOM)
(DESC "Mr. Linder")
(ADJECTIVE MISTER MR FREEMAN YOUR HER TALL)
(SYNONYM LINDER FATHER DAD MAN)
(FLAGS PERSON ;OPENBIT)
(CAPACITY 40)
(ACTION LINDER-F)
(DESCFCN LINDER-F)
(XDESC "tall man")
(TEXT
"Linder stands at least six foot, with a powerful frame but quick actions,
like a cat. His eyeglasses sit on top of his head, where thin strands
of long black hair go here and there, mostly combed backward. His
wide-set hazel eyes size you up quickly from within their pouches in his
ruddy face. He wears a silk peach-colored Mandarin shirt and chocolate
trousers, impeccably tailored and laundered, but sweat gleams on his
high forehead, and he looks as though he hasn't slept much lately.")
(CHARACTER 2)>
<OBJECT LINDER-SHOES
(DESC "pair of Linder's shoes")
(IN LINDER)
(ADJECTIVE LINDER HIS)
(SYNONYM PAIR SHOE SHOES)
(FLAGS NDESCBIT)
(ACTION RANDOM-SHOES-F)>
<OBJECT GLOBAL-LINDER
(IN GLOBAL-OBJECTS)
(DESC "Mr. Linder")
(ADJECTIVE MISTER MR FREEMAN YOUR HER)
(SYNONYM LINDER FATHER DAD)
(FLAGS PERSON)
(ACTION GLOBAL-PERSON)
(CHARACTER 2)>
<ROUTINE LINDER-F ("OPTIONAL" (ARG <>) "AUX" OBJ (L <LOC ,LINDER>))
<COND (<==? .ARG ,M-OBJDESC>
<COND (<IN-MOTION? ,LINDER> <RTRUE>)
(<FSET? ,LINDER ,TOUCHBIT>
<COND (<AND <IN? ,LINDER ,HERE> <IN? ,HERE ,ROOMS>>
<TELL "Linder is pacing back and forth." CR>)
(T <TELL
"Linder is sitting on the " D <LOC ,LINDER> "." CR>)>)
(T
<FSET ,LINDER ,TOUCHBIT>
<TELL <GETP ,LINDER ,P?TEXT> CR>)>
<RTRUE>)
(<==? ,WINNER ,LINDER>
<COND (<AND <VERB? FIND>
<DOBJ? GUN-RECEIPT>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?ASK-ABOUT ,LINDER ,PRSO>
<RTRUE>)
(<VERB? FIND THANKS> <RFALSE>)
(<OR <AND <VERB? GIVE> <DOBJ? DRINK>>
<AND <VERB? SGIVE><IOBJ? DRINK>>>
<RFALSE>)
(<AND <VERB? PUSH> <DOBJ? OFFICE-BUTTON>>
<TELL "\"I don't need Phong yet.\"" CR>)
(<VERB? TIME>
<TELL "Linder looks at his wrist watch and says, \"I have ">
<TIME-PRINT ,PRESENT-TIME>
<TELL "\"" CR>)
(<COM-CHECK ,LINDER> <RTRUE>)
(T <TELL "\"Don't tell me what to do!\"" CR>)>)
(<OR <AND ,PRSO <IN? ,PRSO ,GLOBAL-OBJECTS> <SET OBJ ,PRSO>
<VERB? FIND WHAT>>
<AND ,PRSI <SET OBJ ,PRSI><DOBJ? LINDER><VERB? CONFRONT ASK-ABOUT>>>
<COND (<NOT <GRAB-ATTENTION ,LINDER>> <RTRUE>)>
<SAID-TO ,LINDER>
<COND (<EQUAL? .OBJ ,BUTTON>
<TELL "\"That's the butler's button, of course.\"" CR>)
(<EQUAL? .OBJ ,BLACK-WIRE>
<TELL
"\"Yes, Monica wired " "the whole house for butler's buttons."
" With all modesty, I think she's quite a mechanic.\"" CR>)
(<EQUAL? .OBJ ,WHITE-WIRE>
<TELL
"\"Yes, Monica wired " "all the windows for burglars."
" With all modesty, I think she's quite a mechanic.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-GREEN-WIRE ,GENERIC-WIRE>
<TELL
"\"That's Monica's territory. I don't interfere.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-CALL>
<TELL
"\"What phone call? I haven't talked with Stiles since my wife's death.
I'm really afraid he wants to do me in.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-KEY>
<TELL "\"Phong keeps the house keys for me.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-LINDER ,LINDER>
<TELL
"\"You've probably read about me in the papers. In fact they just published
something about me when I won that award. And I've heard lots about you.
That's why I asked you here.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-AFFAIR ,GLOBAL-MRS-LINDER ,GLOBAL-SUICIDE>
<TELL
"\"It's still too painful for me to talk about, I'm afraid.\"" CR>)
(<EQUAL? .OBJ ,MONEY>
<TELL
"\"Money?! I asked you here to prevent a crime. I hope you're not thinking
of some outlandish fee!\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-MONICA ,MONICA>
<TELL
"\"She's a loyal and intelligent girl. I'm very proud of her.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-PHONG ,PHONG>
<TELL
"\"He and I go back a long time. Met in Asia, you know. And since I
spend as much time there as here, he takes care of the house for me.
A fine fellow, and I trust him implicitly.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-STILES ,STILES ,DANGER>
<COND (<FSET? ,THREAT-NOTE ,TOUCHBIT>
<TELL
"\"All I know about Stiles is that he's a writer of some kind, and
sometimes he plays bit parts in films. I've never really met the man.\"" CR>)
(<==? ,HERE ,OFFICE>
<I-LINDER-EXPLAIN>
<RTRUE>)
(T <TELL
"\"I'll explain all that shortly, after I finish this drink.\"" CR>)>)
(<EQUAL? .OBJ ,PLAYER>
<TELL
"\"My friend Klutz, the Police Chief, recommended you to me.\"" CR>)
(<OR <EQUAL? .OBJ ,GENERIC-CAR ,GENERIC-GUN>
<EQUAL? .OBJ ,GLOBAL-PTA ,WILL>>
<TELL
"\"That has nothing to do with why I asked you here.\"" CR>)
(<EQUAL? .OBJ ,BROOM>
<TELL
"\"Oh, Phong must have left it there after cleaning up.\"" CR>)
(<EQUAL? .OBJ ,CARVED-CHAIR>
<TELL
"\"I found that in an obscure but wealthy estate in Asia during the war
and brought it home as booty. Sitting in it makes me feel like an
'Oriental Potentate.'\"" CR>)
(<EQUAL? .OBJ ,CAT>
<TELL
"\"She's Monica's cat. You'd do better to ask her.\"" CR>)
(<EQUAL? .OBJ ,CLOCK>
<TELL
"\"I've always admired elaborate machines, and that's the finest example
I could hope to own.\"" CR>)
(<EQUAL? .OBJ ,GUN-RECEIPT>
<TELL
"\"I didn't ask you here so you could search the house!\"" CR>)
(<EQUAL? .OBJ ,MATCHBOOK ,BRASS-LANTERN>
<DISCRETION ,LINDER ,PHONG>
<TELL
"\"I think Phong goes there sometimes. I've never been there myself.\"
He almost flinched before answering, but now he's as smooth as ever." CR>)
(<EQUAL? .OBJ ,MEDICAL-REPORT ,TUMOR>
<COND (,LINDER-SAW-MEDICAL-REPORT
<TELL
"\"I already told you that I haven't seen it before.\"" CR>)
(T <TELL
"Linder looks surprised and a bit alarmed. \"This is the first I've
heard of this. I don't know why my doctor didn't tell me about it.\"" CR>)>
<SETG LINDER-SAW-MEDICAL-REPORT T>)
(<EQUAL? .OBJ ,OFFICE-BUTTON>
<TELL "\"That's the butler's button, of course.\"" CR>)
(<EQUAL? .OBJ ,PAPERS ,FILE-CABINET>
<TELL
"\"I wish you wouldn't meddle in my files while we're trying to talk.\"" CR>)
(<EQUAL? .OBJ ,PIECE-OF-WIRE ,CLOCK-WIRES ,PIECE-OF-PUTTY>
<TELL "\"Oh, uh, that's part of the burglar alarm.\"" CR>)
(<EQUAL? .OBJ ,TELEGRAM>
<TELL "\"Yes, that's the telegram I sent this morning.\"" CR>)
(<EQUAL? .OBJ ,THREAT-NOTE>
<TELL "\"Yes, that's the note that Stiles sent to me.\"" CR>)
(T <TELL <PICK-ONE ,LINDER-ASKED> CR>)>)
(<AND <DOBJ? LINDER> <VERB? RUB>>
<TELL
"Linder looks bewildered, almost alarmed. \"Whatever do you have in mind?\""
CR>)
(<AND <DOBJ? LINDER> <VERB? SHOW>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI>
<RTRUE>)
(<AND <DOBJ? LINDER> <VERB? TURN-UP>> ;"SHUT UP"
<TELL "Many have tried, but none has succeeded." CR>)
(<AND <VERB? TAKEOUT> ;"TAKE LINDER OUTSIDE"
<IOBJ? OFFICE-BACK-DOOR MONICA-BACK-DOOR LINDER-BACK-DOOR>>
<TELL "Many have tried, but none has succeeded." CR>)
(<VERB? ARREST> <ARREST ,LINDER>)>>
<GLOBAL LINDER-ASKED
<PLTABLE "\"I can't help you there.\""
"\"That has nothing to do with why I asked you here.\"">>
<OBJECT STILES
(DESC "Mr. Stiles")
(ADJECTIVE MR RALPH)
(SYNONYM STILES MAN VISITOR ;WRITER STRANGER)
(FLAGS PERSON ;OPENBIT)
(CAPACITY 40)
(ACTION STILES-F)
(DESCFCN STILES-F)
(XDESC "visitor")
(TEXT
"The young man looks you straight in the eye but says nothing. He looks like a
gigolo trying to imitate a university professor. His blond wavy hair
almost sparkles, like Pacific surf at night, but his recent panic has
left it dangling to one side. His hot blue eyes reveal his curiosity and
uncertainty about you.")
(CHARACTER 3)>
<OBJECT GLOBAL-STILES
(IN GLOBAL-OBJECTS)
(DESC "Mr. Stiles")
(ADJECTIVE MR RALPH)
(SYNONYM STILES VISITOR WRITER STRANGER)
(FLAGS PERSON)
(ACTION GLOBAL-PERSON)
(CHARACTER 3)>
<ROUTINE STILES-F ("OPTIONAL" (ARG <>) "AUX" OBJ (L <LOC ,STILES>))
<COND (<==? .ARG ,M-OBJDESC>
<COND (<EQUAL? .L ,OFFICE-PORCH ,OFFICE-PATH>
<COND (<IN-MOTION? ,STILES> <RTRUE>)
(<FSET? ,STILES ,TOUCHBIT>
<TELL"Stiles is waiting for you to say something."CR>)
(T <TELL "The visitor is in a hurry." CR>)>)
(<IN-MOTION? ,STILES>
<TELL
"Sgt. Duffy is leading Stiles by the handcuffs." CR>)
(,MET-STILES?
<COND (<L? ,PRESENT-TIME %<* 13 60>>
<TELL
"Stiles is fastened to the davenport, " "looking sullen." CR>)
(T
<TELL
"Stiles is fastened to the davenport, "
"yawning and trying not to doze off." CR>)>)
(T
;<FSET ,STILES ,TOUCHBIT>
<TELL
"Sgt. Duffy is holding a prisoner by the arm." CR>
<TELL <GETP ,STILES ,P?TEXT> CR>)>
<RTRUE>)
(<==? ,WINNER ,STILES>
<COND (<AND ,TOO-LATE <VERB? FIND> <NOT <DOBJ? PLAYER>>>
<TELL "\"I wouldn't tell you even if I knew.\"" CR>)
(<AND ,TOO-LATE <VERB? INVENTORY>>
<TELL "\"I've never seen you before.\"" CR>)
(<VERB? FIND THANKS> <RFALSE>)
(<COM-CHECK ,STILES> <RTRUE>)
(T <TELL <PICK-ONE ,WHY-ME> CR>)>)
(<OR <AND ,PRSI<SET OBJ ,PRSI><DOBJ? STILES><VERB? CONFRONT ASK-ABOUT>>
<AND ,PRSO <IN? ,PRSO ,GLOBAL-OBJECTS> <SET OBJ ,PRSO>
<VERB? FIND WHAT>>>
<COND (<NOT <GRAB-ATTENTION ,STILES>> <RTRUE>)>
<SAID-TO ,STILES>
<COND (<EQUAL? .OBJ ,GLOBAL-CALL>
<TELL
"\"Linder phoned me today and almost commanded me to come here tonight
to talk about our deal. Last time, he at least was decent enough to buy
me lunch. He" " said he wanted to pay me a bundle to leave town.\"" CR>)
(<AND <NOT ,TOO-LATE> <EQUAL? .OBJ ,GLOBAL-DUFFY>>
<TELL
"\"Is that your man? When I came running out of the woods, he grabbed me
as if I was some kind of criminal. He wouldn't let me go! So here I am.\""CR>)
(<EQUAL? .OBJ ,GENERIC-GUN>
<TELL "\"Don't ask me. I never touch them.\"" CR>)
(<AND <NOT ,TOO-LATE> <EQUAL? .OBJ ,STILES-SHOES>>
<SETG BACK-FOOTPRINTS-MATCHED T>
<TELL
"\"What about them? They're muddy because I had to run through the yard and
woods to get away from the shooting.\"" CR>)
(<EQUAL? .OBJ ,TELEGRAM>
<TELL
"\"I don't get it. I think he's more dangerous than I am!\"" CR>)
(<EQUAL? .OBJ ,MONEY>
<TELL
"\"Yeah, Linder" " said he wanted to pay me a bundle to leave town.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-MONICA ,MONICA>
<DISCRETION ,STILES ,MONICA>
<TELL
"\"She's probably just another dizzy dame, but I don't really know her
well enough to say.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-AFFAIR ,GLOBAL-MRS-LINDER ,GLOBAL-SUICIDE>
<DISCRETION ,STILES ,MONICA>
<TELL
"\"Virginia was a special woman. Repressed for years. I think that, if
only ... Say, I don't have to answer your questions!\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-LINDER ,LINDER ,CORPSE>
<TELL
"\"He's a smooth operator. I can think of many people who'd like to plug
him. Not me, of course. I still don't understand why he sounded so urgent
when he called me today and asked me to come here tonight.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-PHONG ,PHONG>
<DISCRETION ,STILES ,PHONG>
<TELL "\"He seems straight, but I don't really trust ">
<COND (<TANDY?> <TELL "his kind">)
(T <TELL "slanteyes">)>
<TELL ".\"" CR>)
(<AND ,SHOT-FIRED <EQUAL? .OBJ ,GLOBAL-SHOT>>
<TELL
"\"I was just walking up to Linder's office when there was this
explosion and the window fell apart. 'Holy jumping catfish!' I thought,
'Someone took a shot at me!' So I ran to the gate, but it was locked.
The only way out I could see was through the woods.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-STILES ,STILES>
<TELL
"\"There's not much to tell. I'm a writer, but that doesn't take you far
these days. So I do some film work on the side. Some day my agent will
wise up and find me a decent publisher.\"" CR>)
(<AND <NOT ,TOO-LATE> <EQUAL? .OBJ ,INSIDE-GUN ,OUTSIDE-GUN>>
<TELL
"\"I've never seen it before. Anyhow, I don't like guns.\"" CR>)
(<OR <EQUAL? .OBJ ,MATCHBOOK>
<AND <EQUAL? .OBJ ,INTNUM> <==? ,P-NUMBER 1729>>>
<TELL
"\"That's my phone number! Linder must have jotted it down the day
we had lunch at that restaurant,"
" when he first offered me money to leave town.\"" CR>)
(<EQUAL? .OBJ ,BRASS-LANTERN>
<TELL
"\"I think that's the name of the restaurant where Linder took me to lunch,"
" when he first offered me money to leave town.\"" CR>)
(<AND <NOT ,TOO-LATE> <EQUAL? .OBJ ,MEDICAL-REPORT ,TUMOR>>
<TELL
"\"So the old man was on the way out, eh? Wish I'd known that.\"
He pauses. \"I mean, I could have taken his money and blown town
until he kicked the bucket, then come back. Too late now.\"" CR>)
(<AND <NOT ,TOO-LATE> <EQUAL? .OBJ ,THREAT-NOTE>>
<TELL
"\"Holy smoke! That sort of looks like my writing, but I didn't write
it.\"" CR>)
(T
<TELL <PICK-ONE ,STILES-ASKED> CR>)>)
(<VERB? LOOK-UP PHONE>
<PERFORM ,PRSA ,MATCHBOOK>
<RTRUE>)
(<AND ,TOO-LATE
<OR <VERB? SEARCH>
<AND <DOBJ? MONEY> <VERB? GIVE TAKE>>
<AND <IOBJ? MONEY> <VERB? ASK-FOR SEARCH-OBJECT-FOR SGIVE>>>>
<TELL
"When you try it, he whirls around in a fighting stance. \"Don't mess
around with me, buddy. I've handled thieves before.\"" CR>)
(<AND <DOBJ? STILES> <VERB? SHOW>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI>
<RTRUE>)
(<AND <DOBJ? STILES> <VERB? SLAP RUB>>
<TELL
"Stiles" "'s eyes are full of hate, and " "he says something unprintable."CR>)
(<AND <DOBJ? STILES> <VERB? TIE-TO TIE-WITH> <NOT ,TOO-LATE>>
<TELL "There's no need. Duffy's cuffs are secure enough." CR>)
(<AND <DOBJ? STILES> <VERB? UNTIE> <NOT ,TOO-LATE>>
<TELL "Your key won't fit the cuffs." CR>)
(<AND <VERB? TAKEOUT> ;"TAKE STILES OUTSIDE"
<NOT ,TOO-LATE>
<IOBJ? OFFICE-BACK-DOOR MONICA-BACK-DOOR LINDER-BACK-DOOR>>
<TELL "Your key won't fit the cuffs." CR>)
(<VERB? ARREST> <ARREST ,STILES>)>>
<GLOBAL STILES-ASKED
<PLTABLE "\"I couldn't help you if I wanted to.\""
"\"That has nothing to do with me.\"">>
<OBJECT STILES-SHOES
(DESC "pair of Stiles's shoes")
(IN STILES)
(ADJECTIVE STILES HIS)
(SYNONYM PAIR SHOE SHOES)
(FLAGS NDESCBIT)
(ACTION STILES-SHOES-F)>
<ROUTINE STILES-SHOES-F ()
<COND (<AND <VERB? COMPARE PUT>
<OR <DOBJ? SIDE-FOOTPRINTS SIDE-FOOTPRINTS-CAST>
<IOBJ? SIDE-FOOTPRINTS SIDE-FOOTPRINTS-CAST>>>
<TELL
"The shoes don't seem to match " ;"the plaster cast of "
"the foot prints that you found in the " "side yard." CR>)
(<AND <VERB? COMPARE PUT>
<OR <DOBJ? BACK-FOOTPRINTS BACK-FOOTPRINTS-CAST>
<IOBJ? BACK-FOOTPRINTS BACK-FOOTPRINTS-CAST>>>
<COND (<OR <VERB? PUT> <==? ,P-ADVERB ,W?CAREFULLY>>
<SETG BACK-FOOTPRINTS-MATCHED T>
<TELL
"The shoes and the foot prints match each other perfectly." CR>)
(T
<TELL
"The shoes look similar to " ;"the plaster cast of "
"the foot prints that you found in the " "back yard." CR>)>)
(T <RANDOM-SHOES-F>)>>
<OBJECT MONICA
(IN LIVING-ROOM)
(DESC "Monica")
(ADJECTIVE YOUNG)
(SYNONYM MONICA WOMAN)
(FLAGS PERSON FEMALE ;OPENBIT)
(CAPACITY 40)
(ACTION MONICA-F)
(DESCFCN MONICA-F)
(XDESC "young woman")
(TEXT
"She is a woman in her mid-twenties. Her grey eyes flash, emphasizing
her dark waved hair and light but effective make-up. She wears a navy
Rayon blouse, tan slacks, and tan pumps with Cuban heels. She acts as
though you were a masher who just gave her a whistle.")
(CHARACTER 4)>
<OBJECT MONICA-SHOES
(DESC "pair of Monica's shoes")
(IN MONICA)
(ADJECTIVE MONICA HER)
(SYNONYM PAIR SHOE SHOES)
(FLAGS NDESCBIT)
(ACTION RANDOM-SHOES-F)>
<OBJECT GLOBAL-MONICA
(IN GLOBAL-OBJECTS)
(DESC "Monica")
(SYNONYM MONICA)
(FLAGS PERSON FEMALE)
(ACTION GLOBAL-PERSON)
(CHARACTER 4)>
<GLOBAL MONICA-QUESTIONS 0>
<GLOBAL MONICA-HAS-MOTIVE <>>
<GLOBAL MONICA-CLAMS-UP <>>
<GLOBAL MONICA-TIED-TO <>>
<GLOBAL MONICA-TIED-WITH <>>
<GLOBAL MONICA-ADMITTED-HELPING? <>>
<GLOBAL SHE-CLAMS-UP
" She seems to remember who you are, then clams up.">
<ROUTINE MONICA-F ("OPTIONAL" (ARG <>) "AUX" OBJ (L <LOC ,MONICA>) X)
<COND (<==? .ARG ,M-OBJDESC>
<COND (<IN-MOTION? ,MONICA> <RTRUE>)
(<FSET? ,MONICA ,TOUCHBIT>
<COND (,MONICA-TIED-TO <TELL
"Monica is fastened to the " D ,MONICA-TIED-TO
" with the " D ,MONICA-TIED-WITH "." CR>)
(<==? .L ,MONICA-ROOM>
<TELL "Monica is lying on her bed, softly sobbing." CR>)
(<==? .L ,TOILET-ROOM>
<TELL "Monica is leaning over the toilet, gasping." CR>)
(T
<TELL "Monica is here, biting her nails." CR>)>)
(T
<FSET ,MONICA ,TOUCHBIT>
<TELL "Monica ">
<COND (<==? <LOC ,MONICA> <LOC ,LINDER>>
<TELL "stops talking and ">)>
<TELL "looks at you sharply. "
<GETP ,MONICA ,P?TEXT>
CR>)>
<RTRUE>)
(<==? ,WINNER ,MONICA>
<FSET ,MONICA ,TOUCHBIT>
<COND (<AND <VERB? FIND> <DOBJ? CLOCK-KEY>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?ASK-ABOUT ,MONICA ,PRSO>
<RTRUE>)
(<VERB? FIND THANKS> <RFALSE>)
(<OR <AND <VERB? GIVE>
<DOBJ? CLOCK-KEY GENERIC-KEY GENERIC-GUN INSIDE-GUN>>
<AND <VERB? SGIVE>
<IOBJ? CLOCK-KEY GENERIC-KEY GENERIC-GUN INSIDE-GUN>>>
<TELL "\"Why should I?\"" CR>) ;"? better"
(<COM-CHECK ,MONICA> <RTRUE>)
(T <TELL <PICK-ONE ,WHY-ME> CR>)>)
(<VERB? ACCUSE>
<SETG MONICA-CLAMS-UP T>
<COND (<NOT ,MONICA-SEEN-CORPSE?>
<TELL
"\"What murder? What are you talking about?\" Her cheeks quiver like jelly."
CR>)
(<NOT <OR ,SEEN-MONICA-AT-CLOCK ,MONICA-ADMITTED-HELPING?>>
<TELL
"\"You were there when it happened. Isn't it obvious that Stiles did it?\""
CR>)
(<NOT ,MONICA-SAW-MEDICAL-REPORT>
<FCLEAR ,MEDICAL-REPORT ,INVISIBLE>
<FCLEAR ,TUMOR ,INVISIBLE>
<SETG MONICA-SAW-MEDICAL-REPORT T>
<SETG MONICA-ADMITTED-HELPING? T>
<TELL
"\"It's true I helped set up the gun mechanism. But Dad was already
dying! You can find the medical report on the desk ">
<COND (<IN? ,MONICA ,MONICA-ROOM> <TELL "here ">)>
<TELL
"in my room. He was ... dying ...\" She breaks down in tears." CR>)
(<NOT ,MONICA-SAW-CORONER-REPORT>
<TELL
"\"I've told you already: he was dying!\" Tears dribble down her cheeks." CR>)
(T
<TELL
"\"I don't understand! I believed that medical report, and I don't know
why the doctor lied to me about the tumor. You think I wanted to murder
my own father? I thought he was dying already!\" Her eyes are pleading
with you now, begging you to believe her." CR>)>)
(<OR <AND ,PRSI<SET OBJ ,PRSI><DOBJ? MONICA><VERB? CONFRONT ASK-ABOUT>>
<AND ,PRSO <IN? ,PRSO ,GLOBAL-OBJECTS> <SET OBJ ,PRSO>
<VERB? FIND WHAT>>>
<COND (<NOT <GRAB-ATTENTION ,MONICA>> <RTRUE>)>
<SAID-TO ,MONICA>
<FSET ,MONICA ,TOUCHBIT>
<COND (<OR <EQUAL? .OBJ ,MONEY ,GLOBAL-PTA>
<EQUAL? .OBJ ,GLOBAL-TERRY ,GENERIC-CAR>>
<TELL
"\"That has nothing to do with why Dad asked you here.\"" CR>)
(<EQUAL? .OBJ ,BUTTON>
<SETG MONICA-CLAMS-UP T>
<TELL
"\"That's the butler's button, you cheesehead.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-GUN>
<SETG MONICA-CLAMS-UP T>
<TELL "\"I have nothing to say to you about that.\"" CR>)
(<EQUAL? .OBJ ,BLACK-WIRE>
<TELL
"\"That bell system is just one of the features I've put in this house.
Beyond your imagination, probably.\"" CR>)
(<EQUAL? .OBJ ,WHITE-WIRE>
<TELL
"\"That alarm system is another of the features I've put in this house.
You probably know the kind of low-life that would try to break in
here.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-GREEN-WIRE ,GENERIC-WIRE>
<SETG MONICA-CLAMS-UP T>
<TELL "\"You want wire? You can find all kinds ">
<COND (<EQUAL? ,HERE ,WORKSHOP> <TELL "here ">)>
<TELL "in the workshop.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-MONICA ,MONICA>
<TELL "\"I have no secrets. Anyone can see what I am.\"" CR>)
(<EQUAL? .OBJ ,GENERIC-KEY ,PHONG-KEYS>
<TELL "\"Phong keeps the house keys. Ask him.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-LINDER ,LINDER ,CORPSE>
<COND (,MONICA-CLAMS-UP
<TELL "\"What can I say? He">
<COND (,MONICA-SEEN-CORPSE?
<TELL " wa">)
(T <TELL "'">)>
<TELL "s my father, a hard-working, clever man.\"" CR>
<RTRUE>)>
<SETG MONICA-CLAMS-UP T>
<COND (,MONICA-SEEN-CORPSE?
<SETG MONICA-HAS-MOTIVE ,CORPSE>
<TELL
"She rambles a bit, as if dreaming. \"To be honest, I feel relieved ...
that he's met his Maker. Now I won't feel as if I'm under his thumb when
he's home. He really treated all of us like ... his property, even
Mother. I guess I'm an orphan now, but ... \""
,SHE-CLAMS-UP
;"\"What can I say? He was my father, and he had his faults, but he loved
me in his own way. And now he's dead! They're both ... dead!\" She
practically shouts the last word." CR>)
(T
<SETG MONICA-HAS-MOTIVE ,LINDER>
<DISCRETION ,MONICA ,LINDER>
<TELL
"\"Oh, I can tell you lots about him. Do you want to know if he was a
good husband? A good father? Anything but a selfish ...\""
,SHE-CLAMS-UP CR>)>)
(<EQUAL? .OBJ ,GLOBAL-AFFAIR ,GLOBAL-MRS-LINDER>
<SETG MONICA-HAS-MOTIVE ,GLOBAL-MRS-LINDER>
<DISCRETION ,MONICA ,LINDER>
<COND (,MONICA-CLAMS-UP
<TELL "\"That's between Mother and me.\"" CR>)
(T
<SETG MONICA-CLAMS-UP T>
<TELL
"\"She was the most noble woman I've ever known. Did her best to be a
'good wife' even though she was alone so much. No one understood her as
I did, certainly not Father. Sometimes I feel I could just ...\"
She slams a clenched fist into her palm."
,SHE-CLAMS-UP CR>)>)
(<EQUAL? .OBJ ,GLOBAL-MURDER ,DANGER>
<COND (<NOT ,MONICA-SEEN-CORPSE?>
<TELL
"\"What do you think this is, a cheap whodunit?\"" CR>)
(<NOT ,MONICA-ADMITTED-HELPING?>
<TELL "\"Isn't it obvious? That ">
<COND (<TANDY?> <TELL "idiot">)
(T <TELL "bastard">)>
<TELL " Stiles squibbed him off!\"" CR>)
(T
<SETG WINNER ,PLAYER>
<PERFORM ,V?ACCUSE ,MONICA ,GLOBAL-MURDER>
<RTRUE>)>)
(<EQUAL? .OBJ ,GLOBAL-PHONG ,PHONG>
<DISCRETION ,MONICA ,PHONG>
<TELL
"\"He's a right gee, no matter what some people say about his ">
<COND (<TANDY?> <TELL "kind">)
(T <TELL "race">)>
<TELL ".\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-STILES ,STILES>
<COND (,MONICA-ADMITTED-HELPING?
<SETG MONICA-CLAMS-UP T>
<TELL "\"That poor ">
<COND (<TANDY?> <TELL "idiot">)
(T <TELL "bastard">)>
<TELL
". First he fell in love with Mother, a married woman;
then he actually trusted her husband. I don't know what he uses for brains.\""
CR>)
(,MONICA-SEEN-CORPSE?
<TELL "\"That ">
<COND (<TANDY?> <TELL "idiot">)
(T <TELL "bastard">)>
<TELL
" who killed Dad? I'd spit in his face if it was worth the trouble.\"" CR>)
(T
<DISCRETION ,MONICA ,STILES>
<TELL
"\"Oh, that lover boy thinks he's a smooth apple, all right. If you ask me,
he's just a harmless grifter.\"" CR>)>)
(<EQUAL? .OBJ ,PLAYER>
<TELL "\"I don't know anything about you, but I ">
<COND (,MONICA-SEEN-CORPSE? <TELL "had hoped you could">)
(T <TELL "hope you can">)>
<TELL " help Dad.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-SUICIDE>
<TELL "\"I don't want to talk about it.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-TERRY>
<TELL "\"Terry's a good friend of mine, that's all.\"" CR>)
(<EQUAL? .OBJ ,WILL>
<COND (,MONICA-SEEN-CORPSE?
<SETG PHONG-HAS-MOTIVE ,WILL>
<DISCRETION ,MONICA ,PHONG>
<TELL
"\"Dad kept it in his bank safe. I'll bet Phong would like to see it.\"" CR>)
(T <TELL
"\"You'll have to ask Dad about that.\"" CR>)>)
(<EQUAL? .OBJ ,FILE-CABINET>
<TELL
"\"That has nothing to do with why Dad asked you here.\"" CR>)
(<EQUAL? .OBJ ,CAT>
<TELL
"\"She's my cat. I named her Asta, because she's at least as smart as
the dog in 'The Thin Man.'\"" CR>)
(<EQUAL? .OBJ ,CLOCK-KEY>
<COND (<IN? ,CLOCK-KEY ,MONICA>
<SETG MONICA-CLAMS-UP T>
<TELL "\"I don't know where Dad keeps it.\"" CR>)
(T <TELL
"\"That's the only key for the clock. So what?\"" CR>)>)
;(<EQUAL? .OBJ ,GENERIC-KEY>
<TELL "\"I don't know where Dad keeps it.\"" CR>)
(<EQUAL? .OBJ ,GUN-RECEIPT>
<TELL
"\"What about it? It's no crime to get a little heat for
self-protection.\"" CR>
;<TELL "\"I thought I told Phong to destroy that!\"" CR>)
(<EQUAL? .OBJ ,INSIDE-GUN> ;"? more!"
<COND (<FSET? ,INSIDE-GUN ,TOUCHBIT>
<TELL
"Monica has the wild look of a trapped animal. \"I can't understand why
that heater was inside the clock.\"" CR>)
(T <TELL
"\"I don't know what you're talking about.\"" CR>)>)
(<EQUAL? .OBJ ,MEDICAL-REPORT ,TUMOR>
<COND (,MONICA-SEEN-CORPSE?
<COND (,MONICA-ADMITTED-HELPING?
<SETG WINNER ,PLAYER>
<PERFORM ,V?ACCUSE ,MONICA ,GLOBAL-MURDER>
<RTRUE>)
(,MONICA-SAW-MEDICAL-REPORT
<TELL
"\"I already told you: Dad was about to kick the bucket anyway.\""
CR>)
(T
<FCLEAR ,MEDICAL-REPORT ,INVISIBLE>
<FCLEAR ,TUMOR ,INVISIBLE>
<TELL "\"Dad gave "
<COND (<EQUAL? .OBJ ,MEDICAL-REPORT>
"it to me ")
(T "me a medical report ")>
"so I could try to understand what was wrong and
what his chances were. Now I guess Stiles has ended Dad's pain.\"" CR>)>)
(T <DISCRETION ,MONICA ,LINDER>
<COND (,MONICA-SAW-MEDICAL-REPORT
<TELL
"\"I already told you: Dad's about to kick the bucket.\"" CR>)
(T <TELL
"\"How did you find that? Dad gave it to me so I could try to understand
what's wrong and what his chances are. They don't look good.\" She looks
alarmed." CR>)>)>
<SETG MONICA-SAW-MEDICAL-REPORT T>
<RTRUE>)
(<AND <EQUAL? .OBJ ,PIECE-OF-WIRE ,CLOCK-WIRES ,PIECE-OF-PUTTY>
<NOT ,MONICA-ADMITTED-HELPING?>>
<SETG MONICA-CLAMS-UP T>
<TELL
"\"Oh, uh, that's part of a timed lock I set up for the office.\"" CR>)
(<OR <EQUAL? .OBJ ,OFFICE-BUTTON ,CLOCK>
<EQUAL? .OBJ ,POWDER ,CLOCK-POWDER>
<AND <EQUAL? .OBJ ,PIECE-OF-WIRE ,CLOCK-WIRES
,PIECE-OF-PUTTY>
,MONICA-ADMITTED-HELPING?>>
<COND (<AND ,MONICA-SEEN-CORPSE? ,PLAYER-PUSHED-BUTTON>
<SETG MONICA-ADMITTED-HELPING? T>
<SETG MONICA-CLAMS-UP T>
<TELL
"\"You seem to have discovered Dad's little plot to frighten Stiles.
Sure, I helped set it up for him. But I don't know what went wrong.
He wasn't supposed to die!\" Her lower lip is quivering." CR>)
(<EQUAL? .OBJ ,OFFICE-BUTTON>
<TELL
"\"That's the butler's button, you cheesehead.\"" CR>)
(T
<TELL
"\"Phong really ought to do a better job of cleaning around here.\"" CR>)>)
(<EQUAL? .OBJ ,OUTSIDE-GUN>
<COND (,MONICA-ADMITTED-HELPING?
<SETG MONICA-CLAMS-UP T>
<TELL
"\"That gat you found? Phong planted it so it would look as if Stiles
used it.\"" CR>)
(,MONICA-SEEN-CORPSE?
<DISCRETION ,MONICA ,STILES>
<TELL
"\"That gat you found? It must belong to Stiles.\"" CR>)
(T <TELL
"\"I've never seen it before. It looks as if you don't take good care of
it.\"" CR>)>)
(<EQUAL? .OBJ ,RECURSIVE-BOOK>
<TELL
"\"It's a swell mystery called 'Deadline.' I haven't figured it out yet.\""
CR>)
(<EQUAL? .OBJ ,TELEGRAM>
<TELL
"\"That must be the telegram Dad sent this morning.\"" CR>)
(<EQUAL? .OBJ ,STUB>
<TELL
"\"That looks like my ticket stub. I didn't know I dropped it.\"" CR>)
(<EQUAL? .OBJ ,GLOBAL-FILM>
<COND (,FILM-SEEN
<TELL
"\"It was called 'Dead End'. I don't think this Bogart guy is pretty
enough to make it big.\"" CR>)
(T
<TELL
"\"I think we'll see 'Dead End'. Terry wants to check out this guy named
Bogart.\"" CR>)>)
(T
<TELL "\"I don't know anything about it, shamus.">
<SETG MONICA-QUESTIONS <+ 1 ,MONICA-QUESTIONS>>
<COND (<L? 6 ,MONICA-QUESTIONS>
<TELL
" And I'm really getting tired of your questions.">)>
<TELL "\"" CR>)>)
(<AND <DOBJ? MONICA> <VERB? GOODBYE>>
<FSET ,MONICA ,TOUCHBIT>
<TELL "\"If I never see you again, it's jake with me.\"" CR>)
(<AND <DOBJ? MONICA> <VERB? RUB>>
<FSET ,MONICA ,TOUCHBIT>
<COND (<NOT ,MONICA-TIED-TO> <MONICA-PUSHES>)
(T <TELL
"Monica writhes away from your touch and manages to kick you in the
shin." CR>)>)
(<AND <DOBJ? MONICA> <VERB? ASK-FOR>>
<FSET ,MONICA ,TOUCHBIT>
<COND (,MONICA-TIED-TO
<TELL"\"How can I give you anything when I'm tied up?\"" CR>)
(<IOBJ? CLOCK-KEY GENERIC-KEY PHONG-KEYS GENERIC-GUN INSIDE-GUN>
<PERFORM ,V?ASK-ABOUT ,MONICA ,PRSI>
<RTRUE>)
(T <RFALSE>)>)
(<OR <AND <DOBJ? MONICA> <SET OBJ ,PRSI>
<VERB? SEARCH SEARCH-OBJECT-FOR>>
<AND <IOBJ? MONICA> <SET OBJ ,PRSO>
<VERB? TAKE>>>
<FSET ,MONICA ,TOUCHBIT>
<COND (<NOT ,MONICA-TIED-TO> <MONICA-PUSHES>)
(<AND <IN? ,CLOCK-KEY ,MONICA>
<OR <VERB? SEARCH> <EQUAL? .OBJ ,GENERIC-KEY ,CLOCK-KEY>>>
<MOVE ,CLOCK-KEY ,PLAYER>
<FCLEAR ,CLOCK-KEY ,INVISIBLE>
<FSET ,CLOCK-KEY ,TOUCHBIT>
<TELL
"You find a single key in Monica's pocket and take it." CR> ;"? better")
(<AND <IN? ,INSIDE-GUN ,MONICA>
<OR <VERB? SEARCH><EQUAL? .OBJ ,GENERIC-GUN ,INSIDE-GUN>>>
<SETG SEEN-MONICA-AT-CLOCK T>
<MOVE ,INSIDE-GUN ,PLAYER>
<FCLEAR ,INSIDE-GUN ,INVISIBLE>
<FSET ,INSIDE-GUN ,TOUCHBIT>
<TELL
"You find a hand gun in Monica's pocket and take it." CR> ;"? better")
(T <RFALSE>)>)
(<AND <DOBJ? MONICA> <VERB? SHOW>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI>
<RTRUE>)
(<AND <DOBJ? MONICA> <VERB? SLAP> <IN? ,MONICA ,MONICA-ROOM>>
<FSET ,MONICA ,TOUCHBIT>
<TELL
"Monica screams, \"Leave me alone! I'll get over it! Please!\"" CR>)
(<AND <VERB? SLAP> ,MONICA-TIED-TO>
<FSET ,MONICA ,TOUCHBIT>
<TELL
"Monica's eyes are full of hate, and she says something unprintable."
CR>)
(<AND <DOBJ? MONICA> <VERB? TIE-TO>>
<FSET ,MONICA ,TOUCHBIT>
<COND (,MONICA-TIED-TO
<TELL
"She's already fastened to the " D ,MONICA-TIED-TO "." CR>
<RTRUE>)
(<AND ,CLOCK-FIXED
<FSET? ,PRSI ,FURNITURE>
<IN? ,HANDCUFFS ,PLAYER>>
<SETG MONICA-CLAMS-UP T>
<SETG MONICA-TIED-TO ,PRSI>
<SETG MONICA-TIED-WITH ,HANDCUFFS>
<TELL "(with your handcuffs)" CR>)
(T <MONICA-PUSHES> <RTRUE>)>
<COND (,MONICA-TIED-WITH
<MOVE ,MONICA-TIED-WITH ,PRSI>
<FCLEAR ,MONICA-TIED-WITH ,TAKEBIT>
<FSET ,MONICA-TIED-WITH ,NDESCBIT>
<PUT <GET ,GOAL-TABLES ,MONICA-C> ,GOAL-ENABLE <>>
<PUT ,MOVEMENT-GOALS
,MONICA-C
<REST <GET ,MOVEMENT-GOALS ,MONICA-C> ,MG-LENGTH>>
<TELL
"She puts up a struggle, but you manage to do it." CR>)
(T <TELL "There's nothing to tie her " "with!" CR>)>)
(<AND <DOBJ? MONICA> <VERB? TIE-WITH>>
<FSET ,MONICA ,TOUCHBIT>
<COND (,MONICA-TIED-WITH
<TELL
"She's already fastened with the " D ,MONICA-TIED-WITH "." CR>
<RTRUE>)
(<AND ,CLOCK-FIXED <IOBJ? HANDCUFFS> ;<FSET? ,PRSI ,TOOLBIT>>
<SETG MONICA-TIED-TO
<COND (<SET X <FIND-FLAG ,HERE ,FURNITURE>>
<TELL "(to the " D .X ")" CR>
.X)>>)
(T <MONICA-PUSHES> <RTRUE>)>
<COND (,MONICA-TIED-TO
<SETG MONICA-CLAMS-UP T>
<SETG MONICA-TIED-WITH ,PRSI>
<MOVE ,PRSI ,MONICA-TIED-TO>
<FCLEAR ,PRSI ,TAKEBIT>
<FSET ,PRSI ,NDESCBIT>
<PUT <GET ,GOAL-TABLES ,MONICA-C> ,GOAL-ENABLE <>>
<PUT <GET ,GOAL-TABLES ,MONICA-C> ,ATTENTION-SPAN 999>
<TELL
"She puts up a struggle, but you manage to do it." CR>)
(T <TELL "There's nothing to "
<COND (<IOBJ? HANDCUFFS> "handcuff ")
(T "tie ")>
"her to!" CR>)>)
(<VERB? UNTIE>
<COND (<NOT ,MONICA-TIED-TO>
<TELL "She's not even tied up!" CR>)
(<AND ,PRSI <NOT <==? ,PRSI ,MONICA-TIED-TO>>>
<TELL "She's not fastened to the " D ,PRSI "!" CR>)
(T
<MOVE ,MONICA-TIED-WITH ,PLAYER>
<TELL
"Monica rubs her wrists as you take the " D ,MONICA-TIED-WITH ".">
<COND (<NOT <OR ,FINGERPRINT-OBJ ,DUFFY-AT-CORONER>>
<TELL
" Her eyes dart from door to door, then she bolts for the hallway. But,
within seconds, Sgt. Duffy brings her back.">)>
<RELEASE-MONICA>
<TELL " She refuses to look at you." CR>)>)
(<AND <VERB? TAKEOUT> ;"TAKE MONICA OUTSIDE"
<IOBJ? OFFICE-BACK-DOOR MONICA-BACK-DOOR LINDER-BACK-DOOR>>
<COND (,MONICA-TIED-TO
<TELL
"You can't take her and the " D ,MONICA-TIED-TO " both!" CR>)
(T <MONICA-PUSHES>)>)
(<VERB? ARREST> <ARREST ,MONICA>)>>
<ROUTINE MONICA-PUSHES ()
<TELL
"Monica pushes you away with surprising strength. \"I don't know what
game you're playing, Detective, but count me out. If you think I'm just
a dumb twi">
<COND (<NOT <TANDY?>> <TELL "s">)>
<TELL "t, think again.\" Her eyes burn like polished gems." CR>
<RTRUE>>
<ROUTINE RELEASE-MONICA ()
<SETG MONICA-TIED-TO <>>
<SETG MONICA-TIED-WITH <>>
<FSET ,MONICA-TIED-WITH ,TAKEBIT>
<FCLEAR ,MONICA-TIED-WITH ,NDESCBIT>>
<OBJECT CAT
(IN OFFICE)
(DESC "cat")
(FDESC "A cat is sleeping in the corner.")
(SYNONYM CAT FELINE BEAST ASTA)
(FLAGS FEMALE)
(ACTION CAT-F)
(TEXT "The cat is a brown tabby, more bulgy than sleek.")
(CHARACTER 5)>
<ROUTINE CAT-F ()
<COND (<VERB? KICK>
<TELL
"Like a fly, the cat springs up just in time, then goes to a different
corner to settle down." CR>)
(<VERB? RUB HELLO>
<TELL "The cat purrs a little louder and curls one paw." CR>)>>
<OBJECT GLOBAL-CAT
(IN GLOBAL-OBJECTS)
(DESC "cat")
(SYNONYM CAT FELINE BEAST ASTA)
(FLAGS FEMALE)
(CHARACTER 5)>
<ROUTINE GLOBAL-PERSON ()
<COND (<VERB? WHAT FIND WAIT-FOR FOLLOW $CALL PHONE>
<RFALSE>)
(<AND <VERB? ASK-ABOUT TELL-ME>
,PRSO
<OR <AND <FSET? ,PRSO ,PERSON>
<NOT <IN? ,PRSO ,GLOBAL-OBJECTS>>>
<EQUAL? ,PRSO ,GLOBAL-DUFFY>>>
<RFALSE>)
(<VERB? TELL>
<TELL "You can't speak to someone who isn't here." CR>
<SETG P-CONT <>>
<RTRUE>)
(<VERB? ARREST>
<COND (<DOBJ? GLOBAL-LINDER> <ARREST ,GLOBAL-LINDER>)
(T <ARREST <GET ,CHARACTER-TABLE
<GETP ,PRSO ,P?CHARACTER>>>)>)
(T
<COND (<OR <VERB? ASK-ABOUT TELL-ME>
<NOT ,NOW-PRSI>>
<TELL D ,PRSO>)
(T <TELL D ,PRSI>)>
<COND (<AND <VERB? $CALL TELL HELLO GOODBYE ASK-ABOUT ASK-FOR>
<NOT <==?
<BAND
<GETP
<LOC <GET ,CHARACTER-TABLE
<GETP ,PRSO ,P?CHARACTER>>>
,P?CORRIDOR>
<GETP ,HERE ,P?CORRIDOR>> 0>>>
<TELL " can't hear you." CR>)
(T <TELL " isn't here!" CR>)>
<SETG P-CONT <>>
<RTRUE>)>>
<OBJECT GLOBAL-TERRY
(IN GLOBAL-OBJECTS)
(DESC "Terry")
(SYNONYM TERRY)
(FLAGS FEMALE)>
<OBJECT GLOBAL-MRS-LINDER
(IN GLOBAL-OBJECTS)
(DESC "late Mrs. Linder")
(ADJECTIVE MRS LATE YOUR HER)
(SYNONYM LINDER MOTHER WIFE VIRGINIA)
(FLAGS FEMALE)
(ACTION GLOBAL-MRS-LINDER-F)>
<ROUTINE GLOBAL-MRS-LINDER-F ()
<COND (<VERB? FOLLOW>
<TELL "You will eventually, shamus, you will." CR>)
(<VERB? $CALL PHONE>
<TELL "You're not with her yet." CR>)>>
<OBJECT GLOBAL-DUFFY
(IN GLOBAL-OBJECTS)
(ADJECTIVE SERGEANT SGT)
(SYNONYM DUFFY POLICE)
(DESC "Sergeant Duffy")
(ACTION GLOBAL-DUFFY-F)>
<OBJECT HINT
(DESC "hint")
(IN GLOBAL-OBJECTS)
(SYNONYM HINT HELP)
(ACTION HINT-F)>
<ROUTINE HINT-F ()
<COND (<OR <AND <VERB? ASK-FOR> <NOT <DOBJ? GLOBAL-DUFFY>>>
<AND <VERB? TAKE> <NOT <IOBJ? GLOBAL-DUFFY>>>>
<TELL "You'll have to be more specific." CR>)>>
<ROUTINE GLOBAL-DUFFY-F ()
<COND (<AND <VERB? PHONE> <DOBJ? GLOBAL-DUFFY> <PHONE-IN? ,HERE>>
<COND (,SEEN-DUFFY?
<TELL
"Duffy must be around here somewhere. There's no point in trying to
phone him." CR>)
(T <TELL
"The night clerk at the station says he'll give Duffy your message." CR>)>)
(<NOT ,SEEN-DUFFY?>
<TELL
"Sergeant Duffy is probably at the station, working late as usual." CR>
<RFATAL>)
(<AND <VERB? WAIT-FOR> <DOBJ? GLOBAL-DUFFY>>
<COND (<OR ,FINGERPRINT-OBJ ,DUFFY-AT-CORONER <NOT ,MET-DUFFY?>>
<V-WAIT 10000 ,PRSO>)
(T <TELL
"You'd wait quite a while, since Sergeant Duffy is always
nearby but never approaches you without a good reason." CR>)>)
(<OR ,FINGERPRINT-OBJ ,DUFFY-AT-CORONER>
<DO-FINGERPRINT>
<RFATAL>)
(<AND <VERB? ARREST SHOOT> <DOBJ? GLOBAL-DUFFY>>
<TELL "Oh, come on now! Not trusty " D ,PRSO "!" CR>)
(<AND <VERB? FIND> <DOBJ? GLOBAL-DUFFY>>
<TELL
"Like a lurking grue in the dark places of the earth, Sergeant Duffy is
never far from the scene of a crime. If you witness a crime, you can be
sure he'll show up soon. Then, if you ANALYZE something, he
will appear in an instant to take it to the lab. When the results are
available, he will rush them back to you. If you ARREST someone, he
will be there with the handcuffs. You can't find a more dedicated civil
servant." CR>)
(<AND <VERB? FOLLOW> <DOBJ? GLOBAL-DUFFY>>
<COND (,DUFFY-WITH-STILES <PERFORM ,PRSA ,STILES ,PRSI> <RTRUE>)
(T <TELL "Duffy is too quick to follow." CR>)>)
(<NOT ,MET-DUFFY?>
<COND (<NOT <I-MEET-DUFFY?>>
<TELL "It looks as though Duffy didn't hear you." CR>)>
<RTRUE>)
(<AND <VERB? $CALL> <DOBJ? GLOBAL-DUFFY>>
<RFALSE>)
(<==? ,WINNER ,GLOBAL-DUFFY>
<COND (<VERB? ANALYZE SANALYZE MAKE>
<SETG WINNER ,PLAYER>
<PERFORM ,PRSA ,PRSO ,PRSI>
<RTRUE>)
(<VERB? ARREST>
<SETG WINNER ,PLAYER>
<PERFORM ,V?ARREST ,PRSO>
<RTRUE>)
(<VERB? FIND THANKS> <RFALSE>)
(<OR <AND <VERB? GIVE> <DOBJ? HINT> <IOBJ? PLAYER>>
<AND<VERB? SGIVE> <IOBJ? HINT> <DOBJ? PLAYER>>>
<DUFFY-HINT>)
(<VERB? TAKE>
<TELL "Duffy">
<COND (<NOT ,DUFFY-WITH-STILES>
<TELL " appears for an instant but">)>
<TELL " politely declines your offer." CR>)
(<AND <VERB? PHONE> <DOBJ? CORONER>>
<COND (,DUFFY-WITH-STILES
<TELL "\"I will, as soon as I case the joint.\"" CR>)
(T <TELL
"\"Oh, I called the coroner as soon as I saw the body. They'll be here
as soon as they have time.\"" CR>)>)
(<AND <DOBJ? STILES> <VERB? UNTIE>>
<TELL "\"What?? I won't release a suspect!\"" CR>)
(<COM-CHECK ,GLOBAL-DUFFY> <RTRUE>)
(T <TELL
"\"With all respect, I think you should do that yourself.\"" CR>)>)
(<AND <VERB? ASK-ABOUT> <DOBJ? GLOBAL-DUFFY>>
<COND (<NOT ,DUFFY-WITH-STILES>
<TELL "Duffy appears for a moment. ">)>
<TELL "\"">
<COND (<AND <IOBJ? CORONER> <L? ,PRESENT-TIME 720>>
<TELL
"Oh, I called the coroner as soon as I saw the body. They'll be here
as soon as they have time.">)
(<IOBJ? AUTOPSY CORONER>
<COND (<OR ,DUFFY-AT-CORONER <L? ,PRESENT-TIME 720>>
<TELL
"Oh, I called the coroner as soon as I saw the body. They'll be here
as soon as they have time.">)
(T
<TELL "I thought I told you already. The coroner ">
<COND (,DUFFY-SAW-MEDICAL-REPORT
<TELL
"found no evidence of the alleged stomach tumor. In fact, he
could find no organic disease that would either explain the
death or support the theory that Linder wanted to die. He ">)>
<TELL
"concluded that Linder died of a single small-caliber bullet through the
heart. And here's something peculiar: there were no
traceable rifle marks on the bullet.">)>)
(<IOBJ? GLOBAL-DUFFY>
<TELL
"Come off it, Detective. We've worked together before. You sure you
didn't stop at a bar tonight?">)
(<IOBJ? TUB-ROOM BATHTUB>
<TELL
"Ah, that's where the late Mrs. Linder did herself in. A messy
business, Detective.">)
(<IOBJ? GLOBAL-SUICIDE>
<TELL "She shot herself in the bathtub.">)
(<IOBJ? GUN-RECEIPT>
<TELL
"Oh, I know that place, Fritzi's. Untidy, but clean.">)
(<IOBJ? MEDICAL-REPORT>
<SETG DUFFY-SAW-MEDICAL-REPORT T>
<TELL"Fascinating! It could have been a suicide, then.">)
(<IOBJ? RECURSIVE-BOOK>
<TELL
"Ah, Connecticut! I have relations there, you know. In fact, one young
one wants to be a detective some day.">)
(T <TELL "I wish I could help you, Detective.">)>
<TELL "\"">
<COND (<NOT ,DUFFY-WITH-STILES>
<TELL " He scurries off again.">)>
<CRLF>)
(<AND <VERB? ASK-FOR> <IOBJ? HINT>>
<DUFFY-HINT>)
(<OR <AND <VERB? GIVE> <IOBJ? GLOBAL-DUFFY>>
<AND<VERB? SGIVE> <DOBJ? GLOBAL-DUFFY>>>
<TELL "Duffy">
<COND (<NOT ,DUFFY-WITH-STILES>
<TELL " appears for an instant but">)>
<TELL " politely declines your offer." CR>)
(<VERB? GOODBYE>
<TELL
"\"You can't leave yet, Detective. Think of your reputation!\"" CR>)
(<VERB? HELLO>
<COND (,DUFFY-WITH-STILES
<TELL "\"Hello again, Detective.\"" CR>)
(T <TELL
"Duffy peeks around a corner, tips his hat to you, and disappears
again." CR>)>)
(<AND <DOBJ? GLOBAL-DUFFY> <VERB? SHOW>>
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI>
<RTRUE>)
(<AND <VERB? TAKE> <DOBJ? HINT> <IOBJ? GLOBAL-DUFFY>>
<DUFFY-HINT>)>>
"People Functions"
<GLOBAL WHY-ME
<PLTABLE "\"You can do that yourself.\""
"\"Do it yourself!\""
"\"Why not do it yourself?\"">>
;<GLOBAL HO-HUMS
<PLTABLE " is standing here."> ;"? MORE?">
;<ROUTINE CARRY-CHECK (PERSON)
<COND (<FIRST? .PERSON>
<PRINT-CONT .PERSON T 0>)>
T>
<ROUTINE COM-CHECK (PER)
<COND (<VERB? EXAMINE>
<SETG WINNER ,PLAYER>
<PERFORM ,V?SHOW .PER ,PRSO>
<RTRUE>)
(<AND <VERB? FOLLOW> <DOBJ? PLAYER>>
<TELL "\"I would rather not.\"" CR>)
(<AND <VERB? GIVE> <IOBJ? PLAYER>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?TAKE ,PRSO .PER>
<RTRUE>)
(<AND <VERB? SGIVE> <DOBJ? PLAYER>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?TAKE ,PRSI .PER>
<RTRUE>)
(<AND <VERB? GOODBYE>
<OR <NOT ,PRSO> <==? ,PRSO .PER>>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?GOODBYE ,WINNER>
<RTRUE>)
(<AND <VERB? HELLO>
<OR <NOT ,PRSO> <==? ,PRSO .PER>>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?HELLO .PER>
<RTRUE>)
(<VERB? HELP>
<COND (<OR <DOBJ? PLAYER> <NOT ,PRSO>>
<PERFORM ,V?GIVE ,HINT ,PLAYER>
<RTRUE>)
(<FSET? ,PRSO ,PERSON>
<TELL "\"I don't need your help.\"" CR>)
(T <RFALSE>)>)
(<VERB? INVENTORY>
<TELL "\"" "You're the detective!" "\"" CR>)
(<AND <VERB? SHOW> <DOBJ? PLAYER>>
<TELL "\"I'm sure you can find it, Detective.\"" CR>)
(<AND <VERB? TELL-ME> <DOBJ? PLAYER>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?ASK-ABOUT .PER ,PRSI>
<RTRUE>)
(<OR <VERB? WAIT>
<AND <VERB? WAIT-FOR> <DOBJ? PLAYER>>>
<SETG WINNER ,PLAYER>
<PERFORM ,V?$CALL .PER>
<RTRUE>)
(<VERB? WHAT>
<SETG WINNER ,PLAYER>
<PERFORM ,V?ASK-ABOUT .PER ,PRSO>
<RTRUE>)>>
<ROUTINE DESCRIBE-PERSON (PERSON "OPTIONAL" (STR <>))
<TELL D .PERSON " is "
<COND (<NOT .STR> "here")
(T .STR)>
"." CR>>
<ROUTINE DISCRETION (P1 P2 "OPTIONAL" (P3 <>))
<COND (<AND <==? ,HERE <META-LOC .P2>>
.P3 <==? ,HERE <META-LOC .P3>>>
<TELL D .P1 " looks briefly toward " D .P2 " and " D .P3
" and then speaks in a whisper." CR>)
(<==? ,HERE <META-LOC .P2>>
<TELL D .P1 " looks briefly toward " D .P2
" and then speaks in a whisper." CR>)
(<AND .P3 <==? ,HERE <META-LOC .P3>>>
<TELL D .P1 " looks briefly toward " D .P3
" and then speaks in a whisper." CR>)>>
;<ROUTINE FOLLOWED? (PERSON "AUX" (L <LOC .PERSON>))
<COND (<==? .L ,HERE> <RTRUE>)
(<NOT <==? <BAND <GETP .L ,P?CORRIDOR>
<GETP ,HERE ,P?CORRIDOR>> 0>>
<RTRUE>)
(T <RFALSE>)>>
<ROUTINE INHABITED? (RM) <NOT <0? <POPULATION .RM>>>>
<ROUTINE POPULATION (RM "OPTIONAL" (PR <>) "AUX" (CNT 0) OBJ)
#DECL ((RM) OBJECT (CNT) FIX)
<COND (<NOT <SET OBJ <FIRST? .RM>>> <RETURN .CNT>)>
<REPEAT ()
<COND (<AND <FSET? .OBJ ,PERSON> <NOT <FSET? .OBJ ,INVISIBLE>>>
<SET CNT <+ .CNT 1>>
<COND (.PR <DESCRIBE-PERSON .OBJ "there">)>)
(<FSET? .OBJ ,CONTBIT>
<SET CNT <+ .CNT <POPULATION .OBJ .PR>>>)>
<SET OBJ <NEXT? .OBJ>>
<COND (<NOT .OBJ> <RETURN .CNT>)>>>
<ROUTINE RANDOM-SHOES-F ("AUX" OBJ)
<COND (<OR <AND <SET OBJ ,PRSO> <VERB? GIVE TAKE>>
<AND <SET OBJ ,PRSI> <VERB? ASK-FOR SEARCH-OBJECT-FOR SGIVE>>>
<COND (<EQUAL? .OBJ ,PHONG-SHOES> <PHONG-FIGHTS>)
(<EQUAL? .OBJ ,MONICA-SHOES>
<COND (<NOT ,MONICA-TIED-TO> <MONICA-PUSHES>)
(T <TELL
"Monica writhes away from your touch and manages to kick you in the
shin." CR>)>)
(<EQUAL? .OBJ ,STILES-SHOES>
<TELL
"\"Please don't take them! I'm cold enough as it is!\"" CR>)
(<EQUAL? .OBJ ,LINDER-SHOES>
<COND (<LOC ,LINDER>
<TELL
"\"I'm beginning to wonder if I got a decent detective or not!\"" CR>)
(<TANDY?> <TELL "You can't be that desperate!" CR>)
(T <TELL
"Necrophilia went out with raccoon coats!" CR>)>)>)
(<AND <VERB? COMPARE PUT>
<OR <DOBJ? SIDE-FOOTPRINTS SIDE-FOOTPRINTS-CAST
BACK-FOOTPRINTS BACK-FOOTPRINTS-CAST>
<IOBJ? SIDE-FOOTPRINTS SIDE-FOOTPRINTS-CAST
BACK-FOOTPRINTS BACK-FOOTPRINTS-CAST>>>
<TELL
"The shoes don't seem to match " ;"the plaster cast of "
"the foot prints that you found in the " "yard." CR>)
(<VERB? EXAMINE>
<COND (<DOBJ? PHONG-SHOES LINDER-SHOES>
<TELL
"They're straw slippers with thongs, clean and obviously comfortable." CR>)
(<DOBJ? STILES-SHOES>
<TELL
"They're pointed wing tips with sensational welt features, but a bit shabby
and more than a bit muddy." CR>)
(<DOBJ? MONICA-SHOES>
<TELL
"They're tan pumps with Cuban heels, clean and stylish." CR>)>)>>