summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/fight.cc45
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);