fix github issue #349 - out of depth liches

Change mkclass() to always honor the hell-only monster generation
flag for L class, preventing master and arch-liches outside Gehennom.
For other classes, honor hell-only and outside-hell-only most (89%)
of the time.  When not honored (11%), it allows demons and devils to
appear outside of Gehennom as they have in the past.  [That part
might need to be re-done since it is done for all monsters in the
class on any mkclass() call instead of being done on a class-member
by class-member basis within each such call.]

This prevents out of depth liches in the Castle and ought to do same
for themed rooms of type 'Mausoleum' although I haven't figured out
how to test that.

Fixes #349
This commit is contained in:
PatR
2020-05-27 14:05:42 -07:00
parent c63165e5dc
commit c29ffe1d82
2 changed files with 25 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.223 $ $NHDT-Date: 1589827569 2020/05/18 18:46:09 $
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.225 $ $NHDT-Date: 1590613502 2020/05/27 21:05:02 $
General Fixes and Modified Features
-----------------------------------
@@ -187,6 +187,9 @@ hold_another_object used hardcoded Stressed to limit carrying instead of
using the 'pickup_burden' option for that
when hold_another_object fails while hero is swallowed, drop the item into
swallower's inventory instead of onto the floor
change mkclass() to usually honor (always honor for L class) the hell-only and
never-in-hell monster creation flags; no more achi-lich in the Castle
(nor master lich there unless demilich gets a potion of gain level)
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository