OSDN Git Service

Merge pull request #3569 from sikabane-works/release/3.0.0.88-alpha
[hengbandforosx/hengbandosx.git] / src / info-reader / baseitem-tokens-table.cpp
1 #include "info-reader/baseitem-tokens-table.h"
2
3 // clang-format off
4 /*!
5  * オブジェクト基本特性トークンの定義 /
6  * Object flags
7  */
8 const std::unordered_map<std::string_view, tr_type> baseitem_flags = {
9     { "STR", TR_STR },
10     { "INT", TR_INT },
11     { "WIS", TR_WIS },
12     { "DEX", TR_DEX },
13     { "CON", TR_CON },
14     { "CHR", TR_CHR },
15     { "MAGIC_MASTERY", TR_MAGIC_MASTERY },
16     { "FORCE_WEAPON", TR_FORCE_WEAPON },
17     { "STEALTH", TR_STEALTH },
18     { "SEARCH", TR_SEARCH },
19     { "INFRA", TR_INFRA },
20     { "TUNNEL", TR_TUNNEL },
21     { "SPEED", TR_SPEED },
22     { "BLOWS", TR_BLOWS },
23     { "CHAOTIC", TR_CHAOTIC },
24     { "VAMPIRIC", TR_VAMPIRIC },
25     { "SLAY_ANIMAL", TR_SLAY_ANIMAL },
26     { "SLAY_EVIL", TR_SLAY_EVIL },
27     { "SLAY_UNDEAD", TR_SLAY_UNDEAD },
28     { "SLAY_DEMON", TR_SLAY_DEMON },
29     { "SLAY_ORC", TR_SLAY_ORC },
30     { "SLAY_TROLL", TR_SLAY_TROLL },
31     { "SLAY_GIANT", TR_SLAY_GIANT },
32     { "SLAY_DRAGON", TR_SLAY_DRAGON },
33     { "KILL_DRAGON", TR_KILL_DRAGON },
34     { "VORPAL", TR_VORPAL },
35     { "EARTHQUAKE", TR_EARTHQUAKE },
36     { "BRAND_POIS", TR_BRAND_POIS },
37     { "BRAND_ACID", TR_BRAND_ACID },
38     { "BRAND_ELEC", TR_BRAND_ELEC },
39     { "BRAND_FIRE", TR_BRAND_FIRE },
40     { "BRAND_COLD", TR_BRAND_COLD },
41
42     { "SUST_STR", TR_SUST_STR },
43     { "SUST_INT", TR_SUST_INT },
44     { "SUST_WIS", TR_SUST_WIS },
45     { "SUST_DEX", TR_SUST_DEX },
46     { "SUST_CON", TR_SUST_CON },
47     { "SUST_CHR", TR_SUST_CHR },
48     { "RIDING", TR_RIDING },
49     { "EASY_SPELL", TR_EASY_SPELL },
50     { "IM_ACID", TR_IM_ACID },
51     { "IM_ELEC", TR_IM_ELEC },
52     { "IM_FIRE", TR_IM_FIRE },
53     { "IM_COLD", TR_IM_COLD },
54     { "THROW", TR_THROW },
55     { "REFLECT", TR_REFLECT },
56     { "FREE_ACT", TR_FREE_ACT },
57     { "HOLD_EXP", TR_HOLD_EXP },
58     { "RES_ACID", TR_RES_ACID },
59     { "RES_ELEC", TR_RES_ELEC },
60     { "RES_FIRE", TR_RES_FIRE },
61     { "RES_COLD", TR_RES_COLD },
62     { "RES_POIS", TR_RES_POIS },
63     { "RES_FEAR", TR_RES_FEAR },
64     { "RES_LITE", TR_RES_LITE },
65     { "RES_DARK", TR_RES_DARK },
66     { "RES_BLIND", TR_RES_BLIND },
67     { "RES_CONF", TR_RES_CONF },
68     { "RES_SOUND", TR_RES_SOUND },
69     { "RES_SHARDS", TR_RES_SHARDS },
70     { "RES_NETHER", TR_RES_NETHER },
71     { "RES_NEXUS", TR_RES_NEXUS },
72     { "RES_CHAOS", TR_RES_CHAOS },
73     { "RES_DISEN", TR_RES_DISEN },
74
75     { "SH_FIRE", TR_SH_FIRE },
76     { "SH_ELEC", TR_SH_ELEC },
77     { "SLAY_HUMAN", TR_SLAY_HUMAN },
78     { "SH_COLD", TR_SH_COLD },
79     { "NO_TELE", TR_NO_TELE },
80     { "NO_MAGIC", TR_NO_MAGIC },
81     { "DEC_MANA", TR_DEC_MANA },
82     { "TY_CURSE", TR_TY_CURSE },
83     { "WARNING", TR_WARNING },
84     { "HIDE_TYPE", TR_HIDE_TYPE },
85     { "SHOW_MODS", TR_SHOW_MODS },
86     { "SLAY_GOOD", TR_SLAY_GOOD },
87     { "LEVITATION", TR_LEVITATION },
88     { "LITE", TR_LITE_1 }, //<! @note 古い書式
89     { "SEE_INVIS", TR_SEE_INVIS },
90     { "TELEPATHY", TR_TELEPATHY },
91     { "SLOW_DIGEST", TR_SLOW_DIGEST },
92     { "REGEN", TR_REGEN },
93     { "XTRA_MIGHT", TR_XTRA_MIGHT },
94     { "XTRA_SHOTS", TR_XTRA_SHOTS },
95     { "IGNORE_ACID", TR_IGNORE_ACID },
96     { "IGNORE_ELEC", TR_IGNORE_ELEC },
97     { "IGNORE_FIRE", TR_IGNORE_FIRE },
98     { "IGNORE_COLD", TR_IGNORE_COLD },
99     { "ACTIVATE", TR_ACTIVATE },
100     { "DRAIN_EXP", TR_DRAIN_EXP },
101     { "TELEPORT", TR_TELEPORT },
102     { "AGGRAVATE", TR_AGGRAVATE },
103     { "BLESSED", TR_BLESSED },
104     /* { "XXX3", TR_XXX3 }, Fake flag for Smith */
105     /* { "XXX4", TR_XXX4 }, Fake flag for Smith */
106     { "KILL_GOOD", TR_KILL_GOOD },
107
108     { "KILL_ANIMAL", TR_KILL_ANIMAL },
109     { "KILL_EVIL", TR_KILL_EVIL },
110     { "KILL_UNDEAD", TR_KILL_UNDEAD },
111     { "KILL_DEMON", TR_KILL_DEMON },
112     { "KILL_ORC", TR_KILL_ORC },
113     { "KILL_TROLL", TR_KILL_TROLL },
114     { "KILL_GIANT", TR_KILL_GIANT },
115     { "KILL_HUMAN", TR_KILL_HUMAN },
116     { "ESP_ANIMAL", TR_ESP_ANIMAL },
117     { "ESP_UNDEAD", TR_ESP_UNDEAD },
118     { "ESP_DEMON", TR_ESP_DEMON },
119     { "ESP_ORC", TR_ESP_ORC },
120     { "ESP_TROLL", TR_ESP_TROLL },
121     { "ESP_GIANT", TR_ESP_GIANT },
122     { "ESP_DRAGON", TR_ESP_DRAGON },
123     { "ESP_HUMAN", TR_ESP_HUMAN },
124     { "ESP_EVIL", TR_ESP_EVIL },
125     { "ESP_GOOD", TR_ESP_GOOD },
126     { "ESP_NONLIVING", TR_ESP_NONLIVING },
127     { "ESP_UNIQUE", TR_ESP_UNIQUE },
128     { "FULL_NAME", TR_FULL_NAME },
129     { "FIXED_FLAVOR", TR_FIXED_FLAVOR },
130     { "ADD_L_CURSE", TR_ADD_L_CURSE },
131     { "ADD_H_CURSE", TR_ADD_H_CURSE },
132     { "DRAIN_HP", TR_DRAIN_HP },
133     { "DRAIN_MANA", TR_DRAIN_MANA },
134
135     { "LITE_1", TR_LITE_1 },
136     { "LITE_2", TR_LITE_2 },
137     { "LITE_3", TR_LITE_3 },
138     { "LITE_M1", TR_LITE_M1 },
139     { "LITE_M2", TR_LITE_M2 },
140     { "LITE_M3", TR_LITE_M3 },
141     { "LITE_FUEL", TR_LITE_FUEL },
142
143     { "CALL_ANIMAL", TR_CALL_ANIMAL },
144     { "CALL_DEMON", TR_CALL_DEMON },
145     { "CALL_DRAGON", TR_CALL_DRAGON },
146     { "CALL_UNDEAD", TR_CALL_UNDEAD },
147     { "COWARDICE", TR_COWARDICE },
148     { "LOW_MELEE", TR_LOW_MELEE },
149     { "LOW_AC", TR_LOW_AC },
150     { "HARD_SPELL", TR_HARD_SPELL },
151     { "FAST_DIGEST", TR_FAST_DIGEST },
152     { "SLOW_REGEN", TR_SLOW_REGEN },
153     { "MIGHTY_THROW", TR_MIGHTY_THROW },
154     { "EASY2_WEAPON", TR_EASY2_WEAPON },
155     { "DOWN_SAVING", TR_DOWN_SAVING },
156     { "NO_AC", TR_NO_AC },
157     { "HEAVY_SPELL", TR_HEAVY_SPELL },
158     { "RES_TIME", TR_RES_TIME },
159     { "RES_WATER", TR_RES_WATER },
160     { "INVULN_ARROW", TR_INVULN_ARROW },
161     { "DARK_SOURCE", TR_DARK_SOURCE },
162     { "SUPPORTIVE", TR_SUPPORTIVE },
163     { "RES_CURSE", TR_RES_CURSE },
164     { "BERS_RAGE", TR_BERS_RAGE },
165     { "BRAND_MAGIC", TR_BRAND_MAGIC },
166     { "IMPACT", TR_IMPACT },
167     { "VUL_ACID", TR_VUL_ACID },
168     { "VUL_COLD", TR_VUL_COLD },
169     { "VUL_ELEC", TR_VUL_ELEC },
170     { "VUL_FIRE", TR_VUL_FIRE },
171     { "VUL_LITE", TR_VUL_LITE },
172     { "IM_DARK", TR_IM_DARK },
173     { "SELF_FIRE", TR_SELF_FIRE },
174     { "SELF_COLD", TR_SELF_COLD },
175     { "SELF_ELEC", TR_SELF_ELEC },
176     { "PERSISTENT_CURSE", TR_PERSISTENT_CURSE },
177     { "VUL_CURSE", TR_VUL_CURSE },
178 };
179
180 /*!
181  * オブジェクト生成特性トークンの定義 /
182  * Object flags
183  */
184 const std::unordered_map<std::string_view, ItemGenerationTraitType> baseitem_geneneration_flags = {
185     { "INSTA_ART", ItemGenerationTraitType::INSTA_ART },
186     { "QUESTITEM", ItemGenerationTraitType::QUESTITEM },
187     { "XTRA_POWER", ItemGenerationTraitType::XTRA_POWER },
188     { "ONE_SUSTAIN", ItemGenerationTraitType::ONE_SUSTAIN },
189     { "XTRA_RES_OR_POWER", ItemGenerationTraitType::XTRA_RES_OR_POWER },
190     { "XTRA_H_RES", ItemGenerationTraitType::XTRA_H_RES },
191     { "XTRA_E_RES", ItemGenerationTraitType::XTRA_E_RES },
192     { "XTRA_L_RES", ItemGenerationTraitType::XTRA_L_RES },
193     { "XTRA_D_RES", ItemGenerationTraitType::XTRA_D_RES },
194     { "XTRA_RES", ItemGenerationTraitType::XTRA_RES },
195     { "CURSED", ItemGenerationTraitType::CURSED },
196     { "HEAVY_CURSE", ItemGenerationTraitType::HEAVY_CURSE },
197     { "PERMA_CURSE", ItemGenerationTraitType::PERMA_CURSE },
198     { "RANDOM_CURSE0", ItemGenerationTraitType::RANDOM_CURSE0 },
199     { "RANDOM_CURSE1", ItemGenerationTraitType::RANDOM_CURSE1 },
200     { "RANDOM_CURSE2", ItemGenerationTraitType::RANDOM_CURSE2 },
201     { "XTRA_DICE", ItemGenerationTraitType::XTRA_DICE },
202     { "POWERFUL", ItemGenerationTraitType::POWERFUL },
203     { "LIGHT_WEIGHT", ItemGenerationTraitType::LIGHT_WEIGHT },
204     { "HEAVY_WEIGHT", ItemGenerationTraitType::HEAVY_WEIGHT },
205     { "XTRA_AC", ItemGenerationTraitType::XTRA_AC },
206     { "HIGH_TELEPATHY", ItemGenerationTraitType::HIGH_TELEPATHY },
207     { "LOW_TELEPATHY", ItemGenerationTraitType::LOW_TELEPATHY },
208     { "XTRA_L_ESP", ItemGenerationTraitType::XTRA_L_ESP },
209     { "MOD_ACCURACY", ItemGenerationTraitType::MOD_ACCURACY },
210     { "MOD_VELOCITY", ItemGenerationTraitType::MOD_VELOCITY },
211     { "XTRA_DICE_SIDE", ItemGenerationTraitType::XTRA_DICE_SIDE },
212     { "ADD_DICE", ItemGenerationTraitType::ADD_DICE },
213     { "DOUBLED_DICE", ItemGenerationTraitType::DOUBLED_DICE },
214 };
215 // clang-format on