]> granicus.if.org Git - nethack/commitdiff
shrieking monster failed to wake others
authornethack.allison <nethack.allison>
Thu, 16 Dec 2004 01:58:20 +0000 (01:58 +0000)
committernethack.allison <nethack.allison>
Thu, 16 Dec 2004 01:58:20 +0000 (01:58 +0000)
<email deleted> wrote on Friday, December 10, 2004:
> I was in a barracks with the soldiers sleeping.  I started fighting one soldier
> and threw a potion of acid on him.  I got the "The soldier shrieks in pain!"
> message, but none of the other soldiers in the barracks woke up.

doc/fixes34.4
src/potion.c

index 77a9627114910da51d7d100b67383ef507cb9f68..52316d17af8dd532b782587cac9d5b70c9d6a53a 100644 (file)
@@ -72,6 +72,7 @@ cannot drink from fountain, sink or surrounding water while swallowed
 don't hallucinate anything for an exploding black light as it dies
 give blindness feedback when moving into/through stinking cloud
 fix case on monster name when monster reflects floating eye's gaze
+monsters "shrieking in pain" from a potion didn't wake anything up
 
 
 Platform- and/or Interface-Specific Fixes
index b894f65f5ea41f48cca80e602023d0624e263d19..cd77eca369f2b3178e61a11f151582e432641819 100644 (file)
@@ -1215,6 +1215,9 @@ boolean your_fault;
                    if (obj->blessed) {
                        pline("%s %s in pain!", Monnam(mon),
                              is_silent(mon->data) ? "writhes" : "shrieks");
+                       if (!is_silent(mon->data))
+                               wake_nearto(mon->mx, mon->my,
+                                           mon->data->mlevel * 10);
                        mon->mhp -= d(2,6);
                        /* should only be by you */
                        if (mon->mhp < 1) killed(mon);
@@ -1249,6 +1252,9 @@ boolean your_fault;
                if (!resists_acid(mon) && !resist(mon, POTION_CLASS, 0, NOTELL)) {
                    pline("%s %s in pain!", Monnam(mon),
                          is_silent(mon->data) ? "writhes" : "shrieks");
+                   if (!is_silent(mon->data))
+                               wake_nearto(mon->mx, mon->my,
+                                           mon->data->mlevel * 10);
                    mon->mhp -= d(obj->cursed ? 2 : 1, obj->blessed ? 4 : 8);
                    if (mon->mhp < 1) {
                        if (your_fault)