fix #H363 - reviving corpses of hiding monsters (trunk only)

From a bug report, reviving a snake corpse
produced a snake monster which was hidden under nothing--it hid under its
own corpse and wasn't revealed when that corpse got used up.  Rather than
fiddling with sequencing to remove the corpse before making the monster,
force any monster who revives in hidden state to unhide.
This commit is contained in:
nethack.rankin
2007-05-31 01:42:48 +00:00
parent 8d880dd143
commit 2f9d711237
2 changed files with 10 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
/* SCCS Id: @(#)zap.c 3.5 2007/03/30 */
/* SCCS Id: @(#)zap.c 3.5 2007/05/30 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -739,6 +739,13 @@ boolean by_hero;
}
if (!mtmp) return (struct monst *)0;
/* hiders shouldn't already be re-hidden when they revive */
if (mtmp->mundetected) {
mtmp->mundetected = 0;
newsym(mtmp->mx, mtmp->my);
}
if (mtmp->m_ap_type) seemimic(mtmp);
/* if this is caused by the hero there might be a shop charge */
if (by_hero) {
struct monst *shkp = 0;