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's starting HP is determined by their race, role and constitution, as well as the amount of HP they gain whenever they go up an experience level, and a hero that has their life drained in any way will accordingly lose HP—a hero that is level drained at level 1 will die regardless of HP. Fighter roles such as Barbarians generally start the game with more hit points and receive more hit points at each new level compared to Rangers or Tourists. Even after reaching the maximum experience level of 30, gaining a level by any means, e.g. from a non-cursed potion of gain level) will still increase their maximum HP.
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.
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.
- 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.
- A player in wizard mode or explore mode can choose to have the hero survive when they would die from their HP reaching 0.
As indicated earlier, 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.
A user has suggested improving this page or section as follows:
"Further detail monster growth."
Gaining and restoring hit points
There are several other methods besides those listed above 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 hero that prays successfully while their 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.
Hit point recovery
Both the hero and monsters will slowly regenerate their hit points naturally with the passage of time.
The hero's natural HP-healing rate is described in the chart below:[1]
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) |
If you are below experience level 10, you will recover one hit point every (42 / (level + 2)) + 1 turns; if you are level 10 or above, you will recover HP every third turn. If your Constitution is 12 or lower, you get one hit point, and will otherwise regain d(Con) hitpoints, up to a maximum of your level minus 9.
If your encumbrance is Stressed or worse, you will only recover hit points on turns when you aren't moving. If you are polymorphed, you instead recover one hit point every 20 turns.[2]
If you have the regeneration property, you will gain one hit point on any turn you did not do so above.
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 (xlevel + Con)% chance of recovering 1 HP each turn. Also, regeneration heals 1 HP unconditionally on all turns, not only those turns where you are not otherwise recovering HP, so the two sources stack together.Starting hit points and HP gain per level
The number of hit points and maximum hit points gained when gaining a level at is calculated differently depending on whether you have reached your role's cutoff experience level.[3][4]
If your experience level is less than your cutoff level prior to gaining a level, the amount gained is randomized, and will be non-random otherwise.[5][6]
Your role and race both add a certain number of hit points; in the case of below-cutoff characters, this number is specified as n-sided die. A bonus (or malus) based on your constitution is then added.
You always gain at least one hit point per level.[7]
Note that the point gains below apply even when "gaining a level" at experience level 30. In this case, the point gains are the only effect.
For a new character, the starting maximum hitpoints is a constant: simply the sum of the base starting hitpoints for the role and the race. The constitution bonus does not apply here.[8][9]
Role[10] | 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[11] | 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[12] |
---|---|
≤ 3 | -2 |
≤ 6 | -1 |
≤ 14 | 0 |
≤ 16 | +1 |
= 17 | +2 |
= 18 | +3 |
≥ 19 | +4 |
Monster hit points
A monster's hit points is based on its level, modified in some rare cases by other things.[13]
Normal case
Default initial hit points: hp = (monster level)d8.[14]
If a monster has a level of 0, their hp is simply 1d4.[15]
Elementals
An elemental's hit points are calculated normally, except that on its home elemental plane they are tripled.[16]
Golems
Golems' hit points are fixed and determined by type:[17][18]
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[19]:
- 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.[20]
- 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.[21]
Guardian angel
The hero's guardian angel on the Astral Plane uses the same hit point formula as the player monsters on that level:[22]
- 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:[23]
- 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.
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.[24]
- 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.[25]
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 ↑ allmain.c in NetHack 3.4.3, line 171: Normal HP recovery
- Jump up ↑ allmain.c in NetHack 3.4.3, line 166: HP regeneration while polymorphed
- 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 ↑ u_init.c in NetHack 3.4.3, line 568
- Jump up ↑ allmain.c in NetHack 3.4.3, line 504
- 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 ↑ makemon.c in NetHack 3.4.3, line 918
- Jump up ↑ makemon.c in NetHack 3.4.3, line 937
- Jump up ↑ makemon.c in NetHack 3.4.3, line 935
- 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.