are worn things automatically removed from "all"?

Background: This is the exclude indirect possessions from take all rule:

Rule for deciding whether all includes things enclosed by the person reaching while taking or taking off or removing (this is the exclude indirect possessions from take all rule): it does not.

I discovered some weird behavior that makes me think the rule shouldn’t apply to removing (TAKE ALL FROM BUCKET should work even if you’re holding the bucket). And I was wondering whether “taking off” should be in there either.

(End Background)

So the taking off action isn’t standardly defined to apply to multiple things. I thought I’d test various alternative rules for deciding whether all includes to see if any worked… and I can’t make “all” apply to worn things at all.

Here’s the most minimal case, where I’ve unlisted every single rule for deciding whether all includes and used a “[things]” token rather than “[things preferably held]” or one of those:

[code]Boudoir is a room.

The exclude indirect possessions from take all rule is not listed in the for deciding whether all includes rulebook.
The exclude people from drop all rule is not listed in the for deciding whether all includes rulebook.
The exclude fixed in place things from take all rule is not listed in the for deciding whether all includes rulebook.
The exclude scenery from take all rule is not listed in the for deciding whether all includes rulebook.
The exclude people from take all rule is not listed in the for deciding whether all includes rulebook.

The player holds a green shirt. The player wears a red shirt, a hat, and a coat.

Understand “shed [things]” as taking off.
Understand “examine [things]” as examining.[/code]

Result:

Are things worn by the player excluded from “all” at a level below the deciding whether all includes rule? If so, is there any way to make “shed all” work? The player’s body itself seems to be excluded from “all,” and that’s fine, but [EDIT: in the original post this sentence stopped here, and I have no idea how I planned to finish the sentence]

(In relation to my original question, this does make me thing that the exclude indirect possessions from take all rule probably shouldn’t invoke taking off, because the only purpose of doing so would be to help with implementation of adapting taking off to multiple objects, and there’s no way to make taking off apply to multiple objects anyway. Although the rule as written will at least generate “There are not at all available!” message instead of an even worse thing where you try to take off everything you’re carrying except what you’re wearing. Hmm.)

In Adjudicate(), in the code sequence that checks DECIDING_WHETHER_ALL_INC_ACT, there’s a line of code which sets a flag for objects which are neither concealed or worn. So yes, worn objects are excluded at a low level.

Would there be any cost to shifting that from the low-level check to a Deciding whether all includes rule, to make it easier to modify in I7?

It would be a behavior change in the library, because low-level parser code is always antsy. It might break some examples. You’d have to try it (and then test all the examples).

If you want to do it in a single game, there’s no particular cost other than re-testing everything.

Urrrgh, sounds like work. Hear you about the antsiness of low-level parser code, though.

I don’t actually need this behavior–I was just looking at it to check on how to fix the “exclude indirect possessions from take all” rule, which in turn was just something I stumbled across while I was testing some indirect article code, during which I happened to empty a bucket. If anyone needs to implement taking off everything at once we can point them here, I guess.

Sounds like an extension would be useful here. I’ll see if I can make something reliable for the Public Library for future use.