blob: b15cf9fe71070424f3c268e2b96be73ec9599284 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#pragma once
#include "h-basic.h"
#include "rule_type.hpp"
#include "obj_theme.hpp"
#include "dungeon_flag_set.hpp"
#include <array>
/**
* Maximum number of towns per dungeon
*/
constexpr int TOWN_DUNGEON = 4;
/* A structure for the != dungeon types */
struct dungeon_info_type
{
const char *name = nullptr; /* Name */
char *text = nullptr; /* Description */
char short_name[3] = { 0 }; /* Short name */
char generator[30] = { 0 }; /* Name of the level generator */
s16b floor1 = 0; /* Floor tile 1 */
byte floor_percent1[2] = { 0 }; /* Chance of type 1 */
s16b floor2 = 0; /* Floor tile 2 */
byte floor_percent2[2] = { 0 }; /* Chance of type 2 */
s16b floor3 = 0; /* Floor tile 3 */
byte floor_percent3[2] = { 0 }; /* Chance of type 3 */
s16b outer_wall = 0; /* Outer wall tile */
s16b inner_wall = 0; /* Inner wall tile */
s16b fill_type1 = 0; /* Cave tile 1 */
byte fill_percent1[2] = { 0 }; /* Chance of type 1 */
s16b fill_type2 = 0; /* Cave tile 2 */
byte fill_percent2[2] = { 0 }; /* Chance of type 2 */
s16b fill_type3 = 0; /* Cave tile 3 */
byte fill_percent3[2] = { 0 }; /* Chance of type 3 */
byte fill_method = 0; /* Smoothing parameter for the above */
s16b mindepth = 0; /* Minimal depth */
s16b maxdepth = 0; /* Maximal depth */
bool_ principal = 0; /* If it's a part of the main dungeon */
byte min_plev = 0; /* Minimal plev needed to enter -- it's an anti-cheating mesure */
int min_m_alloc_level = 0; /* Minimal number of monsters per level */
int max_m_alloc_chance = 0; /* There is a 1/max_m_alloc_chance chance per round of creating a new monster */
dungeon_flag_set flags { }; /* Dungeon flags */
int size_x = 0;
int size_y = 0;
byte rule_percents[100] = {0}; /* Flat rule percents */
std::array<rule_type, 5> rules { }; /* Monster generation rules */
int final_object = 0; /* The object you'll find at the bottom */
int final_artifact = 0; /* The artifact you'll find at the bottom */
int final_guardian = 0; /* The artifact's guardian. If an artifact is specified, then it's NEEDED */
int ix = 0; /* Wilderness coordinates of entrance */
int iy = 0; /* Wilderness coordinates of entrance */
int ox = 0; /* Wilderness coordinates of exit */
int oy = 0; /* Wilderness coordinates of exit */
obj_theme objs; /* The drops type */
int d_dice[4] = { 0 }; /* Number of dices */
int d_side[4] = { 0 }; /* Number of sides */
int d_frequency[4] = { 0 }; /* Frequency of damage (1 is the minimum) */
int d_type[4] = { 0 }; /* Type of damage */
s16b t_idx[TOWN_DUNGEON] = { 0 }; /* The towns */
s16b t_level[TOWN_DUNGEON] = { 0 }; /* The towns levels */
s16b t_num = 0; /* Number of towns */
};
|