the-infocom-files / zork2

Zork II: The Wizard of Frobozz
8 stars 4 forks source link

"RUB CERBERUS WITH WAND" doesn't quite work as intended #62

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

Normally, when you use the wand on Cerberus he's supposed to notice it.

>WAVE WAND AT CERBERUS
The dog looks puzzled.
The wand grows warm, the three-headed dog seems to glow dimly with magical
essences, and you feel suffused with power.

But one alternative syntax doesn't quite do this:

>RUB CERBERUS WITH WAND
The wand grows warm, the three-headed dog seems to glow dimly with magical
essences, and you feel suffused with power.

That's because this is what ``CERBERUS-FCN ` does:

     <COND (<AND <VERB? WAVE RUB RAISE> <EQUAL? ,PRSO ,WAND>>
        <TELL "The dog looks puzzled." CR>
        <RFALSE>)

And in the second case, Cerberus is presumably PRSO while the wand is PRSI.

He doesn't notice RAISE WAND at all, but I'm not sure if he should.

Here's what WAND-FCN does:

               <COND (<AND <EQUAL? ,PRSO ,WAND> ,PRSI>
                  <SETG WAND-ON ,PRSI>
                  <SETG WAND-ON-LOC ,HERE>)
                 (T <TELL "At what?" CR> <RTRUE>)>)
              (<VERB? RUB>
               <COND (<AND <EQUAL? ,PRSI ,WAND> ,PRSO>
                  <SETG WAND-ON ,PRSO>)
                 (T <TELL "Touch what?" CR> <RTRUE>)>)
              (<VERB? RAISE>
               <TELL "The wand grows warm and seems to vibrate." CR>
               <RTRUE>)>

So RAISE WAND is only cosmetic., apparently?