the-infocom-files / ballyhoo

Ballyhoo
5 stars 4 forks source link

OFFICE-OBJECT-F could handled the DISEMBARK action better #45

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

There is this code in OFFICE-OBJECT-F:

           (<AND <EQUAL? ,HERE ,OFFICE>
             <VERB? DISEMBARK>>
        <DO-WALK ,P?UP>)

This means that the game will always try to walk you up through the ceiling panel when responding to the DISEMBARK action. But during the end game, you can't even go that way. See UP-OFFICE when END-GAME is set:

<ROUTINE UP-OFFICE ()
     <COND (<FSET? ,DESK ,RMUNGBIT>
        <SETG OFFICE-C 5>     ;"this move munrab enters in I-OFFICE"
        <CLIMB-PANEL>
        <RETURN ,ON-WAGON>)
           (,END-GAME
        <V-DIG>
        <RFALSE>)
           (T
        <TELL "You're not" ,NOT-REACH "." CR>
        <RFALSE>)>>

So in that case it would make more sense to walk west, through the front door. At this point in the game, there's no one to stop you from entering and leaving the office.

eriktorbjorn commented 4 years ago

The same thing applies to WAGON-F:

           (<VERB? DISEMBARK>
        <COND (<EQUAL? ,HERE ,ON-WAGON>
               <PERFORM ,V?CLIMB-DOWN ,LADDER>
               <RTRUE>)
              (<EQUAL? ,HERE ,OFFICE>
               <DO-WALK ,P?UP>)>)