witness/people.zap

1549 lines
57 KiB
Plaintext

.FUNCT YOU-F
EQUAL? PRSA,V?ASK-ABOUT \?ELS5
EQUAL? PRSI,YOU \?ELS5
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSO
RTRUE
?ELS5: EQUAL? PRSA,V?TELL-ME \FALSE
EQUAL? PRSI,YOU \FALSE
CALL PERFORM,V?TELL-ME,PRSO,WINNER
RTRUE
.FUNCT OBJECT-PAIR-F,P1,P2,?TMP1
GET P-PRSO,P-MATCHLEN
LESS? 2,STACK \?ELS5
EQUAL? PRSA,V?ARREST \?ELS8
PRINTR "You think it over. You realize that this arrest is pretty far-fetched. It could only mean humiliation for you."
?ELS8: EQUAL? PRSA,V?COMPARE \TRUE
PRINTR "That's too many things to compare all at once!"
?ELS5: EQUAL? PRSA,V?ARREST \?ELS16
FSET? CORPSE,INVISIBLE /?ELS16
GET P-PRSO,1 >P1
IN? P1,GLOBAL-OBJECTS \?CND19
GETP P1,P?CHARACTER
GET CHARACTER-TABLE,STACK >P1
?CND19: GET P-PRSO,2 >P2
IN? P2,GLOBAL-OBJECTS \?CND22
GETP P2,P?CHARACTER
GET CHARACTER-TABLE,STACK >P2
?CND22: CALL ARREST,P1,P2
RSTACK
?ELS16: EQUAL? PRSA,V?COMPARE \FALSE
GET P-PRSO,1 >?TMP1
GET P-PRSO,2
CALL PERFORM,PRSA,?TMP1,STACK
RTRUE
.FUNCT PLAYER-F
EQUAL? PRSA,V?SHOOT \?ELS5
EQUAL? PRSO,PLAYER \?ELS5
PRINTR "What, and let down the Police Department track-and-field team?!"
?ELS5: ZERO? PLAYER-HIDING \?ELS11
LOC PLAYER
IN? STACK,ROOMS /FALSE
?ELS11: ZERO? PRSO /FALSE
EQUAL? PRSA,V?WALK \?ELS17
CALL TOO-BAD-SIT-HIDE
RSTACK
?ELS17: ZERO? PLAYER-HIDING /?ELS19
EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT,V?GOODBYE /?THN22
EQUAL? PRSA,V?HELLO,V?TELL,V?$CALL \?ELS19
?THN22: CALL TOO-BAD-SIT-HIDE
RSTACK
?ELS19: CALL STANDING-VERB?
ZERO? STACK /FALSE
IN? PRSO,WINNER /?ELS27
EQUAL? PRSA,V?EXAMINE \?ELS32
EQUAL? P-ADVERB,W?CAREFULLY /?ELS32
EQUAL? PRSO,CLOCK /?THN35
LOC PRSO
EQUAL? OFFICE,STACK \?ELS32
?THN35: PRINTI "You'd do a much better job if you stood up, but let's see..."
CRLF
RFALSE
?ELS32: IN? PLAYER,CARVED-CHAIR \?ELS40
EQUAL? PRSA,V?RING,V?PUSH,V?FIND \?ELS40
EQUAL? PRSO,OFFICE-BUTTON,BUTTON /FALSE
?ELS40: EQUAL? PRSA,V?TAKE \?ELS44
EQUAL? PRSO,HINT /FALSE
?ELS44: CALL TOO-BAD-SIT-HIDE
RSTACK
?ELS27: ZERO? PRSI /FALSE
IN? PRSI,WINNER /FALSE
CALL TOO-BAD-SIT-HIDE
RSTACK
.FUNCT STANDING-VERB?
EQUAL? PRSA,V?WALK-TO /TRUE
EQUAL? PRSA,V?WALK-AROUND,V?WALK,V?USE /TRUE
EQUAL? PRSA,V?UNTIE,V?UNLOCK,V?TIE-WITH /TRUE
EQUAL? PRSA,V?TIE-TO,V?THROUGH,V?TAKEOUT /TRUE
EQUAL? PRSA,V?TAKE,V?SMELL,V?SLAP /TRUE
EQUAL? PRSA,V?SIT,V?SEARCH-OBJECT-FOR,V?SEARCH /TRUE
EQUAL? PRSA,V?RUB-OVER,V?RUB,V?RING /TRUE
EQUAL? PRSA,V?REVIVE,V?READ,V?RAPE /TRUE
EQUAL? PRSA,V?RAISE,V?PUT-UNDER,V?PUT /TRUE
EQUAL? PRSA,V?PUSH,V?PICK,V?PHONE /TRUE
EQUAL? PRSA,V?OPEN,V?MUNG,V?MOVE /TRUE
EQUAL? PRSA,V?MAKE,V?LOOK-UNDER,V?LOOK-OUTSIDE /TRUE
EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-BEHIND,V?LOCK /TRUE
EQUAL? PRSA,V?KNOCK,V?KISS,V?KILL /TRUE
EQUAL? PRSA,V?KICK,V?HIDE-BEHIND,V?HANDCUFF /TRUE
EQUAL? PRSA,V?FOLLOW,V?FINGERPRINT,V?EXAMINE /TRUE
EQUAL? PRSA,V?ENTER,V?EAT,V?DRINK /TRUE
EQUAL? PRSA,V?CLOSE,V?BRUSH,V?ATTACK \FALSE
RTRUE
.FUNCT TOO-BAD-SIT-HIDE
SET 'P-CONT,FALSE-VALUE
LOC PLAYER
IN? STACK,ROOMS /?ELS5
EQUAL? PRSA,V?SIT \?ELS10
PRINTR "You're already sitting down."
?ELS10: PRINTR "You'd do a much better job if you stood up."
?ELS5: ZERO? PLAYER-HIDING /FALSE
EQUAL? PRSA,V?HIDE-BEHIND \?ELS24
PRINTR "You're already hiding."
?ELS24: PRINTR "You can't do that while you're hiding."
.FUNCT PHONG-F,ARG=0,OBJ,L
LOC PHONG >L
EQUAL? ARG,M-OBJDESC \?ELS5
CALL IN-MOTION?,PHONG
ZERO? STACK \TRUE
FSET? PHONG,TOUCHBIT \?ELS10
FSET? LINDER,TOUCHBIT /?ELS13
LOC LINDER
EQUAL? HERE,STACK \?ELS13
CRLF
PRINTI """Excuse me, sir,"" says Phong, ""but the detective has arrived."""
CRLF
CRLF
RTRUE
?ELS13: EQUAL? L,BUTLER-ROOM \?ELS19
PRINTI "Phong is lying on the bed, "
IN? RECURSIVE-BOOK,PHONG \?ELS24
PRINTR "reading a book."
?ELS24: PRINTR "meditating."
?ELS19: EQUAL? L,KITCHEN \?ELS32
LESS? PRESENT-TIME,710 \?ELS32
PRINTI "Phong is here, "
SUB PRESENT-TIME,480
DIV STACK,60
ADD 1,STACK
GET KITCHEN-ACTIVITIES,STACK
PRINT STACK
PRINTR "."
?ELS32: EQUAL? L,OFFICE \?ELS38
IN? CORPSE,OFFICE \?ELS38
ZERO? PHONG-SEEN-CORPSE? /?ELS38
PRINTR "Phong is gazing out the window."
?ELS38: EQUAL? L,ENTRY \?ELS44
PRINTR "Phong is waiting for you to do something."
?ELS44: PRINTI "Phong is here, "
CALL PICK-ONE,PHONG-HERE
PRINT STACK
PRINTR "."
?ELS10: FSET PHONG,TOUCHBIT
GETP PHONG,P?TEXT
PRINT STACK
CRLF
RTRUE
?ELS5: EQUAL? WINNER,PHONG \?ELS56
EQUAL? PRSA,V?FIND \?ELS61
EQUAL? PRSO,PHONG-KEYS \?ELS61
SET 'WINNER,PLAYER
CALL PERFORM,V?ASK-ABOUT,PHONG,PRSO
RTRUE
?ELS61: EQUAL? PRSA,V?THANKS,V?FIND /FALSE
EQUAL? PRSA,V?SLAP \?ELS67
PRINTR """No, I must be careful about that."""
?ELS67: EQUAL? PRSA,V?GIVE \?THN76
EQUAL? PRSO,OUTSIDE-GUN /?THN76
EQUAL? PRSO,GENERIC-GUN,GENERIC-KEY,PHONG-KEYS /?THN80
?THN76: EQUAL? PRSA,V?SGIVE \?ELS71
EQUAL? PRSI,OUTSIDE-GUN /?THN80
EQUAL? PRSI,GENERIC-GUN,GENERIC-KEY,PHONG-KEYS \?ELS71
?THN80: CALL TAKE-PHONG-KEYS
RSTACK
?ELS71: EQUAL? PRSA,V?UNLOCK /?THN84
EQUAL? PRSA,V?LOCK,V?CLOSE,V?OPEN \?ELS83
?THN84: FSET? CORPSE,INVISIBLE \?ELS90
PRINTR """You'll have to ask Mr. Linder about that."""
?ELS90: EQUAL? PRSO,CLOCK \?ELS94
PRINTR """I don't have the key for the clock."""
?ELS94: EQUAL? PRSA,V?UNLOCK,V?OPEN \?ELS98
IN? PHONG-KEYS,PHONG \?ELS98
FCLEAR PRSO,LOCKED
EQUAL? PRSA,V?OPEN \?CND101
FSET PRSO,OPENBIT
?CND101: PRINTR """Okey."""
?ELS98: EQUAL? PRSA,V?LOCK,V?CLOSE \FALSE
IN? PHONG-KEYS,PHONG \FALSE
FCLEAR PRSO,OPENBIT
EQUAL? PRSA,V?LOCK \?CND110
FSET PRSO,LOCKED
?CND110: PRINTR """Okey."""
?ELS83: CALL COM-CHECK,PHONG
ZERO? STACK \TRUE
CALL PICK-ONE,WHY-ME
PRINT STACK
CRLF
RTRUE
?ELS56: EQUAL? PRSA,V?ACCUSE \?ELS122
ZERO? PHONG-SEEN-CORPSE? \?ELS127
PRINTR """What are you talking about?"" He looks frightened."
?ELS127: ZERO? SIDE-FOOTPRINTS-MATCHED /?ELS131
FSET? GUN-RECEIPT,TOUCHBIT \?ELS131
SET 'PHONG-ADMITTED-HELPING?,TRUE-VALUE
CALL DISCRETION,PHONG,MONICA
PRINTR """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."
?ELS131: ZERO? SIDE-FOOTPRINTS-MATCHED /?ELS137
PRINTI """I don't see why you're accusing me!"
PRINTI " Sure, I was in the yard, because "
PRINTI "I thought I heard a noise outside and went out to investigate."
PRINTR " It's part of my job, you know."""
?ELS137: FSET? GUN-RECEIPT,TOUCHBIT \?ELS142
CALL DISCRETION,PHONG,MONICA
PRINTI """I don't see why you're accusing me!"
PRINTR " You should ask Monica about those guns."""
?ELS142: PRINTR """You haven't a clue, and you know it!"""
?ELS122: ZERO? PRSI /?ELS154
SET 'OBJ,PRSI
ZERO? OBJ /?ELS154
EQUAL? PRSA,V?CONFRONT,V?ASK-ABOUT \?ELS154
EQUAL? PRSO,PHONG /?THN151
?ELS154: ZERO? PRSO /?ELS150
IN? PRSO,GLOBAL-OBJECTS \?ELS150
SET 'OBJ,PRSO
ZERO? OBJ /?ELS150
EQUAL? PRSA,V?WHAT,V?FIND \?ELS150
?THN151: CALL GRAB-ATTENTION,PHONG
ZERO? STACK /TRUE
CALL SAID-TO,PHONG
EQUAL? OBJ,BUTTON \?ELS164
PRINTR """That's my butler's button, of course."""
?ELS164: EQUAL? OBJ,GLOBAL-CAN-OF-WORMS \?ELS168
PRINTR """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."""
?ELS168: EQUAL? OBJ,GENERIC-GUN \?ELS172
PRINTR """I don't have one, if that's what you mean."""
?ELS172: EQUAL? OBJ,BLACK-WIRE \?ELS176
PRINTR """Oh, Monica wired the house for butler's buttons."""
?ELS176: EQUAL? OBJ,WHITE-WIRE \?ELS180
PRINTR """Oh, Monica wired the windows with burglar alarms."""
?ELS180: EQUAL? OBJ,GENERIC-GREEN-WIRE,GENERIC-WIRE \?ELS184
PRINTR """There's wire all over the house. You'll have to ask Monica."""
?ELS184: EQUAL? OBJ,GENERIC-KEY,PHONG-KEYS \?ELS188
IN? PHONG-KEYS,PHONG \?ELS193
PRINTR """I have the keys for all the doors in the house."""
?ELS193: PRINTR """Don't you remember? I gave you all the keys I have."""
?ELS188: EQUAL? OBJ,CLOCK-KEY \?ELS201
IN? CLOCK-KEY,PLAYER \?ELS206
PRINTR """That looks like the key to Mr. Linder's clock."""
?ELS206: PRINTR """There's only one key to Mr. Linder's clock. I think he keeps it in the office somewhere."""
?ELS201: EQUAL? OBJ,GLOBAL-LINDER,LINDER,CORPSE \?ELS214
IN? LINDER,HERE \?ELS219
PRINTR """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."
?ELS219: ZERO? PHONG-SEEN-CORPSE? /?ELS223
SET 'PHONG-HAS-MOTIVE,CORPSE
CALL DISCRETION,PHONG,MONICA
PRINTI """Frankly, Detective, I can't say I"
PRINTI "'m sorry he's dead"
PRINTI ". He always promised me wealth here in America, but I've never seen it. I could "
PRINTI "have managed"
PRINTR " 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."""
?ELS223: SET 'PHONG-HAS-MOTIVE,LINDER
CALL DISCRETION,PHONG,MONICA
PRINTI """Frankly, Detective, I can't say I"
PRINTI " like him much"
PRINTI ". He always promised me wealth here in America, but I've never seen it. I could "
PRINTI "manage"
PRINTR " 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."""
?ELS214: EQUAL? OBJ,GLOBAL-MONICA,MONICA \?ELS232
CALL DISCRETION,PHONG,MONICA
PRINTI """She's an intelligent girl. Mr. Linder is very proud of her, but I think she acts too much like a man."
ZERO? PHONG-SEEN-CORPSE? /?CND235
PRINTI " She really muffed it this time."
?CND235: PRINTR """"
?ELS232: EQUAL? OBJ,GLOBAL-AFFAIR,GLOBAL-MRS-LINDER \?ELS244
CALL DISCRETION,PHONG,LINDER
PRINTR """If only Mr. Linder had been home more, he could have kept her in line."""
?ELS244: EQUAL? OBJ,GLOBAL-PHONG,PHONG \?ELS248
SET 'PHONG-HAS-MOTIVE,PHONG
PRINTR """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."""
?ELS248: ZERO? SHOT-FIRED /?ELS252
EQUAL? OBJ,GLOBAL-SHOT \?ELS252
PRINTR """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."""
?ELS252: EQUAL? OBJ,GLOBAL-STILES,STILES \?ELS258
CALL DISCRETION,PHONG,LINDER
PRINTR """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."""
?ELS258: EQUAL? OBJ,GLOBAL-SUICIDE \?ELS262
SET 'MONICA-HAS-MOTIVE,PHONG
CALL DISCRETION,PHONG,LINDER,MONICA
PRINTR """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."""
?ELS262: EQUAL? OBJ,WILL \?ELS266
ZERO? PHONG-SEEN-CORPSE? /?ELS271
CALL DISCRETION,PHONG,MONICA
PRINTR """Mr. Linder probably kept it in his bank safe. I've never seen it."""
?ELS271: PRINTR """You'll have to ask Mr. Linder about that."""
?ELS266: EQUAL? OBJ,BROOM \?ELS280
PRINTR """What can I tell you? That's a 'flathead broom,' invented by your American Shakers, I believe."""
?ELS280: EQUAL? OBJ,DOORBELL \?ELS284
ZERO? PHONG-SEEN-CORPSE? /?ELS284
PRINTR "He seems surprised. ""Uh, that was just some door-to-door salesman."""
?ELS284: EQUAL? OBJ,GUN-RECEIPT \?ELS290
CALL DISCRETION,PHONG,MONICA
PRINTR """Yes, I think Monica bought those, using some other name."""
?ELS290: EQUAL? OBJ,MATCHBOOK \?ELS294
PRINTI """I've heard Mr. Linder mention that restaurant."
PRINTR " But I don't recognize the phone number."""
?ELS294: EQUAL? OBJ,BRASS-LANTERN \?ELS298
PRINTI """I've heard Mr. Linder mention that restaurant."
PRINTR """"
?ELS298: EQUAL? OBJ,MEDICAL-REPORT,TUMOR \?ELS302
PRINTR "Phong looks surprised but not alarmed. ""This is the first I've heard of this."""
?ELS302: EQUAL? OBJ,MUDDY-SHOES \?ELS306
SET 'SIDE-FOOTPRINTS-MATCHED,TRUE-VALUE
PRINTI """Those are my gardening boots. They're muddy because, while you were in the office, "
PRINTI "I thought I heard a noise outside and went out to investigate."
PRINTR """"
?ELS306: EQUAL? OBJ,OFFICE-BUTTON,CLOCK /?THN311
EQUAL? OBJ,POWDER,CLOCK-POWDER \?ELS310
?THN311: ZERO? PLAYER-PUSHED-BUTTON /?CND313
SET 'PHONG-ADMITTED-HELPING?,TRUE-VALUE
CALL DISCRETION,PHONG,MONICA
PRINTR """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!"""
?CND313: ZERO? PHONG-SEEN-CORPSE? /?CND319
PRINTI "Phong seems shaken, but all he says is, "
?CND319: EQUAL? OBJ,OFFICE-BUTTON \?ELS329
PRINTR """That's my butler's button, of course."""
?ELS329: EQUAL? OBJ,CLOCK \?ELS333
PRINTR """Mr. Linder has a certain fondness for elaborate things like that."""
?ELS333: PRINTR """If it's dust you're after, I plead guilty to plenty of it."""
?ELS310: EQUAL? OBJ,PIECE-OF-WIRE,CLOCK-WIRES,PIECE-OF-PUTTY \?ELS341
PRINTR """Oh, I guess that's part of the burglar alarm."""
?ELS341: EQUAL? OBJ,RECURSIVE-BOOK \?ELS345
PRINTR """It's a mystery called 'Deadline.' Monica recommended it to me."""
?ELS345: EQUAL? OBJ,TELEGRAM \?ELS349
PRINTR """Yes, that's the telegram Mr. Linder sent this morning."""
?ELS349: EQUAL? OBJ,THREAT-NOTE \FALSE
ZERO? PHONG-ADMITTED-HELPING? /?ELS358
PRINTR """Yes, now you know that Mr. Linder forged that note. Stiles didn't send it to him."""
?ELS358: PRINTR """Yes, that's the note that Stiles sent to Mr. Linder."""
?ELS367: PRINTR """I'm sorry, Detective, but I can't help you."""
?ELS150: EQUAL? PRSO,PHONG \?ELS375
EQUAL? PRSA,V?HELP \?ELS375
PRINTR "Phong looks offended. ""I'm quite capable by myself, you know."""
?ELS375: EQUAL? PRSO,PHONG \?ELS381
EQUAL? PRSA,V?RUB \?ELS381
CALL PHONG-FIGHTS
RSTACK
?ELS381: EQUAL? PRSO,PHONG \?ELS385
EQUAL? PRSA,V?ASK-FOR \?ELS385
FSET PHONG,TOUCHBIT
EQUAL? PRSI,OUTSIDE-GUN /?THN393
EQUAL? PRSI,GENERIC-GUN,PHONG-KEYS,GENERIC-KEY \FALSE
?THN393: CALL PERFORM,V?ASK-ABOUT,PHONG,PRSI
RTRUE
?ELS385: EQUAL? PRSO,PHONG \?ELS398
EQUAL? PRSA,V?SEARCH-OBJECT-FOR,V?SEARCH \?ELS398
IN? OUTSIDE-GUN,PHONG \?ELS405
CALL PHONG-FIGHTS
RSTACK
?ELS405: IN? PHONG-KEYS,PHONG \FALSE
EQUAL? PRSA,V?SEARCH /?THN410
EQUAL? PRSA,V?SEARCH-OBJECT-FOR \FALSE
EQUAL? PRSI,GENERIC-KEY,PHONG-KEYS \FALSE
?THN410: MOVE PHONG-KEYS,PLAYER
FCLEAR PHONG-KEYS,NDESCBIT
PRINTI "You find a "
PRINTD PHONG-KEYS
PRINTR " in Phong's pocket and take it."
?ELS398: EQUAL? PRSO,PHONG \?ELS419
EQUAL? PRSA,V?SHOW \?ELS419
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSI
RTRUE
?ELS419: EQUAL? PRSA,V?TAKE \?ELS423
EQUAL? PRSO,OUTSIDE-GUN /?THN426
EQUAL? PRSO,GENERIC-GUN,GENERIC-KEY,PHONG-KEYS \?ELS423
?THN426: CALL TAKE-PHONG-KEYS
RSTACK
?ELS423: EQUAL? PRSA,V?TAKEOUT \?ELS429
EQUAL? PRSI,LINDER-BACK-DOOR,MONICA-BACK-DOOR,OFFICE-BACK-DOOR \?ELS429
CALL PHONG-FIGHTS
RSTACK
?ELS429: EQUAL? PRSA,V?ARREST \FALSE
CALL ARREST,PHONG
RSTACK
.FUNCT PHONG-FIGHTS
PRINTR "Phong's smile disappears and his body shifts subtly toward a fighting stance. ""I don't think you really want to try that, Detective."""
.FUNCT TAKE-PHONG-KEYS
ZERO? PHONG-SEEN-CORPSE? /?ELS5
MOVE PHONG-KEYS,PLAYER
FCLEAR PHONG-KEYS,NDESCBIT
PRINTR """Here, you may as well take them. I don't see how Mr. Linder can object now."""
?ELS5: PRINTR """I don't think Mr. Linder would like that."""
.FUNCT LINDER-F,ARG=0,OBJ,L
LOC LINDER >L
EQUAL? ARG,M-OBJDESC \?ELS5
CALL IN-MOTION?,LINDER
ZERO? STACK \TRUE
FSET? LINDER,TOUCHBIT \?ELS10
IN? LINDER,HERE \?ELS13
IN? HERE,ROOMS \?ELS13
PRINTR "Linder is pacing back and forth."
?ELS13: PRINTI "Linder is sitting on the "
LOC LINDER
PRINTD STACK
PRINTR "."
?ELS10: FSET LINDER,TOUCHBIT
GETP LINDER,P?TEXT
PRINT STACK
CRLF
RTRUE
?ELS5: EQUAL? WINNER,LINDER \?ELS27
EQUAL? PRSA,V?FIND \?ELS32
EQUAL? PRSO,GUN-RECEIPT \?ELS32
SET 'WINNER,PLAYER
CALL PERFORM,V?ASK-ABOUT,LINDER,PRSO
RTRUE
?ELS32: EQUAL? PRSA,V?THANKS,V?FIND /FALSE
EQUAL? PRSA,V?GIVE \?ELS42
EQUAL? PRSO,DRINK /FALSE
?ELS42: EQUAL? PRSA,V?SGIVE \?ELS38
EQUAL? PRSI,DRINK /FALSE
?ELS38: EQUAL? PRSA,V?PUSH \?ELS46
EQUAL? PRSO,OFFICE-BUTTON \?ELS46
PRINTR """I don't need Phong yet."""
?ELS46: EQUAL? PRSA,V?TIME \?ELS52
PRINTI "Linder looks at his wrist watch and says, ""I have "
CALL TIME-PRINT,PRESENT-TIME
PRINTR """"
?ELS52: CALL COM-CHECK,LINDER
ZERO? STACK \TRUE
PRINTR """Don't tell me what to do!"""
?ELS27: ZERO? PRSO /?ELS68
IN? PRSO,GLOBAL-OBJECTS \?ELS68
SET 'OBJ,PRSO
ZERO? OBJ /?ELS68
EQUAL? PRSA,V?WHAT,V?FIND /?THN65
?ELS68: ZERO? PRSI /?ELS64
SET 'OBJ,PRSI
ZERO? OBJ /?ELS64
EQUAL? PRSO,LINDER \?ELS64
EQUAL? PRSA,V?ASK-ABOUT,V?CONFRONT \?ELS64
?THN65: CALL GRAB-ATTENTION,LINDER
ZERO? STACK /TRUE
CALL SAID-TO,LINDER
EQUAL? OBJ,BUTTON \?ELS78
PRINTR """That's the butler's button, of course."""
?ELS78: EQUAL? OBJ,BLACK-WIRE \?ELS82
PRINTI """Yes, Monica wired "
PRINTI "the whole house for butler's buttons."
PRINTR " With all modesty, I think she's quite a mechanic."""
?ELS82: EQUAL? OBJ,WHITE-WIRE \?ELS86
PRINTI """Yes, Monica wired "
PRINTI "all the windows for burglars."
PRINTR " With all modesty, I think she's quite a mechanic."""
?ELS86: EQUAL? OBJ,GENERIC-GREEN-WIRE,GENERIC-WIRE \?ELS90
PRINTR """That's Monica's territory. I don't interfere."""
?ELS90: EQUAL? OBJ,GLOBAL-CALL \?ELS94
PRINTR """What phone call? I haven't talked with Stiles since my wife's death. I'm really afraid he wants to do me in."""
?ELS94: EQUAL? OBJ,GENERIC-KEY \?ELS98
PRINTR """Phong keeps the house keys for me."""
?ELS98: EQUAL? OBJ,GLOBAL-LINDER,LINDER \?ELS102
PRINTR """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."""
?ELS102: EQUAL? OBJ,GLOBAL-AFFAIR,GLOBAL-MRS-LINDER,GLOBAL-SUICIDE \?ELS106
PRINTR """It's still too painful for me to talk about, I'm afraid."""
?ELS106: EQUAL? OBJ,MONEY \?ELS110
PRINTR """Money?! I asked you here to prevent a crime. I hope you're not thinking of some outlandish fee!"""
?ELS110: EQUAL? OBJ,GLOBAL-MONICA,MONICA \?ELS114
PRINTR """She's a loyal and intelligent girl. I'm very proud of her."""
?ELS114: EQUAL? OBJ,GLOBAL-PHONG,PHONG \?ELS118
PRINTR """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."""
?ELS118: EQUAL? OBJ,GLOBAL-STILES,STILES,DANGER \?ELS122
FSET? THREAT-NOTE,TOUCHBIT \?ELS127
PRINTR """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."""
?ELS127: EQUAL? HERE,OFFICE \?ELS131
CALL I-LINDER-EXPLAIN
RTRUE
?ELS131: PRINTR """I'll explain all that shortly, after I finish this drink."""
?ELS122: EQUAL? OBJ,PLAYER \?ELS137
PRINTR """My friend Klutz, the Police Chief, recommended you to me."""
?ELS137: EQUAL? OBJ,GENERIC-CAR,GENERIC-GUN /?THN142
EQUAL? OBJ,GLOBAL-PTA,WILL \?ELS141
?THN142: PRINTR """That has nothing to do with why I asked you here."""
?ELS141: EQUAL? OBJ,BROOM \?ELS147
PRINTR """Oh, Phong must have left it there after cleaning up."""
?ELS147: EQUAL? OBJ,CARVED-CHAIR \?ELS151
PRINTR """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.'"""
?ELS151: EQUAL? OBJ,CAT \?ELS155
PRINTR """She's Monica's cat. You'd do better to ask her."""
?ELS155: EQUAL? OBJ,CLOCK \?ELS159
PRINTR """I've always admired elaborate machines, and that's the finest example I could hope to own."""
?ELS159: EQUAL? OBJ,GUN-RECEIPT \?ELS163
PRINTR """I didn't ask you here so you could search the house!"""
?ELS163: EQUAL? OBJ,MATCHBOOK,BRASS-LANTERN \?ELS167
CALL DISCRETION,LINDER,PHONG
PRINTR """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."
?ELS167: EQUAL? OBJ,MEDICAL-REPORT,TUMOR \?ELS171
ZERO? LINDER-SAW-MEDICAL-REPORT /?ELS174
PRINTI """I already told you that I haven't seen it before."""
CRLF
JUMP ?CND172
?ELS174: PRINTI "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."""
CRLF
?CND172: SET 'LINDER-SAW-MEDICAL-REPORT,TRUE-VALUE
RETURN LINDER-SAW-MEDICAL-REPORT
?ELS171: EQUAL? OBJ,OFFICE-BUTTON \?ELS183
PRINTR """That's the butler's button, of course."""
?ELS183: EQUAL? OBJ,PAPERS,FILE-CABINET \?ELS187
PRINTR """I wish you wouldn't meddle in my files while we're trying to talk."""
?ELS187: EQUAL? OBJ,PIECE-OF-WIRE,CLOCK-WIRES,PIECE-OF-PUTTY \?ELS191
PRINTR """Oh, uh, that's part of the burglar alarm."""
?ELS191: EQUAL? OBJ,TELEGRAM \?ELS195
PRINTR """Yes, that's the telegram I sent this morning."""
?ELS195: EQUAL? OBJ,THREAT-NOTE \?ELS199
PRINTR """Yes, that's the note that Stiles sent to me."""
?ELS199: CALL PICK-ONE,LINDER-ASKED
PRINT STACK
CRLF
RTRUE
?ELS64: EQUAL? PRSO,LINDER \?ELS207
EQUAL? PRSA,V?RUB \?ELS207
PRINTR "Linder looks bewildered, almost alarmed. ""Whatever do you have in mind?"""
?ELS207: EQUAL? PRSO,LINDER \?ELS213
EQUAL? PRSA,V?SHOW \?ELS213
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSI
RTRUE
?ELS213: EQUAL? PRSO,LINDER \?ELS217
EQUAL? PRSA,V?TURN-UP \?ELS217
PRINTR "Many have tried, but none has succeeded."
?ELS217: EQUAL? PRSA,V?TAKEOUT \?ELS223
EQUAL? PRSI,LINDER-BACK-DOOR,MONICA-BACK-DOOR,OFFICE-BACK-DOOR \?ELS223
PRINTR "Many have tried, but none has succeeded."
?ELS223: EQUAL? PRSA,V?ARREST \FALSE
CALL ARREST,LINDER
RSTACK
.FUNCT STILES-F,ARG=0,OBJ,L
LOC STILES >L
EQUAL? ARG,M-OBJDESC \?ELS5
EQUAL? L,OFFICE-PORCH,OFFICE-PATH \?ELS8
CALL IN-MOTION?,STILES
ZERO? STACK \TRUE
FSET? STILES,TOUCHBIT \?ELS13
PRINTR "Stiles is waiting for you to say something."
?ELS13: PRINTR "The visitor is in a hurry."
?ELS8: CALL IN-MOTION?,STILES
ZERO? STACK /?ELS21
PRINTR "Sgt. Duffy is leading Stiles by the handcuffs."
?ELS21: ZERO? MET-STILES? /?ELS25
LESS? PRESENT-TIME,780 \?ELS29
PRINTI "Stiles is fastened to the davenport, "
PRINTR "looking sullen."
?ELS29: PRINTI "Stiles is fastened to the davenport, "
PRINTR "yawning and trying not to doze off."
?ELS25: PRINTI "Sgt. Duffy is holding a prisoner by the arm."
CRLF
GETP STILES,P?TEXT
PRINT STACK
CRLF
RTRUE
?ELS5: EQUAL? WINNER,STILES \?ELS43
ZERO? TOO-LATE /?ELS48
EQUAL? PRSA,V?FIND \?ELS48
EQUAL? PRSO,PLAYER /?ELS48
PRINTR """I wouldn't tell you even if I knew."""
?ELS48: ZERO? TOO-LATE /?ELS54
EQUAL? PRSA,V?INVENTORY \?ELS54
PRINTR """I've never seen you before."""
?ELS54: EQUAL? PRSA,V?THANKS,V?FIND /FALSE
CALL COM-CHECK,STILES
ZERO? STACK \TRUE
CALL PICK-ONE,WHY-ME
PRINT STACK
CRLF
RTRUE
?ELS43: ZERO? PRSI /?ELS72
SET 'OBJ,PRSI
ZERO? OBJ /?ELS72
EQUAL? PRSO,STILES \?ELS72
EQUAL? PRSA,V?ASK-ABOUT,V?CONFRONT /?THN69
?ELS72: ZERO? PRSO /?ELS68
IN? PRSO,GLOBAL-OBJECTS \?ELS68
SET 'OBJ,PRSO
ZERO? OBJ /?ELS68
EQUAL? PRSA,V?WHAT,V?FIND \?ELS68
?THN69: CALL GRAB-ATTENTION,STILES
ZERO? STACK /TRUE
CALL SAID-TO,STILES
EQUAL? OBJ,GLOBAL-CALL \?ELS82
PRINTI """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"
PRINTR " said he wanted to pay me a bundle to leave town."""
?ELS82: ZERO? TOO-LATE \?ELS86
EQUAL? OBJ,GLOBAL-DUFFY \?ELS86
PRINTR """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."""
?ELS86: EQUAL? OBJ,GENERIC-GUN \?ELS92
PRINTR """Don't ask me. I never touch them."""
?ELS92: ZERO? TOO-LATE \?ELS96
EQUAL? OBJ,STILES-SHOES \?ELS96
SET 'BACK-FOOTPRINTS-MATCHED,TRUE-VALUE
PRINTR """What about them? They're muddy because I had to run through the yard and woods to get away from the shooting."""
?ELS96: EQUAL? OBJ,TELEGRAM \?ELS102
PRINTR """I don't get it. I think he's more dangerous than I am!"""
?ELS102: EQUAL? OBJ,MONEY \?ELS106
PRINTI """Yeah, Linder"
PRINTR " said he wanted to pay me a bundle to leave town."""
?ELS106: EQUAL? OBJ,GLOBAL-MONICA,MONICA \?ELS110
CALL DISCRETION,STILES,MONICA
PRINTR """She's probably just another dizzy dame, but I don't really know her well enough to say."""
?ELS110: EQUAL? OBJ,GLOBAL-AFFAIR,GLOBAL-MRS-LINDER,GLOBAL-SUICIDE \?ELS114
CALL DISCRETION,STILES,MONICA
PRINTR """Virginia was a special woman. Repressed for years. I think that, if only ... Say, I don't have to answer your questions!"""
?ELS114: EQUAL? OBJ,GLOBAL-LINDER,LINDER,CORPSE \?ELS118
PRINTR """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."""
?ELS118: EQUAL? OBJ,GLOBAL-PHONG,PHONG \?ELS122
CALL DISCRETION,STILES,PHONG
PRINTI """He seems straight, but I don't really trust "
CALL TANDY?
ZERO? STACK /?ELS127
PRINTI "his kind"
JUMP ?CND125
?ELS127: PRINTI "slanteyes"
?CND125: PRINTR "."""
?ELS122: ZERO? SHOT-FIRED /?ELS137
EQUAL? OBJ,GLOBAL-SHOT \?ELS137
PRINTR """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."""
?ELS137: EQUAL? OBJ,GLOBAL-STILES,STILES \?ELS143
PRINTR """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."""
?ELS143: ZERO? TOO-LATE \?ELS147
EQUAL? OBJ,INSIDE-GUN,OUTSIDE-GUN \?ELS147
PRINTR """I've never seen it before. Anyhow, I don't like guns."""
?ELS147: EQUAL? OBJ,MATCHBOOK /?THN154
EQUAL? OBJ,INTNUM \?ELS153
EQUAL? P-NUMBER,1729 \?ELS153
?THN154: PRINTI """That's my phone number! Linder must have jotted it down the day we had lunch at that restaurant,"
PRINTR " when he first offered me money to leave town."""
?ELS153: EQUAL? OBJ,BRASS-LANTERN \?ELS161
PRINTI """I think that's the name of the restaurant where Linder took me to lunch,"
PRINTR " when he first offered me money to leave town."""
?ELS161: ZERO? TOO-LATE \?ELS165
EQUAL? OBJ,MEDICAL-REPORT,TUMOR \?ELS165
PRINTR """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."""
?ELS165: ZERO? TOO-LATE \?ELS171
EQUAL? OBJ,THREAT-NOTE \?ELS171
PRINTR """Holy smoke! That sort of looks like my writing, but I didn't write it."""
?ELS171: CALL PICK-ONE,STILES-ASKED
PRINT STACK
CRLF
RTRUE
?ELS68: EQUAL? PRSA,V?PHONE,V?LOOK-UP \?ELS181
CALL PERFORM,PRSA,MATCHBOOK
RTRUE
?ELS181: ZERO? TOO-LATE /?ELS183
EQUAL? PRSA,V?SEARCH /?THN186
EQUAL? PRSO,MONEY \?ELS189
EQUAL? PRSA,V?TAKE,V?GIVE /?THN186
?ELS189: EQUAL? PRSI,MONEY \?ELS183
EQUAL? PRSA,V?SGIVE,V?SEARCH-OBJECT-FOR,V?ASK-FOR \?ELS183
?THN186: PRINTR "When you try it, he whirls around in a fighting stance. ""Don't mess around with me, buddy. I've handled thieves before."""
?ELS183: EQUAL? PRSO,STILES \?ELS195
EQUAL? PRSA,V?SHOW \?ELS195
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSI
RTRUE
?ELS195: EQUAL? PRSO,STILES \?ELS199
EQUAL? PRSA,V?RUB,V?SLAP \?ELS199
PRINTI "Stiles"
PRINTI "'s eyes are full of hate, and "
PRINTR "he says something unprintable."
?ELS199: EQUAL? PRSO,STILES \?ELS205
EQUAL? PRSA,V?TIE-WITH,V?TIE-TO \?ELS205
ZERO? TOO-LATE \?ELS205
PRINTR "There's no need. Duffy's cuffs are secure enough."
?ELS205: EQUAL? PRSO,STILES \?ELS211
EQUAL? PRSA,V?UNTIE \?ELS211
ZERO? TOO-LATE \?ELS211
PRINTR "Your key won't fit the cuffs."
?ELS211: EQUAL? PRSA,V?TAKEOUT \?ELS217
ZERO? TOO-LATE \?ELS217
EQUAL? PRSI,LINDER-BACK-DOOR,MONICA-BACK-DOOR,OFFICE-BACK-DOOR \?ELS217
PRINTR "Your key won't fit the cuffs."
?ELS217: EQUAL? PRSA,V?ARREST \FALSE
CALL ARREST,STILES
RSTACK
.FUNCT STILES-SHOES-F
EQUAL? PRSA,V?PUT,V?COMPARE \?ELS5
EQUAL? PRSO,SIDE-FOOTPRINTS-CAST,SIDE-FOOTPRINTS /?THN8
EQUAL? PRSI,SIDE-FOOTPRINTS-CAST,SIDE-FOOTPRINTS \?ELS5
?THN8: PRINTI "The shoes don't seem to match "
PRINTI "the foot prints that you found in the "
PRINTR "side yard."
?ELS5: EQUAL? PRSA,V?PUT,V?COMPARE \?ELS13
EQUAL? PRSO,BACK-FOOTPRINTS-CAST,BACK-FOOTPRINTS /?THN16
EQUAL? PRSI,BACK-FOOTPRINTS-CAST,BACK-FOOTPRINTS \?ELS13
?THN16: EQUAL? PRSA,V?PUT /?THN23
EQUAL? P-ADVERB,W?CAREFULLY \?ELS22
?THN23: SET 'BACK-FOOTPRINTS-MATCHED,TRUE-VALUE
PRINTR "The shoes and the foot prints match each other perfectly."
?ELS22: PRINTI "The shoes look similar to "
PRINTI "the foot prints that you found in the "
PRINTR "back yard."
?ELS13: CALL RANDOM-SHOES-F
RSTACK
.FUNCT MONICA-F,ARG=0,OBJ,L,X,?TMP1
LOC MONICA >L
EQUAL? ARG,M-OBJDESC \?ELS5
CALL IN-MOTION?,MONICA
ZERO? STACK \TRUE
FSET? MONICA,TOUCHBIT \?ELS10
ZERO? MONICA-TIED-TO /?ELS13
PRINTI "Monica is fastened to the "
PRINTD MONICA-TIED-TO
PRINTI " with the "
PRINTD MONICA-TIED-WITH
PRINTR "."
?ELS13: EQUAL? L,MONICA-ROOM \?ELS18
PRINTR "Monica is lying on her bed, softly sobbing."
?ELS18: EQUAL? L,TOILET-ROOM \?ELS22
PRINTR "Monica is leaning over the toilet, gasping."
?ELS22: PRINTR "Monica is here, biting her nails."
?ELS10: FSET MONICA,TOUCHBIT
PRINTI "Monica "
LOC MONICA >?TMP1
LOC LINDER
EQUAL? ?TMP1,STACK \?CND33
PRINTI "stops talking and "
?CND33: PRINTI "looks at you sharply. "
GETP MONICA,P?TEXT
PRINT STACK
CRLF
RTRUE
?ELS5: EQUAL? WINNER,MONICA \?ELS41
FSET MONICA,TOUCHBIT
EQUAL? PRSA,V?FIND \?ELS46
EQUAL? PRSO,CLOCK-KEY \?ELS46
SET 'WINNER,PLAYER
CALL PERFORM,V?ASK-ABOUT,MONICA,PRSO
RTRUE
?ELS46: EQUAL? PRSA,V?THANKS,V?FIND /FALSE
EQUAL? PRSA,V?GIVE \?THN57
EQUAL? PRSO,INSIDE-GUN /?THN57
EQUAL? PRSO,GENERIC-GUN,GENERIC-KEY,CLOCK-KEY /?THN61
?THN57: EQUAL? PRSA,V?SGIVE \?ELS52
EQUAL? PRSI,INSIDE-GUN /?THN61
EQUAL? PRSI,GENERIC-GUN,GENERIC-KEY,CLOCK-KEY \?ELS52
?THN61: PRINTR """Why should I?"""
?ELS52: CALL COM-CHECK,MONICA
ZERO? STACK \TRUE
CALL PICK-ONE,WHY-ME
PRINT STACK
CRLF
RTRUE
?ELS41: EQUAL? PRSA,V?ACCUSE \?ELS72
SET 'MONICA-CLAMS-UP,TRUE-VALUE
ZERO? MONICA-SEEN-CORPSE? \?ELS77
PRINTR """What murder? What are you talking about?"" Her cheeks quiver like jelly."
?ELS77: ZERO? SEEN-MONICA-AT-CLOCK \?ELS81
ZERO? MONICA-ADMITTED-HELPING? \?ELS81
PRINTR """You were there when it happened. Isn't it obvious that Stiles did it?"""
?ELS81: ZERO? MONICA-SAW-MEDICAL-REPORT \?ELS87
FCLEAR MEDICAL-REPORT,INVISIBLE
FCLEAR TUMOR,INVISIBLE
SET 'MONICA-SAW-MEDICAL-REPORT,TRUE-VALUE
SET 'MONICA-ADMITTED-HELPING?,TRUE-VALUE
PRINTI """It's true I helped set up the gun mechanism. But Dad was already dying! You can find the medical report on the desk "
IN? MONICA,MONICA-ROOM \?CND90
PRINTI "here "
?CND90: PRINTR "in my room. He was ... dying ..."" She breaks down in tears."
?ELS87: ZERO? MONICA-SAW-CORONER-REPORT \?ELS98
PRINTR """I've told you already: he was dying!"" Tears dribble down her cheeks."
?ELS98: PRINTR """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."
?ELS72: ZERO? PRSI /?ELS110
SET 'OBJ,PRSI
ZERO? OBJ /?ELS110
EQUAL? PRSO,MONICA \?ELS110
EQUAL? PRSA,V?ASK-ABOUT,V?CONFRONT /?THN107
?ELS110: ZERO? PRSO /?ELS106
IN? PRSO,GLOBAL-OBJECTS \?ELS106
SET 'OBJ,PRSO
ZERO? OBJ /?ELS106
EQUAL? PRSA,V?WHAT,V?FIND \?ELS106
?THN107: CALL GRAB-ATTENTION,MONICA
ZERO? STACK /TRUE
CALL SAID-TO,MONICA
FSET MONICA,TOUCHBIT
EQUAL? OBJ,MONEY,GLOBAL-PTA /?THN121
EQUAL? OBJ,GLOBAL-TERRY,GENERIC-CAR \?ELS120
?THN121: PRINTR """That has nothing to do with why Dad asked you here."""
?ELS120: EQUAL? OBJ,BUTTON \?ELS126
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTR """That's the butler's button, you cheesehead."""
?ELS126: EQUAL? OBJ,GENERIC-GUN \?ELS130
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTR """I have nothing to say to you about that."""
?ELS130: EQUAL? OBJ,BLACK-WIRE \?ELS134
PRINTR """That bell system is just one of the features I've put in this house. Beyond your imagination, probably."""
?ELS134: EQUAL? OBJ,WHITE-WIRE \?ELS138
PRINTR """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."""
?ELS138: EQUAL? OBJ,GENERIC-GREEN-WIRE,GENERIC-WIRE \?ELS142
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTI """You want wire? You can find all kinds "
EQUAL? HERE,WORKSHOP \?CND145
PRINTI "here "
?CND145: PRINTR "in the workshop."""
?ELS142: EQUAL? OBJ,GLOBAL-MONICA,MONICA \?ELS153
PRINTR """I have no secrets. Anyone can see what I am."""
?ELS153: EQUAL? OBJ,GENERIC-KEY,PHONG-KEYS \?ELS157
PRINTR """Phong keeps the house keys. Ask him."""
?ELS157: EQUAL? OBJ,GLOBAL-LINDER,LINDER,CORPSE \?ELS161
ZERO? MONICA-CLAMS-UP /?CND162
PRINTI """What can I say? He"
ZERO? MONICA-SEEN-CORPSE? /?ELS170
PRINTI " wa"
JUMP ?CND168
?ELS170: PRINTI "'"
?CND168: PRINTR "s my father, a hard-working, clever man."""
?CND162: SET 'MONICA-CLAMS-UP,TRUE-VALUE
ZERO? MONICA-SEEN-CORPSE? /?ELS184
SET 'MONICA-HAS-MOTIVE,CORPSE
PRINTI "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 ... """
PRINT SHE-CLAMS-UP
CRLF
RTRUE
?ELS184: SET 'MONICA-HAS-MOTIVE,LINDER
CALL DISCRETION,MONICA,LINDER
PRINTI """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 ..."""
PRINT SHE-CLAMS-UP
CRLF
RTRUE
?ELS161: EQUAL? OBJ,GLOBAL-AFFAIR,GLOBAL-MRS-LINDER \?ELS193
SET 'MONICA-HAS-MOTIVE,GLOBAL-MRS-LINDER
CALL DISCRETION,MONICA,LINDER
ZERO? MONICA-CLAMS-UP /?ELS198
PRINTR """That's between Mother and me."""
?ELS198: SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTI """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."
PRINT SHE-CLAMS-UP
CRLF
RTRUE
?ELS193: EQUAL? OBJ,GLOBAL-MURDER,DANGER \?ELS207
ZERO? MONICA-SEEN-CORPSE? \?ELS212
PRINTR """What do you think this is, a cheap whodunit?"""
?ELS212: ZERO? MONICA-ADMITTED-HELPING? \?ELS216
PRINTI """Isn't it obvious? That "
CALL TANDY?
ZERO? STACK /?ELS221
PRINTI "idiot"
JUMP ?CND219
?ELS221: PRINTI "bastard"
?CND219: PRINTR " Stiles squibbed him off!"""
?ELS216: SET 'WINNER,PLAYER
CALL PERFORM,V?ACCUSE,MONICA,GLOBAL-MURDER
RTRUE
?ELS207: EQUAL? OBJ,GLOBAL-PHONG,PHONG \?ELS233
CALL DISCRETION,MONICA,PHONG
PRINTI """He's a right gee, no matter what some people say about his "
CALL TANDY?
ZERO? STACK /?ELS238
PRINTI "kind"
JUMP ?CND236
?ELS238: PRINTI "race"
?CND236: PRINTR "."""
?ELS233: EQUAL? OBJ,GLOBAL-STILES,STILES \?ELS248
ZERO? MONICA-ADMITTED-HELPING? /?ELS253
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTI """That poor "
CALL TANDY?
ZERO? STACK /?ELS259
PRINTI "idiot"
JUMP ?CND257
?ELS259: PRINTI "bastard"
?CND257: PRINTR ". 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."""
?ELS253: ZERO? MONICA-SEEN-CORPSE? /?ELS269
PRINTI """That "
CALL TANDY?
ZERO? STACK /?ELS275
PRINTI "idiot"
JUMP ?CND273
?ELS275: PRINTI "bastard"
?CND273: PRINTR " who killed Dad? I'd spit in his face if it was worth the trouble."""
?ELS269: CALL DISCRETION,MONICA,STILES
PRINTR """Oh, that lover boy thinks he's a smooth apple, all right. If you ask me, he's just a harmless grifter."""
?ELS248: EQUAL? OBJ,PLAYER \?ELS289
PRINTI """I don't know anything about you, but I "
ZERO? MONICA-SEEN-CORPSE? /?ELS294
PRINTI "had hoped you could"
JUMP ?CND292
?ELS294: PRINTI "hope you can"
?CND292: PRINTR " help Dad."""
?ELS289: EQUAL? OBJ,GLOBAL-SUICIDE \?ELS305
PRINTR """I don't want to talk about it."""
?ELS305: EQUAL? OBJ,GLOBAL-TERRY \?ELS309
PRINTR """Terry's a good friend of mine, that's all."""
?ELS309: EQUAL? OBJ,WILL \?ELS313
ZERO? MONICA-SEEN-CORPSE? /?ELS318
SET 'PHONG-HAS-MOTIVE,WILL
CALL DISCRETION,MONICA,PHONG
PRINTR """Dad kept it in his bank safe. I'll bet Phong would like to see it."""
?ELS318: PRINTR """You'll have to ask Dad about that."""
?ELS313: EQUAL? OBJ,FILE-CABINET \?ELS327
PRINTR """That has nothing to do with why Dad asked you here."""
?ELS327: EQUAL? OBJ,CAT \?ELS331
PRINTR """She's my cat. I named her Asta, because she's at least as smart as the dog in 'The Thin Man.'"""
?ELS331: EQUAL? OBJ,CLOCK-KEY \?ELS335
IN? CLOCK-KEY,MONICA \?ELS340
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTR """I don't know where Dad keeps it."""
?ELS340: PRINTR """That's the only key for the clock. So what?"""
?ELS335: EQUAL? OBJ,GUN-RECEIPT \?ELS348
PRINTR """What about it? It's no crime to get a little heat for self-protection."""
?ELS348: EQUAL? OBJ,INSIDE-GUN \?ELS352
FSET? INSIDE-GUN,TOUCHBIT \?ELS357
PRINTR "Monica has the wild look of a trapped animal. ""I can't understand why that heater was inside the clock."""
?ELS357: PRINTR """I don't know what you're talking about."""
?ELS352: EQUAL? OBJ,MEDICAL-REPORT,TUMOR \?ELS365
ZERO? MONICA-SEEN-CORPSE? /?ELS368
ZERO? MONICA-ADMITTED-HELPING? /?ELS372
SET 'WINNER,PLAYER
CALL PERFORM,V?ACCUSE,MONICA,GLOBAL-MURDER
RTRUE
?ELS372: ZERO? MONICA-SAW-MEDICAL-REPORT /?ELS375
PRINTI """I already told you: Dad was about to kick the bucket anyway."""
CRLF
JUMP ?CND366
?ELS375: FCLEAR MEDICAL-REPORT,INVISIBLE
FCLEAR TUMOR,INVISIBLE
PRINTI """Dad gave "
EQUAL? OBJ,MEDICAL-REPORT \?ELS387
PUSH STR?109
JUMP ?CND383
?ELS387: PUSH STR?110
?CND383: PRINT STACK
PRINTI "so I could try to understand what was wrong and what his chances were. Now I guess Stiles has ended Dad's pain."""
CRLF
JUMP ?CND366
?ELS368: CALL DISCRETION,MONICA,LINDER
ZERO? MONICA-SAW-MEDICAL-REPORT /?ELS394
PRINTI """I already told you: Dad's about to kick the bucket."""
CRLF
JUMP ?CND366
?ELS394: PRINTI """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."
CRLF
?CND366: SET 'MONICA-SAW-MEDICAL-REPORT,TRUE-VALUE
RTRUE
?ELS365: EQUAL? OBJ,PIECE-OF-WIRE,CLOCK-WIRES,PIECE-OF-PUTTY \?ELS403
ZERO? MONICA-ADMITTED-HELPING? \?ELS403
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTR """Oh, uh, that's part of a timed lock I set up for the office."""
?ELS403: EQUAL? OBJ,OFFICE-BUTTON,CLOCK /?THN410
EQUAL? OBJ,POWDER,CLOCK-POWDER /?THN410
EQUAL? OBJ,PIECE-OF-WIRE,CLOCK-WIRES,PIECE-OF-PUTTY \?ELS409
ZERO? MONICA-ADMITTED-HELPING? /?ELS409
?THN410: ZERO? MONICA-SEEN-CORPSE? /?ELS418
ZERO? PLAYER-PUSHED-BUTTON /?ELS418
SET 'MONICA-ADMITTED-HELPING?,TRUE-VALUE
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTR """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."
?ELS418: EQUAL? OBJ,OFFICE-BUTTON \?ELS424
PRINTR """That's the butler's button, you cheesehead."""
?ELS424: PRINTR """Phong really ought to do a better job of cleaning around here."""
?ELS409: EQUAL? OBJ,OUTSIDE-GUN \?ELS432
ZERO? MONICA-ADMITTED-HELPING? /?ELS437
SET 'MONICA-CLAMS-UP,TRUE-VALUE
PRINTR """That gat you found? Phong planted it so it would look as if Stiles used it."""
?ELS437: ZERO? MONICA-SEEN-CORPSE? /?ELS442
CALL DISCRETION,MONICA,STILES
PRINTR """That gat you found? It must belong to Stiles."""
?ELS442: PRINTR """I've never seen it before. It looks as if you don't take good care of it."""
?ELS432: EQUAL? OBJ,RECURSIVE-BOOK \?ELS451
PRINTR """It's a swell mystery called 'Deadline.' I haven't figured it out yet."""
?ELS451: EQUAL? OBJ,TELEGRAM \?ELS455
PRINTR """That must be the telegram Dad sent this morning."""
?ELS455: EQUAL? OBJ,STUB \?ELS459
PRINTR """That looks like my ticket stub. I didn't know I dropped it."""
?ELS459: EQUAL? OBJ,GLOBAL-FILM \?ELS463
ZERO? FILM-SEEN /?ELS468
PRINTR """It was called 'Dead End'. I don't think this Bogart guy is pretty enough to make it big."""
?ELS468: PRINTR """I think we'll see 'Dead End'. Terry wants to check out this guy named Bogart."""
?ELS463: PRINTI """I don't know anything about it, shamus."
INC 'MONICA-QUESTIONS
LESS? 6,MONICA-QUESTIONS \?CND480
PRINTI " And I'm really getting tired of your questions."
?CND480: PRINTR """"
?ELS106: EQUAL? PRSO,MONICA \?ELS488
EQUAL? PRSA,V?GOODBYE \?ELS488
FSET MONICA,TOUCHBIT
PRINTR """If I never see you again, it's jake with me."""
?ELS488: EQUAL? PRSO,MONICA \?ELS494
EQUAL? PRSA,V?RUB \?ELS494
FSET MONICA,TOUCHBIT
ZERO? MONICA-TIED-TO \?ELS501
CALL MONICA-PUSHES
RSTACK
?ELS501: PRINTR "Monica writhes away from your touch and manages to kick you in the shin."
?ELS494: EQUAL? PRSO,MONICA \?ELS507
EQUAL? PRSA,V?ASK-FOR \?ELS507
FSET MONICA,TOUCHBIT
ZERO? MONICA-TIED-TO /?ELS514
PRINTR """How can I give you anything when I'm tied up?"""
?ELS514: EQUAL? PRSI,INSIDE-GUN,GENERIC-GUN /?THN520
EQUAL? PRSI,PHONG-KEYS,GENERIC-KEY,CLOCK-KEY \FALSE
?THN520: CALL PERFORM,V?ASK-ABOUT,MONICA,PRSI
RTRUE
?ELS507: EQUAL? PRSO,MONICA \?ELS529
SET 'OBJ,PRSI
ZERO? OBJ /?ELS529
EQUAL? PRSA,V?SEARCH-OBJECT-FOR,V?SEARCH /?THN526
?ELS529: EQUAL? PRSI,MONICA \?ELS525
SET 'OBJ,PRSO
ZERO? OBJ /?ELS525
EQUAL? PRSA,V?TAKE \?ELS525
?THN526: FSET MONICA,TOUCHBIT
ZERO? MONICA-TIED-TO \?ELS536
CALL MONICA-PUSHES
RSTACK
?ELS536: IN? CLOCK-KEY,MONICA \?ELS538
EQUAL? PRSA,V?SEARCH /?THN541
EQUAL? OBJ,GENERIC-KEY,CLOCK-KEY \?ELS538
?THN541: MOVE CLOCK-KEY,PLAYER
FCLEAR CLOCK-KEY,INVISIBLE
FSET CLOCK-KEY,TOUCHBIT
PRINTR "You find a single key in Monica's pocket and take it."
?ELS538: IN? INSIDE-GUN,MONICA \FALSE
EQUAL? PRSA,V?SEARCH /?THN549
EQUAL? OBJ,GENERIC-GUN,INSIDE-GUN \FALSE
?THN549: SET 'SEEN-MONICA-AT-CLOCK,TRUE-VALUE
MOVE INSIDE-GUN,PLAYER
FCLEAR INSIDE-GUN,INVISIBLE
FSET INSIDE-GUN,TOUCHBIT
PRINTR "You find a hand gun in Monica's pocket and take it."
?ELS525: EQUAL? PRSO,MONICA \?ELS556
EQUAL? PRSA,V?SHOW \?ELS556
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSI
RTRUE
?ELS556: EQUAL? PRSO,MONICA \?ELS560
EQUAL? PRSA,V?SLAP \?ELS560
IN? MONICA,MONICA-ROOM \?ELS560
FSET MONICA,TOUCHBIT
PRINTR "Monica screams, ""Leave me alone! I'll get over it! Please!"""
?ELS560: EQUAL? PRSA,V?SLAP \?ELS566
ZERO? MONICA-TIED-TO /?ELS566
FSET MONICA,TOUCHBIT
PRINTR "Monica's eyes are full of hate, and she says something unprintable."
?ELS566: EQUAL? PRSO,MONICA \?ELS572
EQUAL? PRSA,V?TIE-TO \?ELS572
FSET MONICA,TOUCHBIT
ZERO? MONICA-TIED-TO /?ELS577
PRINTI "She's already fastened to the "
PRINTD MONICA-TIED-TO
PRINTR "."
?ELS577: ZERO? CLOCK-FIXED /?ELS582
FSET? PRSI,FURNITURE \?ELS582
IN? HANDCUFFS,PLAYER \?ELS582
SET 'MONICA-CLAMS-UP,TRUE-VALUE
SET 'MONICA-TIED-TO,PRSI
SET 'MONICA-TIED-WITH,HANDCUFFS
PRINTI "(with your handcuffs)"
CRLF
JUMP ?CND575
?ELS582: CALL MONICA-PUSHES
RTRUE
?CND575: ZERO? MONICA-TIED-WITH /?ELS593
MOVE MONICA-TIED-WITH,PRSI
FCLEAR MONICA-TIED-WITH,TAKEBIT
FSET MONICA-TIED-WITH,NDESCBIT
GET GOAL-TABLES,MONICA-C
PUT STACK,GOAL-ENABLE,FALSE-VALUE
GET MOVEMENT-GOALS,MONICA-C
ADD STACK,MG-LENGTH
PUT MOVEMENT-GOALS,MONICA-C,STACK
PRINTR "She puts up a struggle, but you manage to do it."
?ELS593: PRINTI "There's nothing to tie her "
PRINTR "with!"
?ELS572: EQUAL? PRSO,MONICA \?ELS602
EQUAL? PRSA,V?TIE-WITH \?ELS602
FSET MONICA,TOUCHBIT
ZERO? MONICA-TIED-WITH /?ELS607
PRINTI "She's already fastened with the "
PRINTD MONICA-TIED-WITH
PRINTR "."
?ELS607: ZERO? CLOCK-FIXED /?ELS612
EQUAL? PRSI,HANDCUFFS \?ELS612
CALL FIND-FLAG,HERE,FURNITURE >X
ZERO? X /?PRD617
PRINTI "(to the "
PRINTD X
PRINTI ")"
CRLF
PUSH X
JUMP ?CND615
?PRD617: PUSH 0
?CND615: SET 'MONICA-TIED-TO,STACK
JUMP ?CND605
?ELS612: CALL MONICA-PUSHES
RTRUE
?CND605: ZERO? MONICA-TIED-TO /?ELS628
SET 'MONICA-CLAMS-UP,TRUE-VALUE
SET 'MONICA-TIED-WITH,PRSI
MOVE PRSI,MONICA-TIED-TO
FCLEAR PRSI,TAKEBIT
FSET PRSI,NDESCBIT
GET GOAL-TABLES,MONICA-C
PUT STACK,GOAL-ENABLE,FALSE-VALUE
GET GOAL-TABLES,MONICA-C
PUT STACK,ATTENTION-SPAN,999
PRINTR "She puts up a struggle, but you manage to do it."
?ELS628: PRINTI "There's nothing to "
EQUAL? PRSI,HANDCUFFS \?ELS640
PUSH STR?111
JUMP ?CND636
?ELS640: PUSH STR?112
?CND636: PRINT STACK
PRINTR "her to!"
?ELS602: EQUAL? PRSA,V?UNTIE \?ELS644
ZERO? MONICA-TIED-TO \?ELS649
PRINTR "She's not even tied up!"
?ELS649: ZERO? PRSI /?ELS653
EQUAL? PRSI,MONICA-TIED-TO /?ELS653
PRINTI "She's not fastened to the "
PRINTD PRSI
PRINTR "!"
?ELS653: MOVE MONICA-TIED-WITH,PLAYER
PRINTI "Monica rubs her wrists as you take the "
PRINTD MONICA-TIED-WITH
PRINTI "."
ZERO? FINGERPRINT-OBJ \?CND662
ZERO? DUFFY-AT-CORONER \?CND662
PRINTI " Her eyes dart from door to door, then she bolts for the hallway. But, within seconds, Sgt. Duffy brings her back."
?CND662: CALL RELEASE-MONICA
PRINTR " She refuses to look at you."
?ELS644: EQUAL? PRSA,V?TAKEOUT \?ELS672
EQUAL? PRSI,LINDER-BACK-DOOR,MONICA-BACK-DOOR,OFFICE-BACK-DOOR \?ELS672
ZERO? MONICA-TIED-TO /?ELS679
PRINTI "You can't take her and the "
PRINTD MONICA-TIED-TO
PRINTR " both!"
?ELS679: CALL MONICA-PUSHES
RSTACK
?ELS672: EQUAL? PRSA,V?ARREST \FALSE
CALL ARREST,MONICA
RSTACK
.FUNCT MONICA-PUSHES
PRINTI "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"
CALL TANDY?
ZERO? STACK \?CND3
PRINTI "s"
?CND3: PRINTR "t, think again."" Her eyes burn like polished gems."
.FUNCT RELEASE-MONICA
SET 'MONICA-TIED-TO,FALSE-VALUE
SET 'MONICA-TIED-WITH,FALSE-VALUE
FSET MONICA-TIED-WITH,TAKEBIT
FCLEAR MONICA-TIED-WITH,NDESCBIT
RTRUE
.FUNCT CAT-F
EQUAL? PRSA,V?KICK \?ELS5
PRINTR "Like a fly, the cat springs up just in time, then goes to a different corner to settle down."
?ELS5: EQUAL? PRSA,V?HELLO,V?RUB \FALSE
PRINTR "The cat purrs a little louder and curls one paw."
.FUNCT GLOBAL-PERSON,?TMP1
EQUAL? PRSA,V?PHONE,V?$CALL,V?FOLLOW /FALSE
EQUAL? PRSA,V?WAIT-FOR,V?FIND,V?WHAT /FALSE
EQUAL? PRSA,V?TELL-ME,V?ASK-ABOUT \?ELS9
ZERO? PRSO /?ELS9
FSET? PRSO,PERSON \?ELS15
IN? PRSO,GLOBAL-OBJECTS \FALSE
?ELS15: EQUAL? PRSO,GLOBAL-DUFFY /FALSE
?ELS9: EQUAL? PRSA,V?TELL \?ELS17
PRINTI "You can't speak to someone who isn't here."
CRLF
SET 'P-CONT,FALSE-VALUE
RTRUE
?ELS17: EQUAL? PRSA,V?ARREST \?ELS21
EQUAL? PRSO,GLOBAL-LINDER \?ELS26
CALL ARREST,GLOBAL-LINDER
RSTACK
?ELS26: GETP PRSO,P?CHARACTER
GET CHARACTER-TABLE,STACK
CALL ARREST,STACK
RSTACK
?ELS21: EQUAL? PRSA,V?TELL-ME,V?ASK-ABOUT /?THN34
ZERO? NOW-PRSI \?ELS33
?THN34: PRINTD PRSO
JUMP ?CND31
?ELS33: PRINTD PRSI
?CND31: EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT,V?GOODBYE /?THN47
EQUAL? PRSA,V?HELLO,V?TELL,V?$CALL \?ELS44
?THN47: GETP PRSO,P?CHARACTER
GET CHARACTER-TABLE,STACK
LOC STACK
GETP STACK,P?CORRIDOR >?TMP1
GETP HERE,P?CORRIDOR
BAND ?TMP1,STACK
ZERO? STACK /?ELS44
PRINTI " can't hear you."
CRLF
JUMP ?CND42
?ELS44: PRINTI " isn't here!"
CRLF
?CND42: SET 'P-CONT,FALSE-VALUE
RTRUE
.FUNCT GLOBAL-MRS-LINDER-F
EQUAL? PRSA,V?FOLLOW \?ELS5
PRINTR "You will eventually, shamus, you will."
?ELS5: EQUAL? PRSA,V?PHONE,V?$CALL \FALSE
PRINTR "You're not with her yet."
.FUNCT HINT-F
EQUAL? PRSA,V?ASK-FOR \?ELS9
EQUAL? PRSO,GLOBAL-DUFFY \?THN6
?ELS9: EQUAL? PRSA,V?TAKE \FALSE
EQUAL? PRSI,GLOBAL-DUFFY /FALSE
?THN6: PRINTR "You'll have to be more specific."
.FUNCT GLOBAL-DUFFY-F
EQUAL? PRSA,V?PHONE \?ELS5
EQUAL? PRSO,GLOBAL-DUFFY \?ELS5
CALL PHONE-IN?,HERE
ZERO? STACK /?ELS5
ZERO? SEEN-DUFFY? /?ELS12
PRINTR "Duffy must be around here somewhere. There's no point in trying to phone him."
?ELS12: PRINTR "The night clerk at the station says he'll give Duffy your message."
?ELS5: ZERO? SEEN-DUFFY? \?ELS21
PRINTI "Sergeant Duffy is probably at the station, working late as usual."
CRLF
RETURN 2
?ELS21: EQUAL? PRSA,V?WAIT-FOR \?ELS27
EQUAL? PRSO,GLOBAL-DUFFY \?ELS27
ZERO? FINGERPRINT-OBJ \?THN35
ZERO? DUFFY-AT-CORONER \?THN35
ZERO? MET-DUFFY? \?ELS34
?THN35: CALL V-WAIT,10000,PRSO
RSTACK
?ELS34: PRINTR "You'd wait quite a while, since Sergeant Duffy is always nearby but never approaches you without a good reason."
?ELS27: ZERO? FINGERPRINT-OBJ \?THN43
ZERO? DUFFY-AT-CORONER /?ELS42
?THN43: CALL DO-FINGERPRINT
RETURN 2
?ELS42: EQUAL? PRSA,V?SHOOT,V?ARREST \?ELS48
EQUAL? PRSO,GLOBAL-DUFFY \?ELS48
PRINTI "Oh, come on now! Not trusty "
PRINTD PRSO
PRINTR "!"
?ELS48: EQUAL? PRSA,V?FIND \?ELS54
EQUAL? PRSO,GLOBAL-DUFFY \?ELS54
PRINTR "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."
?ELS54: EQUAL? PRSA,V?FOLLOW \?ELS60
EQUAL? PRSO,GLOBAL-DUFFY \?ELS60
ZERO? DUFFY-WITH-STILES /?ELS67
CALL PERFORM,PRSA,STILES,PRSI
RTRUE
?ELS67: PRINTR "Duffy is too quick to follow."
?ELS60: ZERO? MET-DUFFY? \?ELS74
CALL I-MEET-DUFFY?
ZERO? STACK \TRUE
PRINTR "It looks as though Duffy didn't hear you."
?ELS74: EQUAL? PRSA,V?$CALL \?ELS81
EQUAL? PRSO,GLOBAL-DUFFY /FALSE
?ELS81: EQUAL? WINNER,GLOBAL-DUFFY \?ELS85
EQUAL? PRSA,V?MAKE,V?SANALYZE,V?ANALYZE \?ELS90
SET 'WINNER,PLAYER
CALL PERFORM,PRSA,PRSO,PRSI
RTRUE
?ELS90: EQUAL? PRSA,V?ARREST \?ELS92
SET 'WINNER,PLAYER
CALL PERFORM,V?ARREST,PRSO
RTRUE
?ELS92: EQUAL? PRSA,V?THANKS,V?FIND /FALSE
EQUAL? PRSA,V?GIVE \?ELS100
EQUAL? PRSO,HINT \?ELS100
EQUAL? PRSI,PLAYER /?THN97
?ELS100: EQUAL? PRSA,V?SGIVE \?ELS96
EQUAL? PRSI,HINT \?ELS96
EQUAL? PRSO,PLAYER \?ELS96
?THN97: CALL DUFFY-HINT
RSTACK
?ELS96: EQUAL? PRSA,V?TAKE \?ELS104
PRINTI "Duffy"
ZERO? DUFFY-WITH-STILES \?CND107
PRINTI " appears for an instant but"
?CND107: PRINTR " politely declines your offer."
?ELS104: EQUAL? PRSA,V?PHONE \?ELS115
EQUAL? PRSO,CORONER \?ELS115
ZERO? DUFFY-WITH-STILES /?ELS122
PRINTR """I will, as soon as I case the joint."""
?ELS122: PRINTR """Oh, I called the coroner as soon as I saw the body. They'll be here as soon as they have time."""
?ELS115: EQUAL? PRSO,STILES \?ELS131
EQUAL? PRSA,V?UNTIE \?ELS131
PRINTR """What?? I won't release a suspect!"""
?ELS131: CALL COM-CHECK,GLOBAL-DUFFY
ZERO? STACK \TRUE
PRINTR """With all respect, I think you should do that yourself."""
?ELS85: EQUAL? PRSA,V?ASK-ABOUT \?ELS143
EQUAL? PRSO,GLOBAL-DUFFY \?ELS143
ZERO? DUFFY-WITH-STILES \?CND146
PRINTI "Duffy appears for a moment. "
?CND146: PRINTI """"
EQUAL? PRSI,CORONER \?ELS155
LESS? PRESENT-TIME,720 \?ELS155
PRINTI "Oh, I called the coroner as soon as I saw the body. They'll be here as soon as they have time."
JUMP ?CND153
?ELS155: EQUAL? PRSI,CORONER,AUTOPSY \?ELS161
ZERO? DUFFY-AT-CORONER \?THN165
LESS? PRESENT-TIME,720 \?ELS164
?THN165: PRINTI "Oh, I called the coroner as soon as I saw the body. They'll be here as soon as they have time."
JUMP ?CND153
?ELS164: PRINTI "I thought I told you already. The coroner "
ZERO? DUFFY-SAW-MEDICAL-REPORT /?CND173
PRINTI "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 "
?CND173: PRINTI "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."
JUMP ?CND153
?ELS161: EQUAL? PRSI,GLOBAL-DUFFY \?ELS182
PRINTI "Come off it, Detective. We've worked together before. You sure you didn't stop at a bar tonight?"
JUMP ?CND153
?ELS182: EQUAL? PRSI,BATHTUB,TUB-ROOM \?ELS186
PRINTI "Ah, that's where the late Mrs. Linder did herself in. A messy business, Detective."
JUMP ?CND153
?ELS186: EQUAL? PRSI,GLOBAL-SUICIDE \?ELS190
PRINTI "She shot herself in the bathtub."
JUMP ?CND153
?ELS190: EQUAL? PRSI,GUN-RECEIPT \?ELS194
PRINTI "Oh, I know that place, Fritzi's. Untidy, but clean."
JUMP ?CND153
?ELS194: EQUAL? PRSI,MEDICAL-REPORT \?ELS198
SET 'DUFFY-SAW-MEDICAL-REPORT,TRUE-VALUE
PRINTI "Fascinating! It could have been a suicide, then."
JUMP ?CND153
?ELS198: EQUAL? PRSI,RECURSIVE-BOOK \?ELS202
PRINTI "Ah, Connecticut! I have relations there, you know. In fact, one young one wants to be a detective some day."
JUMP ?CND153
?ELS202: PRINTI "I wish I could help you, Detective."
?CND153: PRINTI """"
ZERO? DUFFY-WITH-STILES \?CND211
PRINTI " He scurries off again."
?CND211: CRLF
RTRUE
?ELS143: EQUAL? PRSA,V?ASK-FOR \?ELS217
EQUAL? PRSI,HINT \?ELS217
CALL DUFFY-HINT
RSTACK
?ELS217: EQUAL? PRSA,V?GIVE \?ELS225
EQUAL? PRSI,GLOBAL-DUFFY /?THN222
?ELS225: EQUAL? PRSA,V?SGIVE \?ELS221
EQUAL? PRSO,GLOBAL-DUFFY \?ELS221
?THN222: PRINTI "Duffy"
ZERO? DUFFY-WITH-STILES \?CND230
PRINTI " appears for an instant but"
?CND230: PRINTR " politely declines your offer."
?ELS221: EQUAL? PRSA,V?GOODBYE \?ELS238
PRINTR """You can't leave yet, Detective. Think of your reputation!"""
?ELS238: EQUAL? PRSA,V?HELLO \?ELS242
ZERO? DUFFY-WITH-STILES /?ELS247
PRINTR """Hello again, Detective."""
?ELS247: PRINTR "Duffy peeks around a corner, tips his hat to you, and disappears again."
?ELS242: EQUAL? PRSO,GLOBAL-DUFFY \?ELS256
EQUAL? PRSA,V?SHOW \?ELS256
CALL PERFORM,V?ASK-ABOUT,PRSO,PRSI
RTRUE
?ELS256: EQUAL? PRSA,V?TAKE \FALSE
EQUAL? PRSO,HINT \FALSE
EQUAL? PRSI,GLOBAL-DUFFY \FALSE
CALL DUFFY-HINT
RSTACK
.FUNCT COM-CHECK,PER
EQUAL? PRSA,V?EXAMINE \?ELS5
SET 'WINNER,PLAYER
CALL PERFORM,V?SHOW,PER,PRSO
RTRUE
?ELS5: EQUAL? PRSA,V?FOLLOW \?ELS7
EQUAL? PRSO,PLAYER \?ELS7
PRINTR """I would rather not."""
?ELS7: EQUAL? PRSA,V?GIVE \?ELS13
EQUAL? PRSI,PLAYER \?ELS13
SET 'WINNER,PLAYER
CALL PERFORM,V?TAKE,PRSO,PER
RTRUE
?ELS13: EQUAL? PRSA,V?SGIVE \?ELS17
EQUAL? PRSO,PLAYER \?ELS17
SET 'WINNER,PLAYER
CALL PERFORM,V?TAKE,PRSI,PER
RTRUE
?ELS17: EQUAL? PRSA,V?GOODBYE \?ELS21
ZERO? PRSO /?THN24
EQUAL? PRSO,PER \?ELS21
?THN24: SET 'WINNER,PLAYER
CALL PERFORM,V?GOODBYE,WINNER
RTRUE
?ELS21: EQUAL? PRSA,V?HELLO \?ELS27
ZERO? PRSO /?THN30
EQUAL? PRSO,PER \?ELS27
?THN30: SET 'WINNER,PLAYER
CALL PERFORM,V?HELLO,PER
RTRUE
?ELS27: EQUAL? PRSA,V?HELP \?ELS33
EQUAL? PRSO,PLAYER /?THN39
ZERO? PRSO \?ELS38
?THN39: CALL PERFORM,V?GIVE,HINT,PLAYER
RTRUE
?ELS38: FSET? PRSO,PERSON \FALSE
PRINTR """I don't need your help."""
?ELS33: EQUAL? PRSA,V?INVENTORY \?ELS48
PRINTI """"
PRINTI "You're the detective!"
PRINTR """"
?ELS48: EQUAL? PRSA,V?SHOW \?ELS52
EQUAL? PRSO,PLAYER \?ELS52
PRINTR """I'm sure you can find it, Detective."""
?ELS52: EQUAL? PRSA,V?TELL-ME \?ELS58
EQUAL? PRSO,PLAYER \?ELS58
SET 'WINNER,PLAYER
CALL PERFORM,V?ASK-ABOUT,PER,PRSI
RTRUE
?ELS58: EQUAL? PRSA,V?WAIT /?THN63
EQUAL? PRSA,V?WAIT-FOR \?ELS62
EQUAL? PRSO,PLAYER \?ELS62
?THN63: SET 'WINNER,PLAYER
CALL PERFORM,V?$CALL,PER
RTRUE
?ELS62: EQUAL? PRSA,V?WHAT \FALSE
SET 'WINNER,PLAYER
CALL PERFORM,V?ASK-ABOUT,PER,PRSO
RTRUE
.FUNCT DESCRIBE-PERSON,PERSON,STR=0
PRINTD PERSON
PRINTI " is "
ZERO? STR \?ELS7
PUSH STR?118
JUMP ?CND3
?ELS7: PUSH STR
?CND3: PRINT STACK
PRINTR "."
.FUNCT DISCRETION,P1,P2,P3=0
CALL META-LOC,P2
EQUAL? HERE,STACK \?ELS5
ZERO? P3 /?ELS5
CALL META-LOC,P3
EQUAL? HERE,STACK \?ELS5
PRINTD P1
PRINTI " looks briefly toward "
PRINTD P2
PRINTI " and "
PRINTD P3
PRINTR " and then speaks in a whisper."
?ELS5: CALL META-LOC,P2
EQUAL? HERE,STACK \?ELS11
PRINTD P1
PRINTI " looks briefly toward "
PRINTD P2
PRINTR " and then speaks in a whisper."
?ELS11: ZERO? P3 /FALSE
CALL META-LOC,P3
EQUAL? HERE,STACK \FALSE
PRINTD P1
PRINTI " looks briefly toward "
PRINTD P3
PRINTR " and then speaks in a whisper."
.FUNCT INHABITED?,RM
CALL POPULATION,RM
ZERO? STACK /FALSE
RTRUE
.FUNCT POPULATION,RM,PR=0,CNT=0,OBJ
FIRST? RM >OBJ /?CND1
RETURN CNT
?CND1:
?PRG4: FSET? OBJ,PERSON \?ELS8
FSET? OBJ,INVISIBLE /?ELS8
INC 'CNT
ZERO? PR /?CND6
CALL DESCRIBE-PERSON,OBJ,STR?119
JUMP ?CND6
?ELS8: FSET? OBJ,CONTBIT \?CND6
CALL POPULATION,OBJ,PR
ADD CNT,STACK >CNT
?CND6: NEXT? OBJ >OBJ /?KLU20
?KLU20: ZERO? OBJ \?PRG4
RETURN CNT
.FUNCT RANDOM-SHOES-F,OBJ
SET 'OBJ,PRSO
ZERO? OBJ /?ELS9
EQUAL? PRSA,V?TAKE,V?GIVE /?THN6
?ELS9: SET 'OBJ,PRSI
ZERO? OBJ /?ELS5
EQUAL? PRSA,V?SGIVE,V?SEARCH-OBJECT-FOR,V?ASK-FOR \?ELS5
?THN6: EQUAL? OBJ,PHONG-SHOES \?ELS16
CALL PHONG-FIGHTS
RSTACK
?ELS16: EQUAL? OBJ,MONICA-SHOES \?ELS18
ZERO? MONICA-TIED-TO \?ELS23
CALL MONICA-PUSHES
RSTACK
?ELS23: PRINTR "Monica writhes away from your touch and manages to kick you in the shin."
?ELS18: EQUAL? OBJ,STILES-SHOES \?ELS29
PRINTR """Please don't take them! I'm cold enough as it is!"""
?ELS29: EQUAL? OBJ,LINDER-SHOES \FALSE
LOC LINDER
ZERO? STACK /?ELS38
PRINTR """I'm beginning to wonder if I got a decent detective or not!"""
?ELS38: CALL TANDY?
ZERO? STACK /?ELS42
PRINTR "You can't be that desperate!"
?ELS42: PRINTR "Necrophilia went out with raccoon coats!"
?ELS5: EQUAL? PRSA,V?PUT,V?COMPARE \?ELS50
EQUAL? PRSO,BACK-FOOTPRINTS-CAST /?THN55
EQUAL? PRSO,BACK-FOOTPRINTS,SIDE-FOOTPRINTS-CAST,SIDE-FOOTPRINTS /?THN57
?THN55: EQUAL? PRSI,BACK-FOOTPRINTS-CAST /?THN57
EQUAL? PRSI,BACK-FOOTPRINTS,SIDE-FOOTPRINTS-CAST,SIDE-FOOTPRINTS \?ELS50
?THN57: PRINTI "The shoes don't seem to match "
PRINTI "the foot prints that you found in the "
PRINTR "yard."
?ELS50: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? PRSO,LINDER-SHOES,PHONG-SHOES \?ELS67
PRINTR "They're straw slippers with thongs, clean and obviously comfortable."
?ELS67: EQUAL? PRSO,STILES-SHOES \?ELS71
PRINTR "They're pointed wing tips with sensational welt features, but a bit shabby and more than a bit muddy."
?ELS71: EQUAL? PRSO,MONICA-SHOES \FALSE
PRINTR "They're tan pumps with Cuban heels, clean and stylish."
.ENDI