1 #include "info-reader/baseitem-tokens-table.h"
8 const std::unordered_map<std::string_view, tr_type> baseitem_flags = {
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 },
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 },
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 },
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 },
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 },
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 },
181 * オブジェクト生成特性トークンの定義 /
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 },