Here’s a pretty little problem. The PC is carrying a BagOfHolding, which may contain quite a number of things. When the player types ‘take all,’ the library will proceed to grab, one by one, everything in the BagOfHolding, after which, soon enough, most everything will get put back in the bag.
It’s awfully messy, and it’s needless. But Take is defined simply enough with a multiDobj:
I’m thinking I need to use filterResolveList. The comment in the code says, “To change the list of matches, manipulate the np.matches list.” I can give my Portables class some code that will remove a given object from the list if it’s in the BagOfHolding – but I have no idea how to check whether the command included ‘all’. If I simply filter objects out of the list when cmd.action == Take, then it will never be possible to remove anything from the bag. Not good.