summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-act.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mon-act.cc')
-rw-r--r--crawl-ref/source/mon-act.cc6
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())