fix pull request #365 - monster max HP
The recently added sanity check for monster maximum HP was giving false complaints when Nd8 monster had N mhpmax. Most noticeable for level 1 monsters (level 0 monsters use 1d4 instead of 0d8 and weren't affected) but possible for higher level ones if they were unlucky--from their own perspective--with all their d8 rolls. Give level N monsters a minimum of N+1 HP, so minimum of 2 for level 1 monsters, making 1/8 of those stronger. Same minimum for level 0 monsters, 25% of which will become stronger now. (The pull request's patch gave every Nd8 monster 1 extra HP; this only does so for Nd8 and 1d4 ones which have rolled lowest possible amount.) Also relax the sanity check so that existing to-be-3.7 save files don't continue to trigger sanity complaints for existing monsters that have the old minimum. Fixes 365
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1594727746 2020/07/14 11:55:46 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.340 $ */
|
||||
/* NetHack 3.6 mon.c $NHDT-Date: 1594771374 2020/07/15 00:02:54 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.341 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -59,7 +59,7 @@ const char *msg;
|
||||
/* check before DEADMONSTER() because dead monsters should still
|
||||
have sane mhpmax */
|
||||
if (mtmp->mhpmax < 1
|
||||
|| mtmp->mhpmax < (int) mtmp->m_lev + 1
|
||||
|| mtmp->mhpmax < (int) mtmp->m_lev
|
||||
|| mtmp->mhp > mtmp->mhpmax)
|
||||
impossible(
|
||||
"%s: level %d monster #%u [%s] has %d cur HP, %d max HP",
|
||||
|
||||
Reference in New Issue
Block a user