the-infocom-files / seastalker

Seastalker
3 stars 3 forks source link

You can't examine the electrolyte relay unless you're holding it (by design?) #29

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago
>LOOK
(dome center)
You're in the very center of the Aquadome, where the Air Supply System rises
like a tower, almost to the top of the dome itself.
Tip is here.
The Air Supply System contains:
  an electrolyte relay
  an empty space

>EXAMINE RELAY
You're not holding the electrolyte relay.

>GET RELAY
You are now holding the electrolyte relay.

>EXAMINE RELAY
It has screw threads and, judging by its size and shape, it should screw very
neatly into that empty space in the Air Supply System assembly.

This is because ELECTROLYTE-RELAY-F intercepts most commands with a default message if you're not carrying the relay:

<ROUTINE ELECTROLYTE-RELAY-F ()
 <COND (<VERB? TAKE>
    <COND (<NOT <FSET? ,PRSO ,TAKEBIT>>
           <TELL
"What!? You don't want to spoil the " D ,AIR-SUPPLY-SYSTEM " again!" CR>)>)
       (<REMOTE-VERB?> <RFALSE>)
       (<NOT-HOLDING? ,ELECTROLYTE-RELAY>
    <RTRUE>)

So is this really a bug? Maybe. On one hand, once you fix the air supply its TEXT property is changed from "It has screw threads." to "It's sitting neatly in place." (see FIX-AIR-SUPPLY).

On the other hand, that TEXT property doesn't seem to be used, because the action routine handles EXAMINE.