diff options
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index 843cc577e8..9e01ab78f3 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -763,35 +763,32 @@ bool melee_attack::player_attack() hit_woke_orc = true; } - if (def->alive()) - { - // always upset monster regardless of damage - behaviour_event(def, ME_WHACK, MHITYOU); + // always upset monster regardless of damage + behaviour_event(def, ME_WHACK, MHITYOU); - if (damage_done > 0) - { - int blood = - _modify_blood_amount(damage_done, attacker->damage_type()); - if (blood > defender->stat_hp()) - blood = defender->stat_hp(); + if (damage_done > 0) + { + int blood = + _modify_blood_amount(damage_done, attacker->damage_type()); + if (blood > defender->stat_hp()) + blood = defender->stat_hp(); - bleed_onto_floor(where.x, where.y, defender->id(), blood, true); - } + bleed_onto_floor(where.x, where.y, defender->id(), blood, true); + } - if (damage_done > 0 || !defender_visible) - player_announce_hit(); - else if (!shield_blocked && damage_done <= 0) - { - no_damage_message = - make_stringf("You %s %s.", attack_verb.c_str(), - defender->name(DESC_NOCAP_THE).c_str()); - } + if (damage_done > 0 || !defender_visible) + player_announce_hit(); + else if (!shield_blocked && damage_done <= 0) + { + no_damage_message = + make_stringf("You %s %s.", attack_verb.c_str(), + defender->name(DESC_NOCAP_THE).c_str()); + } - player_hurt_monster(); + player_hurt_monster(); - if (damage_done) - player_exercise_combat_skills(); - } + if (damage_done) + player_exercise_combat_skills(); if (player_check_monster_died()) return (true); |