diff options
author | David Lawrence Ramsey <dolorous@users.sourceforge.net> | 2009-11-18 13:57:05 -0600 |
---|---|---|
committer | David Lawrence Ramsey <dolorous@users.sourceforge.net> | 2009-11-18 13:57:05 -0600 |
commit | 3593fbb549ba5b991b92994c94b529ac99045d46 (patch) | |
tree | aa32c649f1154e0f16e544f015f86b1fa672b271 /crawl-ref | |
parent | d358ba6df56b55e8e16aa7572458501f8544f1e1 (diff) | |
download | crawl-ref-3593fbb549ba5b991b92994c94b529ac99045d46.tar.gz crawl-ref-3593fbb549ba5b991b92994c94b529ac99045d46.zip |
Expand Zin's protection from just mutation to other chaotic effects.
Specifically, protect from rotting, disease, and miasma, since the first
of them is tied to the other two, and all three are chaotic. Since
negative energy resistance no longer provides rotting resistance, this
fills in the gap left by TSO.
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/describe.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mutation.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 3 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 21 |
4 files changed, 25 insertions, 3 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index 05ca6958d1..cae6b21798 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -3643,7 +3643,7 @@ void describe_god( god_type which_god, bool give_title ) (you.piety >= 50) ? "sometimes" : "occasionally"; - cprintf("%s %s shields you from mutagenic effects." EOL, + cprintf("%s %s shields you from chaotic effects." EOL, god_name(which_god).c_str(), how); } else if (which_god == GOD_SHINING_ONE) diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc index 5eaa5f64e5..153dadbb3c 100644 --- a/crawl-ref/source/mutation.cc +++ b/crawl-ref/source/mutation.cc @@ -2148,7 +2148,7 @@ bool mutate(mutation_type which_mutation, bool failMsg, if (you.religion == GOD_ZIN && x_chance_in_y(you.piety, MAX_PIETY) && !stat_gain_potion) { - simple_god_message(" protects your body from chaos!"); + simple_god_message(" protects your body from mutation!"); return (false); } } diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index 1744cf8527..f6383d2651 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -1825,7 +1825,8 @@ static std::vector<formatted_string> _get_overview_resistances( const int rmuta = (wearing_amulet(AMU_RESIST_MUTATION, calc_unid) || player_mutation_level(MUT_MUTATION_RESISTANCE) == 3 || you.religion == GOD_ZIN && you.piety >= 150); - const int rrott = you.res_rotting(); + const int rrott = (you.res_rotting() + || you.religion == GOD_ZIN && you.piety >= 150); const int rslow = wearing_amulet(AMU_RESIST_SLOW, calc_unid); snprintf(buf, sizeof buf, diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index ce527d5a8d..6948b7b5f6 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -4867,6 +4867,13 @@ bool miasma_player() if (you.res_rotting()) return (false); + // Zin's protection. + if (you.religion == GOD_ZIN && x_chance_in_y(you.piety, MAX_PIETY)) + { + simple_god_message(" protects your body from miasma!"); + return (false); + } + bool success = poison_player(1); if (you.hp_max > 4 && coinflip()) @@ -6689,6 +6696,13 @@ bool player::rot(actor *who, int amount, int immediate, bool quiet) return (false); } + // Zin's protection. + if (religion == GOD_ZIN && x_chance_in_y(piety, MAX_PIETY)) + { + simple_god_message(" protects your body from decay!"); + return (false); + } + if (immediate > 0) rot_hp(immediate); @@ -6805,6 +6819,13 @@ bool player::sicken(int amount) if (res_rotting() || amount <= 0) return (false); + // Zin's protection. + if (religion == GOD_ZIN && x_chance_in_y(piety, MAX_PIETY)) + { + simple_god_message(" protects your body from disease!"); + return (false); + } + mpr("You feel ill."); disease += amount * BASELINE_DELAY; |