the-infocom-files / hitchhiker

The Hitchhiker’s Guide to the Galaxy
20 stars 4 forks source link

You can see Zaphod and Trillian in the Bridge, after they've left #7

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

This can happen if you play the game in superbrief mode:

>WAIT
Time passes...

"Come on, let's look for the Bridge." You follow Ford, and eventually come to
the...

Bridge
>WAIT
Time passes...

"Hey, Zaphod, how ya doing?" says Ford. He's cool. "Not bad, Ford. Great to see
you," replies Zaphod. He's cooler. You suddenly realise that the woman is Tricia
MacMillan ("Call me Trillian"), whom you were trying to pick up at a party in
Islington just a few weeks ago, and that Zaphod is the guy she eventually left
the party with! Odd.
>WAIT
Time passes...

"Like my spaceship, Ford?" Zaphod asks. "YOUR spaceship?" says Ford, losing his
cool for a second. "Yeah, I stole it," Zaphod admits. "I'm gonna use it to find
the legendary lost planet of Magrathea. Let's go sit in the sauna while I
explain." Zaphod, Ford, and Trillian all head off to port.
>EXAMINE ZAPHOD
You can't see Zaphod here!
>LOOK
Bridge
This is the bridge of the Heart of Gold. A gangway leads down, and steam comes
from an entrance to port. Next to the control console is Eddie (the shipboard
computer).

At the controls, apparently expecting you and Ford, are a man with more than the
usual number of heads (the name "Zaphod" is stitched on his shirt) and a dark-
haired woman, holding a handbag. Both seem somehow familiar.
There is a satchel here.
There is a handbag here.
There is a molecular hyperwave pincer here.

The "At the controls..." message is supposed to be shown only once, when you first enter the room. However, BRIDGE-F handles this in the M-LOOK case, as part of the room description:

     <COND (<EQUAL? .RARG ,M-LOOK>
        <TELL
"This is the bridge of " D ,HEART-OF-GOLD ". A gangway leads down, and steam
comes from an entrance to port. Next to the control console is " D ,EDDIE ".">
        <COND (,DRIVE-TO-CONTROLS
               <TELL " ">
               <PERFORM ,V?EXAMINE ,LARGE-RECEPTACLE>)
              (T
               <CRLF>)>
        <COND (<NOT <FSET? ,BRIDGE ,NDESCBIT>>
               <FSET ,BRIDGE ,NDESCBIT>
               <TELL CR
"At the controls, apparently expecting you and Ford, are a man with more than
the usual number of heads (the name \"Zaphod\" is stitched on his shirt) and a
dark-haired woman, holding a handbag. Both seem somehow familiar." CR>)>)>>

(I don't think there's any significance to NDESCBIT being used here. It was probably just a convenient flag.)

So it's not called unless you're actually seeing the room's description.

Actually, the whole scene is a bit odd. You see the text once, and if you look again there's no mention of Zaphod or Trillian even if they're still on the bridge. That's because they both have NDESCBIT.

There are some similar bugs in Cutthroats as well, making me suspect that very few actually used superbrief mode.

eriktorbjorn commented 4 years ago

Perhaps move the message to a description routine for Zaphod, and have I-FORD (which is where the conversation is handled) deal with setting the appropriate bits on Zaphod and Trillian? (I'm adding this note mostly for myself, in case I ever want to submit a patch for this glitch.)