the-infocom-files / ballyhoo

Ballyhoo
5 stars 4 forks source link

RING-OBJECT-F not working as intended? #19

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

This is how the performance ring is described:

>LOOK
Performance Ring
This is the arena's oval-shaped performance ring which is occupied by a sagging,
rectangular safety net. A rope ladder dangles to within a foot of the ground.

Just west lies the entrance to a large, round cage that completely encircles the
second of the two rings. To the south the big top's vaulted wing leads out into
the open air. The arena's rickety grandstands rise steeply north and east.

There is a single RING-OBJECT that apparently represents both of the rings. It has the following action routine:

<ROUTINE RING-OBJECT-F ()
     <COND (<IS-NOUN? ,W?SECOND>
        <PERFORM ,PRSA ,LION-CAGE ,PRSI>
        <RTRUE>)
           (T
        <GLOBAL-ROOM-F>)>>

I'm guessing the idea here is that if you refer to the "ring" or the "performance ring", you mean the current room, but if you explicitly refers to the "second ring", that's the lion cage. Except it doesn't work because the noun will still be "ring", not "second".

Changing <IS-NOUN? ,W?SECOND> to <IS-ADJ? ,W?SECOND> seems to fix that, though of course we'd have to check to make sure that doing this doesn't allow you to to interact with the lion cage in ways you shouldn't be able to.