Strange behaviour of TAKE ALL FROM in I7

Apologies if this has already been reported, but I can’t find any reference to it in the Bug Tracker or on the forum.

[code]“Test1” by “J. J. Guest”

Desert is a room.

A sack is in the desert. The sack is a container. The sack contains a goblet and a skull.[/code]

This is the response of the game when the sack is on the ground:

This, on the other hand is what happens when we take the sack first:

Is this a bug? I’m using 6M62 (Windows).

1 Like

That certainly seems like a bug that you should report!

Messing around with parser traces, it seems as though in the failure case the problem arises in Adjudicate, which is where the “rejecting it” message comes from I think. But I don’t know why Adjudicate is misbehaving.

The issue isn’t with Adjudicate itself, but with the deciding whether all includes activity that’s called from the “indef plural” part of Adjudicate.

Specifically, this bit of the Standard Rules:

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.

If we disable the rule with

The exclude indirect possessions from take all rule is not listed in any rulebook.

then your example will work:

but there will be some undesirable behavior along with it:

I think the solution is to adjust the rules for the activity to distinguish between the plain take all case and the MULTIINSIDE (take all from foo) case.

Is there a reason why “removing” is affected by that rule? The cleanest solution might be to change it to only “taking or taking off”.

Yeah, I think you’re right.

So, for the OP, this works:

"Test1" by "J. J. Guest"

Desert is a room.

A sack is in the desert. The sack is a container. The sack contains a goblet and a skull.

The exclude indirect possessions from take all rule is not listed in any rulebook.

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

I’ve submitted a bug report to Graham which includes your notes Vince. Thanks for your input both of you.

Jason

Thanks also for the workaround Vince - posted while I was writing my last post. :smiley:

Resurrecting this thread because I think I maybe have a slightly better solution than I can see here. The key line in my code is:

The exclude indirect possessions from take all rule does nothing when the item described is contained by the pockets and the current action is removing.

This solves the problem referenced above, that the command “take all” takes things out of containers (in many cases not what the player will want). I’m often loathe to just nuke standard rules because you never know what other useful things they might be doing; this more targeted solution seems better in this case. Full code in other other thread.

2 Likes

Thanks for sharing this @Ben. As it happens I’m updating the game I needed the workaround for, so this is perfect timing!

1 Like