diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 9a7fa4dab..2c5fd9694 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -69,6 +69,7 @@ some types of shop theft of a stack of items only charged for a single one wizard mode: WIZKIT wish for own quest artifact triggered crash at startup avoid "your steed is still eating" message when going through a magic portal cannot drink from fountain, sink or surrounding water while swallowed +don't hallucinate anything for an exploding black light as it dies Platform- and/or Interface-Specific Fixes diff --git a/src/mhitu.c b/src/mhitu.c index fe60be78b..c0b3d2025 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -1826,7 +1826,7 @@ register struct monst *mtmp; register struct attack *mattk; boolean ufound; { - boolean physical_damage = TRUE; + boolean physical_damage = TRUE, kill_agr = TRUE; if (mtmp->mcan) return(0); @@ -1890,6 +1890,9 @@ common: boolean chg; if (!Hallucination) You("are caught in a blast of kaleidoscopic light!"); + /* avoid hallucinating the black light as it dies */ + mondead(mtmp); /* remove it from map now */ + kill_agr = FALSE; /* already killed (maybe lifesaved) */ chg = make_hallucinated(HHallucination + (long)tmp,FALSE,0L); You("%s.", chg ? "are freaked out" : "seem unaffected"); } @@ -1903,10 +1906,9 @@ common: ugolemeffects((int)mattk->adtyp, tmp); } } - mondead(mtmp); + if (kill_agr) mondead(mtmp); wake_nearto(mtmp->mx, mtmp->my, 7*7); - if (mtmp->mhp > 0) return(0); - return(2); /* it dies */ + return (mtmp->mhp > 0) ? 0 : 2; } int