summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/describe.cc5
-rw-r--r--crawl-ref/source/religion.cc11
2 files changed, 15 insertions, 1 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 2189bd4071..e27f3a3850 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -3511,7 +3511,10 @@ void describe_god( god_type which_god, bool give_title )
which_god_penance = 2; // == "Come back to the one true church!"
}
- cprintf( (which_god_penance >= 50) ? "%s's wrath is upon you!" :
+ cprintf( (which_god == GOD_NEMELEX_XOBEH
+ && which_god_penance > 0 && which_god_penance <= 100)
+ ? "%s doesn't play fair with you." :
+ (which_god_penance >= 50) ? "%s's wrath is upon you!" :
(which_god_penance >= 20) ? "%s is annoyed with you." :
(which_god_penance >= 5) ? "%s well remembers your sins." :
(which_god_penance > 0) ? "%s is ready to forgive your sins." :
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 2cefe96727..bd1d3447aa 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -920,6 +920,17 @@ void dec_penance(god_type god, int val)
if (is_good_god(you.religion))
_holy_beings_attitude_change();
}
+ else if (god == GOD_NEMELEX_XOBEH && you.penance[god] > 100)
+ { // Nemelex' penance works actively only until 100
+ if ((you.penance[god] -= val) > 100)
+ return;
+#ifdef DGL_MILESTONES
+ mark_milestone("god.mollify",
+ "partially mollified " + god_name(god) + ".");
+#endif
+ simple_god_message(" seems mollified... mostly.", god);
+ take_note(Note(NOTE_MOLLIFY_GOD, god));
+ }
else
you.penance[god] -= val;
}