summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc21
1 files changed, 21 insertions, 0 deletions
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;