the-infocom-files / cutthroats

Cutthroats
3 stars 3 forks source link

"PUSH CHEST THROUGH HOLE" doesn't work #42

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

Apparently you are supposed to be able to "PUSH CHEST THROUGH HOLE", as seen in JAGGED-HOLE-F:

           (<AND <VERB? PUSH-THROUGH>
             <PRSI? ,JAGGED-HOLE>>
        <COND (.OUTSIDE? <SETG ,P-WALK-DIR ,P?EAST>)
              (T <SETG ,P-WALK-DIR ,P?WEST>)>
        <PERFORM ,V?PUSH-TO ,PRSO ,INTDIR>
        <RTRUE>)

It's supposed to convert it to either "PUSH CHEST EAST" or "PUSH CHEST WEST" depending on which side of the hole you are standing on. But it doesn't work:

>PUSH CHEST THROUGH HOLE
You don't have the oak chest.

That's probably because the PUSH-THROUGH action only handles objects you are carrying, and the chests can't be picked up:

<SYNTAX PUSH OBJECT (HELD CARRIED HAVE) THROUGH OBJECT = V-PUSH-THROUGH>

Whereas the PUSH-TO action works on objects on the ground:

<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO ;PRE-PUSH-TO>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO ;PRE-PUSH-TO>
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO ;PRE-PUSH-TO>
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO ;PRE-PUSH-TO>
<SYNTAX ROLL OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO ;PRE-PUSH-TO>
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
<SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>