summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-10-12 23:22:12 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-10-12 23:22:12 +0000
commitdc024449143f2b6d6599bc41dabfbb3109a76999 (patch)
treef27ff2db6bc7885c1000c2de7d1be0d9708774b2
parent64da77e12fd42c286572c8a94f3d1274fd326364 (diff)
downloadcrawl-ref-dc024449143f2b6d6599bc41dabfbb3109a76999.tar.gz
crawl-ref-dc024449143f2b6d6599bc41dabfbb3109a76999.zip
Properly enable spectral things' draining attacks again.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7229 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/fight.cc3
-rw-r--r--crawl-ref/source/mon-util.cc7
2 files changed, 4 insertions, 6 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 913119784c..d5c0cc24bb 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -3765,9 +3765,6 @@ void melee_attack::mons_apply_attack_flavour(const mon_attack_def &attk)
break;
case AF_DRAIN_XP:
- if (attacker->id() == MONS_SPECTRAL_THING && coinflip())
- break;
-
if (one_chance_in(30)
|| (damage_done > 5 && coinflip())
|| (attk.damage == 0 && !one_chance_in(3)))
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 369cc7458b..5cea8ebe9b 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -852,10 +852,10 @@ mon_attack_def downscale_zombie_attack(const monsters *mons,
{
attk.flavour = AF_COLD;
}
+ else if (mons->type == MONS_SPECTRAL_THING && coinflip())
+ attk.flavour = AF_DRAIN_XP;
else
- {
- attk.flavour = AF_PLAIN;
- }
+ attk.flavour = AF_PLAIN;
attk.damage = downscale_zombie_damage(attk.damage);
@@ -883,6 +883,7 @@ mon_attack_def mons_attack_spec(const monsters *mon, int attk_number)
ASSERT(smc);
mon_attack_def attk = smc->attack[attk_number];
+
if (attk.flavour == AF_KLOWN)
{
switch (random2(6))