Stuff the player carries is allowed for DROPping. But stuff inside stuff the player carries is locked out at the ‘can’t drop what’s not held’ rule. So any arrows in the quiver aren’t being considered as actionable by DROP.
As a reminder, any time you see a response that isn’t what you want or expect, turn on RULES then perform the action. Look at what rule fired just before the message is printed. Then you know exactly what stopped things working.
How to get around this one? Probably the best way is to modify the ‘can’t drop what’s not held’ rule. We don’t want to just turn it off because then the player will be able to drop things already on the ground and other weird stuff.
The normal rule is:
if the actor is carrying the noun, continue the action;
if the actor is wearing the noun, continue the action;
if the actor is the player:
say "[We] [haven't] got [regarding the noun][those]." (A);
stop the action.
I’m going to assume there’s only one quiver in the game and write the new rule that way. You can rephrase it if a quiver is a kind rather than a thing:
This is the NEW can't drop what's not held rule:
if the noun is in quiver and (player carries quiver or player wears quiver), continue the action;
if the actor is carrying the noun, continue the action;
if the actor is wearing the noun, continue the action;
if the actor is the player:
say "[We] [haven't] got [regarding the noun][those]." (A);
stop the action.
With all this in place, the game will still try to grab the arrow on the ground first if we do nothing else - because the quiver arrow loses points for being in a container. Like @rileypb said, you can see this with TRACE 5 or TRACE 4, and we need to preference the quiver arrow:
Does the player mean dropping an arrow enclosed by the player:
It is likely;
Put it all together and it works. Here’s a demo:
Summary
"Robin Hood's non-adventure" by Friar Tuck.
lab is a room. warehouse is a room.
an arrow is a kind of thing.
2 arrows are in warehouse.
a quiver is a container. Player carries quiver.
When play begins:
let Z be a random arrow in warehouse;
now Z is in lab;
let Z be a random arrow in warehouse;
now Z is in quiver;
This is the NEW can't drop what's not held rule:
if the noun is in quiver and (player carries quiver or player wears quiver), continue the action;
if the actor is carrying the noun, continue the action;
if the actor is wearing the noun, continue the action;
if the actor is the player:
say "[We] [haven't] got [regarding the noun][those]." (A);
stop the action.
The NEW can't drop what's not held rule is listed instead of the can't drop what's not held rule in the check dropping rules.
Does the player mean dropping an arrow enclosed by the player:
it is likely;
Test me with "i/drop arrow".
-Wade