Strength

From NetHackWiki
Jump to navigation Jump to search

Strength is an attribute in NetHack.

Percentile strength

Like all attributes, strength ranges between 3 and 25. However, as in early editions of Dungeons & Dragons, strength has the unique property that values between 18 and 19 are given in percentage terms rather than jumping straight from 18 to 19, as with other attributes. For example, a strength of 18/35 means roughly that one is 35% of the way between 18 strength and 19 strength. Depending on race, characters can attain a maximum strength of 18, 18/50 or 18/** (which stands for 18/100) in their natural form, and need gauntlets of power or a ring of gain strength to increase strength to 19 or more. However, for gameplay purposes, there are not very many differences between a strength of 18/** and a strength of 25. Specifically, increasing your strength from 18/** to 25 will increase your carrying capacity (but only if your constitution is less than 17), make objects thrown or kicked by you travel further, and allow you to throw Mjollnir if you have it.

Effects

Strength corresponds to the ability to have more weight in your inventory. Also, the stronger you are, the more damage you do in melee combat, and the farther you can throw objects.

Uses of strength

Strength is required for the following activities:

  • To cast spells, you need strength of at least 4.[1]
  • To jump (except with the spell) or do self-teleportation, you need strength of at least 6.[2][3]
  • To break most wands, you need strength of at least 10; balsa wands can be broken with as low as 5 strength.[4]
  • To throw Mjollnir, you need strength of 25.[5]

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.

Glass wands can also be broken with 5 strength.

Strength affects the following activities:

  • Greater strength usually allows you to carry more inventory without being encumbered.[6]
  • Greater strength speeds setting a bear trap.[7]
  • Greater strength speeds escape from a web.[8]
  • Greater strength increases digging speeds.[9][10]
  • Greater strength makes it more likely to kick open a door or secret corridor.[11][12][13][14]
  • Greater strength increases damage done to monsters when kicking them.[15]
  • Greater strength makes it more likely to successfully open or close a door.[16][17]
  • Greater strength makes a shopkeeper charge you more for destroying a shop wall.[18][19]
  • Greater strength increases the range for throwing objects.[20][21]
  • Greater strength speeds opening tins.[22]
  • Strength greater than 18 makes it possible to shatter a door when kicking it instead of just breaking it open.[23]
  • Greater strength allows better accuracy when fighting and increases damage per hit, as shown by the following table:[10][24]
strength to-hit damage
3–5 −2 −1
6–7 −1 0
8–15 0 0
16 0 +1
17 +1 +1
18 +1 +2
18/01–18/50 +1 +3
18/51–18/75 +2 +3
18/76–18/90 +2 +4
18/91–18/99 +2 +5
18/**–25 +3 +6

The to-hit adjustment applies to all melee attacks.[25][26] The damage adjustment affects melee and thrown weapons unless attacking with mirrors that break,[27] eggs,[28] cream pies,[29] blinding venom,[29] or acid venom.[30] It does not affect items fired from a launcher.[31]

Strength in game formulas

Some of the game formulas require strength to be an integer between 3 and 25 (without percentages). When that is needed, NetHack will map strengths between 18/01 and 21 as follows:[32]

A strength of... maps to...
18/01–18/31 19
18/32–18/81 20
18/82–21 21

This mapping is used for:

  • Calculating carrying capacity[33]
  • Calculating the damage done by kicking[34]
  • Calculating the maximum distance traveled by thrown or kicked objects[35][36]
  • Calculating the chance of kicking down a door[37]
  • Calculating the time it takes to open a non-blessed tin by hand[38]
  • Calculating the chance of opening or closing an unlocked door[39][40]


For example, the maximum range of a thrown dagger is Str/2 squares. Thus, if your strength is 18/31, you can throw a dagger 9 squares (19/2 rounded down), but if your strength is 18/32, you can throw it 10 squares (20/2 rounded down).

Events that alter strength

Strength may increase when:

Potions of gain ability and lumps of royal jelly will only increase your strength by 1 (e.g., from 18/01 to 18/02). Spinach and giant corpses sometimes increase your strength by more than one. If the corpse or tin will increase strength and your strength is less than 18, there's a 1 in 4 chance of increasing your strength by 1d6 points. If the corpse or tin increases strength and your strength is between 18 and 18/84, your strength will be increased by 1d10. If your strength is at least 18/85, it can only be increased by 1.[45]

Strength may decrease when:

There are many ways to exercise your strength. One popular way is to push boulders around. (One possibility: whenever you need to heal, spend your time pushing a boulder back and forth at one of the higher dungeon levels.)

Messages

You feel strong!
You gained a point of strength.
You feel very strong!
You gained more than a point of strength.
You must have been exercising diligently.
In addition to the above, if the gain was due to exercise.
You feel weak!
You lost a point of strength.
You haven't been exercising properly.
In addition to the above, if the loss was due to abuse.

Exercising and abusing strength

Strength is exercised by the following:

Strength is abused by the following:

Variants

SLASH'EM

SLASH'EM changes the behavior of the gauntlets of power, and strength between 18/** and 25 is handled differently. Strength grants bonuses to damage and to-hit as follows:[103]

strength to-hit damage
3–5 −2 −1
6–7 −1 0
8–15 0 0
16 0 +1
17 +1 +1
18 +1 +2
18/01–18/99 +1 +3
18/** +2 +4
19 +2 +5
20 +3 +6
21 +3 +7
22 +4 +8
23 +4 +9
24 +5 +10
25 +5 +11

References

  1. Jump up spell.c in NetHack 3.4.3, line 742
  2. Jump up apply.c in NetHack 3.4.3, line 1261
  3. Jump up spell.c in NetHack 3.4.3, line 505
  4. Jump up apply.c in NetHack 3.4.3, line 2621
  5. Jump up dothrow.c in NetHack 3.4.3, line 85
  6. Jump up weight_cap in hack.c
  7. Jump up apply.c in NetHack 3.4.3, line 2027
  8. Jump up trap.c in NetHack 3.4.3, line 1007
  9. Jump up dig.c in NetHack 3.4.3, line 272
  10. Jump up to: 10.0 10.1 abon in weapon.c
  11. Jump up dokick.c in NetHack 3.4.3, line 697
  12. Jump up dokick.c in NetHack 3.4.3, line 791
  13. Jump up dokick.c in NetHack 3.4.3, line 816
  14. Jump up dokick.c in NetHack 3.4.3, line 1046
  15. Jump up dokick.c in NetHack 3.4.3, line 34
  16. Jump up lock.c in NetHack 3.4.3, line 562
  17. Jump up lock.c in NetHack 3.4.3, line 682
  18. Jump up dig.c in NetHack 3.4.3, line 348
  19. Jump up hack.c in NetHack 3.4.3, line 381
  20. Jump up dothrow.c in NetHack 3.4.3, line 943
  21. Jump up dothrow.c in NetHack 3.4.3, line 1739
  22. Jump up eat.c in NetHack 3.4.3, line 1182
  23. Jump up dokick.c in NetHack 3.4.3, line 1054
  24. Jump up dbon in weapon.c
  25. Jump up uhitm.c in NetHack 3.4.3, line 390
  26. Jump up uhitm.c in NetHack 3.4.3, line 236
  27. Jump up uhitm.c in NetHack 3.4.3, line 708
  28. Jump up uhitm.c in NetHack 3.4.3, line 752
  29. Jump up to: 29.0 29.1 uhitm.c in NetHack 3.4.3, line 849
  30. Jump up uhitm.c in NetHack 3.4.3, line 864
  31. Jump up uhitm.c in NetHack 3.4.3, line 895
  32. Jump up acurrstr in attrib.c
  33. Jump up hack.c in NetHack 3.4.3, line 2162
  34. Jump up dokick.c in NetHack 3.4.3, line 34
  35. Jump up dokick.c in NetHack 3.4.3, line 452
  36. Jump up dothrow.c in NetHack 3.4.3, line 943
  37. Jump up dokick.c in NetHack 3.4.3, line 697
  38. Jump up eat.c in NetHack 3.4.3, line 1182
  39. Jump up lock.c in NetHack 3.6.1, line 704
  40. Jump up lock.c in NetHack 3.6.1, line 840
  41. Jump up eat.c in NetHack 3.4.3, line 926
  42. Jump up to: 42.0 42.1 eat.c in NetHack 3.4.3, line 1692
  43. Jump up to: 43.0 43.1 eat.c in NetHack 3.4.3, line 1122
  44. Jump up eat.c in NetHack 3.4.3, line 2346
  45. Jump up attrib.c in NetHack 3.4.3, line 163
  46. Jump up eat.c in NetHack 3.4.3, line 2344
  47. Jump up mcastu.c in NetHack 3.4.3, line 409
  48. Jump up spell.c in NetHack 3.4.3, line 155
  49. Jump up eat.c in NetHack 3.4.3, line 1293
  50. Jump up eat.c in NetHack 3.4.3, line 1973
  51. Jump up fountain.c in NetHack 3.4.3, line 265
  52. Jump up attrib.c in NetHack 3.4.3, line 338
  53. Jump up attrib.c in NetHack 3.4.3, line 339
  54. Jump up attrib.c in NetHack 3.4.3, line 354
  55. Jump up dokick.c in NetHack 3.4.3, line 1056
  56. Jump up dokick.c in NetHack 3.4.3, line 1060
  57. Jump up dokick.c in NetHack 3.4.3, line 1090
  58. Jump up dothrow.c in NetHack 3.4.3, line 1348
  59. Jump up dothrow.c in NetHack 3.4.3, line 1362
  60. Jump up src/hack.c in NetHack 3.6.6, line 303
  61. Jump up lock.c in NetHack 3.4.3, line 142
  62. Jump up lock.c in NetHack 3.4.3, line 207
  63. Jump up src/lock.c in NetHack 3.6.1, line 716
  64. Jump up src/lock.c in NetHack 3.6.1, line 846
  65. Jump up mhitu.c in NetHack 3.4.3, line 1405
  66. Jump up mhitu.c in NetHack 3.4.3, line 2347
  67. Jump up polyself.c in NetHack 3.4.3, line 1291
  68. Jump up potion.c in NetHack 3.4.3, line 813
  69. Jump up read.c in NetHack 3.4.3, line 680
  70. Jump up uhitm.c in NetHack 3.4.3, line 379
  71. Jump up attrib.c in NetHack 3.4.3, line 325
  72. Jump up ball.c in NetHack 3.4.3, line 777
  73. Jump up ball.c in NetHack 3.4.3, line 784
  74. Jump up dokick.c in NetHack 3.4.3, line 1003
  75. Jump up dokick.c in NetHack 3.4.3, line 1031
  76. Jump up dokick.c in NetHack 3.4.3, line 1051
  77. Jump up explode.c in NetHack 3.4.3, line 364
  78. Jump up trap.c in NetHack 3.4.3, line 3686
  79. Jump up trap.c in NetHack 3.4.3, line 3855
  80. Jump up potion.c in NetHack 3.4.3, line 1671
  81. Jump up zap.c in NetHack 3.4.3, line 1841
  82. Jump up zap.c in NetHack 3.4.3, line 3940
  83. Jump up mhitu.c in NetHack 3.4.3, line 930
  84. Jump up mhitu.c in NetHack 3.4.3, line 960
  85. Jump up mhitu.c in NetHack 3.4.3, line 1175
  86. Jump up mhitu.c in NetHack 3.4.3, line 1458
  87. Jump up mhitu.c in NetHack 3.4.3, line 1175
  88. Jump up zap.c in NetHack 3.4.3, line 3175
  89. Jump up uhitm.c in NetHack 3.4.3, line 2176
  90. Jump up mhitu.c in NetHack 3.4.3, line 1713
  91. Jump up mhitu.c in NetHack 3.4.3, line 1727
  92. Jump up mhitu.c in NetHack 3.4.3, line 2314
  93. Jump up polyself.c in NetHack 3.4.3, line 579
  94. Jump up read.c in NetHack 3.4.3, line 680
  95. Jump up read.c in NetHack 3.4.3, line 789
  96. Jump up read.c in NetHack 3.4.3, line 800
  97. Jump up sit.c in NetHack 3.4.3, line 83
  98. Jump up timeout.c in NetHack 3.4.3, line 108
  99. Jump up trap.c in NetHack 3.4.3, line 726
  100. Jump up trap.c in NetHack 3.4.3, line 938
  101. Jump up zap.c in NetHack 3.4.3, line 1895
  102. Jump up zap.c in NetHack 3.4.3, line 3082
  103. Jump up weapon.c in SLASH'EM 0.0.7E7F2, line 900