From f56d33e0674ecabd70016e1ed67362cd6eaa940c Mon Sep 17 00:00:00 2001 From: zelgadis Date: Mon, 29 Dec 2008 12:00:53 +0000 Subject: 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 --- crawl-ref/source/dungeon.cc | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'crawl-ref/source/dungeon.cc') 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 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); -- cgit v1.2.3-54-g00ecf