diff options
Diffstat (limited to 'crawl-ref/source/effects.cc')
-rw-r--r-- | crawl-ref/source/effects.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc index ca3881c962..ac4055d830 100644 --- a/crawl-ref/source/effects.cc +++ b/crawl-ref/source/effects.cc @@ -1994,6 +1994,10 @@ static void _set_friendly_foes(bool allow_patrol = false) if (!mon->alive() || !mons_near(mon) || !mons_friendly_real(mon)) continue; + // Berserking monsters cannot be ordered around. + if (mon->has_ench(ENCH_BERSERK)) + continue; + mon->foe = (allow_patrol && mon->is_patrolling() ? MHITNOT : you.pet_target); } @@ -2007,6 +2011,10 @@ static void _set_allies_patrol_point(bool clear = false) if (!mon->alive() || !mons_near(mon) || !mons_friendly_real(mon)) continue; + // Berserking monsters cannot be ordered around. + if (mon->has_ench(ENCH_BERSERK)) + continue; + mon->patrol_point = (clear ? coord_def(0, 0) : mon->pos()); if (!clear) |