summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/religion.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-21 17:49:24 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-21 17:49:24 +0000
commit0a930fa79787f0e7f4b4ab2f4e223b58b58690c7 (patch)
tree7f8b16f8378873a9564c98a8e8e1104923aed5cd /crawl-ref/source/religion.cc
parenta8a6b89f6b751da432faa31b9be145ec8532294f (diff)
downloadcrawl-ref-0a930fa79787f0e7f4b4ab2f4e223b58b58690c7.tar.gz
crawl-ref-0a930fa79787f0e7f4b4ab2f4e223b58b58690c7.zip
Make Zin dislike when the player takes an action that makes an already
existing mutagenic glow stronger (piety loss, no penalty). At the same time go easier on the "eat souled being" misbehaviour: increased piety loss, but give penance only for eating very intelligent monsters, so that eating goblins and the like is an option again. (Cannibalism is checked first, and has worse effects.) Also fix restriction for items offered for ?recharging. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3789 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r--crawl-ref/source/religion.cc24
1 files changed, 20 insertions, 4 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index b3cd603876..7cff471e50 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -1720,10 +1720,23 @@ bool did_god_conduct( conduct_type thing_done, int level, bool known,
}
break;
+ case DID_CAUSE_GLOWING:
case DID_DELIBERATE_MUTATING:
if (you.religion == GOD_ZIN)
{
- if (!known)
+ if (thing_done == DID_CAUSE_GLOWING)
+ {
+ static long last_glowing_lecture = -1L;
+ if (last_glowing_lecture != you.num_turns)
+ {
+ simple_god_message(" does not appreciate the mutagenic glow "
+ "surrounding you!");
+ last_glowing_lecture = you.num_turns;
+ }
+ if (!known)
+ break;
+ }
+ else if (!known)
{
simple_god_message(" did not appreciate that!");
break;
@@ -1733,11 +1746,14 @@ bool did_god_conduct( conduct_type thing_done, int level, bool known,
}
break;
+ // level depends on intelligence: normal -> 1, high -> 2
+ // cannibalism is still worse
case DID_EAT_SOULED_BEING:
if (you.religion == GOD_ZIN)
{
- piety_change = -level;
- penance = level * 5;
+ piety_change = -level * 5;
+ if (level > 1)
+ penance = 5;
ret = true;
}
break;
@@ -1788,7 +1804,7 @@ bool did_god_conduct( conduct_type thing_done, int level, bool known,
static void dock_piety(int piety_loss, int penance)
{
- static long last_piety_lecture = -1L;
+ static long last_piety_lecture = -1L;
static long last_penance_lecture = -1L;
if (piety_loss <= 0 && penance <= 0)