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 it is still accurate, then update the page to incorporate this information.

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:

References

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