summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/misc.cc2
-rw-r--r--crawl-ref/source/mon-info.cc12
-rw-r--r--crawl-ref/source/output.cc2
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;