From 400f2b68e5b68aae60af8465a9f5a5f07b05e714 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Tue, 15 Apr 2008 18:40:14 +0000 Subject: 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 --- crawl-ref/source/output.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'crawl-ref/source/output.cc') 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 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 _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 _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: -- cgit v1.2.3-54-g00ecf