redundant or inconsistent msleeping handling
Eliminate some redundant monster sleep handling pointed out by <email deleted>. I'm not sure if this is the right fix for mattackm(), but the wakeup-after-hit was definitely wrong for the case where that hit put the target to sleep. (I didn't try to make that actually take place but it is a possible outcome of monster-against-monster combat.)
This commit is contained in:
11
src/mhitm.c
11
src/mhitm.c
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)mhitm.c 3.5 2006/08/07 */
|
/* SCCS Id: @(#)mhitm.c 3.5 2007/02/07 */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -419,7 +419,7 @@ mattackm(magr, mdef)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case AT_GAZE:
|
case AT_GAZE:
|
||||||
strike = 0; /* will not wake up a sleeper */
|
strike = 0;
|
||||||
res[i] = gazemm(magr, mdef, mattk);
|
res[i] = gazemm(magr, mdef, mattk);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -463,13 +463,6 @@ mattackm(magr, mdef)
|
|||||||
|
|
||||||
if (res[i] & MM_DEF_DIED) return res[i];
|
if (res[i] & MM_DEF_DIED) return res[i];
|
||||||
|
|
||||||
/*
|
|
||||||
* Wake up the defender. NOTE: this must follow the check
|
|
||||||
* to see if the defender died. We don't want to modify
|
|
||||||
* unallocated monsters!
|
|
||||||
*/
|
|
||||||
if (strike) mdef->msleeping = 0;
|
|
||||||
|
|
||||||
if (res[i] & MM_AGR_DIED) return res[i];
|
if (res[i] & MM_AGR_DIED) return res[i];
|
||||||
/* return if aggressor can no longer attack */
|
/* return if aggressor can no longer attack */
|
||||||
if (!magr->mcanmove || magr->msleeping) return res[i];
|
if (!magr->mcanmove || magr->msleeping) return res[i];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)muse.c 3.5 2006/04/17 */
|
/* SCCS Id: @(#)muse.c 3.5 2007/02/07 */
|
||||||
/* Copyright (C) 1990 by Ken Arromdee */
|
/* Copyright (C) 1990 by Ken Arromdee */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -1156,8 +1156,6 @@ register struct obj *otmp;
|
|||||||
*in_rooms(mtmp->mx, mtmp->my, TEMPLE)) {
|
*in_rooms(mtmp->mx, mtmp->my, TEMPLE)) {
|
||||||
if (cansee(mtmp->mx, mtmp->my))
|
if (cansee(mtmp->mx, mtmp->my))
|
||||||
pline("%s resists the magic!", Monnam(mtmp));
|
pline("%s resists the magic!", Monnam(mtmp));
|
||||||
mtmp->msleeping = 0;
|
|
||||||
if(mtmp->m_ap_type) seemimic(mtmp);
|
|
||||||
} else if (!tele_restrict(mtmp))
|
} else if (!tele_restrict(mtmp))
|
||||||
(void) rloc(mtmp, FALSE);
|
(void) rloc(mtmp, FALSE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)wizard.c 3.5 2006/09/06 */
|
/* SCCS Id: @(#)wizard.c 3.5 2007/02/07 */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -507,7 +507,7 @@ resurrect()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (mtmp) {
|
if (mtmp) {
|
||||||
mtmp->msleeping = mtmp->mtame = mtmp->mpeaceful = 0;
|
mtmp->mtame = mtmp->mpeaceful = 0; /* paranoia */
|
||||||
set_malign(mtmp);
|
set_malign(mtmp);
|
||||||
if (!Deaf) {
|
if (!Deaf) {
|
||||||
pline("A voice booms out...");
|
pline("A voice booms out...");
|
||||||
|
|||||||
Reference in New Issue
Block a user