the-infocom-files / seastalker

Seastalker
3 stars 3 forks source link

Examining the station monitor doesn't always produce output (by design, apparently) #52

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

After Greenup tries to flee, you can see his progress on the station monitor in Bly's office. But examining it doesn't always produce any response:

>EXAMINE MONITOR
The monitor screen shows Greenup's head just coming into view above the top of
the docking tank's west wall, as he climbs the outside ladder.
Once he reaches the top of this wall, he will come down the inside ladder to the
SCIMITAR.

>EXAMINE MONITOR

Greenup has reached the top of the wall and is climbing down the ladder into the
docking tank. In a moment he'll reach the floor and head for the SCIMITAR.

>EXAMINE MONITOR

Greenup is scrambling aboard the SCIMITAR. Tip groans. "There's no way to stop
him now, Torbjorn! All he has to do is open the docking tank gate and shove
off!"
(If you want a clue, find Infocard #5 in your SEASTALKER package. Read hidden
clue #2 and put "docking tank electricity" in the blank space.)

>EXAMINE MONITOR

>EXAMINE MONITOR

>EXAMINE MONITOR

>EXAMINE MONITOR

>EXAMINE MONITOR

Better not raise any false hopes. As the SCIMITAR glides out, a pall of gloom
settles over the Aquadome. All hands sense that there's little hope, that
Greenup has scuttled their last chance of fighting off another attack by the
Snark.
A videophone call to Inventions Unlimited confirms that no other subs are
available for a rescue expedition, even if there were time. And a general S.O.S.
to any craft in the vicinity isn't answered.

Your score is 74 points out of 100, in 242 turns.
This score gives you the rank of a very good adventurer.

Would you like to:
   RESTORE your place from where you saved it,
   RESTART the story from the beginning, or
   QUIT for now?

Apparently this is by design:

<ROUTINE STATION-MONITOR-F ()
 <COND (<VERB? ANALYZE EXAMINE READ>
    <COND (,GREENUP-ESCAPE
           <ENABLE <QUEUE I-GREENUP-ESCAPE -1>>
           <COND (<EQUAL? ,GREENUP-ESCAPE 1>
              <TELL
"The monitor screen shows Greenup's head just coming into view
above the top of the " D ,AIRLOCK
"'s west wall, as he climbs the outside ladder.|
">
              <COND (<NOT <FSET? ,AIRLOCK-ROOF ,OPENBIT>>
                 <TELL
"But since the " D ,AIRLOCK-ROOF " is closed,
Greenup can't get into the " D ,SUB " to escape. ">
                 <GREENUP-CUFF>
                 <RTRUE>)
                (T <TELL
"Once he reaches the top of this wall, he will come down the inside
ladder to the " D ,SUB "." CR>)>)
             (T <RTRUE> ;"output from I-GREENUP-ESCAPE")>)
          (T <TELL
D ,BLY " uses this monitor to check on activities in the " D ,AQUADOME "."
CR>)>)>>

I.e. sometimes it just replies on I-GREENUP-ESCAPE printing the appropriate message. As seen above, that doesn't always work.

Maybe what it should do instead is to always print the standard description first?