diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 793333291..0059b15f1 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -290,6 +290,8 @@ handle polearm wielded prior to mounting the same as one wielded while mounted, and one still used after dismounting like one wielded while not mounted non-lawful angels don't chat using lawful messages and shouldn't summon lawful help +cancelled yellow lights should not explode against other monsters, as well as + not exploding against you Platform- and/or Interface-Specific Fixes diff --git a/src/mhitm.c b/src/mhitm.c index 18f41cfdb..593ad5606 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -306,8 +306,12 @@ mattackm(magr, mdef) break; case AT_EXPL: - strike = 1; /* automatic hit */ res[i] = explmm(magr, mdef, mattk); + if (res[i] == MM_MISS) { /* cancelled--no attack */ + strike = 0; + attk = 0; + } else + strike = 1; /* automatic hit */ break; case AT_ENGL: @@ -537,6 +541,9 @@ explmm(magr, mdef, mattk) { int result; + if (magr->mcan) + return MM_MISS; + if(cansee(magr->mx, magr->my)) pline("%s explodes!", Monnam(magr)); else noises(magr, mattk);