diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-03-15 17:02:02 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-03-15 17:02:02 +0000 |
commit | 5ec81a1f6695b9253b85ada7fa8a4eb7a51f7209 (patch) | |
tree | 149223ecd8469ed3a69e97383268747587d879df /crawl-ref/source/spells3.cc | |
parent | b0e7dda3593b5e6022799727f3eb177fae3a5987 (diff) | |
download | crawl-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.cc | 25 |
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 : |