summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/effects.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/effects.cc')
-rw-r--r--crawl-ref/source/effects.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 9c3dff2570..5794404b02 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -143,25 +143,30 @@ int holy_word_monsters(coord_def where, int pow, int caster,
if (hploss)
simple_monster_message(monster, " convulses!");
- monster->hurt(attacker, hploss);
+ monster->hurt(attacker, hploss, BEAM_MISSILE, false);
if (hploss)
{
retval = 1;
- // Holy word won't annoy, slow, or frighten its user.
- if (monster->alive() && attacker != monster)
+ if (monster->alive())
{
- // Currently, holy word annoys the monsters it affects
- // because it can kill them, and because hostile monsters
- // don't use it.
- behaviour_event(monster, ME_ANNOY, MHITYOU);
+ // Holy word won't annoy, slow, or frighten its user.
+ if (attacker != monster)
+ {
+ // Currently, holy word annoys the monsters it affects
+ // because it can kill them, and because hostile
+ // monsters don't use it.
+ behaviour_event(monster, ME_ANNOY, MHITYOU);
- if (monster->speed_increment >= 25)
- monster->speed_increment -= 20;
+ if (monster->speed_increment >= 25)
+ monster->speed_increment -= 20;
- monster->add_ench(ENCH_FEAR);
+ monster->add_ench(ENCH_FEAR);
+ }
}
+ else
+ monster->hurt(attacker, INSTANT_DEATH);
}
return (retval);