User talk:Tungtn/Physical damage analysis

From NetHackWiki
Jump to: navigation, search



dNethack also gives higher bonuses for higher strength scores: +6 for 19-21, +7 for 22-24, and +8 for 25.

It also doubles the strength bonus for two-handed weapons (possibly through slightly different code, as it was an independent implementation).

Rapiers in dNethack also get 1/2 the usual strength bonus, but add (dex-11)/2 to damage.

UnNetHack and dNethack both also try to reduce the influence of luck on to-hit by reducing the likelihood that a character has max luck. In both games, luckstones only cause luck to time out more slowly, they don't stop it timing out altogether (dNethack got this from UnNetHack, but changes the timeout to be more rapid). Both games also feature (different sets of) enemies that can reduce luck.

I also recently fixed the to-hit bonus for monks making unarmed attacks. There are a few ways to boost unarmed attack damage in dNethack, as well. Most notably, the Gauntlets of Spell Power add silver damage to unarmed attacks, and the Premium Heart makes unarmed attacks do 2x damage (both artifacts are also gauntlets of power).

After reading this series, I'm planning to increase the damage bonus for Expert weapon skill to +5, and lower the damage modifier for Expert two-weapon combat to +0. I may also do something to reduce the strength bonus to attacks during two-weapon combat, but haven't decided what yet.

---Chris (talk) 18:41, 27 October 2014 (UTC)

Though this is not directly relevant to physical attack damage, dNethack also attacks the "late game hits will never miss" problem from two different angles:

1) dNethack recently adopted Base Attack Bonus from DnD, which is the rate at which your to-hit bonus increases as your level increases.

  • Barbarians, Convicts, Knights, unarmed Monks, Pirates, Samurai, and Valkyries are all full BAB roles (add level to-hit).
  • Archeologists, Binders, Cavemen, armed Monks, Nobles, Priests, Rogues, and Rangers are all 3/4 BAB roles (add 3/4 level to-hit).
  • Healers, Tourists, and Wizards are all 1/2 BAB roles (add 1/2 level to-hit).

(Fractions are rounded down).

2) dNethack also takes a stab at fixing the AC of late-game monsters:

  • -8 AC for the Wizard of Yendor.
  • -25 AC for the Riders (Death, Pestilence and Famine).
  • -27 AC for Archons and Solars
  • -20s to -30s AC for advanced demons:
    • -33 AC for an armed Marilith
    • -23 AC - pit fiend, ancient of ice, balrog
    • -36 AC - shayateen
    • -40 AC - nessian pit fiend, ancient of death
  • -20 to -38 AC for the demon princes:
    • -20 AC - Fierna, Daughter Lilith
    • -23 to 30 AC - Bael, Zuggtmoy, Kostchtchie, Baphomet, Yeenoghu, Mammon, Malcanthet, Belial, Leviathan, Mephistopheles, Verier
    • -32 to 38 AC - Juiblex, Mother Lilith, Graz'zt, Baalzebub, Orcus, Crone Lilith, Dispater, Baalphegor, Dagon, Demogorgon
    • -44 AC - Shaktari (armed), -4 unarmed
    • -6 to -66 AC - Pale Night (randomized each turn)
    • -9 to -99 AC - Asmodeus (randomized each turn)

3) dNethack also changes the XP per level curve so that characters can reach level 30 simply from combat XP. This occurs sometime during the descent through gehennom, if the character doesn't drink any potions of gain level.

---Chris (talk) 03:27, 29 October 2014 (UTC)

Hi, sorry for not replying faster. I'll reply by topic:
Higher strength damage bonuses: Noted.
Double strength damage bonus for two-handed weapons: Noted.
Luck timeout and luck draining attacks in dNetHack and UnNetHack: I remember seeing this mechanic being added to UnNetHack and being uncertain as to whether I liked it or not. First, it adds diversionary busy-work, e.g. in the form of chasing around a randomly-found unicorn to throw identified gems at, or worse, having to backtrack to a unicorn you found on a previous level. Second, it makes the luck management even more important, which puts novice players at an even bigger disadvantage compared to veterans; would I really want to pull this into DynaHack if all it would do is increase the divide between veterans (who find the game too easy because they know all the important things) and novices (who find the game too hard because they don't know any of the important things)? Third, luck draining attacks are nasty, which makes monsters that have them scary, which is generally a good thing, but if it only leads to my first point (backtracking/chasing down unicorns), doesn't it just make them annoying instead? Granted, I've not played UnNetHack recently enough or enough of dNetHack at all to say for certain that this is how it all plays out in practice... have any players commented on how the luck management affects their games?
Fixed to-hit bonuses for unarmed/martial arts: This fix exists in almost every single variant I'm aware of; I think even the leaked NetHack 3.5-trunk has it. It makes virtually no difference in practice in NetHack due to how absurdly high the player's to-hit bonuses go relative to how much monsters push it back, which is partly why I hadn't really brought it up. To-hit in general is its own special kind of mess: I think it's calculated separately at all the points in the code where a hit-or-miss chance needs to occur (I know that at least melee and thrown/fired hit chances have separate but superficially similar code). The more I've looked into all this, the more it feels like to-hit calculations were the place where skill was supposed to matter the most, but the way skill affects it doesn't do nearly enough to make that the case.
+5 for damage for Expert weapon skill: Funny, this was about the number I'd settled on myself, since it'd make most weapons at Expert competitive with high damage weapons at Basic. If Skilled is tweaked, there's a nice symmetry of -5/-2/0/+2/+5 to map to Restricted/Unskilled/Basic/Skilled/Expert that could be the first steps to making skills in general more relevant, which is extremely important because skill level caps are one of the only ways that roles differ substantially from one another.
Change Expert two-weapon damage to +0: If you look closely at the damage tables for two-weapon skill and compare them to the normal weapon skill damage table, you'll notice that they're the same except that two-weapon is 1 point less at each level. I'm tempted to suggest that the two-weapon damage values be changed to the (classic) skill damage table, since its separate existence massively overstates its impact on final damage.
Reduced strength bonus for two-weapon attacks: This is probably the avenue with the most potential for making two-weapon a more interesting tactical decision than the dominant choice it is right now. I played around with fixed modifiers to the strength bonus in my mind, but I couldn't find one I could be happy with: at -6, late game damage is toned back but you'd be doing 1 damage per hit when starting out with two-weapon, which is bad, and halving it just gives it the same +6 bonus that a normal attack has, which does nothing about the damage done by the second attack. Another thought I had was to simply ignore the strength damage modifier for two-weapon attacks: this reduces two-weapon attacks by 12 points, putting it at a -6 point disadvantage compared to using a single weapon. It also creates a nice mechanical progression: no strength modifier for two-weapon, x1 strength modifier for a one-handed weapon, x2 strength modifier for a two-handed weapon.
dNetHack's approaches to "late game hits will never miss" problem: I noticed the Base Attack Bonus change while watching dNetHack's history on GitHub. I'm tempted to make changes along this line myself for DynaHack, but I wasn't sure how much I would modify them: big enough to be noticed, but not enough to be broken (in fact, figuring out the right numbers to change and by how much is why I embarked on this effort to begin with). As for the monsters with mega-high AC, it feels like a topical solution for a broad problem: sure those monsters are hard to hit, but it doesn't do anything for monsters whose AC hasn't been buffed, which is what ultimately affects how damaging each combat option is, especially if skill is to be made more relevant.
Also, I just noticed that you added more (below) while I was writing this all up, so I might have missed some of the newer stuff in this reply.
--Tungtn (talk) 07:03, 29 October 2014 (UTC)

Just threw some more nerf bats at stuff (in dNethack):

1) Offhand weapons no longer get bonus damage from strength.

2) Luck now adds +1dLuck to-hit, rather than +Luck

3) The damage bonus for two weapon now runs unskilled: -5, basic: -3, skilled: -1, expert: +0

Also, weapon skills now give +2 damage at skilled and +5 damage at expert.

---Chris (talk) 06:23, 29 October 2014 (UTC)


DnD has also struggled with the problem of AC vs to-hit over the course of its history, a good summary of the approach that is currently being tried in 5th edition (aka DnD Next) can be found here. The bounded accuracy solution (in brief, removing almost all scaling bonuses from the game) would probably work with vanilla's AC values.

The approach that I'm currently trying out in dNethack doesn't use that idea, though. One thing I've been trying to do is draw a sharper distinction between gehennom, the dungeons, and the endgame dungeons, in terms of the types and difficulties of monsters that show up. So under this system, the fairly sharp divide between demon and angel AC and the AC of everything else is desirable as they are supposed to be noticeably more difficult than everything else. That said, I think most characters can still expect to hit everything all the time[1], so :-/

I think the cumulative effect of the various changes I've made to two weapon combat has been to make it only somewhat better than a two handed weapon, instead of vastly superior as it was before. Since the max damage bonus for two-weapon is now +0, vs +5 for a single weapon, and since two handed weapons get 2x the strength bonus whereas two-weapon combat don't get a strength bonus on their off hand attack (max 8 points), a two weapon combatant needs to find at most 13 additional points of damage to make two weapon combat worth it. The off-hand weapon can be enchanted to +7, leaving just 6 points that must come from other sources. Silver hitting silver-hating is therefore enough to make it worthwhile, and a lot of roles that get a first sac gift are allowed to use that artifact in their off-hands, which is usually also enough to make it worthwhile. Finally, a problem that I just noticed is that there are no silver two handed weapons, meaning that vs silver hating two-weapon combat gives you +21 average damage, if you can find two silver weapons. So, again, :-/

[1] Breakdown of to-hit (30th level, which is to be expected in gehennom):

1/2 BAB: 15 base + 7 enchantment + 5 skill + ~3 ability = ~+30 before luck, which hits the -10 to -20 range without too much trouble and the -20 to -30 less easily.

3/4 BAB: 22 base is +7 above 1/2 BAB, so -17 to -27 easy and -27 to -37 less easily.

Full BAB: 30 base, +15 above 1/2 BAB, so -25 to -35 easy, -35 to -45 hard.

Even if you neglect saccing for luck almost completely, you'll still have +1d6 to +1d9 above those ranges.

-40 is very high for AC, so based on this estimate, only Tourists, Healers, and Wizards will routinely have trouble hitting demons in melee.

The stats assumed here are pretty low, 18 strength gives a +2 bonus all by itself, and dex gives a 1 point bonus for every point above 14 (so the +3 above assumes either 18 str and 15 dex or thereabouts). Gauntlets of dexterity can therefore improve to-hit by up to 5 points.

Rings of increase accuracy can be used to further increase to-hit in a pinch. Tourists in particular can charge up two such rings for when they need to hit stuff.

---Chris (talk) 23:13, 29 October 2014 (UTC) ---Revised Chris (talk) 23:15, 31 October 2014 (UTC)


Thanks again for putting this together, Tungtn :)

Re boots of speed granting Very Fast speed instead of just Fast speed:

I believe that it was deliberate rather than a book-keeping accident for the boots of speed to grant Very Fast speed: if the boots only granted Fast speed, they would be useless for the 7 roles that gain Fast speed as an intrinsic, as well as to any character who eats a Q or finds a single wand of speed monster.

Possibly this suggests that intrinsic and extrinsic speed should both individually give only Fast speed, and should stack to give Very Fast speed.

Re boots of speed being the only source of permanent extrinsic speed:

That's a good point. I have a couple of thoughts on it:

1) Should potions of speed and wands of speed have their functions switched? Potions are a lot heavier (and less abundant?) than wand charges, it seems to me that a wand that grants temporary Very Fast speed would be much more of a viable option than potions are. I would also want to do something about the fact that multiple castings of speed monster can be stacked indefinitely. If you are using wands as your source of speed, you should have to carry the wands around and renew it occasionally, not just drain every wand you find into your bank right off the bat.

2)Other sources of the extrinsic: In dNethack I've been trying to provide at least 3 sources for critical extrinsics, one of which is often dragon scales. The goal is to provide enough options that there is no one automatic choice for any slot, but for the set of options to be restrictive enough that each piece of armor that you lock in has big implications for your remaining options.

2b) YANI: Mercurial Dragon, whose scales and mail grant Very Fast speed.

2c) I'm Not Sure: Possibly a ring or a cloak? The cloak slot is pretty competitive already, with MR, a robe, and displacement competing in vanilla and oilskin added to the list by dNethack. The ring slot likewise would have to compete with conflict, levitation, and free action in vanilla, and in theory the various elemental resistance rings in dNethack, though in practice I don't see many people using them.

3) I think the speed thing sort of reveals that boots as a whole have a pretty strict hierarchy, though, since jumping is also only available as a boot right now, and would become the obvious choice if Very Fast speed could be gained through other means.

---Chris (talk) 20:37, 13 November 2014 (UTC)


re. Intent of the design of speed boots: Yeah, a lot of roles do eventually gain intrinsic speed. I guess what I meant was that whoever added speed boots didn't fully understand what they were doing to the speed system as a whole.
One thing I hadn't mentioned is that NetHack had a big redesign to its speed system at some point late in its history. Don't quote me on this (can't confirm since I haven't played older versions), but I think old versions of NetHack had separate speeds for actions and movement, and current NetHack had them unified, as evidenced by the first section of the steelypips air elemental FAQ (emphasis mine):
  1. What are air elementals? Why are they so dangerous?
Air elementals are animated embodiments of the element air. They engulf unwary adventurers and pummel them with flying debris. Nethack 3.3.0 introduced a new speed system; as a side effect of it, air elementals (which are naturally at the highest speed possible) get several attacks to an adventurer's one. Since they do a lot of damage, death can be fast. [Note: in version 3.4.0, the Dev Team has compensated for this somewhat by reducing the damage they do.]
It would also explain why fast monsters are listed in monst.c with multiple attacks: a monster that moved fast would be given multiple attacks to simulate attacking fast. In any case, there's a good chance that speed boots were added prior to this change and therefore its former effect would have been to allow the player to move fast, while currently it causes them to move and attack fast, in which case the dominance of speed boots seems accidental.
re. Intrinsic and extrinsic speed alone grant Fast speed, combined grant Very Fast speed: That's a neat idea; I think in either Angband or some of its variants there are certain properties and/or resistances that stack like that. You'd have to think carefully about all the sources of intrinsic and extrinsic speed and how they're made available, but this line of thought has promise.
re. Swapping functions of wands of speed monster and potions of speed: Currently, the wands grant speed permanently and potions grant it temporarily. It definitely seems to make more sense the other way around.
re. Stacking casts of the speed monster spell: According to the potion of speed wiki page, this also happens for multiple potion quaffs. Maybe there should be an upper limit or diminishing returns for multiple boosts to temporary speed.
re. Other sources of speed: Those were my thoughts on the ascension kit as it exists in NetHack in general. The ascension kit is not really so much fixed sets of equipment as much as it is a bag of vital game-winning properties (e.g. speed), and the small number of equipment combos are partly a knock-on effect of that and partly the limited slot-availability of permanent sources of those properties. Broadening slot-availability of those properties gives players the freedom to branch away from NetHack's rigid ascension kits, and that's a big part of why I ported random object properties into DynaHack, so it could randomly create, e.g. an oilskin cloak of reflection, which would free the player from having to use SDSM or the amulet of reflection. While on the topic of the ascension kit and game-winning properties in particular, the permanent corpse-gained intrinsics always felt like a big missed opportunity on NetHack's part to provide incentive to mix up equipment load-outs, since intrinsics function equivalently to equipment, but are slot-less. In recent DynaHack, corpse-gained intrinsics only provide half-resistance to most things, with exceptions, e.g. intrinsic disintegration resistance works 90% because it would be near worthless at 50%. I'm aware that dNetHack only grants intrinsics from corpses temporarily.
One thing you didn't bring up is the amulet slot; with reflection and life saving it's a pretty hotly-contested slot, so perhaps an amulet of speed could work? It seems appropriate for a valuable property like speed to compete with equipment slots that grant other valuable properties. The ring slot is slightly less contested due to the fact that players have two of them.
re. Strict hierarchy of boots, with jumping after speed: Well, water walking boots are pretty nice... I was playing a game of NetHack 4 and my jumping boots were evaporated by a demilich prior to reaching the Castle, but I found I had water walking boots and they seem to substitute okay. Of course they wouldn't do anything for navigating the big crowds of monsters on the Astral Plane, but so far they seem to work well enough.
I was thinking about how levitation boots are mostly considered bad, even if they weren't generated cursed 90% of the time, since boots take two turns to wear and take off which makes them a bad swap item. UnNetHack replaced the amulet of levitation with the amulet of flying, which has all the upsides of levitation with none of the downsides. On the topic of making the boots hierarchy less rigid, it's worth considering changing boots of levitation into boots of flying. The risks of wearing unknown boots would be lost, unless, say, boots of flying grant levitation instead if they're cursed, or something. Then the only equip-slot source of levitation would be the ring, which compensates for levitation's downsides by being a one-turn swap.
My own thoughts on changing speed boots: I had a couple of other ideas for changing speed boots. One was that speed boots grant only Fast speed, but could be #invoked every so often for Very Fast speed. The other was that speed boots would only speed up movements and no other actions, so they would be useful to run away from or around monsters instead of serving as an attack multiplier like how it's currently being used.
--Tungtn (talk) 05:02, 14 November 2014 (UTC)


Re. amulet of speed: The amulet slot is definitely a competitive one, but speed didn't really seem to fit the slot to me. I'm not sure to what extent this is common knowledge, but Nethack seems to implement either the Body Slot Affinity system from DnD or another similar system. By that system, though, Very Fast speed doesn't seem to fit in as anything except footwear. So I suggested maybe the ring slot, which is general magic, or the cloak slot on the grounds that speed is related to wind which is tangentially related to cloaks. But you could just as easily say that speed is related to dodging and so protection from harm, so the amulet slot is the better fit :/.
At any rate, I ended up going with the ring of alacrity, and made it consume extra nutrition in the same way that conflict and regeneration do, so that it is not a straight-up duplicate of the boots of speed in a different slot.
I also implemented Mercurial Dragons and their scales, and swapped the effects of wands of haste monster vs potions of speed.
Re. changing levitation boots to flying boots: That's a good idea, I've been considering making a cloak of wings that grants flight but I like this better.
Re. utility of water walking boots: The usefulness of these seem rather directly proportional to the amount of water about ;-). In vanilla I think pretty much the only water in the game is Medusa, the castle moat, and the wizard's tower moats. Plus any water in the quest. And the Plane of Water, of course, but you can't walk on that.
My guess as to what 3.3.0's new speed system was: Maybe the current system of variable speeds for monsters? Before 3.3.0 monsters may have mostly gotten one move per player move, with haste sometimes giving the player an extra move or something. Fast monsters would then be those who got multiple moves per turn.

---Chris (talk) 21:58, 15 November 2014 (UTC)