From 1a36197574afe860feff7208cd883770a5d28946 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Tue, 18 Sep 2007 15:54:14 +0000 Subject: Applying modified (by me) mutation patches of dolorous', mostly clean-up and output changes. * More consistent output for Centaurs and chars with hoof mutation (patch 1794849). * Remove "deterioration" (ghouls type) from % screen. d. is right in that this was misleading. (1795995) * Change "no piety" message for Yredelemnul. Okay, this is not mutation-related and of no consequence to boot (Yred doesn't accept offerings), but why not? (1796199) * Mutation output now lists unremovable mutations first (innate and demonspawn). It's all fairly small stuff, but is it small enough to branch? I think yes, but asking doesn't hurt, right? git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2136 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/delay.cc | 2 +- crawl-ref/source/fight.cc | 7 ++--- crawl-ref/source/item_use.cc | 9 +++++- crawl-ref/source/itemprop.cc | 9 ++++++ crawl-ref/source/mutation.cc | 70 +++++++++++++++++++++++--------------------- crawl-ref/source/newgame.cc | 1 + crawl-ref/source/output.cc | 1 - crawl-ref/source/religion.cc | 2 +- crawl-ref/source/spl-cast.cc | 2 +- crawl-ref/source/stuff.cc | 2 +- 10 files changed, 60 insertions(+), 45 deletions(-) (limited to 'crawl-ref') diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc index 23ec28cb52..9097e371c2 100644 --- a/crawl-ref/source/delay.cc +++ b/crawl-ref/source/delay.cc @@ -702,7 +702,7 @@ static void armour_wear_effects(const int item_slot) { case SPARM_RUNNING: mprf("You feel quick%s.", - (you.species == SP_NAGA || you.species == SP_CENTAUR) + (you.species == SP_NAGA || you.mutation[MUT_HOOVES]) ? "" : " on your feet"); break; diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 3afd4536d5..e9e6370a61 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -614,8 +614,7 @@ bool melee_attack::player_aux_unarmed() { if (uattack != UNAT_KICK) //jmf: hooves mutation { - if ((you.species != SP_CENTAUR && you.species != SP_KENKU - && !you.mutation[MUT_HOOVES]) + if (you.species != SP_KENKU && !you.mutation[MUT_HOOVES] || coinflip()) { continue; @@ -643,9 +642,7 @@ bool melee_attack::player_aux_unarmed() else unarmed_attack = "kick"; - aux_damage = ((you.mutation[MUT_HOOVES] - || you.species == SP_CENTAUR - || clawed_kick) ? 10 : 5); + aux_damage = ((you.mutation[MUT_HOOVES] || clawed_kick) ? 10 : 5); break; } diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index c7d90978d9..76a3aa313a 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -768,7 +768,14 @@ bool can_wear_armour(const item_def &item, bool verbose, bool ignore_temporary) if (sub_type == ARM_BOOTS) { - if (you.species == SP_NAGA || you.species == SP_CENTAUR) + if (you.mutation[MUT_HOOVES] >= 2) + { + if (verbose) + mpr("You can't wear boots with hooves!"); + return (false); + } + + if (you.species == SP_NAGA) { if (verbose) mpr("You can't wear that!"); diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc index 3b78905ef3..5d09bf408d 100644 --- a/crawl-ref/source/itemprop.cc +++ b/crawl-ref/source/itemprop.cc @@ -1052,6 +1052,15 @@ bool check_armour_shape( const item_def &item, bool quiet ) switch (slot) { case EQ_BOOTS: + + if (you.mutation[MUT_HOOVES] >= 2) + { + if (!quiet) + mpr("You can't wear boots with hooves!"); + + return (false); + } + switch (you.species) { case SP_NAGA: diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc index c4b39e8dab..01b3114e83 100644 --- a/crawl-ref/source/mutation.cc +++ b/crawl-ref/source/mutation.cc @@ -242,7 +242,8 @@ const char *mutation_descrip[][3] = { {"You can throw forth the frost of Cocytus.", "", ""}, {"You can invoke the powers of Tartarus to smite your living foes.", "", ""}, - {"You have sharp fingernails.", "Your fingernails are very sharp.", + + {"You have sharp fingernails.", "You have very sharp fingernails.", "You have claws for hands."}, {"You have hooves in place of feet.", "", ""}, @@ -943,11 +944,6 @@ formatted_string describe_mutations() have_any = true; break; - case SP_CENTAUR: - result += "You cannot wear boots." EOL; - have_any = true; - break; - case SP_TROLL: if ( you.mutation[MUT_CLAWS] ) result += ""; @@ -1140,9 +1136,11 @@ formatted_string describe_mutations() textcolor(LIGHTGREY); + // first add (non-removable) inborn abilities and demon powers for (int i = 0; i < NUM_MUTATIONS; i++) { - if (you.mutation[i] != 0) + // mutation is actually a demonic power + if (you.mutation[i] != 0 && you.demon_pow[i]) { have_any = true; @@ -1154,38 +1152,42 @@ formatted_string describe_mutations() continue; const char* colourname = ""; - // mutation is actually a demonic power - if ( you.demon_pow[i] ) + if ( you.species == SP_DEMONSPAWN ) { - if ( you.species == SP_DEMONSPAWN ) - { - if ( you.demon_pow[i] < you.mutation[i] ) - colourname = "lightred"; - else - colourname = "red"; - } - else // innate ability - { - if ( you.demon_pow[i] < you.mutation[i] ) - colourname = "cyan"; - else - colourname = "lightblue"; - } + if ( you.demon_pow[i] < you.mutation[i] ) + colourname = "lightred"; + else + colourname = "red"; } - - if ( you.demon_pow[i] ) + else // innate ability { - result += '<'; - result += colourname; - result += '>'; + if ( you.demon_pow[i] < you.mutation[i] ) + colourname = "cyan"; + else + colourname = "lightblue"; } + + result += '<'; + result += colourname; + result += '>'; + + result += mutation_name(static_cast(i)); + + result += "'; + result += EOL; + } + } + + // now add removable mutations + for (int i = 0; i < NUM_MUTATIONS; i++) + { + if (you.mutation[i] != 0 && !you.demon_pow[i]) + { + have_any = true; + result += mutation_name(static_cast(i)); - if ( you.demon_pow[i] ) - { - result += "'; - } result += EOL; } } diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc index e4a5f670ba..886f878219 100644 --- a/crawl-ref/source/newgame.cc +++ b/crawl-ref/source/newgame.cc @@ -1947,6 +1947,7 @@ static void give_basic_mutations(species_type speci) you.mutation[MUT_FAST] = 2; you.mutation[MUT_DEFORMED] = 1; you.mutation[MUT_FAST_METABOLISM] = 2; + you.mutation[MUT_HOOVES] = 2; break; case SP_NAGA: you.mutation[MUT_ACUTE_VISION] = 1; diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index 8a61126fc1..cd7261a4a5 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -1638,7 +1638,6 @@ std::string status_mut_abilities() case SP_GHOUL: text += "saprovore 3"; - text += ", deterioration"; have_any = true; break; diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 9452f1d454..b3d48ea41b 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -101,7 +101,7 @@ const char *sacrifice[NUM_GODS][2] = }, // Yredelemnul { - " crumble% to dust.", + " slowly crumble% to dust.", " crumble% to dust.", }, // Xom (no sacrifices) diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc index 49600fab71..4057290db2 100644 --- a/crawl-ref/source/spl-cast.cc +++ b/crawl-ref/source/spl-cast.cc @@ -3149,7 +3149,7 @@ static void miscast_earth(int severity, const char* cause) case 9: mprf("Your %s warm.", (you.species == SP_NAGA) ? "underbelly feels" : - (you.species == SP_CENTAUR) ? "hooves feel" + (you.mutation[MUT_HOOVES]) ? "hooves feel" : "feet feel"); break; } diff --git a/crawl-ref/source/stuff.cc b/crawl-ref/source/stuff.cc index d622d39406..36eb33d543 100644 --- a/crawl-ref/source/stuff.cc +++ b/crawl-ref/source/stuff.cc @@ -609,7 +609,7 @@ void canned_msg(canned_message_type which_message) { case MSG_SOMETHING_APPEARS: mprf("Something appears %s!", - (you.species == SP_NAGA || you.species == SP_CENTAUR) + (you.species == SP_NAGA || you.mutation[MUT_HOOVES]) ? "before you" : "at your feet"); break; -- cgit v1.2.3-54-g00ecf