summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/spells2.cc')
-rw-r--r--crawl-ref/source/spells2.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/crawl-ref/source/spells2.cc b/crawl-ref/source/spells2.cc
index 4f635a50cd..74dc81c019 100644
--- a/crawl-ref/source/spells2.cc
+++ b/crawl-ref/source/spells2.cc
@@ -739,11 +739,7 @@ bool vampiric_drain(int pow, const dist &vmove)
if (success)
{
- if (!monster->alive()
- || (mons_holiness(monster) != MH_NATURAL
- && !mons_is_unholy(monster))
- || mons_res_negative_energy(monster)
- || mons_is_summoned(monster))
+ if (!monster->alive())
{
canned_msg(MSG_NOTHING_HAPPENS);
return (false);
@@ -756,6 +752,13 @@ bool vampiric_drain(int pow, const dist &vmove)
return (false);
}
+ if (mons_res_negative_energy(monster)
+ || mons_is_summoned(monster))
+ {
+ canned_msg(MSG_NOTHING_HAPPENS);
+ return (false);
+ }
+
// The practical maximum of this is about 25 (pow @ 100). - bwr
int hp_gain = 3 + random2avg(9, 2) + random2(pow) / 7;