summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 737c0ea63d..2248cba068 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -2450,7 +2450,11 @@ bool ms_waste_of_time( const monsters *mon, spell_type monspell )
// that'll mean monsters can just "know" the player is fully
// life-protected if he has triple life protection.
const mon_holy_type holiness = foe->holiness();
- return (holiness == MH_UNDEAD
+ return ((holiness == MH_UNDEAD
+ // If the claimed undead is the player, it must be
+ // a non-vampire, or a bloodless vampire.
+ && (foe != &you || you.is_undead != US_SEMI_UNDEAD ||
+ you.hunger_state == HS_STARVING))
// Demons, but not demonspawn - demonspawn will show
// up as demonic for purposes of things like holy
// wrath, but are still (usually) susceptible to
@@ -2460,6 +2464,7 @@ bool ms_waste_of_time( const monsters *mon, spell_type monspell )
}
case SPELL_DISPEL_UNDEAD:
+ // [ds] How is dispel undead intended to interact with vampires?
return (!foe || foe->holiness() != MH_UNDEAD);
case SPELL_BACKLIGHT: