OSDN Git Service

[Fix] 自傷フラグの自動生成スポイラー対応
[hengbandforosx/hengbandosx.git] / src / wizard / spoiler-table.h
1 #pragma once
2
3 #include "object-enchant/tr-types.h"
4 #include "object/tval-types.h"
5 #include "system/angband.h"
6
7 #include <vector>
8
9 #define MAX_STAT_FLAGS_DESCRIPTION 6
10 #define MAX_PVAL_FLAGS_DESCRIPTION 7
11 #define MAX_SLAY_FLAGS_DESCRIPTION 20
12 #define MAX_BRAND_FLAGS_DESCRIPTION 12
13 #define MAX_RESISTANCE_FLAGS_DESCRIPTION 19
14 #define MAX_IMMUNITY_FLAGS_DESCRIPTION 4
15 #define MAX_SUSTAINER_FLAGS_DESCRIPTION 6
16 #define MAX_MISC2_FLAGS_DESCRIPTION 4
17 #define MAX_MISC3_FLAGS_DESCRIPTION 36
18
19 /* A tval grouper */
20 struct grouper {
21     std::vector<ItemKindType> tval_set;
22     concptr name;
23 };
24
25 /*
26  * Pair together a constant flag with a textual description.
27  * Note that it sometimes more efficient to actually make an array
28  * of textual names, where entry 'N' is assumed to be paired with
29  * the flag whose value is "1UL << N", but that requires hard-coding.
30  */
31 typedef struct flag_desc {
32     tr_type flag;
33     concptr desc;
34 } flag_desc;
35
36 extern const std::vector<grouper> group_item_list;
37 extern const std::vector<grouper> group_artifact_list;
38 extern flag_desc stat_flags_desc[MAX_STAT_FLAGS_DESCRIPTION];
39 extern flag_desc pval_flags1_desc[MAX_PVAL_FLAGS_DESCRIPTION];
40 extern flag_desc slay_flags_desc[MAX_SLAY_FLAGS_DESCRIPTION];
41 extern flag_desc brand_flags_desc[MAX_BRAND_FLAGS_DESCRIPTION];
42 extern const flag_desc resist_flags_desc[MAX_RESISTANCE_FLAGS_DESCRIPTION];
43 extern const flag_desc immune_flags_desc[MAX_IMMUNITY_FLAGS_DESCRIPTION];
44 extern const flag_desc sustain_flags_desc[MAX_SUSTAINER_FLAGS_DESCRIPTION];
45 extern const flag_desc misc_flags2_desc[MAX_MISC2_FLAGS_DESCRIPTION];
46 extern const flag_desc misc_flags3_desc[MAX_MISC3_FLAGS_DESCRIPTION];