summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-22 18:35:17 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-22 18:35:17 +0000
commitc8900f370bd9fa411032c36ed33679f0543f9e34 (patch)
treeb39a0c7de47e81cf04e3d3b51c61487047c2cba5
parent22cf9f4f68bfcf14d426dd8d3cd4d66e69c3b097 (diff)
downloadcrawl-ref-c8900f370bd9fa411032c36ed33679f0543f9e34.tar.gz
crawl-ref-c8900f370bd9fa411032c36ed33679f0543f9e34.zip
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
-rw-r--r--crawl-ref/source/debug.cc8
-rw-r--r--crawl-ref/source/fight.cc2
-rw-r--r--crawl-ref/source/item_use.cc2
-rw-r--r--crawl-ref/source/libgui.cc4
-rw-r--r--crawl-ref/source/player.cc2
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 );