OSDN Git Service

[Refactor] enum spells-typeをenum class AttributeTypeに置換
[hengbandforosx/hengbandosx.git] / src / melee / melee-switcher.cpp
index 1c6e4ce..2975e61 100644 (file)
@@ -14,7 +14,7 @@
 #include "system/player-type-definition.h"
 #include "view/display-messages.h"
 
-void describe_melee_method(player_type *subject_ptr, mam_type *mam_ptr)
+void describe_melee_method(player_type *player_ptr, mam_type *mam_ptr)
 {
     switch (mam_ptr->method) {
     case RBM_HIT: {
@@ -93,7 +93,7 @@ void describe_melee_method(player_type *subject_ptr, mam_type *mam_ptr)
     }
     case RBM_EXPLODE: {
         if (mam_ptr->see_either)
-            disturb(subject_ptr, TRUE, TRUE);
+            disturb(player_ptr, true, true);
 
         mam_ptr->act = _("爆発した。", "explodes.");
         mam_ptr->explode = true;
@@ -148,107 +148,110 @@ void describe_melee_method(player_type *subject_ptr, mam_type *mam_ptr)
     }
 }
 
-void decide_monster_attack_effect(player_type *subject_ptr, mam_type *mam_ptr)
+void decide_monster_attack_effect(player_type *player_ptr, mam_type *mam_ptr)
 {
     switch (mam_ptr->effect) {
-    case 0:
-    case RBE_DR_MANA:
+    case RaceBlowEffectType::NONE:
+    case RaceBlowEffectType::DR_MANA:
         mam_ptr->damage = 0;
-        mam_ptr->pt = GF_NONE;
+        mam_ptr->pt = AttributeType::NONE;
         break;
-    case RBE_SUPERHURT:
+    case RaceBlowEffectType::SUPERHURT:
         if ((randint1(mam_ptr->rlev * 2 + 250) > (mam_ptr->ac + 200)) || one_in_(13)) {
             int tmp_damage = mam_ptr->damage - (mam_ptr->damage * ((mam_ptr->ac < 150) ? mam_ptr->ac : 150) / 250);
-            mam_ptr->damage = MAX(mam_ptr->damage, tmp_damage * 2);
+            mam_ptr->damage = std::max(mam_ptr->damage, tmp_damage * 2);
             break;
         }
 
         /* Fall through */
-    case RBE_HURT:
+    case RaceBlowEffectType::HURT:
         mam_ptr->damage -= (mam_ptr->damage * ((mam_ptr->ac < 150) ? mam_ptr->ac : 150) / 250);
         break;
-    case RBE_POISON:
-    case RBE_DISEASE:
-        mam_ptr->pt = GF_POIS;
+    case RaceBlowEffectType::POISON:
+    case RaceBlowEffectType::DISEASE:
+        mam_ptr->pt = AttributeType::POIS;
         break;
-    case RBE_UN_BONUS:
-    case RBE_UN_POWER:
-        mam_ptr->pt = GF_DISENCHANT;
+    case RaceBlowEffectType::UN_BONUS:
+    case RaceBlowEffectType::UN_POWER:
+        mam_ptr->pt = AttributeType::DISENCHANT;
         break;
-    case RBE_EAT_ITEM:
-    case RBE_EAT_GOLD:
-        if ((subject_ptr->riding != mam_ptr->m_idx) && one_in_(2))
+    case RaceBlowEffectType::EAT_ITEM:
+    case RaceBlowEffectType::EAT_GOLD:
+        if ((player_ptr->riding != mam_ptr->m_idx) && one_in_(2))
             mam_ptr->blinked = true;
 
         break;
-    case RBE_EAT_FOOD:
-    case RBE_EAT_LITE:
-    case RBE_BLIND:
-    case RBE_LOSE_STR:
-    case RBE_LOSE_INT:
-    case RBE_LOSE_WIS:
-    case RBE_LOSE_DEX:
-    case RBE_LOSE_CON:
-    case RBE_LOSE_CHR:
-    case RBE_LOSE_ALL:
+    case RaceBlowEffectType::EAT_FOOD:
+    case RaceBlowEffectType::EAT_LITE:
+    case RaceBlowEffectType::BLIND:
+    case RaceBlowEffectType::LOSE_STR:
+    case RaceBlowEffectType::LOSE_INT:
+    case RaceBlowEffectType::LOSE_WIS:
+    case RaceBlowEffectType::LOSE_DEX:
+    case RaceBlowEffectType::LOSE_CON:
+    case RaceBlowEffectType::LOSE_CHR:
+    case RaceBlowEffectType::LOSE_ALL:
         break;
-    case RBE_ACID:
-        mam_ptr->pt = GF_ACID;
+    case RaceBlowEffectType::ACID:
+        mam_ptr->pt = AttributeType::ACID;
         break;
-    case RBE_ELEC:
-        mam_ptr->pt = GF_ELEC;
+    case RaceBlowEffectType::ELEC:
+        mam_ptr->pt = AttributeType::ELEC;
         break;
-    case RBE_FIRE:
-        mam_ptr->pt = GF_FIRE;
+    case RaceBlowEffectType::FIRE:
+        mam_ptr->pt = AttributeType::FIRE;
         break;
-    case RBE_COLD:
-        mam_ptr->pt = GF_COLD;
+    case RaceBlowEffectType::COLD:
+        mam_ptr->pt = AttributeType::COLD;
         break;
-    case RBE_CONFUSE:
-        mam_ptr->pt = GF_CONFUSION;
+    case RaceBlowEffectType::CONFUSE:
+        mam_ptr->pt = AttributeType::CONFUSION;
         break;
-    case RBE_TERRIFY:
-        mam_ptr->effect_type = BLOW_EFFECT_TYPE_FEAR;
+    case RaceBlowEffectType::TERRIFY:
+        mam_ptr->attribute = BLOW_EFFECT_TYPE_FEAR;
         break;
-    case RBE_PARALYZE:
-        mam_ptr->effect_type = BLOW_EFFECT_TYPE_SLEEP;
+    case RaceBlowEffectType::PARALYZE:
+        mam_ptr->attribute = BLOW_EFFECT_TYPE_SLEEP;
         break;
-    case RBE_SHATTER:
+    case RaceBlowEffectType::SHATTER:
         mam_ptr->damage -= (mam_ptr->damage * ((mam_ptr->ac < 150) ? mam_ptr->ac : 150) / 250);
         if (mam_ptr->damage > 23)
-            earthquake(subject_ptr, mam_ptr->m_ptr->fy, mam_ptr->m_ptr->fx, 8, mam_ptr->m_idx);
+            earthquake(player_ptr, mam_ptr->m_ptr->fy, mam_ptr->m_ptr->fx, 8, mam_ptr->m_idx);
 
         break;
-    case RBE_EXP_10:
-    case RBE_EXP_20:
-    case RBE_EXP_40:
-    case RBE_EXP_80:
-        mam_ptr->pt = GF_NETHER;
+    case RaceBlowEffectType::EXP_10:
+    case RaceBlowEffectType::EXP_20:
+    case RaceBlowEffectType::EXP_40:
+    case RaceBlowEffectType::EXP_80:
+        mam_ptr->pt = AttributeType::NETHER;
         break;
-    case RBE_TIME:
-        mam_ptr->pt = GF_TIME;
+    case RaceBlowEffectType::TIME:
+        mam_ptr->pt = AttributeType::TIME;
         break;
-    case RBE_DR_LIFE:
-        mam_ptr->pt = GF_HYPODYNAMIA;
-        mam_ptr->effect_type = BLOW_EFFECT_TYPE_HEAL;
+    case RaceBlowEffectType::DR_LIFE:
+        mam_ptr->pt = AttributeType::HYPODYNAMIA;
+        mam_ptr->attribute = BLOW_EFFECT_TYPE_HEAL;
         break;
-    case RBE_INERTIA:
-        mam_ptr->pt = GF_INERTIAL;
+    case RaceBlowEffectType::INERTIA:
+        mam_ptr->pt = AttributeType::INERTIAL;
         break;
-    case RBE_STUN:
-        mam_ptr->pt = GF_SOUND;
+    case RaceBlowEffectType::STUN:
+        mam_ptr->pt = AttributeType::SOUND;
         break;
-    case RBE_FLAVOR:
+    case RaceBlowEffectType::HUNGRY:
+        mam_ptr->pt = AttributeType::HUNGRY;
+        break;
+    case RaceBlowEffectType::FLAVOR:
         // フレーバー打撃には何の効果もない。
-        mam_ptr->pt = GF_NONE;
+        mam_ptr->pt = AttributeType::NONE;
         break;
     default:
-        mam_ptr->pt = GF_NONE;
+        mam_ptr->pt = AttributeType::NONE;
         break;
     }
 }
 
-void describe_monster_missed_monster(player_type *subject_ptr, mam_type *mam_ptr)
+void describe_monster_missed_monster(player_type *player_ptr, mam_type *mam_ptr)
 {
     switch (mam_ptr->method) {
     case RBM_HIT:
@@ -263,7 +266,7 @@ void describe_monster_missed_monster(player_type *subject_ptr, mam_type *mam_ptr
     case RBM_CRUSH:
     case RBM_ENGULF:
     case RBM_CHARGE: {
-        (void)set_monster_csleep(subject_ptr, mam_ptr->t_idx, 0);
+        (void)set_monster_csleep(player_ptr, mam_ptr->t_idx, 0);
         if (mam_ptr->see_m) {
 #ifdef JP
             msg_format("%sは%^sの攻撃をかわした。", mam_ptr->t_name, mam_ptr->m_name);