fix #H6704 - appearance of mimic's replacement

If mimics were genocided before loading a special level which
contained mimics with specific appearances, whatever random monsters
took their place also end up having their intended appearance.
monst->cham uses NON_PM rather than 0 to mean "not a shapechanger".
This commit is contained in:
PatR
2017-12-31 03:38:29 -08:00
parent 9f12aeb8ab
commit 46da4b5e90
2 changed files with 5 additions and 2 deletions

View File

@@ -494,6 +494,9 @@ hero polymorphed into form which can't wear armor via 'W' (eliciting "don't
even bother") could wear it via 'P' even bother") could wear it via 'P'
make multi-shot missiles fired by monsters be less verbose when they miss make multi-shot missiles fired by monsters be less verbose when they miss
can no longer play controlled notes on musical instrument if impaired can no longer play controlled notes on musical instrument if impaired
if a special level specified the appearance of a mimic and mimics had been
genocided prior to creating the level, whatever random monster took
the mimic's place got its intended appearance
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 sp_lev.c $NHDT-Date: 1513879435 2017/12/21 18:03:55 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.93 $ */ /* NetHack 3.6 sp_lev.c $NHDT-Date: 1514720301 2017/12/31 11:38:21 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.94 $ */
/* Copyright (c) 1989 by Jean-Christophe Collet */ /* Copyright (c) 1989 by Jean-Christophe Collet */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1593,7 +1593,7 @@ struct mkroom *croom;
* eventually be expanded. * eventually be expanded.
*/ */
if (m->appear_as.str if (m->appear_as.str
&& ((mtmp->data->mlet == S_MIMIC) || mtmp->cham) && ((mtmp->data->mlet == S_MIMIC) || mtmp->cham >= LOW_PM)
&& !Protection_from_shape_changers) { && !Protection_from_shape_changers) {
int i; int i;