OSDN Git Service

[Refactor] #2680 1箇所からしか呼ばれていないDUN_CAVERN定数をfeature-generator.cpp に移した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 29 Oct 2022 12:22:30 +0000 (21:22 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Wed, 2 Nov 2022 15:26:13 +0000 (00:26 +0900)
src/grid/feature-generator.cpp
src/system/gamevalue.h

index 538de49..db0b066 100644 (file)
@@ -98,7 +98,14 @@ void gen_caverns_and_lakes(PlayerType *player_ptr, dungeon_type *dungeon_ptr, du
         }
     }
 
-    if ((floor_ptr->dun_level > DUN_CAVERN) && !dd_ptr->empty_level && dungeon_ptr->flags.has(DungeonFeatureType::CAVERN) && !dd_ptr->laketype && !dd_ptr->destroyed && (randint1(1000) < floor_ptr->dun_level)) {
+    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;
+    if (should_build_cavern) {
         dd_ptr->cavern = true;
         msg_print_wizard(player_ptr, CHEAT_DUNGEON, _("洞窟を生成。", "Cavern on level."));
         build_cavern(player_ptr);
index e37e485..998c9ea 100644 (file)
 #define MAX_VAMPIRIC_DRAIN 50 /*!< 吸血処理の最大回復HP */
 
 /*
- * Dungeon generation values
- */
-#define DUN_CAVERN 20 /*!< 洞窟状のダンジョンが生成される基本確率(1/定数) / 1/chance of having a cavern level */
-
-/*
  * Dungeon streamer generation values
  */
 #define DUN_STR_DEN 5 /* Density of streamers */