diff options
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/monstuff.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 6ca599a1a7..87cb8ae73e 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -5680,12 +5680,15 @@ static bool _handle_special_ability(monsters *monster, bolt & beem) || mons_is_fleeing(monster) || mons_is_pacified(monster) || mons_friendly(monster) - || silenced(monster->pos()) - || silenced(you.pos())) + || !player_can_hear(monster->pos())) { break; } + // Don't even try on berserkers. Mermaids know their limits. + if (you.duration[DUR_BERSERKER]) + break; + // Reduce probability because of spamminess. if (you.species == SP_MERFOLK && !one_chance_in(4)) break; diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 22ea31ecc9..8fae69b5f7 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -6573,7 +6573,14 @@ bool player::can_go_berserk(bool verbose) const { if (verbose) mpr("You're too exhausted to go berserk."); + // or else they won't notice -- no message here + return (false); + } + if (you.duration[DUR_MESMERISED]) + { + if (verbose) + mpr("You are too mesmerised to rage."); // or else they won't notice -- no message here return (false); } |