From c8900f370bd9fa411032c36ed33679f0543f9e34 Mon Sep 17 00:00:00 2001 From: dolorous Date: Tue, 22 Apr 2008 18:35:17 +0000 Subject: Add miscellaneous undead-related fixes. When changing species to vampire in wizard mode, set you.is_undead to the proper value; check for you.is_undead's being US_UNDEAD when determining if a species can eat, instead of checking for the mummy species directly; and display the "if you weren't so full, you could turn into a bat" message for vampires that gain the ability when at least full, instead of only when satiated, since it won't work in the former case. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4476 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/debug.cc | 8 ++++---- crawl-ref/source/fight.cc | 2 +- crawl-ref/source/item_use.cc | 2 +- crawl-ref/source/libgui.cc | 4 ++-- crawl-ref/source/player.cc | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/crawl-ref/source/debug.cc b/crawl-ref/source/debug.cc index ee2d8053ba..d7012294fe 100644 --- a/crawl-ref/source/debug.cc +++ b/crawl-ref/source/debug.cc @@ -284,10 +284,10 @@ void debug_change_species( void ) } you.species = sp; - you.is_undead = ((you.species == SP_MUMMY) ? US_UNDEAD : - (you.species == SP_GHOUL - || you.species == SP_VAMPIRE) ? US_HUNGRY_DEAD - : US_ALIVE); + you.is_undead = ((you.species == SP_MUMMY) ? US_UNDEAD : + (you.species == SP_GHOUL) ? US_HUNGRY_DEAD : + (you.species == SP_VAMPIRE) ? US_SEMI_UNDEAD + : US_ALIVE); redraw_screen(); } } diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index d6700faa1e..7fc8f84165 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -601,7 +601,7 @@ static bool _vamp_wants_blood_from_monster(const monsters *mon) if (you.species != SP_VAMPIRE) return (false); - if (you.hunger_state >= HS_ENGORGED) + if (you.hunger_state == HS_ENGORGED) return (false); if (!mons_has_blood(mon->type)) diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 72d21f072b..71bc3207cf 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -4610,7 +4610,7 @@ void tile_use_item(int idx, InvAction act) if (mitm[idx].base_type == OBJ_CORPSES && you.species == SP_VAMPIRE || mitm[idx].base_type == OBJ_FOOD - && you.species != SP_MUMMY && you.species != SP_VAMPIRE) + && you.is_undead != US_UNDEAD && you.species != SP_VAMPIRE) { eat_floor_item(idx); } diff --git a/crawl-ref/source/libgui.cc b/crawl-ref/source/libgui.cc index 762820e5d1..5e8895d515 100644 --- a/crawl-ref/source/libgui.cc +++ b/crawl-ref/source/libgui.cc @@ -1353,8 +1353,8 @@ static int _handle_mouse_motion(int mouse_x, int mouse_y, bool init) desc += EOL "[Shift-R-Click] Drink blood (e)"; } else if (item.base_type == OBJ_FOOD - && you.species != SP_VAMPIRE - && you.species != SP_MUMMY) + && you.is_undead != US_UNDEAD + && you.species != SP_VAMPIRE) { desc += EOL "[Shift-R-Click] Eat (e)"; } diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 0a0c8673c8..a1699b348d 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -3068,7 +3068,7 @@ void level_change(bool skip_attribute_increase) case SP_VAMPIRE: if (you.experience_level == 3) { - if (you.hunger_state == HS_ENGORGED) + if (you.hunger_state > HS_SATIATED) { mpr( "If you weren't so full you could now transform " "into a vampire bat.", MSGCH_INTRINSIC_GAIN ); -- cgit v1.2.3-54-g00ecf