Bag of tricks
( ![]() | |
---|---|
Name | bag of tricks |
Appearance | bag |
Base price | 100 zm |
Weight | 15 |
Material | cloth |
Monster use | Will not be used by monsters. |
A bag of tricks is a tool that appears in Nethack. It is made of cloth, and appears as an ordinary bag when unidentified.
Contents
Generation
Bags of tricks make up 1⁄50 (2%) of all randomly-generated tools. General stores and hardware stores can stock bags of tricks.
A bag of tricks is always generated uncursed, with the exception of player bones and trap "bones", and is created with up to 20 charges.
The following information pertains to an upcoming version (NetHack 3.7.0). If this version is now released, please verify that the information below is still accurate, then update the page to incorporate it.
As part of commit 28fb6fc6, randomly generated bags of tricks are created with 3-20 charges.Description
Though they are defined with the CONTAINER
macro, bags of tricks are not actually containers and cannot hold any items:[1] a hero attempting to #loot a bag of tricks will take up to ten points of damage from the bag biting them, which auto-identifies it—the death message associated with this is "killed by a carnivorous bag".
A hero applying a charged bag of tricks will use up one charge and either create one monster adjacent to them with a 22⁄23 chance, otherwise creating 2 to 8 monsters adjacent to them—a group of monsters is counted as one for this purpose, and the bag is auto-identified in either case. If a bag has zero charges, then nothing happens when applying it. Tipping a bag of tricks will expend all the charges at once.
Placing a charged bag of tricks into a bag of holding will cause a magical explosion, destroying both bags as well as everything in the bag of holding.
A bag of tricks can hold a maximum of 50 charges and can be recharged indefinitely:[2] Reading a blessed scroll of charging and charging a bag of tricks will add 6-10 charges for a bag with more than 10 charges, and otherwise adds 6-15 charges, while an uncursed scroll will always add 1 to 5 charges, and a cursed scroll will remove all charges.[3][4][5]
The following information pertains to an upcoming version (3.7.0). If this version is now released, please verify that the information below is still accurate, then update the page to incorporate it.
Per commit 71754910, exploding bags of holding scatter their contents rather than destroying them outright: fragile items are destroyed, and if caused by a bag of tricks, it is still lost along with the bag of holding itself. Per commit 6fd51c29, 1⁄13 of the bag of holding's contents are lost (not counting fragile items that are destroyed after), and per commit ce1f4788, monsters hit by scattered items are angered.Strategy
A bag of tricks is a useful aid for altar farming, experience or even nutrition once identified. If you are carrying a bag of tricks in the same inventory as a bag of holding, it should be treated with the same caution as a wand of cancellation, and once used up or no longer needed it is best left alone or stashed elsewhere - a magical explosion can be a game-ending mistake.
If you only want the bag to polypile with, apply it until it runs out of charges, and make sure you can deal with the generated monsters—they will all generate at once if you #tip the bag, so beware! An uncharged bag of tricks is "safe", and if it polymorphs into another charged tool, the new tool's charges will be independent of the number of charges the bag had.
Origin
The bag of tricks originates from Dungeons & Dragons, where its function is broadly similar, creating monsters rather than storing items. Some differences are that a bag of tricks in Dungeons & Dragons summons tame animals for a brief period that can vary widely in size and power, from a lowly jackal to a fearsome tiger, and does not bite its owner upon use (though a bag of devouring does so).
Variants
UnNetHack
In UnNetHack, a charged bag of tricks has an equal chance of producing a monster(s) as described above, or causing a random (mostly harmful) effect, such as briefly paralyzing the player, knocking a weapon from their hand, or spewing forth a three-square wide poison cloud.[6]
Chance | Effect |
---|---|
31/40 | Creates a monster. |
2/40 | Spits out a random item. |
1/40 | Bag "wriggles away from you", causing it to drop. |
1/40 | Tries to pull you in, paralyzing for d4 turns. |
1/40 | Spits out a stinking cloud. |
1/40 | Causes hallucination for 10+d35 turns. |
1/40 | Yells "Boo!", scaring nearby monsters and possibly the player for a few turns. |
1/40 | Grows teeth and bites, as if looted. |
1/40 | Licks your wielded weapon from your hand, causing it to drop. |
The created item will be an iron chain if the bag is cursed or has been recharged. Otherwise, the game will make three attempts to create an item that weighs less than 100 aum and is small enough to fit in a container. If all three attempts generate invalid items, the bag "coughs nervously" and produces nothing.
A bag of tricks with no charges can hold items like a regular sack;[7] charging it again will destroy any items inside.[8] Since the bag of tricks is a "magical bag", it will also protect its fragile contents from shattering like a bag of holding; this also means that a cursed bag of tricks with no charges is subject to item loss like a cursed bag of holding. Both effects are possibly unintentional.[9]
DynaHack
In DynaHack, bags of holding function as they do in UnNetHack.
FIQHack
In FIQHack, monsters are able to use bags of tricks to swarm the hero, similar to a wand of create monster.
EvilHack
In EvilHack, monsters are also capable of using bags of tricks.
SlashTHEM
SlashTHEM gives the bag of tricks the same properties as it has in UnNetHack.
References
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 653
- Jump up ↑ src/read.c in NetHack 3.6.7, line 666
- Jump up ↑ src/read.c in NetHack 3.6.7, line 668
- Jump up ↑ src/read.c in NetHack 3.6.7, line 670
- Jump up ↑ src/read.c in NetHack 3.6.7, line 678
- Jump up ↑ src/makemon.c in UnNetHack revision 251, line 1812
- Jump up ↑ src/makemon.c in UnNetHack revision 251, line 1802
- Jump up ↑ src/read.c in UnNetHack revision 251, line 500
- Jump up ↑ UnNetHack src/dokick.c, line 444