A new HP regeneration formula
The new formula is: (xlevel + Con)% chance of regenerating 1 hp each turn. This formula has been extensively playtested throughout the whole game (including two ascensions). The intention is to make late- game combat more interesting: early game the HP regeneration rate is potentially slightly faster but not significantly changed, but in the midgame and lategame is substantially slower because there is no longer a big regeneration boost once the character's xlevel is in the double digits. With the new formula, I'm finding that my characters have to heal with potions (rather than by waiting) in places that they never had to before (e.g. lower Dungeons, and upper Gehennom), which in turn means that fighting efficiently is now more important than it was before. (In fact, in one of the games I wished for potions of full healing on Astral for safety, although I think I would still have won without.) It's also generally the case that you can no longer regenerate "mid-fight": you need to disengage in order to heal up. This made the game more fun as it meant that escape items became more relevant, and I was using a greater range of items throughout the game than I normally would. The ring of regeneration has also been slightly buffed: it now heals an extra 1hp per turn unconditionally (rather than becoming less effective as the character levels). In both my test ascensions, I found a ring of regeneration, but intentionally refrained from using it in order to ensure that the new HP regeneration rate would be tolerable even without one.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1317 $ $NHDT-Date: 1701500708 2023/12/02 07:05:08 $
|
||||
$NHDT-Branch: (unknown) $:$NHDT-Revision: 1.1339 $ $NHDT-Date: 1702264272 2023/12/11 03:11:12 $
|
||||
|
||||
General Fixes and Modified Features
|
||||
-----------------------------------
|
||||
@@ -1329,6 +1329,7 @@ avoid impossible "trapped without a trap (fmon)" from 'sanity_check' when a
|
||||
non-flyer monster survived that it got marked as trapped even though
|
||||
flooding deleted the trap
|
||||
demons cannot be frightened by showing them their reflection
|
||||
HP regeneration formula has changed, primarily to be less fast in the endgame
|
||||
|
||||
|
||||
Fixes to 3.7.0-x General Problems Exposed Via git Repository
|
||||
|
||||
@@ -605,24 +605,10 @@ regen_hp(int wtcap)
|
||||
once u.mh reached u.mhmax; that may have been convenient
|
||||
for the player, but it didn't make sense for gameplay...] */
|
||||
if (u.uhp < u.uhpmax && (encumbrance_ok || U_CAN_REGEN())) {
|
||||
if (u.ulevel > 9) {
|
||||
if (!(gm.moves % 3L)) {
|
||||
int Con = (int) ACURR(A_CON);
|
||||
heal = (u.ulevel + (int)ACURR(A_CON)) > rn2(100);
|
||||
|
||||
if (Con <= 12) {
|
||||
heal = 1;
|
||||
} else {
|
||||
heal = rnd(Con);
|
||||
if (heal > u.ulevel - 9)
|
||||
heal = u.ulevel - 9;
|
||||
}
|
||||
}
|
||||
} else { /* u.ulevel <= 9 */
|
||||
if (!(gm.moves % (long) ((MAXULEV + 12) / (u.ulevel + 2) + 1)))
|
||||
heal = 1;
|
||||
}
|
||||
if (U_CAN_REGEN() && !heal)
|
||||
heal = 1;
|
||||
if (U_CAN_REGEN())
|
||||
heal += 1;
|
||||
if (Sleepy && u.usleep)
|
||||
heal++;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user