summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/food.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-07 19:57:49 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-07 19:57:49 +0000
commit0073de23aefbc5bd21d6e5471bc830654fb07b33 (patch)
treeffc563aa4c0a5eb08ebb30e407e189ec58db3c35 /crawl-ref/source/food.cc
parenta41cd167867789d43e2601c456d276d0fe89a4d8 (diff)
downloadcrawl-ref-0073de23aefbc5bd21d6e5471bc830654fb07b33.tar.gz
crawl-ref-0073de23aefbc5bd21d6e5471bc830654fb07b33.zip
Fix 1909592: trunk not compiling on Windows
Improve information output for vampires in the screens 'A', '@' and '%'. Reduce the "in touch with the powers of death" effect to one boost at xl 6, and disallow bat form at engorged. Also, modify messages if they are not available right away for feeding reasons. What's still missing is a way to output those temporary resistances (currently only discernible from the '%' screen), preferentially in the form of some general statements on 'A': "When hungry, you gain resistance to cold." and more detailed descriptions on '@'. Fix a couple of wrong hunger status checks. Comment out the "Very agile monsters are quite hard to hit in your current equipment." messages because to my knowledge they hold little importance right now. Please correct me if that view is wrong. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3534 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/food.cc')
-rw-r--r--crawl-ref/source/food.cc21
1 files changed, 18 insertions, 3 deletions
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc
index b9850752ab..4230529edd 100644
--- a/crawl-ref/source/food.cc
+++ b/crawl-ref/source/food.cc
@@ -569,7 +569,8 @@ bool eat_food(bool run_hook, int slot)
if (you.hunger >= 11000)
{
- mpr("You're too full to eat anything.");
+ mprf("You're too full to %s anything.",
+ you.species == SP_VAMPIRE ? "drain" : "eat");
crawl_state.zero_turns_taken();
return (false);
}
@@ -641,18 +642,32 @@ static bool food_change(bool suppress_message)
if (newstate < HS_SATIATED)
interrupt_activity( AI_HUNGRY );
+ else if (newstate == HS_ENGORGED && you.species == SP_VAMPIRE
+ && you.attribute[ATTR_TRANSFORMATION] == TRAN_BAT
+ && you.duration[DUR_TRANSFORMATION] > 2)
+ {
+ mpr("Your bloodfilled body can't sustain your transformation much longer.",
+ MSGCH_WARN);
+ you.duration[DUR_TRANSFORMATION] = 2;
+ }
if (suppress_message == false)
{
switch (you.hunger_state)
{
case HS_STARVING:
- mpr("You are starving!", MSGCH_FOOD);
+ if (you.species == SP_VAMPIRE)
+ mpr("You feel devoid of blood!");
+ else
+ mpr("You are starving!", MSGCH_FOOD);
learned_something_new(TUT_YOU_STARVING);
you.check_awaken(500);
break;
case HS_NEAR_STARVING:
- mpr("You are near starving.", MSGCH_FOOD);
+ if (you.species == SP_VAMPIRE)
+ mpr("You feel almost devoid of blood!");
+ else
+ mpr("You are near starving.", MSGCH_FOOD);
learned_something_new(TUT_YOU_HUNGRY);
break;
case HS_VERY_HUNGRY: