diff options
-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; |