summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells3.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/spells3.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/spells3.cc')
-rw-r--r--crawl-ref/source/spells3.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc
index 0b4ce3865c..ccbb018590 100644
--- a/crawl-ref/source/spells3.cc
+++ b/crawl-ref/source/spells3.cc
@@ -291,11 +291,16 @@ bool cast_bone_shards(int power, bolt &beam)
bool success = false;
+ const bool was_orc = (mons_species(you.weapon()->plus) == MONS_ORC);
+
if (you.weapon()->sub_type != CORPSE_SKELETON)
{
mpr("The corpse collapses into a pulpy mess.");
dec_inv_item_quantity(you.equip[EQ_WEAPON], 1);
+
+ if (was_orc)
+ did_god_conduct(DID_DESECRATE_ORCISH_REMAINS, 2);
}
else
{
@@ -311,6 +316,9 @@ bool cast_bone_shards(int power, bolt &beam)
dec_inv_item_quantity(you.equip[EQ_WEAPON], 1);
+ if (was_orc)
+ did_god_conduct(DID_DESECRATE_ORCISH_REMAINS, 2);
+
zapping(ZAP_BONE_SHARDS, power, beam);
success = true;
@@ -337,6 +345,9 @@ bool cast_sublimation_of_blood(int pow)
inc_mp(7 + random2(7), false);
dec_inv_item_quantity(wielded, 1);
+
+ if (mons_species(you.inv[wielded].plus) == MONS_ORC)
+ did_god_conduct(DID_DESECRATE_ORCISH_REMAINS, 2);
}
else if (is_blood_potion(you.inv[wielded]))
{
@@ -1039,6 +1050,7 @@ bool cast_simulacrum(int pow, god_type god)
bool cast_twisted_resurrection(int pow, god_type god)
{
int how_many_corpses = 0;
+ int how_many_orcs = 0;
int total_mass = 0;
int rotted = 0;
@@ -1048,6 +1060,8 @@ bool cast_twisted_resurrection(int pow, god_type god)
{
total_mass += mons_weight(si->plus);
how_many_corpses++;
+ if (mons_species(si->plus) == MONS_ORC)
+ how_many_orcs++;
if (food_is_rotten(*si))
rotted++;
destroy_item(si->index());
@@ -1080,6 +1094,10 @@ bool cast_twisted_resurrection(int pow, god_type god)
{
mprf("The corpse%s collapse%s into a pulpy mess.",
how_many_corpses > 1 ? "s": "", how_many_corpses > 1 ? "": "s");
+
+ if (how_many_orcs > 0)
+ did_god_conduct(DID_DESECRATE_ORCISH_REMAINS, 2 * how_many_orcs);
+
return (false);
}
@@ -1102,6 +1120,10 @@ bool cast_twisted_resurrection(int pow, god_type god)
if (monster == -1)
{
mpr("The corpses collapse into a pulpy mess.");
+
+ if (how_many_orcs > 0)
+ did_god_conduct(DID_DESECRATE_ORCISH_REMAINS, 2 * how_many_orcs);
+
return (false);
}
@@ -1110,6 +1132,9 @@ bool cast_twisted_resurrection(int pow, god_type god)
mpr("The heap of corpses melds into an agglomeration of writhing flesh!");
+ if (how_many_orcs > 0)
+ did_god_conduct(DID_DESECRATE_ORCISH_REMAINS, 2 * how_many_orcs);
+
if (mon == MONS_ABOMINATION_LARGE)
{
menv[monster].hit_dice = 8 + total_mass / ((colour == LIGHTRED) ? 500 :