summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 4ccd1cb207..8e095747d7 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -311,7 +311,7 @@ static bool chop_hydra_head( const actor *attacker,
attacker->conj_verb(verb).c_str(),
defender->name(DESC_NOCAP_THE).c_str() );
- defender->hit_points = -1;
+ defender->hurt(attacker, defender->hit_points);
}
else
{
@@ -2670,10 +2670,13 @@ void melee_attack::wasp_paralyse_defender()
if (attacker->id() == MONS_YELLOW_WASP)
paralyse_roll += 3;
- if (!defender->res_poison() && one_chance_in(paralyse_roll))
- defender->paralyse( roll_dice(1, 3) );
- else
- defender->slow_down( roll_dice(1, 3) );
+ if (defender->res_poison() <= 0)
+ {
+ if (one_chance_in(paralyse_roll))
+ defender->paralyse( roll_dice(1, 3) );
+ else
+ defender->slow_down( roll_dice(1, 3) );
+ }
}
void melee_attack::splash_monster_with_acid(int strength)
@@ -2841,7 +2844,7 @@ void melee_attack::mons_apply_attack_flavour(const mon_attack_def &attk)
case AF_CONFUSE:
if (attk.type == AT_SPORE)
{
- if (defender->res_poison())
+ if (defender->res_poison() > 0)
break;
if (--atk->hit_dice <= 0)