In NetHack, many varieties of items can stack into one inventory slot. This includes:
- gems, glass and stones
- comestibles, except for hatchable eggs and revivable corpses
- candles, if close in age
- projectiles, like arrows or darts
- certain throwable weapons:
In order for objects to stack, their beatitude, enchantment, and erosion status must be exactly the same. Additionally, even a subtle difference in identification status can affect whether or not something stacks. For example, if you have two daggers, and only drop one on an altar and see it was uncursed, those two daggers will no longer stack. Then, if you were to go a step further, and use a scroll of identify on the dagger you didn't drop, and it was an uncursed +0 dagger, then it would no longer stack with your plain "uncursed dagger".
Perhaps the crysknife does not stack despite its throwable status because makesingular() would trip up over "3 worm teeth named cookies", causing all sorts of problems with wishing, autopickup exceptions, and general object comparison.
Splitting stacks Edit
The usual way to split a stack is to supply a numeric parameter to the drop or pick up command, or when moving items into or out of a container. For example, if you have 7 daggers in inventory slot a, you can type d4a to drop 4 of them.
This method is sufficient if you simply want to carry fewer items around. If you want to carry around multiple stacks of the same type of item, you will need to take additional measures:
- Use #name to give a name to the stack you want to split (e.g. “Throwing” or “Quiver”)
- Use the above method to stash or drop part of the stack
- Rename the part of the stack that is still in your inventory (e.g. “Melee” or “Main”)
- Pick up or unstash the other part of the stack
You should now have two stacks of identical items, with different names.
Besides conserving on inventory space, getting items to stack is important for efficiency when using holy water to bless items, or using a scroll of enchant weapon to enchant an entire stack of arrows. It can also affect how many projectiles are fired in a single turn; a player can only get off multiple shots in one turn if the projectiles are from the same stack.
There are occasions, however, where one may want to get a stack to split. The way to achieve this is to name the stacks separately. For example, a starting rogue may desire to both keep one of his starting stack of daggers as a main weapon, and have the rest of the stack serve as projectiles. The way to do this would be to name the entire stack, e.g., "Throwing", and drop all but one. Then, name the last one still in the inventory to e.g., "Main". Then you can pick up the others and they will be separated. It is not sufficient to name them, drop all but one, and then clear out the name for the one in hand - stacks will always take on a name if they do not already have one. This phenomenon can often be observed early on, when one finds an orcish dagger, has the pet BUC test it, and then names it uncursed, only to see other new daggers stack with it.
This naming tactic is also useful when someone needs to split up a stack of water to make an initial unholy water by reading while confused a blessed scroll of remove curse. It may be tedious, but it is probably wise to split up around 10 stacks for this purpose.
Getting potions to stack is of the utmost importance in alchemy. All alchemy results will be "diluted potion of X", and diluted potions will only stack with other diluted potions. Because of this, later on in the game it can be advantageous to dilute (by dipping once) potions for alchemy, for increased efficiency. Just beware all the risks associated with dipping and fountains, and take care to have identified acid, as dipping acid will cause an explosion.