diff options
Diffstat (limited to 'crawl-ref/source/files.cc')
-rw-r--r-- | crawl-ref/source/files.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/crawl-ref/source/files.cc b/crawl-ref/source/files.cc index 35f2cbdbd2..b4332c5e73 100644 --- a/crawl-ref/source/files.cc +++ b/crawl-ref/source/files.cc @@ -959,6 +959,8 @@ static void _grab_followers() { const bool can_follow = level_type_allows_followers(you.level_type); + int non_stair_using_allies = 0; + // Handle nearby ghosts. for (adjacent_iterator ai; ai; ++ai) { @@ -966,6 +968,9 @@ static void _grab_followers() if (fmenv == NULL) continue; + if (!mons_can_use_stairs(fmenv)) + non_stair_using_allies++; + if (fmenv->type == MONS_PLAYER_GHOST && fmenv->hit_points < fmenv->max_hit_points / 2) { @@ -976,6 +981,15 @@ static void _grab_followers() if (can_follow) { + if (non_stair_using_allies > 0) + { + // XXX: This assumes that the only monsters that are + // incapable of using stairs are zombified. + mprf("Your zombified all%s stay%s behind.", + non_stair_using_allies > 1 ? "ies" : "y", + non_stair_using_allies > 1 ? "" : "s"); + } + memset(travel_point_distance, 0, sizeof(travel_distance_grid_t)); std::vector<coord_def> places[2]; int place_set = 0; |