OSDN Git Service

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