the-infocom-files / cutthroats

Cutthroats
3 stars 3 forks source link

When underwater, you can "SWIM NORTH" but you can't "SWIM UP" #30

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago
>SWIM NORTH
Top Deck
You are now aft of midships on the topmost deck. The deck continues fore and
aft.

>SWIM UP
I don't understand that sentence.

This is what V-SWIM does:

<ROUTINE V-SWIM ()
     <COND (<==? <GETP ,HERE ,P?LINE> ,UNDERWATER-LINE-C>
        <COND (<==? ,PRSO ,INTDIR>
               <DO-WALK ,P-WALK-DIR>)
              (T <TELL-SHD-DIR>
             ;<TELL "You should supply a " D ,INTDIR "." CR>)>)
           (T <TELL "I think you're all wet." CR>)>>

It may be because UP and DOWN aren't among the adjectives for the INTDIR object, but I don't know what consequences - if any - adding them would have. Not every game behaves the same way here, and some don't have INTDIR at all. Either way, INTDIR seems to have its own special case in the parser.

eriktorbjorn commented 4 years ago

One thing to worry about here is that enabling "SWIM UP" might also enable "PUSH object UP", which could be unreasonable.

Maybe it's better to just ignore the problem? Or maybe it's possible to add syntax definitions for "SWIM UP" and "SWIM DOWN"?