diff options
-rw-r--r-- | crawl-ref/source/describe.cc | 15 | ||||
-rw-r--r-- | crawl-ref/source/ouch.cc | 8 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 6 |
3 files changed, 20 insertions, 9 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc index dd0b4928b4..dd8ee451f4 100644 --- a/crawl-ref/source/describe.cc +++ b/crawl-ref/source/describe.cc @@ -2520,10 +2520,23 @@ void describe_god( god_type which_god, bool give_title ) (you.piety >= 100) ? "often" : (you.piety >= 50) ? "sometimes" : "occasionally"; - + cprintf("%s %s shields you from mutagenic effects." EOL, god_name(which_god).c_str(), how); } + else if (which_god == GOD_SHINING_ONE) + { + have_any = true; + if (you.piety >= 50) + { + const char *how = (you.piety >= 150) ? "carefully" : // l.p. 3 + (you.piety >= 100) ? "often" : + "sometimes"; + + cprintf("%s %s protects your life force." EOL, + god_name(which_god).c_str(), how); + } + } else if (which_god == GOD_TROG) { have_any = true; diff --git a/crawl-ref/source/ouch.cc b/crawl-ref/source/ouch.cc index 43b605bebc..dd2678b970 100644 --- a/crawl-ref/source/ouch.cc +++ b/crawl-ref/source/ouch.cc @@ -604,14 +604,6 @@ void drain_exp(bool announce_full) { int protection = player_prot_life(); - if (you.duration[DUR_PRAYER] - && you.religion == GOD_SHINING_ONE - && random2(150) < you.piety) - { - simple_god_message(" protects your life force!"); - return; - } - if (protection >= 3) { if ( announce_full ) diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 1bf82f069e..cbd1242e92 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -1600,6 +1600,12 @@ int player_prot_life(bool calc_unid) // undead/demonic power pl += you.mutation[MUT_NEGATIVE_ENERGY_RESISTANCE]; + // TSO's protection + if (you.religion == GOD_SHINING_ONE) + { + pl += you.piety / 50; + } + if (pl > 3) pl = 3; |