summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/arena.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-07 12:03:36 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-07 12:03:36 +0000
commit7ce4f0c31ffe27368d7a62298dcb45fd244904b1 (patch)
tree582135bc457bb1aa6d8978f3208f291469719c59 /crawl-ref/source/arena.h
parentf001432886469258339851993d506a8ec3d0b097 (diff)
downloadcrawl-ref-7ce4f0c31ffe27368d7a62298dcb45fd244904b1.tar.gz
crawl-ref-7ce4f0c31ffe27368d7a62298dcb45fd244904b1.zip
Yet another fix to the arena win/loss/tie logic.
During arena mode don't reserve any of mitm[] when creating new items, and when mitm[] fills up call arena_cull_items() instead of _cull_items(), since in arena mode we can cull via how boring/interesting the items are rather than having to consider game balance and fairness to the player. Allow the arena to veto monster placement, rather than culling them immediately after they're placed. New arena tags: * "no_bands" prevents band members from being placed. * "move_spawners" teleports test spawners every turn to spread their summons randomly over the arena. * "ban_glyphs:" lists a set of text glyphs of types of monsters which shouldn't be allowed in the arena. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8300 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/arena.h')
-rw-r--r--crawl-ref/source/arena.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/arena.h b/crawl-ref/source/arena.h
index 8352860538..4547957b1a 100644
--- a/crawl-ref/source/arena.h
+++ b/crawl-ref/source/arena.h
@@ -8,6 +8,8 @@ class level_id;
class monsters;
class mgen_data;
+struct coord_def;
+
void run_arena();
monster_type arena_pick_random_monster(const level_id &place, int power,
@@ -15,9 +17,13 @@ monster_type arena_pick_random_monster(const level_id &place, int power,
bool arena_veto_random_monster(monster_type type);
+bool arena_veto_place_monster(const mgen_data &mg, bool first_band_member,
+ const coord_def& pos);
void arena_placed_monster(monsters *monster, const mgen_data &mg,
bool first_band_member);
void arena_monster_died(monsters *monster, killer_type killer,
int killer_index, bool silent);
+
+int arena_cull_items();
#endif