summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-03-13 19:37:23 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-03-13 19:37:23 +0000
commit888862b18bb90bc415fc308809e73111881b78fa (patch)
tree5649e6b7c40b4449362defc7787b74de012f0f77 /crawl-ref
parenta3b9e6444043970ee47c3d90cfb9a8e1e9966273 (diff)
downloadcrawl-ref-888862b18bb90bc415fc308809e73111881b78fa.tar.gz
crawl-ref-888862b18bb90bc415fc308809e73111881b78fa.zip
Race-based hunger now handled by mutations.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1031 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/newgame.cc15
-rw-r--r--crawl-ref/source/player.cc20
2 files changed, 16 insertions, 19 deletions
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc
index 58a9eb6991..6104e957fb 100644
--- a/crawl-ref/source/newgame.cc
+++ b/crawl-ref/source/newgame.cc
@@ -1766,8 +1766,22 @@ static void jobs_stat_init(int which_job)
static void give_basic_mutations(unsigned char speci)
{
+ // We should switch over to a size-based system
+ // for the fast/slow metabolism when we get around to it.
switch ( speci )
{
+ case SP_OGRE:
+ you.mutation[MUT_FAST_METABOLISM] = 1;
+ break;
+ case SP_OGRE_MAGE:
+ you.mutation[MUT_FAST_METABOLISM] = 1;
+ break;
+ case SP_HALFLING:
+ you.mutation[MUT_SLOW_METABOLISM] = 1;
+ break;
+ case SP_DEMIGOD:
+ you.mutation[MUT_FAST_METABOLISM] = 1;
+ break;
case SP_MINOTAUR:
you.mutation[MUT_HORNS] = 2;
break;
@@ -1780,6 +1794,7 @@ static void give_basic_mutations(unsigned char speci)
case SP_CENTAUR:
you.mutation[MUT_FAST] = 1;
you.mutation[MUT_DEFORMED] = 1;
+ you.mutation[MUT_FAST_METABOLISM] = 2;
break;
case SP_NAGA:
you.mutation[MUT_ACUTE_VISION] = 1;
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 3889f85b15..ae4d70e039 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -695,26 +695,8 @@ int player_hunger_rate(void)
if (you.attribute[ATTR_TRANSFORMATION] == TRAN_AIR)
return 0;
- switch (you.species)
- {
- case SP_HALFLING:
- hunger--;
- break;
-
- case SP_OGRE:
- case SP_OGRE_MAGE:
- case SP_DEMIGOD:
- hunger++;
- break;
-
- case SP_CENTAUR:
- hunger += 2;
- break;
-
- case SP_TROLL:
+ if ( you.species == SP_TROLL )
hunger += 3; // in addition to the +3 for fast metabolism
- break;
- }
if (you.duration[DUR_REGENERATION] > 0)
hunger += 4;