diff options
-rw-r--r-- | crawl-ref/source/misc.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/mon-info.cc | 12 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index 47da2dcd13..ac4498fd4a 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -2841,6 +2841,8 @@ std::vector<monsters*> get_nearby_monsters(bool want_move, bool require_visible, int range) { + ASSERT(!crawl_state.arena); + if (range == -1) range = LOS_RADIUS; diff --git a/crawl-ref/source/mon-info.cc b/crawl-ref/source/mon-info.cc index a569a2982b..cb81c83710 100644 --- a/crawl-ref/source/mon-info.cc +++ b/crawl-ref/source/mon-info.cc @@ -11,11 +11,13 @@ #include "fight.h" #include "misc.h" +#include "mon-iter.h" #include "mon-util.h" #include "monster.h" #include "options.h" #include "religion.h" #include "showsymb.h" +#include "state.h" #include <algorithm> #include <sstream> @@ -311,7 +313,15 @@ void monster_info::to_string(int count, std::string& desc, void get_monster_info(std::vector<monster_info>& mons) { - std::vector<monsters*> visible = get_nearby_monsters(); + std::vector<monsters*> visible; + if (crawl_state.arena) + { + for (monster_iterator mi; mi; ++mi) + visible.push_back(*mi); + } + else + visible = get_nearby_monsters(); + for (unsigned int i = 0; i < visible.size(); i++) { if (Options.target_zero_exp diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index 667820f90e..99015569ea 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -1332,7 +1332,7 @@ static void _print_next_monster_desc(const std::vector<monster_info>& mons, // they have to be consolidated, and 1 otherwise. int update_monster_pane() { - if (!map_bounds(you.pos())) + if (!map_bounds(you.pos()) && !crawl_state.arena) return (-1); const int max_print = crawl_view.mlistsz.y; |