* @note モンスターの攻撃効果 / New monster blow effects
*/
typedef enum rbe_type {
+ RBE_NONE = 0,
RBE_HURT = 1, /*!< モンスターの攻撃効果: 攻撃する*/
RBE_POISON = 2, /*!< モンスターの攻撃効果: 毒をくらわす*/
RBE_UN_BONUS = 3, /*!< モンスターの攻撃効果: 劣化させる*/
HIT_POINT power = 0;
monap_ptr->damage = 0;
monap_ptr->act = NULL;
- int effect = r_ptr->blow[ap_cnt].effect;
+ monap_ptr->effect = r_ptr->blow[ap_cnt].effect;
monap_ptr->method = r_ptr->blow[ap_cnt].method;
monap_ptr->d_dice = r_ptr->blow[ap_cnt].d_dice;
monap_ptr->d_side = r_ptr->blow[ap_cnt].d_side;
if (monap_ptr->method == RBM_SHOOT)
continue;
- power = mbe_info[effect].power;
+ power = mbe_info[monap_ptr->effect].power;
ac = target_ptr->ac + target_ptr->to_a;
- if (!effect || check_hit_from_monster_to_player(target_ptr, power, monap_ptr->rlev, MON_STUNNED(monap_ptr->m_ptr))) {
+ if (!monap_ptr->effect || check_hit_from_monster_to_player(target_ptr, power, monap_ptr->rlev, MON_STUNNED(monap_ptr->m_ptr))) {
disturb(target_ptr, TRUE, TRUE);
if (effect_protecion_from_evil(target_ptr, monap_ptr))
continue;
if (monap_ptr->explode)
monap_ptr->damage = 0;
- switch (effect) {
- case 0: {
+ switch (monap_ptr->effect) {
+ case RBE_NONE: {
monap_ptr->obvious = TRUE;
monap_ptr->damage = 0;
break;
#include "floor/wild.h"
#include "view/display-main-window.h"
#include "player/player-class.h"
+#include "combat/monster-attack-effect.h"
#include "combat/monster-attack-types.h"
#include "main/init.h"
if (*t == 'd') *t++ = '\0';
r_ptr->blow[i].method = (rbm_type)n1;
- r_ptr->blow[i].effect = (BLOW_EFFECT)n2;
+ r_ptr->blow[i].effect = (rbe_type)n2;
r_ptr->blow[i].d_dice = atoi(s);
r_ptr->blow[i].d_side = atoi(t);
}
typedef int QUANTITY; /*!< インターフェース上の指定個数 */
-typedef byte BLOW_EFFECT; /*!< モンスターの打撃効果ID */
-
typedef int EFFECT_ID; /*!< 効果属性ID */
typedef s16b QUEST_TYPE; /*!< クエストの種別ID */