-#define ALLOW_CAVERNS_AND_LAKES
+/*!
+ * @file generate.h
+ * @brief ダンジョン生成処理のヘッダーファイル
+ * @date 2014/08/08
+ * @author
+ * 不明(変愚蛮怒スタッフ?)
+ */
-#define SAFE_MAX_ATTEMPTS 5000
+#define ALLOW_CAVERNS_AND_LAKES
-/*
- * Dungeon generation values
- */
-#define DUN_UNUSUAL 250 /* Level/chance of unusual room (was 200) */
-#define DUN_DEST 18 /* 1/chance of having a destroyed level */
-#define SMALL_LEVEL 3 /* 1/chance of smaller size (3) */
-#define EMPTY_LEVEL 24 /* 1/chance of being 'empty' (15) */
-#define LAKE_LEVEL 24 /* 1/chance of being a lake on the level */
-#define DARK_EMPTY 5 /* 1/chance of arena level NOT being lit (2) */
-#define DUN_CAVERN 20 /* 1/chance of having a cavern level */
+#define SAFE_MAX_ATTEMPTS 5000 /*!< 生成処理基本試行回数 */
-/*
- * Dungeon tunnel generation values
- */
-#define DUN_TUN_RND_MIN 5 /* Chance of random direction (was 10) */
-#define DUN_TUN_RND_MAX 20
-#define DUN_TUN_CHG_MIN 20 /* Chance of changing direction (was 30) */
-#define DUN_TUN_CHG_MAX 60
-#define DUN_TUN_CON_MIN 10 /* Chance of extra tunneling (was 15) */
-#define DUN_TUN_CON_MAX 40
-#define DUN_TUN_PEN_MIN 30 /* Chance of doors at room entrances (was 25) */
-#define DUN_TUN_PEN_MAX 70
-#define DUN_TUN_JCT_MIN 60 /* Chance of doors at tunnel junctions (was 90) */
-#define DUN_TUN_JCT_MAX 90
-
-extern int dun_rooms;
-
-extern int dun_tun_rnd;
-extern int dun_tun_chg;
-extern int dun_tun_con;
-extern int dun_tun_pen;
-extern int dun_tun_jct;
-/*
- * Dungeon streamer generation values
- */
-#define DUN_STR_DEN 5 /* Density of streamers */
-#define DUN_STR_RNG 5 /* Width of streamers */
-#define DUN_STR_MAG 6 /* Number of magma streamers */
-#define DUN_STR_MC 30 /* 1/chance of treasure per magma */
-#define DUN_STR_QUA 4 /* Number of quartz streamers */
-#define DUN_STR_QC 15 /* 1/chance of treasure per quartz */
-#define DUN_STR_WLW 1 /* Width of lava & water streamers -KMW- */
-#define DUN_STR_DWLW 8 /* Density of water & lava streams -KMW- */
-
-#define DUN_MOS_DEN 2 /* Density of moss streamers */
-#define DUN_MOS_RNG 10 /* Width of moss streamers */
-#define DUN_STR_MOS 2 /* Number of moss streamers */
-#define DUN_WAT_DEN 15 /* Density of rivers */
-#define DUN_WAT_RNG 2 /* Width of rivers */
-#define DUN_STR_WAT 3 /* Max number of rivers */
-#define DUN_WAT_CHG 50 /* 1 in 50 chance of junction in river */
-/*
- * Dungeon treausre allocation values
- */
-#define DUN_AMT_ROOM 9 /* Amount of objects for rooms */
-#define DUN_AMT_ITEM 3 /* Amount of objects for rooms/corridors */
-#define DUN_AMT_GOLD 3 /* Amount of treasure for rooms/corridors */
-#define DUN_AMT_INVIS 3 /* Amount of invisible walls for rooms/corridors */
+extern int dun_tun_rnd; /*!< ダンジョンの通路方向を掻き回す頻度(一回の試行ごとに%で判定している) */
+extern int dun_tun_chg; /*!< ダンジョンの通路をクランクさせる頻度(一回の試行ごとに%で判定している) */
+extern int dun_tun_con; /*!< ダンジョンの通路を継続して引き延ばす頻度(一回の試行ごとに%で判定している) */
+extern int dun_tun_pen; /*!< ダンジョンの部屋入口にドアを設置する頻度(一回の試行ごとに%で判定している) */
+extern int dun_tun_jct; /*!< ダンジョンの通路交差地点付近にドアを設置する頻度(一回の試行ごとに%で判定している) */
/*
* Hack -- Dungeon allocation "places"
};
extern dun_data *dun;
+
+extern bool place_quest_monsters(void);
+extern void wipe_generate_cave_flags(void);
+extern void clear_cave(void);
+extern void generate_cave(void);