summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/describe.cc15
-rw-r--r--crawl-ref/source/ouch.cc8
-rw-r--r--crawl-ref/source/player.cc6
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;