Double damage
Double damage is a weapon property.
Several artifact weapons do double damage: some against specific types of monsters, some against broad groups of monsters, and some against every monster. See Artifact#Artifact_weapons for a detailed list.
What gets doubled
When the double damage property activates, it doubles these things:
- The weapon's base damage
- The enchantment damage bonus (or penalty)
- The penalty for erosion
- Rogue backstab damage.
Double damage does not double these things:
- bonus for using a blessed weapon against undead
- bonus for using an axe against wooden monsters
- bonus for using a silver weapon against silver haters
- bonus for using a light source weapon against light haters
- bonuses for rings of increase damage (both worn and eaten)
- bonus for weapon skill
- bonus for strengh
- bonus for jousting
- bonus for using a poisoned weapon
Strategy
Enchanting double-damage artifact weapons yields higher returns compared to their standard counterparts.
Source dive, step by step
This algorithm is from NetHack 3.6.7.
Each time the hero hits a monster in melee, the game calls hmon_hitmon.[1]. If the hero is twoweaponing, the game calls hmon_hitmon twice, once for each hit.
hmon_hitmon has numerous cases, such as bare-handed attacks, hitting with a wielded bow, hitting with a corpse, and so on. We are going to follow the case for hitting with an artifact weapon that may do double damage.
Step 1: base damage, enchantment bonus
hmon_hitmon calls dmgval.[2][3]
First, dmgval calculates:
- base damage
- weapon enchantment bonus
Step 2: situation bonuses
Next, dmgval calculates several situation bonuses:[4]
- blessed weapon against undead
- axe against wooden monster
- silver against silver hater
- light against light hater
However, if the weapon does double damage, then dmgval uses only half of the situation bonus total. Effectively, situation bonuses are not doubled.
Step 3: erosion penalty
Next, dmgval calculates the erosion penalty:[5]
- erosion damage
That is the end of dmgval. Back to hmon_hitmon.
Step 4: backstab damage
Next, hmon_hitmon calculates backstab damage:[6]
- backstab damage
Step 5: artifact_hit and spec_dbon
Next, hmon_hitmon calls artifact_hit.[7][8]. artifact_hit calls spec_dbon[9]. spec_dbon decides whether double damage applies, and if it does, then spec_dbon adds in the extra damage.
At this point, the damage has been doubled.
Step 6: more special damages and bonuses.
Next, artifact_hit calculates some more special damages from weapons such as Magicbane, the Tsurugi of Muramasa, Vorpal Blade, and Stormbringer. And then artifact_hit returns to hmon_hitmon.
And then hmon_hitmon adds in bonuses from rings of increase damage (both worn and eaten), weapon skill, strength, poison, and jousting.[10]
None of these bonuses get doubled because the doubling already happened in the previous step.
Step 7: do the damage
Finally, hmon_hitmon subtracts the total damage from the monster's hit points.[11]
SLASH'EM
A number of SLASH'EM techniques grant temporary double damage: Samurai's Kiii doubles all weapon damage, while Missile flurry, for droven Rangers only, doubles the damage done with their racial bow and arrows. Finally, Caveman's Primal roar grants double damage to pets. Note that these effects may be calculated differently from the vanilla mechanics described above.
See also
See http://www.steelypips.org/nethack/343/weap-343.txt, the weapons spoiler by Kevin Hugo at steelypips for a run down on NetHack's entire damage calculation process.
References
- ↑ src/uhitm.c in NetHack 3.6.7, line 667
- ↑ src/uhitm.c in NetHack 3.6.7, line 767
- ↑ src/weapon.c in NetHack 3.6.7, line 1
- ↑ src/weapon.c in NetHack 3.6.7, line 316
- ↑ src/weapon.c in NetHack 3.6.7, line 339
- ↑ src/uhitm.c in NetHack 3.6.7, line 775
- ↑ src/uhitm.c in NetHack 3.6.7, line 816
- ↑ src/artifact.c in NetHack 3.6.7, line 1143
- ↑ src/artifact.c in NetHack 3.6.7, line 840
- ↑ src/uhitm.c in NetHack 3.6.7, line 1093
- ↑ src/uhitm.c in NetHack 3.6.7, line 1192