#include "system/player-type-definition.h"
#include "wizard/wizard-messages.h"
+static bool decide_cavern(const FloorType &floor_ref, const dungeon_type &dungeon_ref, const dun_data_type &dd_ref)
+{
+ constexpr auto can_become_cavern = 20;
+ auto should_build_cavern = floor_ref.dun_level > can_become_cavern;
+ should_build_cavern &= !dd_ref.empty_level;
+ should_build_cavern &= dungeon_ref.flags.has(DungeonFeatureType::CAVERN);
+ should_build_cavern &= dd_ref.laketype == 0;
+ should_build_cavern &= !dd_ref.destroyed;
+ should_build_cavern &= randint1(1000) < floor_ref.dun_level;
+ return should_build_cavern;
+}
+
/*!
* @brief フロアに破壊地形、洞窟、湖、溶岩、森林等を配置する.
*/
}
}
- constexpr auto can_become_cavern = 20;
- auto should_build_cavern = floor_ptr->dun_level > can_become_cavern;
- should_build_cavern &= !dd_ptr->empty_level;
- should_build_cavern &= dungeon_ptr->flags.has(DungeonFeatureType::CAVERN);
- should_build_cavern &= dd_ptr->laketype == 0;
- should_build_cavern &= !dd_ptr->destroyed;
- should_build_cavern &= randint1(1000) < floor_ptr->dun_level;
+ const auto should_build_cavern = decide_cavern(*floor_ptr, *dungeon_ptr, *dd_ptr);
if (should_build_cavern) {
dd_ptr->cavern = true;
msg_print_wizard(player_ptr, CHEAT_DUNGEON, _("洞窟を生成。", "Cavern on level."));