diff --git a/src/mhitm.c b/src/mhitm.c index 33d8af026..17e55bdcd 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -454,6 +454,8 @@ mattackm( pline("%s divides as %s hits it!", Monnam(mdef), mon_nam(magr)); (void) mintrap(mclone, NO_TRAP_FLAGS); + if (DEADMONSTER(magr)) + res[i] |= M_ATTK_AGR_DIED; } } } else diff --git a/src/monmove.c b/src/monmove.c index be38cf48d..c46494702 100644 --- a/src/monmove.c +++ b/src/monmove.c @@ -1892,7 +1892,7 @@ m_move_aggress(struct monst *mtmp, coordxy x, coordxy y) mstatus = mattackm(mtmp, mtmp2); } - if (mstatus & M_ATTK_AGR_DIED) /* aggressor died */ + if ((mstatus & M_ATTK_AGR_DIED) || DEADMONSTER(mtmp)) /* aggressor died */ return MMOVE_DIED; if ((mstatus & (M_ATTK_HIT | M_ATTK_DEF_DIED)) == M_ATTK_HIT