diff options
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index a41fbe6564..9bc54edda8 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -552,26 +552,27 @@ bool melee_attack::player_attack() // always upset monster regardless of damage behaviour_event(def, ME_WHACK, MHITYOU); - if (player_hurt_monster()) + player_hurt_monster(); + + if (damage_done > 0 || !defender_visible) + player_announce_hit(); + else if (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) player_exercise_combat_skills(); if (player_check_monster_died()) return (true); player_sustain_passive_damage(); - - if (damage_done < 1) - no_damage_message = - make_stringf("You %s %s.", - attack_verb.c_str(), - defender->name(DESC_NOCAP_THE).c_str()); } else player_warn_miss(); - if (did_hit && (damage_done > 0 || !player_monster_visible(def))) - player_announce_hit(); - if (did_hit && player_monattk_hit_effects(false)) return (true); |