Create ammo
- This article is about the artifact invoke effect. For the deferred technique in SlashTHEM, see Deferred and defunct features (SlashTHEM)#Create ammo.
Create ammo is a property that appears in NetHack and only occurs as an item effect of artifact weapons that can be invoked.
Contents
Description
Creating ammo is solely associated with the artifact weapon The Longbow of Diana, and is formally defined by the CREATE_AMMO
flag in artifact.h.[1][2] The effect will create a set of projectile weapon items that typically match the launcher being invoked.
Arrow creation details
The enchantment range of the items created is inclusive and depends on rne(3) and the current beatitude of the artifact when invoked.[3][4] A blessed Longbow or other artifact with this effect will only produce arrows with enchantment from 0 to 10; a cursed Longbow will only produce arrows with enchantment from -10 to 0; and an uncursed Longbow will produce arrows in the range of -10 to 10.
The probability distribution of the enchantments is not uniform: Items generated from a blessed or cursed Longbow of Diana (or other artifact) are more likely to be +0 than randomly generated blessed or cursed arrows. This is because mksobj
- which arti_invoke
calls to generate the items - can produce items of any beatitude, regardless of the artifact's beatitude, and the items have their beatitude changed to the intended one that mksobj
returns, bringing negative enchantments on blessed items and positive enchantments on cursed items to 0.
Strategy
While in theory it can be quite useful to have a never-ending supply of ammo on demand with lenient cooldown, in practice this relies entirely on the type of ammo produced: the Longbow of Diana is notoriously much less effective as a quest artifact for Rangers that are not human, since each playable race gains multishot bonuses for using particular types of arrows and bows - non-human Rangers lose out on up to a +2 racial multishot bonus by switching to the Longbow. Gnomish Rangers are especially out of luck since they gain multishot from using crossbows, which requires an entirely different skill than the Longbow. Additionally, arrows themselves are fairly commonplace around the dungeon, and a character with sufficient Luck and enchantment will not lack for spare arrows.
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.
Rangers get a +1 multishot bonus when wielding the Longbow of Diana.Variants
Variants of NetHack may add other artifact weapons with the ability to create ammo and/or alter how it functions.
dNetHack
In dNetHack, several artifacts are capable of creating ammo when invoked, including artifacts with non-launcher base items:
- Fuma-itto no Ken, an artifact broadsword that creates shuriken
- Yoichi no yumi, an artifact yumi that creates ya
- Silver Starlight, an artifact rapier that creates shuriken
- Wrathful Spider, an artifact droven crossbow that creates droven bolts
- Liecleaver, an artifact droven crossbow that creates droven bolts
- Belthronding, an artifact elven bow that creates elven arrows
- The Annulus, an artifact with multiple forms that can create silver bullets or rockets while in the form of a BFG
The Moonbow of Sehanine is an artifact elven bow in the data of dNetHack that creates elven arrows similar to Belthronding, but is not available in regular play.
EvilHack
In EvilHack, The Crossbow of Carl has the same invocation effect as the Longbow.
Object materials and forges mean that a variety of arrows and crossbow bolts can be created and used for purposes beyond ammo.
SlashTHEM
In SlashTHEM, the Yoichi no yumi and Fuma-itto no Ken can create ammo as in dNetHack.
Fuma-itto no Ken in particular is the quest artifact for the Ninja role, which can reach Expert skill in shuriken.
References
- ↑ include/artilist.h in NetHack 3.6.7, line 232
- ↑ include/artifact.h in NetHack 3.6.7, line 66
- ↑ src/artifact.c in NetHack 3.6.7, line 1582: arti_invoke calls mksobj to create arrows
- ↑ src/mkobj.c in NetHack 3.6.7, line 803: relevant section of mksobj