the-infocom-files / ballyhoo

Ballyhoo
5 stars 4 forks source link

Waiting for Comrade Thumb to leave the drinking fountain makes three moves pass #6

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

When you encounter Comrade Thumb at the drinking fountain, if you wait for him to leave one move passes for each message:

>SCORE
Your score is 0 of a possible 200, in 1 turn.

>WAIT
Time passes...

The little general gets up on his tiptoes in front of the drinking fountain.

>SCORE
Your score is 0 of a possible 200, in 2 turns.

and so on. Until you reach the last one:

>WAIT
Time passes...

The midget looks up at you sadly, then at the drinking fountain.

>SCORE
Your score is 0 of a possible 200, in 5 turns.

>WAIT
Time passes...

Comrade Thumb flaps his little arms once in frustration, and waddles off into
the darkness.

>SCORE
Your score is 0 of a possible 200, in 8 turns.

So the last message did not interrupt the waiting. I noticed this while testing if "FOLLOW COMRADE THUMB" works, and it does. But only if you're quick enough. If you wait like this, you lose your chance.

This is because I-BOOST returns false here:

                        (<EQUAL? ,BOOST-COUNTER 6>
                     <TELL
"Comrade Thumb flaps his little arms once in frustration,">
                             <BOOST-EXIT>
                 <RFALSE>)>

Oddly enough, if you wait in another room, Comrade Thumb exiting does interrupt the waiting. This is presumably because BOOST-EXIT returns true, and so I-BOOST does as well:

     <COND (<EQUAL? ,BOOST-COUNTER 7>
        <BOOST-EXIT>)

I think the correct behaviour would be to <RTRUE> in the first case, and <RFALSE> in the second. It seemed to work for me when I tried it.

eriktorbjorn commented 4 years ago

A similar thing happens when you're thrown out of the casino if you didn't pick up the suitcase:

>WAIT
Time passes...

You see the dealer approaching with Billy Monday.

>SCORE
Your score is 150 of a possible 200, in 640 turns.

>WAIT
Time passes...

The pair of thugs hurry up to confront you. The dealer summarily eighty-sixes
you from the room.

Menagerie Nook
You are standing outside of the elephant tent. Along its side wall to the north
sits a cage with straw poking out of it. The menagerie is northwest of here.

Facing you on the east side there is a big old plywood sideshow front, faded
beyond recognition. It serves as the barrier wall of an enclosed structure
behind the elephant tent.

>SCORE
Your score is 150 of a possible 200, in 643 turns.

That's handled by I-CHASE:

            <TELL CR 
"The pair of thugs hurry up to confront you. ">
        <COND (<IN? ,KIESTER ,LOCAL-GLOBALS>
               <EIGHTY-SIX>
               <RFALSE>)

So it looks deliberate, but can it really be?