the-infocom-files / witness

The Witness
3 stars 4 forks source link

If you don't sit down in the wooden chair until Linder is dead, he will still tell you his story #28

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

If you don't sit down in the wooden chair, there is a 50% chance that you get shot instead of him. But if you survive...

>WAIT
Time passes...
Linder says, "I repeat: if you'll just take a chair, I'll explain what this is
all about."
You hear the door bell ring.

Linder looks toward the window and says, "I don't think Phong has answered the
door bell yet." He reaches toward the butler's button and at the same instant
shouts "Stiles!" You turn around and dimly see a figure outside. Suddenly there
is a flash of light and an explosion, and the window falls into dozens of shiny
shards. The cat bolts and disappears somewhere. The figure outside turns and
runs before you can see the face. When you turn back around, you see Linder
slumping down in his chair, with a bloody stain spreading across his silk shirt.
He teeters on the edge of the seat, then falls onto the floor, quite dead.
It's now 9:04 p.m.

>SIT ON WOODEN CHAIR
You are now sitting on the wooden chair.
Linder begins his story. "My late wife, may she rest in peace, got involved with
a young man named Stiles. Naturally I tried to stop this affair, but without
much success. Since my wife passed away, this Stiles fellow has gone off the
deep end, I'm afraid, and blamed me for her death. I tried my best to ignore
him, but he seems to have lost his senses. This morning I received this note and
decided to ask your help." He hands the note to you.

That's because WOODEN-CHAIR-F only checks if Linder talked to you, not if he's still alive:

<ROUTINE WOODEN-CHAIR-F ("OPTIONAL" (ARG <>))
 <COND (<AND <NOT .ARG>
         <VERB? CLIMB-ON SIT TAKE>
         <==? 1 <GET ,P-PRSO 0>>    ;"only one dir. object"
         <==? ,PRSO ,WOODEN-CHAIR>>
    <MOVE ,PLAYER ,WOODEN-CHAIR>
    <TELL "You are now sitting on the " D ,PRSO "." CR>
    <COND (<NOT ,LINDER-EXPLAINED> <I-LINDER-EXPLAIN>)>
    <RTRUE>)>>