"All", animals, and the multiple object list

Hey all. I discovered a bit of an odd thing. I’m not sure, but it could possibly relate to Peter’s current conundrum.

My current test project includes takeable animals. That’s all well and good, but they won’t show up in the multiple object list, even when specifically included by the “deciding whether all includes”.

However, oddly enough, taking all from a container nabs the animals as well, as long as you permit the player to pick up living creatures. I’ll illustrate:

The Forest Glade is a room. "The forest rises around you, all indistinct shadows and soft mist."

The pool is a container. "Before you, the pool lies dark and still." The pool is fixed in place. The pool is in the Forest Glade.

A frog is a kind of animal. Two frogs are in the pool. The description is "The frog blinks blearily at you."
A firefly is a kind of animal. Ten fireflies are in the Forest Glade. The description is "Tiny motes of light dance in slow circles among the trees."

Check taking animal: ignore the can't take other people rule.
Rule for deciding whether all includes animals: it does.


A stone is a kind of thing. Five stones are in the pool. "A small, smooth pebble, strangely bright in the gloom."

test first with "get all/get all from pool".  
test again with "get all from pool". [assuming you have restarted]

I’m running 6E72 on Windows 7, latest build (or so I assume). Can this be worked around in some way, or is there some behaviour or rookie mistake that I failed to take into account?

Actually, the fireflies and frogs are all being added to the multiple objects list. You can test this by setting the parser trace level to 6 and then typing TAKE ALL. (You set the parser trace by typing TRACE 6 at the command line). The real problem is that the rule that prevents taking people is more specific than your all including animals rule, and so supercedes it. Just change the rule to this:

For deciding whether all includes animals while taking: it does.

And it should work. The “while taking” makes the rule more specific than the Standard Rules people-blocking rule.

–Erik

Thank you! Just moments ago I got it to work with that exact rule (“while taking”). Knowing why it happened, let alone the other techniques you mentioned, is going to be quite useful, I suspect.

By the way, if you want “all” to include animals always, not just while taking, you can bump the rule up to the head of the line by marking it “first”:

First for deciding whether all includes animals: it does.

–Erik