1771 lines
63 KiB
Plaintext
1771 lines
63 KiB
Plaintext
"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>)>)>>
|