summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/travel.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/crawl-ref/source/travel.cc b/crawl-ref/source/travel.cc
index d8102554bd..3295f550a3 100644
--- a/crawl-ref/source/travel.cc
+++ b/crawl-ref/source/travel.cc
@@ -351,11 +351,12 @@ void set_exclude(const coord_def &p, int radius)
static bool is_monster_blocked(int x, int y)
{
- const int mon = mgrd[x][y];
- return (mon != NON_MONSTER
- && player_monster_visible(&menv[mon])
- && mons_is_stationary(&menv[mon])
- && mons_was_seen(&menv[mon]));
+ const monsters *mons = monster_at(coord_def(x, y));
+ return (mons
+ && player_monster_visible(mons)
+ && mons_is_stationary(mons)
+ && mons_was_seen(mons)
+ && (!mons_is_mimic(mons->type) || mons_is_known_mimic(mons)));
}
/*