summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/religion.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-11-03 18:39:48 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-11-03 18:39:48 +0000
commit98d093c37196be2d58fc2d846fd7d573c2b9fe92 (patch)
tree415fd79a222ac225470caf2b7048bf56f8f90e4d /crawl-ref/source/religion.cc
parent801e0e4b3abb82ff264eb40fa526d7ee6e5d9c9f (diff)
downloadcrawl-ref-98d093c37196be2d58fc2d846fd7d573c2b9fe92.tar.gz
crawl-ref-98d093c37196be2d58fc2d846fd7d573c2b9fe92.zip
Clean up conduct handling a bit.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7363 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r--crawl-ref/source/religion.cc29
1 files changed, 14 insertions, 15 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index a6c770d4f7..a275fef8a8 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -2590,6 +2590,8 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
// blame.
case DID_KILL_HOLY:
case DID_HOLY_KILLED_BY_SERVANT:
+ tso_holy_revenge();
+
switch (you.religion)
{
case GOD_ZIN:
@@ -2838,6 +2840,17 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
}
break;
+ case DID_DESTROY_ORCISH_IDOL:
+ beogh_idol_revenge();
+
+ if (you.religion == GOD_BEOGH)
+ {
+ piety_change = -level * 2;
+ penance = level * 6;
+ ret = true;
+ }
+ break;
+
case DID_STABBING: // unused
case DID_STIMULANTS: // unused
case DID_EAT_MEAT: // unused
@@ -2869,7 +2882,7 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
"Spell Cast", "Spell Practise", "Spell Nonutility", "Cards",
"Stimulants", "Drink Blood", "Cannibalism", "Eat Meat",
"Eat Souled Being", "Deliberate Mutation", "Cause Glowing",
- "Create Life"
+ "Destroy Orcish Idol", "Create Life"
};
COMPILE_CHECK(ARRAYSZ(conducts) == NUM_CONDUCTS, c1);
@@ -2881,9 +2894,6 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
}
#endif
- if (thing_done == DID_KILL_HOLY || thing_done == DID_HOLY_KILLED_BY_SERVANT)
- tso_holy_revenge();
-
return (ret);
}
@@ -4930,17 +4940,6 @@ void beogh_idol_revenge()
revenge = _get_beogh_speech("idol other").c_str();
god_smites_you(GOD_BEOGH, revenge);
-
- if (you.religion == GOD_BEOGH)
- {
- // count this as an attack on a fellow orc; it comes closest
- // and gives the same result (penance + piety loss)
- monsters dummy;
- dummy.type = MONS_ORC;
- dummy.attitude = ATT_FRIENDLY;
-
- did_god_conduct(DID_ATTACK_FRIEND, 8, true, &dummy);
- }
}
}