From 498067a3d9c964536deeec832910d18aba59b81f Mon Sep 17 00:00:00 2001 From: deskull Date: Wed, 10 Apr 2019 23:04:47 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#37353=20RBM=5F*=20=E3=81=A8=20RBE?= =?utf8?q?=5F*=20=E3=82=92=E3=80=80monster=5Fblow=E3=80=80=E6=A7=8B?= =?utf8?q?=E9=80=A0=E4=BD=93=E3=81=AB=E7=A7=BB=E5=8B=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/defines.h | 72 ----------------------------------------------------------- src/types.h | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 72 deletions(-) diff --git a/src/defines.h b/src/defines.h index bbca3aa6d..9d303ebbe 100644 --- a/src/defines.h +++ b/src/defines.h @@ -2499,78 +2499,6 @@ #define AM_CURSED 0x00000010 /* Generate cursed/worthless items */ -/*** Monster blow constants ***/ - - -/*! - * @note モンスターの打撃方法 / New monster blow methods - * 打撃の種別に応じて傷と朦朧が発生するかがコメントの通りに決まる - */ -#define RBM_HIT 1 /*!< モンスターの攻撃種別:殴る(傷/朦朧が半々) */ -#define RBM_TOUCH 2 /*!< モンスターの攻撃種別:触る */ -#define RBM_PUNCH 3 /*!< モンスターの攻撃種別:パンチする(朦朧) */ -#define RBM_KICK 4 /*!< モンスターの攻撃種別:蹴る(朦朧) */ -#define RBM_CLAW 5 /*!< モンスターの攻撃種別:ひっかく(傷) */ -#define RBM_BITE 6 /*!< モンスターの攻撃種別:噛む(傷) */ -#define RBM_STING 7 /*!< モンスターの攻撃種別:刺す */ -#define RBM_SLASH 8 /*!< モンスターの攻撃種別:斬る(傷) */ -#define RBM_BUTT 9 /*!< モンスターの攻撃種別:角で突く(朦朧) */ -#define RBM_CRUSH 10 /*!< モンスターの攻撃種別:体当たりする(朦朧) */ -#define RBM_ENGULF 11 /*!< モンスターの攻撃種別:飲み込む */ -#define RBM_CHARGE 12 /*!< モンスターの攻撃種別:請求書を寄越す */ -#define RBM_CRAWL 13 /*!< モンスターの攻撃種別:体の上を這い回る */ -#define RBM_DROOL 14 /*!< モンスターの攻撃種別:よだれをたらす */ -#define RBM_SPIT 15 /*!< モンスターの攻撃種別:つばを吐く */ -#define RBM_EXPLODE 16 /*!< モンスターの攻撃種別:爆発する */ -#define RBM_GAZE 17 /*!< モンスターの攻撃種別:にらむ */ -#define RBM_WAIL 18 /*!< モンスターの攻撃種別:泣き叫ぶ */ -#define RBM_SPORE 19 /*!< モンスターの攻撃種別:胞子を飛ばす */ -#define RBM_XXX4 20 /*!< モンスターの攻撃種別:未定義 */ -#define RBM_BEG 21 /*!< モンスターの攻撃種別:金をせがむ */ -#define RBM_INSULT 22 /*!< モンスターの攻撃種別:侮辱する */ -#define RBM_MOAN 23 /*!< モンスターの攻撃種別:うめく */ -#define RBM_SHOW 24 /*!< モンスターの攻撃種別:歌う */ -#define RBM_SHOOT 25 /*!< モンスターの攻撃種別:射撃(非打撃) */ - - -/*! - * @note モンスターの攻撃効果 / New monster blow effects - */ -#define RBE_HURT 1 /*!< モンスターの攻撃効果: 攻撃する*/ -#define RBE_POISON 2 /*!< モンスターの攻撃効果: 毒をくらわす*/ -#define RBE_UN_BONUS 3 /*!< モンスターの攻撃効果: 劣化させる*/ -#define RBE_UN_POWER 4 /*!< モンスターの攻撃効果: 充填魔力を吸収する*/ -#define RBE_EAT_GOLD 5 /*!< モンスターの攻撃効果: 金を盗む*/ -#define RBE_EAT_ITEM 6 /*!< モンスターの攻撃効果: アイテムを盗む*/ -#define RBE_EAT_FOOD 7 /*!< モンスターの攻撃効果: あなたの食糧を食べる*/ -#define RBE_EAT_LITE 8 /*!< モンスターの攻撃効果: 明かりを吸収する*/ -#define RBE_ACID 9 /*!< モンスターの攻撃効果: 酸を飛ばす*/ -#define RBE_ELEC 10 /*!< モンスターの攻撃効果: 感電させる*/ -#define RBE_FIRE 11 /*!< モンスターの攻撃効果: 燃やす*/ -#define RBE_COLD 12 /*!< モンスターの攻撃効果: 凍らせる*/ -#define RBE_BLIND 13 /*!< モンスターの攻撃効果: 盲目にする*/ -#define RBE_CONFUSE 14 /*!< モンスターの攻撃効果: 混乱させる*/ -#define RBE_TERRIFY 15 /*!< モンスターの攻撃効果: 恐怖させる*/ -#define RBE_PARALYZE 16 /*!< モンスターの攻撃効果: 麻痺させる*/ -#define RBE_LOSE_STR 17 /*!< モンスターの攻撃効果: 腕力を減少させる*/ -#define RBE_LOSE_INT 18 /*!< モンスターの攻撃効果: 知能を減少させる*/ -#define RBE_LOSE_WIS 19 /*!< モンスターの攻撃効果: 賢さを減少させる*/ -#define RBE_LOSE_DEX 20 /*!< モンスターの攻撃効果: 器用さを減少させる*/ -#define RBE_LOSE_CON 21 /*!< モンスターの攻撃効果: 耐久力を減少させる*/ -#define RBE_LOSE_CHR 22 /*!< モンスターの攻撃効果: 魅力を減少させる*/ -#define RBE_LOSE_ALL 23 /*!< モンスターの攻撃効果: 全ステータスを減少させる*/ -#define RBE_SHATTER 24 /*!< モンスターの攻撃効果: 粉砕する*/ -#define RBE_EXP_10 25 /*!< モンスターの攻撃効果: 経験値を減少(10d6+)させる*/ -#define RBE_EXP_20 26 /*!< モンスターの攻撃効果: 経験値を減少(20d6+)させる*/ -#define RBE_EXP_40 27 /*!< モンスターの攻撃効果: 経験値を減少(40d6+)させる*/ -#define RBE_EXP_80 28 /*!< モンスターの攻撃効果: 経験値を減少(80d6+)させる*/ -#define RBE_DISEASE 29 /*!< モンスターの攻撃効果: 病気にする*/ -#define RBE_TIME 30 /*!< モンスターの攻撃効果: 時間を逆戻りさせる*/ -#define RBE_DR_LIFE 31 /*!< モンスターの攻撃効果: 生命力を吸収する*/ -#define RBE_DR_MANA 32 /*!< モンスターの攻撃効果: 魔力を奪う*/ -#define RBE_SUPERHURT 33 /*!< モンスターの攻撃効果: 強力に攻撃する*/ -#define RBE_INERTIA 34 /*!< モンスターの攻撃効果: 減速させる*/ -#define RBE_STUN 35 /*!< モンスターの攻撃効果: 朦朧とさせる*/ /*** Monster flag values (hard-coded) ***/ diff --git a/src/types.h b/src/types.h index 5ed183144..0b48ca045 100644 --- a/src/types.h +++ b/src/types.h @@ -253,8 +253,77 @@ typedef struct monster_blow monster_blow; struct monster_blow { + /*! + * @note モンスターの打撃方法 / New monster blow methods + * 打撃の種別に応じて傷と朦朧が発生するかがコメントの通りに決まる + */ BLOW_METHOD method; + #define RBM_HIT 1 /*!< モンスターの攻撃種別:殴る(傷/朦朧が半々) */ + #define RBM_TOUCH 2 /*!< モンスターの攻撃種別:触る */ + #define RBM_PUNCH 3 /*!< モンスターの攻撃種別:パンチする(朦朧) */ + #define RBM_KICK 4 /*!< モンスターの攻撃種別:蹴る(朦朧) */ + #define RBM_CLAW 5 /*!< モンスターの攻撃種別:ひっかく(傷) */ + #define RBM_BITE 6 /*!< モンスターの攻撃種別:噛む(傷) */ + #define RBM_STING 7 /*!< モンスターの攻撃種別:刺す */ + #define RBM_SLASH 8 /*!< モンスターの攻撃種別:斬る(傷) */ + #define RBM_BUTT 9 /*!< モンスターの攻撃種別:角で突く(朦朧) */ + #define RBM_CRUSH 10 /*!< モンスターの攻撃種別:体当たりする(朦朧) */ + #define RBM_ENGULF 11 /*!< モンスターの攻撃種別:飲み込む */ + #define RBM_CHARGE 12 /*!< モンスターの攻撃種別:請求書を寄越す */ + #define RBM_CRAWL 13 /*!< モンスターの攻撃種別:体の上を這い回る */ + #define RBM_DROOL 14 /*!< モンスターの攻撃種別:よだれをたらす */ + #define RBM_SPIT 15 /*!< モンスターの攻撃種別:つばを吐く */ + #define RBM_EXPLODE 16 /*!< モンスターの攻撃種別:爆発する */ + #define RBM_GAZE 17 /*!< モンスターの攻撃種別:にらむ */ + #define RBM_WAIL 18 /*!< モンスターの攻撃種別:泣き叫ぶ */ + #define RBM_SPORE 19 /*!< モンスターの攻撃種別:胞子を飛ばす */ + #define RBM_XXX4 20 /*!< モンスターの攻撃種別:未定義 */ + #define RBM_BEG 21 /*!< モンスターの攻撃種別:金をせがむ */ + #define RBM_INSULT 22 /*!< モンスターの攻撃種別:侮辱する */ + #define RBM_MOAN 23 /*!< モンスターの攻撃種別:うめく */ + #define RBM_SHOW 24 /*!< モンスターの攻撃種別:歌う */ + #define RBM_SHOOT 25 /*!< モンスターの攻撃種別:射撃(非打撃) */ + + /*! + * @note モンスターの攻撃効果 / New monster blow effects + */ BLOW_EFFECT effect; + #define RBE_HURT 1 /*!< モンスターの攻撃効果: 攻撃する*/ + #define RBE_POISON 2 /*!< モンスターの攻撃効果: 毒をくらわす*/ + #define RBE_UN_BONUS 3 /*!< モンスターの攻撃効果: 劣化させる*/ + #define RBE_UN_POWER 4 /*!< モンスターの攻撃効果: 充填魔力を吸収する*/ + #define RBE_EAT_GOLD 5 /*!< モンスターの攻撃効果: 金を盗む*/ + #define RBE_EAT_ITEM 6 /*!< モンスターの攻撃効果: アイテムを盗む*/ + #define RBE_EAT_FOOD 7 /*!< モンスターの攻撃効果: あなたの食糧を食べる*/ + #define RBE_EAT_LITE 8 /*!< モンスターの攻撃効果: 明かりを吸収する*/ + #define RBE_ACID 9 /*!< モンスターの攻撃効果: 酸を飛ばす*/ + #define RBE_ELEC 10 /*!< モンスターの攻撃効果: 感電させる*/ + #define RBE_FIRE 11 /*!< モンスターの攻撃効果: 燃やす*/ + #define RBE_COLD 12 /*!< モンスターの攻撃効果: 凍らせる*/ + #define RBE_BLIND 13 /*!< モンスターの攻撃効果: 盲目にする*/ + #define RBE_CONFUSE 14 /*!< モンスターの攻撃効果: 混乱させる*/ + #define RBE_TERRIFY 15 /*!< モンスターの攻撃効果: 恐怖させる*/ + #define RBE_PARALYZE 16 /*!< モンスターの攻撃効果: 麻痺させる*/ + #define RBE_LOSE_STR 17 /*!< モンスターの攻撃効果: 腕力を減少させる*/ + #define RBE_LOSE_INT 18 /*!< モンスターの攻撃効果: 知能を減少させる*/ + #define RBE_LOSE_WIS 19 /*!< モンスターの攻撃効果: 賢さを減少させる*/ + #define RBE_LOSE_DEX 20 /*!< モンスターの攻撃効果: 器用さを減少させる*/ + #define RBE_LOSE_CON 21 /*!< モンスターの攻撃効果: 耐久力を減少させる*/ + #define RBE_LOSE_CHR 22 /*!< モンスターの攻撃効果: 魅力を減少させる*/ + #define RBE_LOSE_ALL 23 /*!< モンスターの攻撃効果: 全ステータスを減少させる*/ + #define RBE_SHATTER 24 /*!< モンスターの攻撃効果: 粉砕する*/ + #define RBE_EXP_10 25 /*!< モンスターの攻撃効果: 経験値を減少(10d6+)させる*/ + #define RBE_EXP_20 26 /*!< モンスターの攻撃効果: 経験値を減少(20d6+)させる*/ + #define RBE_EXP_40 27 /*!< モンスターの攻撃効果: 経験値を減少(40d6+)させる*/ + #define RBE_EXP_80 28 /*!< モンスターの攻撃効果: 経験値を減少(80d6+)させる*/ + #define RBE_DISEASE 29 /*!< モンスターの攻撃効果: 病気にする*/ + #define RBE_TIME 30 /*!< モンスターの攻撃効果: 時間を逆戻りさせる*/ + #define RBE_DR_LIFE 31 /*!< モンスターの攻撃効果: 生命力を吸収する*/ + #define RBE_DR_MANA 32 /*!< モンスターの攻撃効果: 魔力を奪う*/ + #define RBE_SUPERHURT 33 /*!< モンスターの攻撃効果: 強力に攻撃する*/ + #define RBE_INERTIA 34 /*!< モンスターの攻撃効果: 減速させる*/ + #define RBE_STUN 35 /*!< モンスターの攻撃効果: 朦朧とさせる*/ + DICE_NUMBER d_dice; DICE_SID d_side; }; @@ -628,6 +697,7 @@ struct monster_race BIT_FLAGS a_ability_flags4; /* Activate Ability Flags 8 (implementing) */ monster_blow blow[4]; /* Up to four blows per round */ + MONRACE_IDX reinforce_id[6]; DICE_NUMBER reinforce_dd[6]; DICE_SID reinforce_ds[6]; -- 2.11.0