the-infocom-files / deadline

Deadline
4 stars 3 forks source link

Baxter momentarily seems to disappear while he follows Dunbar #64

Open eriktorbjorn opened 5 years ago

eriktorbjorn commented 5 years ago
>NW
Orchard Path
You are on a path at the edge of a small orchard of fruit trees which abuts the
eastern side of the back of the house. The orchard is obviously intended more to
display the beauty of the blossoms in spring than to produce significant amounts
of fruit. The windows of the kitchen look out onto the orchard, although your
view of them is blocked by the trees and a small grape arbor. To the west is a
path along a rose garden, and lawns sweep out to the north and east.
There is a wooden ladder here.
Mr. McNabb is here, pruning the trees. He seems quite worked up and is talking
aloud to himself.
Mr. Baxter heads off to the north.

>N
North Lawn
This idyllic spot lies on a jut of land well north of the house and is
surrounded on three sides by lake shore. Its charm includes the sweet smell of
roses blown on a southwest breeze from the rose garden and by the sound of the
leaves rustling in the orchard to the southeast.
Mr. McNabb is off to the southeast.
Mr. Baxter is here.
Mr. Baxter heads off to the southeast.

>SE
Orchard Path
You are on a path at the edge of a small orchard of fruit trees which abuts the
eastern side of the back of the house. The orchard is obviously intended more to
display the beauty of the blossoms in spring than to produce significant amounts
of fruit. The windows of the kitchen look out onto the orchard, although your
view of them is blocked by the trees and a small grape arbor. To the west is a
path along a rose garden, and lawns sweep out to the north and east.
There is a wooden ladder here.
Mr. McNabb is here, pruning the trees. He seems quite worked up and is talking
aloud to himself.

>FIND BAXTER
Are you blind?
Baxter stares out over the lake.

So he is there. I'm not quite sure what happened. If I understand correctly, he walked to the North Lawn because that's set up in I-DUNBAR-SEQ-3 (which is called 10 minutes after Dunbar sets off for SHED-ROOM).

But I haven't yet figured out what keeps him from entering the shed if he thinks he's being observed.

eriktorbjorn commented 5 years ago

I think the problem is that Baxter is still moving, so he has no description. I think this part of the code has something to do with stopping Baxter from going to the shed:

<ROUTINE I-DUNBAR-SEQ-B-2 ("AUX" GT)
     <SET GT <GET ,GOAL-TABLES ,BAXTER-C>>
     <COND (<==? <LOC ,BAXTER> ,SHED-ROOM>
        <QUEUE I-DUNBAR-SEQ-B-2 0>
        <RFALSE>)
           (<FOLLOWED? ,BAXTER>
        <COND (<GET .GT ,GOAL-ENABLE>
               <PUT .GT ,GOAL-ENABLE <>>
               <RFALSE>)
              (<PROB 50>
               <TELL
"Baxter draws a deep breath and looks about contentedly." CR>
               <RTRUE>)
              (T
               <TELL
"Baxter stares out over the lake." CR>
               <RTRUE>)>
        <COND (<PROB 50>
               <TELL
"Baxter walks slowly, but with determination. He looks around often, as
if he were a prospective buyer of the property. He stops now, staring
up at the sky." CR>)
              (T
               <TELL
"Baxter stops, bends down, and ties his shoe.">
               <COND (<PROB 30>
                  <TELL "  As he finishes, he takes stands up,
and stares at some distant trees." CR>)
                 (T
                  <TELL " He stands up and stares off to the
south." CR>)>)>)
           (T
        <PUT .GT ,GOAL-ENABLE T>
        <RFALSE>)>>

He stops, but not until after his description function (BAXTER-F) has already concluded that on this move he's still moving, and therefore has no description. The same thing happens to Dunbar in I-DUNBAR-SEQ-D, but at least so far in my testing that's also the move where she drops her ticket stub, so you do get a message that she's there.

Actually, I haven't been able to trigger any of the messages in the second half where he walks slowly, ties his shoe, etc. Since they're messages about him stopping, they might be the appropriate messages for when you catch up with him after the North Lawn?

eriktorbjorn commented 5 years ago

For comparison, here's part of I-DUNBAR-SEQ-D:

           (<AND <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>
             <FOLLOWED? ,DUNBAR>>
        <COND (<GET .GT ,GOAL-ENABLE>
               <PUT .GT ,GOAL-ENABLE <>>)
              (<PROB 28>
               <TELL
"Ms. Dunbar eyes you nervously." CR>
               <RTRUE>)
              (<PROB 50>
               <TELL
"Ms. Dunbar stares off toward the south." CR>
               <RTRUE>)
              (T
               <TELL
"Ms. Dunbar seems to be deep in thought." CR>
               <RTRUE>)>
        <COND (<AND <NOT ,STUB-DROPPED>
                <==? <GETP ,HERE ,P?LINE> ,OUTSIDE-LINE-C>>
               <TELL
"Ms. Dunbar spots you and stops. She reaches into her pocket and pulls out a
cigarette. As she does so, what appears to be a ticket stub falls out of her
pocket and floats to the ground. She checks her pocket again, apparently for
a match, but finds none and puts the cigarette back in her pocket." CR>
               <MOVE ,STUB <LOC ,DUNBAR>>
               <SETG STUB-DROPPED T>)
              (<PROB 15>
               <TELL
"Ms. Dunbar glances around as she walks. She takes a quick glance in your
direction, but it doesn't seem like she noticed you." CR>
               <PUT .GT ,GOAL-ENABLE T>)
              (<PROB 50>
               <TELL
"Ms. Dunbar looks around as she walks and does a brief double-take
when she looks in your direction. She slows down and stops." CR>)
              (T
               <TELL
"Ms. Dunbar, who has been looking from side to side as she goes,
comes to a stop. She spins around, looking in all directions." CR>)>)
           (T
        <PUT .GT ,GOAL-ENABLE T>
        <RFALSE>)>>

Notice how it does not return after clearing GOAL-ENABLE at the top.