Regeneration (property)
- This article is about the intrinsic or extrinsic property. For the natural recovery of hit points, see hit point regeneration.
Regeneration is a property in NetHack that increases the rate at which a hero or monster naturally regains their HP each turn.
Description
Regeneration accelerates the normal healing rate so that a hero or monster gains 1 HP on every turn that they would normally not do so.[1][2] Sources of regeneration do not stack with each other.
The primary difference in sources of regeneration is whether or not that source of the property also burns nutrition faster: nutrition burn occurs on every odd turn, and extrinsic regeneration will only burn additional nutrition if it is from a worn ring of regeneration, while intrinsic regeneration will only burn additional nutrition if it is from eating a ring of regeneration.[3] Regeneration that does not burn nutrition directly is generally referred to as "hungerless regeneration".
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 regeneration property unconditionally heals 1 HP on all turns, regardless of whether the hero naturally regenerated a point of HP on that turn.Extrinsic regeneration
Extrinsic regeneration can be granted by the following:
- Putting on a ring of regeneration
- Wielding The Staff of Aesculapius
Intrinsic regeneration
Intrinsic regeneration can be granted by the following:
- Eating a ring of regeneration
- Polymorphing into a monster that has the property innately
- Being afflicted with lycanthropy
A monster with intrinsic regeneration is designated in monst.c by the M1_REGEN monster attribute flag, and all of the following monsters possess this flag:[4]
- all werecreatures
- i imp or minor demon
- A Archon
- B vampire bat
- all L liches
- all T trolls
- all V vampires
- @ Wizard of Yendor
- all Riders
Strategy
Regeneration as a property can be valuable for survival in the early game, though it is not vital enough to use a wish on. Keeping on a source of regeneration that induces quicker nutrition burn may be more or less wise to do, depending on whether there is a scarcity of food, especially in the early game, or if the hero is trying to make room for a particular a corpse (which is more common in the late game).
History
The regeneration property first appears with the ring of regeneration and certain monsters in Hack 1.21 and Hack for PDP-11, which are based on Jay Fenlason's Hack, and is included in the properties that appear in Hack 1.0.
Variants
SLASH'EM
In SLASH'EM, heroes of the lycanthrope race start with regeneration that explicitly functions the same as the worn ring of regeneration.[5][6]
Several other monsters have intrinsic regeneration as well.
SporkHack
In SporkHack, Trollsbane grants hungerless regeneration while wielded.
UnNetHack
In UnNetHack, the regeneration property from a ring of regeneration only drains nutrition when restoring the hero's HP, and the ring will auto-identify when they take damage.
Trollsbane grants hungerless regeneration while wielded, similar to SporkHack.
dNetHack
In dNetHack, notdNetHack and notnotdNetHack, Trollsbane +1d10 to-hit and +1d20 damage bonuses against trolls and other monsters with the regeneration property, with a 1⁄10 chance of canceling one that it hits.
FIQHack
In FIQHack, hunger from the regeneration property of a worn ring of regeneration only applies while the hero is not at maximum HP.
Trollsbane grants hungerless regeneration while wielded.
Regeneration is one of the intrinsic properties a non-cursed potion of wonder can grant when quaffed, and dipping an appropriate item in a non-cursed potion also has a chance of giving it regeneration as an object property.
References
- Jump up ↑ src/allmain.c in NetHack 3.6.7, line 508
- Jump up ↑ src/monmove.c in NetHack 3.6.7, line 187
- Jump up ↑ src/eat.c in NetHack 3.6.7, line 2806
- Jump up ↑ include/mondata.c in NetHack 3.6.7, line 93
- Jump up ↑ attrib.c in SLASH'EM 0.0.7E7F2, line 149
- Jump up ↑ eat.c in SLASH'EM 0.0.7E7F2, line 2644