summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/describe.cc2
-rw-r--r--crawl-ref/source/mutation.cc2
-rw-r--r--crawl-ref/source/output.cc3
-rw-r--r--crawl-ref/source/player.cc21
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;