if you couldn't see the rat created in a sink for some reason other than
blindness, you would get "Eek there's it in the sink."
digging a pit while stuck in the floor should always free the player
+quest guardians can no longer be created via stone-to-flesh on their statue
+stone-to-flesh no longer silently ignored by a statue of a unique monster
Platform- and/or Interface-Specific Fixes
* [detected or guessed] location of a statue trap. Normally the
* uppermost statue is the one which would be activated.
*/
- if (mptr->geno & G_UNIQ) {
+ if ((mptr->geno & G_UNIQ) && cause != ANIMATE_SPELL) {
if (fail_reason) *fail_reason = AS_MON_IS_UNIQUE;
return (struct monst *)0;
}
- mon = makemon(mptr, x, y, (cause == ANIMATE_SPELL) ?
+ if (cause == ANIMATE_SPELL &&
+ ((mptr->geno & G_UNIQ) || mptr->msound == MS_GUARDIAN)) {
+ /* Statues of quest guardians or unique monsters
+ * will not stone-to-flesh as the real thing.
+ */
+ mon = makemon(&mons[PM_DOPPELGANGER], x, y,
+ NO_MINVENT|MM_NOCOUNTBIRTH|MM_ADJACENTOK);
+ if (mon) (void) newcham(mon, mptr, FALSE, FALSE);
+ } else
+ mon = makemon(mptr, x, y, (cause == ANIMATE_SPELL) ?
(NO_MINVENT | MM_ADJACENTOK) : NO_MINVENT);
}