OSDN Git Service

[Refactor] 不要なmonsterrace_hook_typeへのキャストを削除
[hengbandforosx/hengbandosx.git] / src / smith / smith-types.h
1 #pragma once
2
3 #include "system/system-variables.h"
4
5 /**
6  * @brief アイテムに付与できる鍛冶効果の列挙体
7  */
8 enum class SmithEffectType : int16_t {
9     NONE = 0,
10     STR = 1, //!< 腕力
11     INT = 2, //!< 知能
12     WIS = 3, //!< 賢さ
13     DEX = 4, //!< 器用さ
14     CON = 5, //!< 耐久力
15     CHR = 6, //!< 魅力
16
17     SUST_STR = 10, //!< 腕力維持
18     SUST_INT = 11, //!< 知能維持
19     SUST_WIS = 12, //!< 賢さ維持
20     SUST_DEX = 13, //!< 器用維持
21     SUST_CON = 14, //!< 耐久力維持
22     SUST_CHR = 15, //!< 魅力維持
23
24     MAGIC_MASTERY = 100, //!< 魔法道具支配
25     STEALTH = 101, //!< 隠密
26     SEARCH = 102, //!< 探索
27     INFRA = 103, //!< 赤外線視力
28     TUNNEL = 104, //!< 採掘
29     SPEED = 105, //!< スピード
30     BLOWS = 106, //!< 追加攻撃
31
32     CHAOTIC = 200, //!< カオス攻撃
33     VAMPIRIC = 201, //!< 吸血攻撃
34     EARTHQUAKE = 202, //!< 地震発動
35     BRAND_POIS = 203, //!< 毒殺
36     BRAND_ACID = 204, //!< 溶解
37     BRAND_ELEC = 205, //!< 電撃
38     BRAND_FIRE = 206, //!< 焼棄
39     BRAND_COLD = 207, //!< 凍結
40     VORPAL = 208, //!< 切れ味
41     XTRA_MIGHT = 209, //!< 強力射
42     XTRA_SHOTS = 210, //!< 強速射
43     BRAND_MAGIC = 211, //!< 魔術属性攻撃
44
45     IM_ACID = 300, //!< 酸免疫
46     IM_ELEC = 301, //!< 電撃免疫
47     IM_FIRE = 302, //!< 火炎免疫
48     IM_COLD = 303, //!< 冷気免疫
49     REFLECT = 304, //!< 反射
50
51     RES_ACID = 400, //!< 耐酸
52     RES_ELEC = 401, //!< 耐電撃
53     RES_FIRE = 402, //!< 耐火炎
54     RES_COLD = 403, //!< 耐冷気
55     RES_POIS = 404, //!< 耐毒
56     RES_FEAR = 405, //!< 耐恐怖
57     RES_LITE = 406, //!< 耐閃光
58     RES_DARK = 407, //!< 耐暗黒
59     RES_BLIND = 408, //!< 耐盲目
60     RES_CONF = 409, //!< 耐混乱
61     RES_SOUND = 410, //!< 耐轟音
62     RES_SHARDS = 411, //!< 耐破片
63     RES_NETHER = 412, //!< 耐地獄
64     RES_NEXUS = 413, //!< 耐因果混乱
65     RES_CHAOS = 414, //!< 耐カオス
66     RES_DISEN = 415, //!< 耐劣化
67     RES_WATER = 416, //!< 耐水
68     RES_TIME = 417, //!< 耐時間逆転
69     RES_CURSE = 418, //!< 耐呪力
70
71     HOLD_EXP = 500, //!< 経験値維持
72     FREE_ACT = 501, //!< 麻痺知らず
73     WARNING = 502, //!< 警告
74     LEVITATION = 503, //!< 浮遊
75     SEE_INVIS = 504, //!< 可視透明
76     SLOW_DIGEST = 505, //!< 遅消化
77     REGEN = 506, //!< 急速回復
78     TELEPORT = 507, //!< テレポート
79     NO_MAGIC = 508, //!< 反魔法
80     LITE = 509, //!< 永久光源
81     NO_TELE = 510, //!< 反テレポート
82
83     SLAY_EVIL = 600, //!< 邪悪倍打
84     SLAY_ANIMAL = 601, //!< 動物倍打
85     SLAY_UNDEAD = 602, //!< 不死倍打
86     SLAY_DEMON = 603, //!< 悪魔倍打
87     SLAY_ORC = 604, //!< オーク倍打
88     SLAY_TROLL = 605, //!< トロル倍打
89     SLAY_GIANT = 606, //!< 巨人倍打
90     SLAY_DRAGON = 607, //!< 竜倍打
91     SLAY_HUMAN = 608, //!< 人間倍打
92     SLAY_GOOD = 609, //!< 善良倍打
93
94     KILL_EVIL = 700, //!< 邪悪倍倍打
95     KILL_ANIMAL = 701, //!< 動物倍倍打
96     KILL_UNDEAD = 702, //!< 不死倍倍打
97     KILL_DEMON = 703, //!< 悪魔倍倍打
98     KILL_ORC = 704, //!< オーク倍倍打
99     KILL_TROLL = 705, //!< トロル倍倍打
100     KILL_GIANT = 706, //!< 巨人倍倍打
101     KILL_DRAGON = 707, //!< 竜倍倍打
102     KILL_HUMAN = 708, //!< 人間倍倍打
103     KILL_GOOD = 709, //!< 善良倍倍打
104
105     TELEPATHY = 800, //!< テレパシー
106     ESP_ANIMAL = 801, //!< 動物ESP
107     ESP_UNDEAD = 802, //!< 不死ESP
108     ESP_DEMON = 803, //!< 悪魔ESP
109     ESP_ORC = 804, //!< オークESP
110     ESP_TROLL = 805, //!< トロルESP
111     ESP_GIANT = 806, //!< 巨人ESP
112     ESP_DRAGON = 807, //!< 竜ESP
113     ESP_HUMAN = 808, //!< 人間ESP
114     ESP_GOOD = 809, //!< 善良ESP
115     ESP_UNIQUE = 810, //!< ユニークESP
116
117     SH_FIRE = 900, //!< 火炎オーラ
118     SH_ELEC = 901, //!< 電撃オーラ
119     SH_COLD = 902, //!< 冷気オーラ
120
121     RESISTANCE = 1000, //!< 全耐性
122     SLAY_GLOVE = 1001, //!< 殺戮の小手
123     EASY_2WEAPON = 1002, //!< 二刀流
124
125     SAVE_EFFECT_MAX = 8192, //!< 鍛冶師の銘付きアイテムに付与された鍛冶効果の保存領域は2バイト。とりあえず余裕を持って8192としておく。
126
127     //! @note これ以降は鍛冶師の銘付きアイテムになる鍛冶効果ではないので、効果番号を保存しなくてよい。
128     //  鍛冶効果のリストを管理するためだけのものである。したがって SAVE_EFFECT_MAX 以降に自動的に番号の割り振りを行う
129     ACT_QUAKE, //!< 地震発動
130     ACT_RES_ACID, //!< 酸耐性発動
131     ACT_RES_ELEC, //!< 電撃耐性発動
132     ACT_RES_FIRE, //!< 火炎耐性発動
133     ACT_RES_COLD, //!< 冷気耐性発動
134     ACT_RES_POIS, //!< 毒耐性発動
135     ACT_PHASE_DOOR, //!< ショート・テレポート発動
136     ACT_TELEPORT, //!< テレポート発動
137     ACT_SPEED, //!< 加速発動
138     ACT_STONE_MUD, //!< 岩石溶解発動
139     ACT_LIGHT, //!< イルミネーション発動
140     ACT_REST_EXP, //!< 経験値復活発動
141     ACT_REST_ALL, //!< 全ステータスと経験値復活発動
142     ACT_PROT_EVIL, //!< 対邪悪結界発動
143     ACT_DISP_EVIL, //!< 邪悪退散発動
144     ACT_DISP_GOOD, //!< 善良退散発動
145     ACT_PESTICIDE, //!< 害虫駆除発動
146     ACT_BA_ACID, //!< アシッド・ボール発動
147     ACT_BA_ELEC, //!< サンダー・ボール発動
148     ACT_BA_FIRE, //!< ファイア・ボール発動
149     ACT_BA_COLD, //!< アイス・ボール発動
150     ACT_BA_NUKE, //!< 放射能球発動
151     ACT_SUNLIGHT, //!< 太陽光線発動
152     ACT_DRAIN, //!< 吸血の矢発動
153     ACT_CONFUSE, //!< パニック・モンスター発動
154     ACT_DETECT_ALL, //!< 全感知発動
155     ACT_DETECT_UNIQUE, //!< ユニークモンスター感知発動
156     ACT_MAP_LIGHT, //!< 魔法の地図と光発動
157     ACT_SATIATE, //!< 空腹充足発動
158     ACT_CURE_700, //!< 体力回復発動
159
160     ATTACK, //!< 命中/ダメージ強化
161     AC, //!< AC強化
162     SUSTAIN, //!< 装備保持
163 };
164
165 /**
166  * @brief アイテムに付与できる鍛冶効果のカテゴリ
167  */
168 enum class SmithCategoryType {
169     NONE = 0,
170     WEAPON_ATTR = 1, //!< 武器属性
171     RESISTANCE = 2, //!< 耐性
172     ABILITY = 3, //!< 能力
173     PVAL = 4, //!< 数値
174     SLAYING = 5, //!< スレイ
175     ESP = 6, //!< ESP
176     ETC = 7, //!< その他
177     ACTIVATION = 8, //!< 発動
178     ENCHANT = 10, //!< 武器防具強化
179 };
180
181 /**
182  * @brief 鍛冶エッセンスの列挙体
183  */
184 enum class SmithEssenceType : int16_t {
185     NONE = 0,
186     STR = 1, //!< 腕力
187     INT = 2, //!< 知能
188     WIS = 3, //!< 賢さ
189     DEX = 4, //!< 器用さ
190     CON = 5, //!< 耐久力
191     CHR = 6, //!< 魅力
192     MAGIC_MASTERY = 7, //!< 魔法道具支配
193     STEALTH = 8, //!< 隠密
194     SEARCH = 9, //!< 探索
195     INFRA = 10, //!< 赤外線視力
196     TUNNEL = 11, //!< 採掘
197     SPEED = 12, //!< スピード
198     BLOWS = 13, //!< 攻撃回数
199     CHAOTIC = 14, //!< カオス攻撃
200     VAMPIRIC = 15, //!< 吸血攻撃
201     EATHQUAKE = 16, //!< 地震
202     BRAND_POIS = 17, //!< 毒殺
203     BRAND_ACID = 18, //!< 溶解
204     BRAND_ELEC = 19, //!< 電撃
205     BRAND_FIRE = 20, //!< 焼棄
206     BRAND_COLD = 21, //!< 凍結
207     SUST_STATUS = 22, //!< 能力値維持(6能力値共通)
208     IMMUNITY = 23, //!< 免疫(4元素共通)
209     REFLECT = 24, //!< 反射
210     FREE_ACT = 25, //!< 麻痺知らず
211     HOLD_EXP = 26, //!< 経験値維持
212     RES_ACID = 27, //!< 耐酸
213     RES_ELEC = 28, //!< 耐電撃
214     RES_FIRE = 29, //!< 耐火炎
215     RES_COLD = 30, //!< 耐冷気
216     RES_POIS = 31, //!< 耐毒
217     RES_FEAR = 32, //!< 耐恐怖
218     RES_LITE = 33, //!< 耐閃光
219     RES_DARK = 34, //!< 耐暗黒
220     RES_BLIND = 35, //!< 耐盲目
221     RES_CONF = 36, //!< 耐混乱
222     RES_SOUND = 37, //!< 耐轟音
223     RES_SHARDS = 38, //!< 耐破片
224     RES_NETHER = 39, //!< 耐地獄
225     RES_NEXUS = 40, //!< 耐因果混乱
226     RES_CHAOS = 41, //!< 耐カオス
227     RES_DISEN = 42, //!< 耐劣化
228     NO_MAGIC = 43, //!< 反魔法
229     WARNING = 44, //!< 警告
230     LEVITATION = 45, //!< 浮遊
231     LITE = 46, //!< 永久光源
232     SEE_INVIS = 47, //!< 可視透明
233     TELEPATHY = 48, //!< テレパシー
234     SLOW_DIGEST = 49, //!< 遅消化
235     REGEN = 50, //!< 急速回復
236     TELEPORT = 51, //!< テレポート
237
238     SLAY_EVIL = 52, //!< 邪悪倍打
239     SLAY_ANIMAL = 53, //!< 動物倍打
240     SLAY_UNDEAD = 54, //!< 不死倍打
241     SLAY_DEMON = 55, //!< 悪魔倍打
242     SLAY_ORC = 56, //!< オーク倍打
243     SLAY_TROLL = 57, //!< トロル倍打
244     SLAY_GIANT = 58, //!< 巨人倍打
245     SLAY_DRAGON = 59, //!< 竜倍打
246     SLAY_HUMAN = 60, //!< 人間倍打
247     SLAY_GOOD = 61, //!< 善良倍打
248
249     RES_WATER = 62, //!< 耐水
250     RES_TIME = 63, //!< 耐時間逆転
251     RES_CURSE = 64, //!< 耐呪力
252     NO_TELE = 65, //!< 反テレポート
253     EASY2_WEAPON = 66, //!< 二刀流
254     STRENGTHEN_BOW = 67, //!< 弓強化
255     BRAND_MAGIC = 68, //!< 魔術属性攻撃
256     UNIQUE = 69, //!< ユニーク
257
258     ATTACK = 100, //!< 攻撃
259     AC = 101, //!< 防御
260 };