Double damage

From NetHackWiki
Revision as of 04:48, 7 June 2024 by Furey (talk | contribs) (What gets doubled: tweak refs. poison comes before jousting.)
Jump to navigation Jump to search

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:

Double damage does not double these things:

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