From 98d093c37196be2d58fc2d846fd7d573c2b9fe92 Mon Sep 17 00:00:00 2001 From: dolorous Date: Mon, 3 Nov 2008 18:39:48 +0000 Subject: 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 --- crawl-ref/source/religion.cc | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'crawl-ref/source/religion.cc') 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); - } } } -- cgit v1.2.3-54-g00ecf