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.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 7b46f788d3..0d741668c5 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -495,6 +495,8 @@ bool melee_attack::player_attack()
if (cancel_attack)
return (false);
+ coord_def where = defender->pos();
+
if (player_hits_monster())
{
did_hit = true;
@@ -533,11 +535,14 @@ bool melee_attack::player_attack()
const bool did_primary_hit = did_hit;
- if (unarmed_ok && player_aux_unarmed())
+ if (unarmed_ok && where == defender->pos() && player_aux_unarmed())
return (true);
- if ((did_primary_hit || did_hit) && def->type != -1)
+ if ((did_primary_hit || did_hit) && def->alive()
+ && where == defender->pos())
+ {
print_wounds(def);
+ }
return (did_primary_hit || did_hit);
}
@@ -1691,7 +1696,7 @@ bool melee_attack::apply_damage_brand()
break;
}
- if (coinflip())
+ if (you.level_type != LEVEL_ABYSS && coinflip())
{
emit_nodmg_hit_message();
defender->banish();