diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-09-18 15:54:14 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-09-18 15:54:14 +0000 |
commit | 1a36197574afe860feff7208cd883770a5d28946 (patch) | |
tree | 3dec1bff3ea37e4366068f1cb8dafdc56c5c48ff | |
parent | 759ebd29993b7abb1266e630ee1ae7e84509fa9c (diff) | |
download | crawl-ref-1a36197574afe860feff7208cd883770a5d28946.tar.gz crawl-ref-1a36197574afe860feff7208cd883770a5d28946.zip |
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
-rw-r--r-- | crawl-ref/source/delay.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/fight.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/item_use.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/itemprop.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/mutation.cc | 70 | ||||
-rw-r--r-- | crawl-ref/source/newgame.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/religion.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/spl-cast.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/stuff.cc | 2 |
10 files changed, 60 insertions, 45 deletions
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 += "<cyan>"; @@ -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<mutation_type>(i)); + + result += "</"; + result += colourname; + 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<mutation_type>(i)); - if ( you.demon_pow[i] ) - { - result += "</"; - result += colourname; - 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; |