diff options
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r-- | crawl-ref/source/fight.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc index c8fe040218..0362cad36d 100644 --- a/crawl-ref/source/fight.cc +++ b/crawl-ref/source/fight.cc @@ -2503,7 +2503,10 @@ bool melee_attack::attack_shield_blocked(bool verbose) const int con_block = random2(attacker->shield_bypass_ability(to_hit) + defender->shield_block_penalty()); - const int pro_block = defender->shield_bonus(); + int pro_block = defender->shield_bonus(); + + if (attacker->invisible() && !defender->can_see_invisible()) + pro_block /= 3; if (pro_block >= con_block) { |