re-fix #H1371 - dead monster fleeing

From a bug report, a monster which
died by moving into a trap which was next to the hero standing on Elbereth
resulted in "The <mon> is killed!  The <mon> turns to flee!".  An earlier
change made monflee() return if it's given a dead monster, so the fleeing
message is no longer given.  This fixes the place where monflee() was
inappropriately being called for a dead monster in the reported situation.
This commit is contained in:
nethack.rankin
2007-08-20 00:05:24 +00:00
parent 6bf7c5a1eb
commit 86fccb4e1a
2 changed files with 5 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ grammar of messages regarding eating artifacts
avoid a message about an invisible monster looking much better
player polymorphed as a xorn could not pick up items in pits
don't display "turns to flee" message for a mimicing mimic
don't display "turns to flee" message for a monster who has just died
dipping acid in a fountain could cause an explosion but not destroy the potion
if your blindfold glows and you're not otherwise blinded, you can see it
added strsubst() to hacklib

View File

@@ -1,4 +1,4 @@
/* SCCS Id: @(#)monmove.c 3.5 2007/05/16 */
/* SCCS Id: @(#)monmove.c 3.5 2007/08/19 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -252,7 +252,7 @@ boolean fleemsg;
}
STATIC_OVL void
distfleeck(mtmp,inrange,nearby,scared)
distfleeck(mtmp, inrange, nearby, scared)
register struct monst *mtmp;
int *inrange, *nearby, *scared;
{
@@ -531,7 +531,8 @@ toofar:
}
tmp = m_move(mtmp, 0);
distfleeck(mtmp,&inrange,&nearby,&scared); /* recalc */
if (tmp != 2)
distfleeck(mtmp, &inrange, &nearby, &scared); /* recalc */
switch (tmp) {
case 0: /* no movement, but it can still attack you */