Hit points
Hit points, abbreviated to HP or hp, are a statistic in NetHack represent the life force of the hero and monsters alike.
Description
A hero or monster whose hit points reach zero will usually die, with the following exceptions:
- Reaching 0 HP with an amulet of life saving put on will cause the amulet to activate, restoring the hero or monster wearing it to life and destroying the amulet unless they are in a non-living form.
- A vampire that is shapeshifted into another form will arise in their base form if killed by any means.[1]
- A hero that is polymorphed and has their HP reduced to 0 will return to base form, unless they are wearing an amulet of unchanging or have 0 HP in their base form as well.[2][3]
- A player in wizard mode or explore mode can choose to have the hero survive when they would die from their HP reaching 0.
There are several forms of instant death that will kill a hero or monster regardless of their hit points at the time, and some such as stoning and intelligence drain can also kill even a polymorphed hero.
Both the hero and monsters will slowly recover or "regenerate" their hit points with the passage of time if they are below their maximum—this is different from the regeneration property, which accelerates this natural recovery and is an intrinsic that certain monsters have.
A user has suggested improving this page or section as follows:
"Consider moving information about HP impacting the hero's abilities and monster behavior here. Figure out historical information and where to place it."
Gaining and restoring hit points
There are several methods for a hero or monster to increase their current and maximum hit points:
- Quaffing healing potions increase the drinker's maximum hit points if doing so would heal them for more than the difference between their current and maximum HP (including when at full HP):
- Quaffing a non-cursed potion of healing increases maximum HP by 1.
- Quaffing an uncursed potion of extra healing increases maximum HP by 2, while a blessed potion increases it by 5.
- Quaffing an uncursed potion of full healing increases maximum HP by 4, while a blessed potion increases it by 8.
- A successful prayer while the hero's maximum HP is no more than 5 * (2+XL), their god will increase their maximum HP by a random amount and fully heal them.
- A hero or monster that quaffs a non-cursed potion of gain level or eating a wraith corpse will increase their current and maximum HP, along with their level if possible. A hero can also obtain this effect by receiving an "educational experience" from a foocubus encounter.
- Successfully praying to the hero's god at a co-aligned altar may grant a favor that surrounds them with a "golden glow", fully healing them if possible and increasing maximum HP by 5 similar to a blessed potion of full healing—the effect can also restore a lost experience level.
- A nurse that is healing the hero (i.e. hitting them while they are not wielding a weapon and wearing no armor) has a 1⁄7 chance of increasing their maximum HP by 1, provided that this maximum is less than a roll of 5 * XL + (2 + XL)d10.
The hero's HP
A hero's starting HP at the beginning of a game is the sum of their role and race's base HP statistics.[4][5]
The amount of HP that a hero gains whenever they gain an experience level is determined by their race, role and current constitution, including the "cutoff" level associated with that role:[6][7] if the hero's experience level is less than their role "cutoff" level prior to gaining a level, the amount of HP gained is randomized based on the roll of a die, with Barbarians using a d10, Rangers using a d6, and all other roles using a d8, and otherwise the hero will gain a set amount of HP based on their role[8][9]—a bonus or penalty based on constitution is applied in either case. The hero will always gain at least one hit point per level, even when they are already at the maximum experience level of 30.[10]
The HP gains from race, role and constitution when gaining an experience level are detailed in the tables below:
Role[11] | Cutoff | Pre-cutoff | Post-cutoff | Starting |
---|---|---|---|---|
Arc | 14 | d8 | 1 | 11 |
Bar | 10 | d10 | 2 | 14 |
Cav | 10 | d8 | 2 | 14 |
Hea | 20 | d8 | 1 | 11 |
Kni | 10 | d8 | 2 | 14 |
Mon | 10 | d8 | 1 | 12 |
Pri | 10 | d8 | 1 | 12 |
Rog | 11 | d8 | 1 | 10 |
Ran | 12 | d6 | 1 | 13 |
Sam | 11 | d8 | 1 | 13 |
Tou | 14 | d8 | 0 | 8 |
Val | 10 | d8 | 2 | 14 |
Wiz | 12 | d8 | 1 | 10 |
Race[12] | Pre-cutoff | Post-cutoff | Starting |
---|---|---|---|
Human | d2 | 1 | 2 |
Elf | d1 | 1 | 1 |
Dwarf | d3 | 2 | 4 |
Gnome | d1 | 0 | 1 |
Orc | d1 | 0 | 1 |
Con | Modifier[13] |
---|---|
≤ 3 | -2 |
≤ 6 | -1 |
≤ 14 | 0 |
≤ 16 | +1 |
17 | +2 |
18 | +3 |
≥ 19 | +4 |
Hit point recovery
The hero's natural HP-healing rate functions as follows:[14][15] a hero below experience level 10 will recover one hit point every (42 / (XL + 2)) + 1 turns, while a hero at XL 10 or above will recover HP every third turn; if their constitution is 12 or lower they will recover one hit point, and otherwise will regain an amount of HP equal to a roll on a constitution-sized die (or d[Con]), up to a maximum of (XL - 9). A hero whose encumbrance level is Stressed or worse will only recover hit points on turns when they are not moving. A hero with the regeneration property will gain one hit point on any turn where they did not recover HP as above.
A hero that is polymorphed, and is also not in the form of a sea monster while outside of water, will recover one hit point every 20 turns.[16][17] A hero that is in the form of a sea monster and not within water instead gradually loses HP, with the HP loss rate slowing down as the hero's HP becomes lower.[18]
Natural regeneration for the hero is described in the chart below:
Level | Turns | HP |
---|---|---|
1 | 15 | 1 |
2 | 11 | 1 |
3 | 9 | 1 |
4 | 8 | 1 |
5 | 7 | 1 |
6 | 6 | 1 |
7 | 5 | 1 |
8 | 5 | 1 |
9 | 4 | 1 |
10+ | 3 | 1 or d(Con) |
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.
Per commit f3408b87, the HP recovery formula is now simply a (xlevel + Con)% chance of recovering 1 HP each turn, and the regeneration property heals 1 HP unconditionally on all turns, rather than any turn where a hero did not recover HP.
Per commit 91c46ab5, while a hero has restful sleep and is asleep, their hit point regeneration is boosted so that they gain 1 additional HP each turn. If the hero is not polymorphed into another form, this stacks with normal HP regeneration and any additional regeneration property (e.g. from a ring of regeneration).Monster hit points
A monster's HP is determined by the monster level they are generated at, then subjected to any applicable modifications:[19][20] by default, monsters are generated with 1d4 hit points if they are created at level 0, and otherwise generate with an mount of HP equal to ML(d8).[21]
In lieu of gaining experience, monsters gain levels by raising their maximum hit points, and their maximum hit points are also raised when their level increases directly: A monster that kills another monster will increase their maximum HP by a minimum of 1, and the maximum level a monster can reach this way is 3⁄2 times their base monster level;[22] a monster that gains levels by any other method, such as a non-cursed potion of gain level or an eaten wraith corpse, will raise their current and maximum HP by d8 along with increasing their monster level, and the default maximum level a monster can reach this way is 49.[23][24][25] Monsters that gain enough levels and HP may grow up into stronger forms.[26] A monster's current and maximum HP are lowered when subjected to level drain, and a monster drained below level 0 will die regardless of HP.[27] A monster that is below maximum HP will gain 1 HP every 20 moves, or every turn if they have regeneration.[28]
The sub-headers below this one describe various other modifications that are made to a monster's HP when they are generated, gain or lose a monster level, or are polymorphed into a particular monster.
Elementals
The hit points of an elemental are calculated normally, but both their initial HP and maximum HP thresholds are additionally tripled if they are generated or currently located on their "home" Elemental Plane.[29][30][31]
Golems
Golems do not use default hit point calculations when generated or when gaining or losing levels, and their initial HP is instead determined by type:[32][33]
Hit points | Golems |
---|---|
20 | paper golem, straw golem |
30 | rope golem |
40 | flesh golem, gold golem, leather golem |
50 | clay golem, wood golem |
60 | glass golem, stone golem |
80 | iron golem |
Golems use an HP threshold of (max HP10 + 1) * 10 - 1 to calculate whether they gain a level when increasing their HP from combat.[34] They also use a different equation from other monsters when adjusting HP from level drain.[35]
Riders
The Riders are always generated with 10d8 HP regardless of their maximum level, which is done deliberately to give them stronger attacks.[36]
Dragons
The amount of HP adult dragons are generated with depend on their monster level and whether or not they are generated in the End Game, i.e. the Elemental Planes or Astral Plane:[37] adult dragons generated in the End Game use a flat 8*(ML), and so will always have the maximum amount of HP possible for their level, and otherwise they will roll (ML)d4 and adds 4 times its monster level to that result, e.g., a level 15 adult dragon will always have at least 75 HP if generated normally and will always have 120 HP if generated on the Elemental Planes or Astral Plane. An adult dragon subjected to level drain loses 4-8 HP.[38]
Player monsters
Player monsters are normally generated with (ML)d10 + 30 HP, and if generated in the endgame (i.e. the Astral Plane, in practice) they are given an extra d30 HP.[39]
Guardian angel
The guardian Angel minion given to a hero that enters the Astral Plane will be generated with (ML)d10 + d30 + 30 HP, the same hit point formula as the player monsters on that level.[40] A hero must be at least fervently aligned and not generating conflict when they enter the level.[41][42][43]
Other monsters
Certain other monsters that have their level defined as anywhere from 50 to 127 are generated with a fixed amount of HP, always equal to 2 * (ML - 6):[44] their actual monster level is the resulting HP value divided by four.[45] This generation method is applied to all demon lords and princes, along with the mail daemon, and the results are detailed in the table below:
Monster | Hit points | Level |
---|---|---|
& Juiblex | 88 | 22 |
& Yeenoghu | 100 | 25 |
& mail daemon | 100 | 25 |
& Orcus | 120 | 30 |
& Geryon | 132 | 33 |
& Dispater | 144 | 36 |
& Baalzebub | 166 | 41 |
& Asmodeus | 198 | 49 |
& Demogorgon | 200 | 50 |
Strategy
A hero should always have an escape plan or emergency healing method for situations where their health is low, regardless of their strength level, and should be able to judge when it is safe to heal by waiting and when it is preferable to use a spell or item, especially characters with pets. Some weak starting characters might deliberately lower their HP in order to pray for an increase to max HP on turn 101.
Nurse dancing is a commonplace strategy that uses one or more nurses (typically from reverse genocide) in order to massively increase HP.
Messages
- You don't have enough stamina to move.
- Your encumbrance is stressed or higher while you are under your hit point maximum and have less than 5 hit points if polymorphed, or less than 10 otherwise. This does not occur if you are on the Plane of Air, nor if you are overloaded.[46]
- You hear the howling of the CwnAnnwn...
- You have less than 1⁄10 of your total HP left. The Cŵn Annwn are the spectral hounds of Annwn, the otherworld of Welsh folklore, which are associated with a form of the Wild Hunt, and their coming is generally seen as a death portent.
- Valkyrie/Wizard/Elf, your life force is running out.
- As above, while you are a Valkyrie, Wizard or elven hero, and have fewer than four intrinsics. This and other similar messages are references to the Gauntlet franchise of video games.
- Valkyrie/Wizard/Elf, all of your powers will be lost...
- As above, but you have at least four intrinsics.
Once you have seen one of the below messages, you will not see another for 50 turns.[47]
- You hear the wailing of the Banshee...
- You have only 1 hit point left. A banshee is a female spirit in Irish folklore who heralds the death of a family member, usually by screaming, wailing, shrieking, or keening.
- Valkyrie/Wizard/Elf is about to die.
- As above while you are a Valkyrie, Wizard or elven character.
Variants
FIQHack
In FIQHack, the HP regeneration rate has been modified as follows:
- +1hp/turn for regen
- +0.33hp/turn for healers
- +0.03*level hp/turn
- +0.03*(constitution - 5) hp/turn
- min cap is +0.01 hp/turn
In addition, hunger from a worn ring of regeneration only applies when the hero is not at maximum HP. See the linked article at the top of the section for more information.
External links
References
- Jump up ↑ src/mon.c in NetHack 3.6.7, line 2190:
if (!vamp_stone(mdef))
is used to exclude shifted vampires from instant death by stoning - Jump up ↑ src/polyself.c in NetHack 3.6.7, line 1070
- Jump up ↑ src/polyself.c in NetHack 3.6.7, line 1086
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 608
- Jump up ↑ src/u_init.c in NetHack 3.6.7, line 635
- Jump up ↑ src/attrib.c in NetHack 3.6.7, line 981
- Jump up ↑ include/you.h in NetHack 3.6.7, line 23
- Jump up ↑ src/exper.c in NetHack 3.6.7, line 292:
newhp()
is called before your level is incremented - Jump up ↑ src/attrib.c in NetHack 3.6.7, line 999: Both lofix are always 0; both hirnd are always 0
- Jump up ↑ src/attrib.c in NetHack 3.6.7, line 1028
- Jump up ↑ src/role.c in NetHack 3.6.7, line 27
- Jump up ↑ src/role.c in NetHack 3.6.7, line 617
- Jump up ↑ src/attrib.c in NetHack 3.6.7, line 1012
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 204: Normal HP recovery
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 458
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 465
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 475
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 468
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 983
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1212
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1008-L1013
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1793
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1837
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1846
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1855
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1858
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 956: monhp_per_lvl(mon) function
- Jump up ↑ src/monmove.c in NetHack 3.6.7, line 187
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 34
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1010
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1825
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 990
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1967
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1823
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 963
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 992: "We want low HP, but a high mlevel so they can attack well"
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 1002
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 969
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 143
- Jump up ↑ src/do.c in NetHack 3.6.7, line 1710
- Jump up ↑ src/minion.c in NetHack 3.6.7, line 460
- Jump up ↑ src/minion.c in NetHack 3.6.7, line 476
- Jump up ↑ src/minion.c in NetHack 3.6.7, line 502
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 995
- Jump up ↑ src/makemon.c in NetHack 3.6.7, line 100
- Jump up ↑ src/hack.c in NetHack 3.6.7, line 1385
- Jump up ↑ src/hack.c in NetHack 3.6.7, line 2970