the-infocom-files / amfv

A Mind Forever Voyaging
5 stars 2 forks source link

"ENTER DOOR" could work better #49

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

V-THROUGH has this default handling for entering objects with DOORBIT:

    <COND (<FSET? ,PRSO ,DOORBIT>
           <DO-WALK <OTHER-SIDE ,PRSO>>
           <RTRUE>)

If it figures out what direction the door is in (by looking for door exits), it walks you in that direction. Otherwise V-WALK prints "Did you have any particular direction in mind?"

As far as I can see, these are the only doors in the game:

PARKVIEW-DOOR is in PARKVIEW-APARTMENTS, and doesn't handle the THROUGH action at all. It should be trivial to handle it, and just make the player walk west.

APARTMENT-DOOR is local global to PARKVIEW-HALL (which uses a door exit, so "ENTER DOOR" works) and LIVING-ROOM (which doesn't), and is moved to FOYER at the end of the game. APARTMENT-DOOR-F handles the THROUGH action, but only for FOYER:

     <COND (<AND <EQUAL? ,HERE ,FOYER>
             <VERB? OPEN THROUGH>>
        <DO-WALK ,P?NORTH>)

It would need a case for LIVING-ROOM as well.

UNOPENABLE-DOOR is local global to quite a few rooms. It could handle THROUGH the same way it already handles OPEN:

           (<VERB? OPEN>
        <TELL "The door is locked." CR>)

RED-TUBECAR-DOOR and BROWN-TUBECAR-DOOR work fine.