OSDN Git Service

[Refactor] rbm_type を enum class 化しつつ RaceBlowMethodType に改名。
[hengbandforosx/hengbandosx.git] / src / monster-attack / monster-attack-types.h
1 #pragma once
2
3 #include "monster-attack/monster-attack-effect.h"
4 #include "system/angband.h"
5 #include "effect/attribute-types.h"
6
7 /*!
8  * @note モンスターの打撃方法 / New monster blow methods
9  * 打撃の種別に応じて傷と朦朧が発生するかがコメントの通りに決まる
10  *
11  * "Race Blow Method" の略。
12  * 実装の都合上、0 から始まる連番でなければならない。
13  */
14 enum class RaceBlowMethodType {
15     NONE = 0,
16     HIT = 1, /*!< モンスターの攻撃種別:殴る(傷/朦朧が半々) */
17     TOUCH = 2, /*!< モンスターの攻撃種別:触る */
18     PUNCH = 3, /*!< モンスターの攻撃種別:パンチする(朦朧) */
19     KICK = 4, /*!< モンスターの攻撃種別:蹴る(朦朧) */
20     CLAW = 5, /*!< モンスターの攻撃種別:ひっかく(傷) */
21     BITE = 6, /*!< モンスターの攻撃種別:噛む(傷) */
22     STING = 7, /*!< モンスターの攻撃種別:刺す */
23     SLASH = 8, /*!< モンスターの攻撃種別:斬る(傷) */
24     BUTT = 9, /*!< モンスターの攻撃種別:角で突く(朦朧) */
25     CRUSH = 10, /*!< モンスターの攻撃種別:体当たりする(朦朧) */
26     ENGULF = 11, /*!< モンスターの攻撃種別:飲み込む */
27     CHARGE = 12, /*!< モンスターの攻撃種別:請求書を寄越す */
28     CRAWL = 13, /*!< モンスターの攻撃種別:体の上を這い回る */
29     DROOL = 14, /*!< モンスターの攻撃種別:よだれをたらす */
30     SPIT = 15, /*!< モンスターの攻撃種別:つばを吐く */
31     EXPLODE = 16, /*!< モンスターの攻撃種別:爆発する */
32     GAZE = 17, /*!< モンスターの攻撃種別:にらむ */
33     WAIL = 18, /*!< モンスターの攻撃種別:泣き叫ぶ */
34     SPORE = 19, /*!< モンスターの攻撃種別:胞子を飛ばす */
35     XXX4 = 20, /*!< モンスターの攻撃種別:未定義 */
36     BEG = 21, /*!< モンスターの攻撃種別:金をせがむ */
37     INSULT = 22, /*!< モンスターの攻撃種別:侮辱する */
38     MOAN = 23, /*!< モンスターの攻撃種別:うめく */
39     SHOW = 24, /*!< モンスターの攻撃種別:歌う */
40     SHOOT = 25, /*!< モンスターの攻撃種別:射撃(非打撃) */
41
42     MAX, /*!< enum バリアント数 */
43 };
44
45 typedef struct mbe_info_type {
46     int power; /* The attack "power" */
47     AttributeType explode_type; /* Explosion effect */
48 } mbe_info_type;
49
50 extern const mbe_info_type mbe_info[static_cast<int>(RaceBlowEffectType::MAX)];