diff options
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r-- | crawl-ref/source/mon-util.cc | 7 |
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: |