summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/output.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-15 18:40:14 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-15 18:40:14 +0000
commit400f2b68e5b68aae60af8465a9f5a5f07b05e714 (patch)
treebc7507cc7a8cfa5351e4569f4eb1b6236778e16d /crawl-ref/source/output.cc
parent2b03b7a4abe79bb22c4419bce69c7135bb1f0d2b (diff)
downloadcrawl-ref-400f2b68e5b68aae60af8465a9f5a5f07b05e714.tar.gz
crawl-ref-400f2b68e5b68aae60af8465a9f5a5f07b05e714.zip
Allow vampires to mutate when Satiated or higher, and make non-physical
mutations only apply at these hunger levels, too. Differentiated mutations into physical (affecting a character's appearance and stuff: scales, hooves, wings, ...) and internal (resistances etc.). I guess this is what people usually refer to as "cosmetic", which I think is an inaccurate description since it makes it sound like they were completely superficial and had no real effect. Here's a list of arbitrarily chosen "physical" mutations: * tough skin, all scales, and fur * strong/clever/agile, and weak/dopey/clumsy * deformed * strong but stiff, and flexible but weak * frail, and robust * claws, fangs, hooves, talons, and horns * stinger, wings * blue/green marks Mutations currently not applying are still listed on the 'A' screen, though in darkgrey and in (brackets). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4246 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/output.cc')
-rw-r--r--crawl-ref/source/output.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc
index c44d516731..2d7f249a61 100644
--- a/crawl-ref/source/output.cc
+++ b/crawl-ref/source/output.cc
@@ -1525,7 +1525,7 @@ std::vector<formatted_string> get_full_detail(bool calc_unid, long sc)
_determine_color_string(rcorr), itosym1(rcorr));
cols.add_formatted(2, buf, false);
- int saplevel = you.mutation[MUT_SAPROVOROUS];
+ int saplevel = player_mutation_level(MUT_SAPROVOROUS);
const char* pregourmand;
const char* postgourmand;
if ( wearing_amulet(AMU_THE_GOURMAND, calc_unid) )
@@ -1833,7 +1833,7 @@ std::vector<MenuEntry *> _get_overview_screen_results()
const int rsust = player_sust_abil(calc_unid);
const int rmuta = wearing_amulet(AMU_RESIST_MUTATION, calc_unid)
|| you.religion == GOD_ZIN && you.piety >= 150
- || you.mutation[MUT_MUTATION_RESISTANCE] == 3;
+ || player_mutation_level(MUT_MUTATION_RESISTANCE) == 3;
const int rslow = wearing_amulet(AMU_RESIST_SLOW, calc_unid);
@@ -1857,7 +1857,7 @@ std::vector<MenuEntry *> _get_overview_screen_results()
_determine_color_string(rslow), itosym1(rslow));
cols.add_formatted(0, buf, false);
- int saplevel = you.mutation[MUT_SAPROVOROUS];
+ int saplevel = player_mutation_level(MUT_SAPROVOROUS);
const char* pregourmand;
const char* postgourmand;
if ( wearing_amulet(AMU_THE_GOURMAND, calc_unid) )
@@ -2233,7 +2233,7 @@ std::string _status_mut_abilities()
case SP_NAGA:
// breathe poison replaces spit poison:
- if (!you.mutation[MUT_BREATHE_POISON])
+ if (!player_mutation_level(MUT_BREATHE_POISON))
text += "spit poison";
else
text += "breathe poison";
@@ -2360,11 +2360,10 @@ std::string _status_mut_abilities()
for (unsigned i = 0; i < NUM_MUTATIONS; i++)
{
- if (!you.mutation[i])
+ int level = player_mutation_level((mutation_type) i);
+ if (!level)
continue;
- int level = you.mutation[ i ];
-
switch(i)
{
case MUT_TOUGH_SKIN: