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.
- 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."
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.
As of commit f3408b87, the HP recovery formula is now simply a (xlevel + Con)% chance of recovering 1 HP each turn. Also, the regeneration property heals 1 HP unconditionally on all turns, rather than any turn where a hero did not recover HP, so the two sources stack together.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]
Elementals
An elemental's hit points are calculated normally, except that on its home elemental plane they are tripled.[22]
Golems
Golems' hit points are fixed and determined by type:[23][24]
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 |
Riders
Riders are a very special case; from the source code[25]:
- We want low HP, but a high mlevel so they can attack well
Their hp is 10d8
Adult dragons
An adult dragon's hp depends on whether or not the player is in the endgame.[26]
- Not in endgame
- hp = (monster level)d4 + 4 * (monster level)
- In endgame
- hp = 8 * (monster level)
Player monsters
A player monster normally has (monsterlevel)d10 + 30 HP. If generated in the endgame (in practice, the Astral Plane in vanilla NetHack), it gets an extra d30 HP.[27]
Guardian angel
The hero's guardian angel on the Astral Plane uses the same hit point formula as the player monsters on that level:[28]
- hp = (monster level)d10 + d30 + 30
Special
Some other monsters have fixed hit points. Any monster with a defined level of 50-127 calculates its hp by:[29]
- hp = 2 * ((monster level) - 6)
Their actual level is then approximated by:
- level = hp / 4
Those monsters are the named demons and the mail daemon. The complete table for vanilla NetHack is as follows:
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 |
Raising monster maximum hit points
Monsters (including pets) gain levels by raising their hit points. Thus advancing levels and increasing hit points are one and the same goal for them.
A monster's HP is determined by the monster level they are generated at. In lieu of gaining experience their HP is incremented by a minimum of 1 each time they kill another monster, with their level increasing so that their HP is always at least 8 times that level—the maximum level a monster can reach this way is 3⁄2 times their base monster level. A monster that quaffs a non-cursed potion of gain level will increase their monster level, with their HP being increased accordingly, and their HP is also lowered when subjected to level drain—a monster drained below level 0 will die regardless of HP.
Gaining and restoring hit points
Besides those listed above, 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.
- 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.
Strategy
Characters 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 hear the howling of the CwnAnnwn...
- You have less than 1⁄10 of your total HP left.
- Valkyrie/Wizard/Elf, your life force is running out.
- As above, while you are a Valkyrie, Wizard or elven character, 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.
- You hear the wailing of the Banshee...
- You have only 1 hit point left.
- Valkyrie/Wizard/Elf is about to die.
- As above while you are a Valkyrie, Wizard or elven character.
Once you have seen one of the above messages, you will not see another for 50 turns.[30]
- 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.[31]
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 the ring of regeneration only applies when you are 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 ↑ role.c in NetHack 3.4.3, line 27
- Jump up ↑ role.c in NetHack 3.4.3, line 406
- Jump up ↑ attrib.c in NetHack 3.4.3, line 649
- 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 ↑ makemon.c in NetHack 3.4.3, line 938
- Jump up ↑ makemon.c in NetHack 3.4.3, line 918
- Jump up ↑ makemon.c in NetHack 3.4.3, line 1534
- Jump up ↑ makemon.c in NetHack 3.4.3, line 920
- Jump up ↑ makemon.c in NetHack 3.4.3, line 930
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 143
- Jump up ↑ do.c in NetHack 3.4.3, line 1406
- Jump up ↑ makemon.c in NetHack 3.4.3, line 923
- Jump up ↑ hack.c in NetHack 3.4.3, line 2102
- Jump up ↑ hack.c in NetHack 3.4.3, line 884
This page may need to be updated for the current version of NetHack.
It may contain text specific to NetHack 3.4.3. Information on this page may be out of date.
Editors: After reviewing this page and making necessary edits, please change the {{nethack-343}} tag to the current version's tag or {{noversion}} as appropriate.