summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/fight.cc6
-rw-r--r--crawl-ref/source/mon-util.cc2
2 files changed, 6 insertions, 2 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 66bcf8cc8c..37da54bd34 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -1365,8 +1365,12 @@ void melee_attack::player_announce_hit()
std::string melee_attack::player_why_missed()
{
- if ((to_hit + heavy_armour_penalty/2) >= defender->melee_evasion(attacker))
+ if (heavy_armour_penalty > 0
+ && (to_hit + heavy_armour_penalty/2
+ >= defender->melee_evasion(attacker)))
+ {
return "Your armour prevents you from hitting ";
+ }
else
return "You miss ";
}
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 98a7f1d2ca..0cec23aca5 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -5813,7 +5813,7 @@ int monsters::armour_class() const
int monsters::melee_evasion(const actor *act) const
{
int evasion = ev;
- if (paralysed() || asleep() || one_chance_in(20))
+ if (paralysed() || asleep())
evasion = 0;
else if (caught())
evasion /= (body_size(PSIZE_BODY) + 2);