the-infocom-files / hitchhiker

The Hitchhiker’s Guide to the Galaxy
20 stars 4 forks source link

It looks like "TIE TOWEL TO HEAD" is supposed to work, but it doesn't #32

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

There is this code in TOWEL-F:

           (<AND <VERB? PUT-ON TIE>
             <PRSI? ,HEAD ,EYES>>
        <COND (<FSET? ,TOWEL ,WORNBIT>
               <TELL "It already is." CR>)
              (<IN? ,BEAST ,HERE>
               <FSET ,TOWEL ,WORNBIT>
               <MOVE ,TOWEL ,PROTAGONIST>
               <ENABLE <QUEUE I-BEAST 11>>
               <TELL
"The " D ,BEAST " is completely bewildered. It is so dim it thinks that
if you can't see it, it can't see you. You have a few seconds before it
realises its mistake." CR>)
              (T
               <TELL
"There's no need for that. It's not like there's a " D ,BEAST " around,
or something." CR>)>)

But the TIE action can't have any PRSI since it's defined like this:

<SYNTAX TIE OBJECT = V-TIE>

Maybe PLUG is what was intended?

<SYNTAX TIE OBJECT TO OBJECT = V-PLUG>

As it stands, I can't even trigger the "It already is." message, since if you try to wear the towel while it's already worn tells you that you need to remove it first. Sometimes to funny effect since the response is a bit ambiguous.

>WRAP HEAD IN TOWEL
You'll have to remove it first.

(It also seems strange that the towel is described in your inventory as "a towel (being worn)", when the usual response to "WEAR TOWEL" is that "You can't wear the towel." but I don't consider that a bug. For now.)