diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-15 18:40:14 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-15 18:40:14 +0000 |
commit | 400f2b68e5b68aae60af8465a9f5a5f07b05e714 (patch) | |
tree | bc7507cc7a8cfa5351e4569f4eb1b6236778e16d /crawl-ref/source/output.cc | |
parent | 2b03b7a4abe79bb22c4419bce69c7135bb1f0d2b (diff) | |
download | crawl-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.cc | 13 |
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: |