Open eriktorbjorn opened 4 years ago
Similarly, if you drop the mouse from On the Tent it will slide off the tent and land either on or at the cage below. Again, this is handled by IDROP
:
(<AND <EQUAL? ,HERE ,ON-TENT>
<NOT <FSET? ,PRSO ,WORNBIT>>
<NOT <EQUAL? ,PRSO ,PROD>>
<OR <VERB? DROP>
<AND <VERB? PUT-ON>
<PRSI? ,TENT>>>>
<COND (<PROB 50>
<MOVE ,PRSO ,ON-CAGE>)
(T
<MOVE ,PRSO ,NOOK>)>
<TELL "It slides off the tent." CR>)
So here there's not even a case for the water and the balloon, so I managed to get this:
>DROP WATER
It slides off the tent.
>DOWN
You grasp the ladder firmly and climb down ...
Top of Cage
You're standing in semidarkness on top of a cage next to the elephant tent which
rises above. You can see, faintly, a rope ladder hanging from the top edge of
the tent.
You can see water and a balloon here.
(I had already dropped the balloon earlier. You get the idea.)
Finally (?), there's V-THROW-OFF
:
<ROUTINE V-THROW-OFF ()
<COND (<AND <GETP ,HERE ,P?GROUND-LOC>
<EQUAL? ,PRSI ,CAGE ,TENT ,PLATFORM>>
<MOVE ,PRSO <GETP ,HERE ,P?GROUND-LOC>>
<TELL "It falls to the ground below." CR>)
(T
<V-COUNT>)>>
>LOOK
Platform
You're standing on a small, unstable platform which is suspended high above the
arena floor by guy wires converging on it from all directions. A rope ladder
dangles from the platform and the tightrope stretches east to the opposite
platform.
>THROW WATER OFF PLATFORM
It falls to the ground below.
>DOWN
You grasp the ladder firmly and climb down ...
Performance Ring
This is the arena's oval-shaped performance ring which appears deathly quiet
without its circus atmosphere. Also missing is its 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's water here.
Another related bug is if you set off the mouse trap (which you can do while it's in your inventory e.g. by trying to put it into the bucket). It will land and stay in the room, even if dropping things there should move them elsewhere. See BACKFLIP
:
<TELL "\"Snap!\" The ">
<COND (<EQUAL? ,PRSO ,TRAP>
<TELL D ,PRSO>
<COND (<VERB? PUT>
<TELL " touches the side of the " D ,PRSI " and">)>)
(T
<TELL D ,PRSI>)>
<TELL " does a backflip ">
<COND (<HELD? ,TRAP>
<TELL "out of " D ,HANDS "s and ">)>
<TELL "into the air." CR>
<MOVE ,TRAP ,HERE>>
Yet another related problem: In the Menagerie Nook, you can put the mouse on top of the cage, and it doesn't run away. This is handled by CAGE-F
:
(<AND <VERB? PUT-ON>
<PRSI? ,CAGE>>
<COND (<EQUAL? ,HERE ,ON-CAGE>
<PERFORM ,V?DROP ,PRSO>
<RTRUE>)
(<EQUAL? ,HERE ,NOOK>
<MOVE ,PRSO ,ON-CAGE>
<TELL "Done." CR>)>)
You can also get the water out of the bucket and on top of the cage this way.
The mouse will still be in the Performance Ring (though it's described as "You can hear faint scurryings of a rodent somewhere in the tent.") when you get down, and it can be picked up.
Usually, when you drop the mouse this happens:
Dropping objects form the tightrope is handled in
IDROP
, but there's currently no special case for the mouse:Perhaps simply move the mouse silently to
LOCAL-GLOBALS
in this case, i.e. it falls down and runs off when you're not looking.