summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/religion.cc
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-03-15 17:02:02 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-03-15 17:02:02 +0000
commit5ec81a1f6695b9253b85ada7fa8a4eb7a51f7209 (patch)
tree149223ecd8469ed3a69e97383268747587d879df /crawl-ref/source/religion.cc
parentb0e7dda3593b5e6022799727f3eb177fae3a5987 (diff)
downloadcrawl-ref-5ec81a1f6695b9253b85ada7fa8a4eb7a51f7209.tar.gz
crawl-ref-5ec81a1f6695b9253b85ada7fa8a4eb7a51f7209.zip
Per jpeg's suggestion, add a "desecrate orcish remains" conduct for
Beogh. This will cause a small piety hit, but no penance, for butchering orc corpses, or for using non-area necromantic spells on orcish remains which can (a) destroy them without creating zombified orcs, or (b) turn them non-orcish (Fulsome Distillation, Sublimation of Blood, Bone Shards, and Twisted Resurrection). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9498 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/religion.cc')
-rw-r--r--crawl-ref/source/religion.cc36
1 files changed, 28 insertions, 8 deletions
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 0021621001..b701b4a786 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -530,7 +530,7 @@ std::string get_god_likes(god_type which_god, bool verbose)
case GOD_BEOGH:
snprintf(info, INFO_SIZE, "you bless dead orcs%s",
- verbose ? " (by standing over their corpses and <w>p</w>raying)" : "");
+ verbose ? " (by standing over their remains and <w>p</w>raying)" : "");
likes.push_back(info);
break;
@@ -784,6 +784,7 @@ std::string get_god_dislikes(god_type which_god, bool /*verbose*/)
break;
case GOD_BEOGH:
+ dislikes.push_back("you desecrate orcish remains");
dislikes.push_back("you destroy orcish idols");
break;
@@ -3074,6 +3075,14 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
}
break;
+ case DID_DESECRATE_ORCISH_REMAINS:
+ if (you.religion == GOD_BEOGH)
+ {
+ piety_change = -level;
+ retval = true;
+ }
+ break;
+
case DID_DESTROY_ORCISH_IDOL:
if (you.religion == GOD_BEOGH)
{
@@ -3116,7 +3125,8 @@ bool did_god_conduct(conduct_type thing_done, int level, bool known,
"Spell Practise", "Spell Nonutility", "Cards", "Stimulants",
"Drink Blood", "Cannibalism", "Eat Meat", "Eat Souled Being",
"Deliberate Mutation", "Cause Glowing", "Use Chaos",
- "Destroy Orcish Idol", "Create Life"
+ "Desecrate Orcish Remains", "Destroy Orcish Idol",
+ "Create Life"
};
COMPILE_CHECK(ARRAYSZ(conducts) == NUM_CONDUCTS, c1);
@@ -6230,7 +6240,6 @@ static bool _god_likes_item(god_type god, const item_def& item)
case GOD_BEOGH:
return (item.base_type == OBJ_CORPSES
- && item.sub_type == CORPSE_BODY
&& mons_species(item.plus) == MONS_ORC);
case GOD_NEMELEX_XOBEH:
@@ -6286,10 +6295,21 @@ static piety_gain_t _sacrifice_one_item_noncount(const item_def& item)
{
const int item_orig = item.orig_monnum - 1;
- if ((item_orig == MONS_SAINT_ROKA && !one_chance_in(5))
- || (item_orig == MONS_ORC_HIGH_PRIEST && x_chance_in_y(3, 5))
- || (item_orig == MONS_ORC_PRIEST && x_chance_in_y(2, 5))
- || one_chance_in(5))
+ int chance = 4;
+
+ if (item_orig == MONS_SAINT_ROKA)
+ chance += 12;
+ else if (item_orig == MONS_ORC_HIGH_PRIEST)
+ chance += 8;
+ else if (item_orig == MONS_ORC_PRIEST)
+ chance += 4;
+
+ if (food_is_rotten(item))
+ chance--;
+ else if (item.sub_type == CORPSE_SKELETON)
+ chance -= 2;
+
+ if (x_chance_in_y(chance, 20))
{
gain_piety(1);
relative_piety_gain = PIETY_SOME;
@@ -6525,7 +6545,7 @@ void offer_items()
if (you.religion == GOD_SHINING_ONE)
simple_god_message(" only cares about evil items!");
else if (you.religion == GOD_BEOGH)
- simple_god_message(" only cares about orc corpses!");
+ simple_god_message(" only cares about orcish remains!");
else if (you.religion == GOD_NEMELEX_XOBEH)
simple_god_message(" expects you to use your decks, not offer them!");
}