the-infocom-files / ballyhoo

Ballyhoo
5 stars 4 forks source link

Slight inconsistency when taking the keys #12

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago
>LOOK IN CAGE
The confines of the cage are so darkly shaded that you cannot distinguish
anything inside, except for a hoop key ring hanging against the far wall which
happens to be illuminated by a spot of soft light.

>DROP POLE
Dropped.

>TAKE KEYS WITH POLE
You're not holding the fiberglass pole.

>HIT KEYS WITH POLE
You're not holding the fiberglass pole.

>MOVE KEYS WITH POLE
Using the fiberglass pole, you fish the hoop ring off the wall. It slides down
the raised pole and jingles into your hand.

There are three actions that will pick up the key. See TAKE-WITH-POLE?:

     <COND (<AND <FSET? ,PRSO ,TRYTAKEBIT>
             <VERB? TAKE-WITH MOVE KILL>
             <PRSI? ,POLE>>

This is how they're defined:

<SYNTAX TAKE OBJECT (FIND TAKEBIT) (;CARRIED IN-ROOM MANY)
    WITH OBJECT (HELD) = V-TAKE-WITH PRE-TAKE>     ;"ADDED BY JO"
<SYNTAX MOVE OBJECT WITH OBJECT = V-MOVE>
<SYNTAX ATTACK OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
    WITH OBJECT (HELD CARRIED HAVE) = V-KILL>

The ZIL manual admits that the parser tokens are "incredibly confusing, and no one really understands them except Stu", but from what I can understand...

Either way, perhaps the MOVE syntax should be changed to <SYNTAX MOVE OBJECT WITH OBJECT (HELD CARRIED HAVE) = V-MOVE> instead? They're still inconsistent about the object you're trying to take/move/hit, but that difference is probably even less noticeable.