summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-29 12:00:53 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-29 12:00:53 +0000
commitf56d33e0674ecabd70016e1ed67362cd6eaa940c (patch)
tree9b25e23ebdccc79c0338ebb48d33ef85ca95a04b /crawl-ref/source/dungeon.cc
parentd725200391584c1c3e9402ab1f6e4325da6f9e3f (diff)
downloadcrawl-ref-f56d33e0674ecabd70016e1ed67362cd6eaa940c.tar.gz
crawl-ref-f56d33e0674ecabd70016e1ed67362cd6eaa940c.zip
If detached monsters were caused during level generation then list maps in
Level_Vaults and Temp_Vaults, show dgn_Build_Method and dgn_Layout_Type, and say if the level is a river level, lake level or many-pools level. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8013 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r--crawl-ref/source/dungeon.cc25
1 files changed, 20 insertions, 5 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index aef1bd79dd..4df4bf78df 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -235,6 +235,10 @@ std::set<std::string> Level_Unique_Tags;
std::string dgn_Build_Method;
std::string dgn_Layout_Type;
+// Used by debug_mons_scan() when announcing that a just generated level
+// has floating/detached monsters.
+bool river_level, lake_level, many_pools_level;
+
bool Generating_Level = false;
static int can_create_vault = true;
@@ -309,17 +313,18 @@ bool builder(int level_number, int level_type)
if (!dgn_level_vetoed && _valid_dungeon_level(level_number, level_type))
{
- dgn_Layout_Type.clear();
- Level_Unique_Maps.clear();
- Level_Unique_Tags.clear();
- _dgn_map_colour_fixup();
-
#if DEBUG_MONS_SCAN
// If debug_mons_scan() find a problem while Generating_Level is
// still true then it will announce that a problem was caused
// during level generation.
debug_mons_scan();
#endif
+
+ dgn_Layout_Type.clear();
+ Level_Unique_Maps.clear();
+ Level_Unique_Tags.clear();
+ _dgn_map_colour_fixup();
+
return (true);
}
@@ -891,6 +896,10 @@ static void _reset_level()
level_clear_vault_memory();
dgn_colour_grid.reset(NULL);
+ river_level = false;
+ lake_level = false;
+ many_pools_level = false;
+
can_create_vault = true;
use_random_maps = true;
dgn_check_connectivity = false;
@@ -5319,6 +5328,8 @@ static void _place_pool(dungeon_feature_type pool_type, unsigned char pool_x1,
static void _many_pools(dungeon_feature_type pool_type)
{
+ many_pools_level = true;
+
if (player_in_branch( BRANCH_COCYTUS ))
pool_type = DNGN_DEEP_WATER;
else if (player_in_branch( BRANCH_GEHENNA ))
@@ -7534,6 +7545,8 @@ static void _build_river( dungeon_feature_type river_type ) //mv
if (player_in_branch( BRANCH_CRYPT ) || player_in_branch( BRANCH_TOMB ))
return;
+ river_level = true;
+
// if (one_chance_in(10))
// _build_river(river_type);
@@ -7582,6 +7595,8 @@ static void _build_lake(dungeon_feature_type lake_type) //mv
if (player_in_branch(BRANCH_CRYPT) || player_in_branch(BRANCH_TOMB))
return;
+ lake_level = true;
+
// if (one_chance_in (10))
// _build_lake(lake_type);