OSDN Git Service

[Refactor] #37353 autopick.h を作成して関連構造体と変数を移動.
[hengband/hengband.git] / src / dungeon.h
1 #pragma once
2
3 /* A structure for the != dungeon types */
4 typedef struct dungeon_type dungeon_type;
5 struct dungeon_type {
6
7         STR_OFFSET name; /* Name */
8         STR_OFFSET text; /* Description */
9
10         POSITION dy;
11         POSITION dx;
12
13         feat_prob floor[DUNGEON_FEAT_PROB_NUM]; /* Floor probability */
14         feat_prob fill[DUNGEON_FEAT_PROB_NUM];  /* Cave wall probability */
15         FEAT_IDX outer_wall;                        /* Outer wall tile */
16         FEAT_IDX inner_wall;                        /* Inner wall tile */
17         FEAT_IDX stream1;                           /* stream tile */
18         FEAT_IDX stream2;                           /* stream tile */
19
20         DEPTH mindepth;         /* Minimal depth */
21         DEPTH maxdepth;         /* Maximal depth */
22         PLAYER_LEVEL min_plev;         /* Minimal plev needed to enter -- it's an anti-cheating mesure */
23         BIT_FLAGS16 pit;
24         BIT_FLAGS16 nest;
25         BIT_FLAGS8 mode; /* Mode of combinaison of the monster flags */
26
27         int min_m_alloc_level;  /* Minimal number of monsters per level */
28         int max_m_alloc_chance; /* There is a 1/max_m_alloc_chance chance per round of creating a new monster */
29
30         BIT_FLAGS flags1;               /* Flags 1 */
31
32         BIT_FLAGS mflags1;              /* The monster flags that are allowed */
33         BIT_FLAGS mflags2;
34         BIT_FLAGS mflags3;
35         BIT_FLAGS mflags4;
36         BIT_FLAGS mflags7;
37         BIT_FLAGS mflags8;
38         BIT_FLAGS mflags9;
39         BIT_FLAGS mflagsr;
40
41         BIT_FLAGS m_a_ability_flags1;
42         BIT_FLAGS m_a_ability_flags2;
43         BIT_FLAGS m_a_ability_flags3;
44         BIT_FLAGS m_a_ability_flags4;
45
46         char r_char[5];         /* Monster race allowed */
47         KIND_OBJECT_IDX final_object;   /* The object you'll find at the bottom */
48         ARTIFACT_IDX final_artifact;    /* The artifact you'll find at the bottom */
49         MONRACE_IDX final_guardian;     /* The artifact's guardian. If an artifact is specified, then it's NEEDED */
50
51         PROB special_div;       /* % of monsters affected by the flags/races allowed, to add some variety */
52         int tunnel_percent;
53         int obj_great;
54         int obj_good;
55 };
56
57 extern dungeon_type *d_info;
58 extern char *d_name;
59 extern char *d_text;