adv3Lite: Minor Message Ugliness

Here’s the output:

That first line is not appropriate. But ‘all’ should obviously apply to the shopping bag after a ‘drop all’ command. Also, if I’m holding the shopping bag (with stuff in it), ‘take all’ quite properly doesn’t tell me, “You’re already holding the shopping bag.” So I know that ‘all’ will sometimes ignore an object.

How do I get ‘all’ to ignore the container in a ‘put all in container’ command?

Try modifying the definition of the PutIn action in actions.t thus:

DefineTIAction(PutIn)          
    announceMultiAction = nil
    allowAll = true
    
   getAll(cmd, role)   
    {
        local sl = scopeList.subset({ x: !x.isFixed
                                && (curIobj == nil || (!x.isOrIsIn(curIobj)))});
        
        if(sl.length > 0)
            return sl;
        
        return scopeList.subset({x: !x.isFixed});
    }
        
; 

This should really be changed in the library; the existing code doesn’t do what it should. Actually this still needs a bit more work to handle gracefully the situation when there are no suitable direct objects for a PUT ALL IN X command, but it’s a move in the right direction.

Got it – thanks.

I’ve now implemented an improved version of this change in the library (which deals with PUT ALL ON/UNDER/BEHIND as well as PUT ALL IN) and have uploaded it to GitHub.