summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/arena.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-05 03:10:08 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-05 03:10:08 +0000
commitb681a24f5efdafaa86898a20d6df2ad936ce5a4e (patch)
tree69dd27701a3e6d6a54711352894e303acecb6cb2 /crawl-ref/source/arena.cc
parentf4a3ad5b61842b75731de8a8124e4ca73bf0ef85 (diff)
downloadcrawl-ref-b681a24f5efdafaa86898a20d6df2ad936ce5a4e.tar.gz
crawl-ref-b681a24f5efdafaa86898a20d6df2ad936ce5a4e.zip
Oops, I'd made cycle_random cycle through uniques instead of through
place-appropraite monsters. Tags like "no_immobile" now apply to random_uniques git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8227 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/arena.cc')
-rw-r--r--crawl-ref/source/arena.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/crawl-ref/source/arena.cc b/crawl-ref/source/arena.cc
index 6e02607b13..3866f2a783 100644
--- a/crawl-ref/source/arena.cc
+++ b/crawl-ref/source/arena.cc
@@ -574,6 +574,9 @@ namespace arena
void global_setup()
{
+ // Set various options from the arena spec's tags
+ parse_monster_spec();
+
if (file != NULL)
end(0, false, "Results file already open");
file = fopen("arena.result", "w");
@@ -599,8 +602,11 @@ namespace arena
if (i == MONS_ROYAL_JELLY)
continue;
- if (mons_is_unique(i))
+ if (mons_is_unique(i)
+ && !arena_veto_random_monster( (monster_type) i))
+ {
uniques_list.push_back(i);
+ }
}
}
@@ -691,7 +697,7 @@ monster_type arena_pick_random_monster(const level_id &place, int power,
const monster_type type = (monster_type) arena::cycle_random_pos;
- if (!mons_is_unique(type))
+ if (mons_rarity(type, place) == 0)
continue;
if (arena_veto_random_monster(type))