diff options
Diffstat (limited to 'crawl-ref/source/mon-act.cc')
-rw-r--r-- | crawl-ref/source/mon-act.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/crawl-ref/source/mon-act.cc b/crawl-ref/source/mon-act.cc index bc15130cc4..da7b274724 100644 --- a/crawl-ref/source/mon-act.cc +++ b/crawl-ref/source/mon-act.cc @@ -1461,7 +1461,7 @@ static bool _handle_throw(monsters *monster, bolt & beem) return (false); const bool archer = mons_class_flag(monster->type, M_ARCHER); - // Highly-specialised archers are more likely to shoot than talk. + // Highly-specialised archers are more likely to shoot than talk. (?) if (one_chance_in(archer? 9 : 5)) return (false); @@ -1474,6 +1474,10 @@ static bool _handle_throw(monsters *monster, bolt & beem) if (!archer && adjacent(beem.target, monster->pos())) return (false); + // If the monster is a spellcaster, don't bother throwing stuff. + if (mons_has_ranged_spell(monster, true, false)) + return (false); + // Greatly lowered chances if the monster is fleeing or pacified and // leaving the level. if ((mons_is_fleeing(monster) || monster->pacified()) |