Reported by paxed 8 years ago: if a bones file contains a
doppelganger imitating a unique monster, when it gets loaded
that monster ends up being marked as having been created. The
doppelganger itself will shapechange to other forms, but the
unique monster won't be created when it should be because it has
become extinct.
Report involved creating a statue of a unique monster which
yields a doppelganger in that monster's shape, then using stone
to flesh to animate the statue, dying before it changes to some
other shape, and having bones be saved.
isn't any door in the direction supplied, you're told "no door" and
time elapses if you discover the non-door's terrain type but doesn't
if you already knew the type there
+if a bones file contains a doppelganger imitating a unique monster, a game
+ that loads those bones will end up with that monster counted as
+ having already been created so it won't be created if/when the time
+ for that arrives (the doppelganger will change its shape normally,
+ not be stuck in the unique monster's form)
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
offset = mtmp->mnum;
mtmp->data = &mons[offset];
if (ghostly) {
- int mndx = monsndx(mtmp->data);
+ int mndx = (mtmp->cham == NON_PM) ? monsndx(mtmp->data)
+ : mtmp->cham;
+
if (propagate(mndx, TRUE, ghostly) == 0) {
/* cookie to trigger purge in getbones() */
mtmp->mhpmax = DEFUNCT_MONSTER;