diff --git a/src/uhitm.c b/src/uhitm.c index d40f712c0..e68f1a60f 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -6264,8 +6264,14 @@ flash_hits_mon( void light_hits_gremlin(struct monst *mon, int dmg) { - pline_mon(mon, "%s %s!", Monnam(mon), - (dmg > mon->mhp / 2) ? "wails in agony" : "cries out in pain"); + if (!Deaf && mdistu(mon) <= 90) { + /* cry of pain can be heard somewhat farther than the waking radius */ + pline_mon(mon, "%s %s!", Monnam(mon), + (dmg > mon->mhp / 2) ? "wails in agony" + : "cries out in pain"); + } else if (canseemon(mon)) { + pline_mon(mon, "%s recoils from the light!", Monnam(mon)); + } mon->mhp -= dmg; wake_nearto(mon->mx, mon->my, 30); if (DEADMONSTER(mon)) {