diff options
-rw-r--r-- | crawl-ref/source/player.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 3342804a75..df4f1314ca 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -6172,9 +6172,15 @@ void player::drain_stat(int stat, int amount, actor* attacker) void player::rot(actor *who, int rotlevel, int immed_rot) { + if (you.is_undead + && (you.species != SP_VAMPIRE || you.hunger_state <= HS_HUNGRY)) + { + return; + } + if (rotlevel) - rot_player( rotlevel ); - + rot_player(rotlevel); + if (immed_rot) rot_hp(immed_rot); |