From dc024449143f2b6d6599bc41dabfbb3109a76999 Mon Sep 17 00:00:00 2001 From: dolorous Date: Sun, 12 Oct 2008 23:22:12 +0000 Subject: 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 --- crawl-ref/source/fight.cc | 3 --- crawl-ref/source/mon-util.cc | 7 ++++--- 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)) -- cgit v1.2.3-54-g00ecf