OSDN Git Service

[Refactor] #2204 HIT_POINTエイリアスをintに揃えた
[hengbandforosx/hengbandosx.git] / src / realm / realm-nature.cpp
index 80807ce..f7ae208 100644 (file)
@@ -27,7 +27,7 @@
 #include "spell-kind/spells-perception.h"
 #include "spell-kind/spells-sight.h"
 #include "spell-realm/spells-nature.h"
-#include "spell/spell-types.h"
+#include "effect/attribute-types.h"
 #include "spell/spells-diceroll.h"
 #include "spell/spells-object.h"
 #include "spell/spells-status.h"
  * @brief 自然領域魔法の各処理を行う
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param spell 魔法ID
- * @param mode 処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
- * @return SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はnullptr文字列を返す。
+ * @param mode 処理内容 (SpellProcessType::NAME / SPELL_DESC / SpellProcessType::INFO / SpellProcessType::CAST)
+ * @return SpellProcessType::NAME / SPELL_DESC / SpellProcessType::INFO 時には文字列ポインタを返す。SpellProcessType::CAST時はnullptr文字列を返す。
  */
-concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mode)
+concptr do_nature_spell(PlayerType *player_ptr, SPELL_IDX spell, SpellProcessType mode)
 {
-    bool name = mode == SPELL_NAME;
-    bool desc = mode == SPELL_DESCRIPTION;
-    bool info = mode == SPELL_INFO;
-    bool cast = mode == SPELL_CAST;
+    bool name = mode == SpellProcessType::NAME;
+    bool desc = mode == SpellProcessType::DESCRIPTION;
+    bool info = mode == SpellProcessType::INFO;
+    bool cast = mode == SpellProcessType::CAST;
 
     DIRECTION dir;
     PLAYER_LEVEL plev = player_ptr->lev;
@@ -97,7 +97,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
                 if (!get_aim_dir(player_ptr, &dir))
                     return nullptr;
 
-                fire_beam(player_ptr, GF_ELEC, dir, damroll(dice, sides));
+                fire_beam(player_ptr, AttributeType::ELEC, dir, damroll(dice, sides));
             }
         }
         break;
@@ -130,7 +130,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
 
         {
             if (cast) {
-                object_type forge, *q_ptr = &forge;
+                ObjectType forge, *q_ptr = &forge;
                 msg_print(_("食料を生成した。", "A food ration is produced."));
 
                 /* Create the food ration */
@@ -160,7 +160,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
                 lite_area(player_ptr, damroll(dice, sides), rad);
 
                 PlayerRace race(player_ptr);
-                if (race.life() == PlayerRaceLife::UNDEAD && race.tr_flags().has(TR_VUL_LITE) && !has_resist_lite(player_ptr)) {
+                if (race.life() == PlayerRaceLifeType::UNDEAD && race.tr_flags().has(TR_VUL_LITE) && !has_resist_lite(player_ptr)) {
                     msg_print(_("日の光があなたの肉体を焦がした!", "The daylight scorches your flesh!"));
                     take_hit(player_ptr, DAMAGE_NOESCAPE, damroll(2, 2), _("日の光", "daylight"));
                 }
@@ -272,7 +272,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             if (cast) {
                 if (!get_aim_dir(player_ptr, &dir))
                     return nullptr;
-                fire_bolt_or_beam(player_ptr, beam_chance(player_ptr) - 10, GF_COLD, dir, damroll(dice, sides));
+                fire_bolt_or_beam(player_ptr, beam_chance(player_ptr) - 10, AttributeType::COLD, dir, damroll(dice, sides));
             }
         }
         break;
@@ -317,7 +317,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             if (cast) {
                 if (!get_aim_dir(player_ptr, &dir))
                     return nullptr;
-                fire_bolt_or_beam(player_ptr, beam_chance(player_ptr) - 10, GF_FIRE, dir, damroll(dice, sides));
+                fire_bolt_or_beam(player_ptr, beam_chance(player_ptr) - 10, AttributeType::FIRE, dir, damroll(dice, sides));
             }
         }
         break;
@@ -548,7 +548,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             return _("巨大な冷気の球を放つ。", "Fires a huge ball of cold.");
 
         {
-            HIT_POINT dam = 70 + plev * 3 / 2;
+            int dam = 70 + plev * 3 / 2;
             POSITION rad = plev / 12 + 1;
 
             if (info)
@@ -558,7 +558,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
                 if (!get_aim_dir(player_ptr, &dir))
                     return nullptr;
 
-                fire_ball(player_ptr, GF_COLD, dir, dam, rad);
+                fire_ball(player_ptr, AttributeType::COLD, dir, dam, rad);
             }
         }
         break;
@@ -570,7 +570,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             return _("巨大な電撃の球を放つ。", "Fires a huge electric ball.");
 
         {
-            HIT_POINT dam = 90 + plev * 3 / 2;
+            int dam = 90 + plev * 3 / 2;
             POSITION rad = plev / 12 + 1;
 
             if (info)
@@ -579,7 +579,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             if (cast) {
                 if (!get_aim_dir(player_ptr, &dir))
                     return nullptr;
-                fire_ball(player_ptr, GF_ELEC, dir, dam, rad);
+                fire_ball(player_ptr, AttributeType::ELEC, dir, dam, rad);
                 break;
             }
         }
@@ -592,7 +592,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             return _("巨大な水の球を放つ。", "Fires a huge ball of water.");
 
         {
-            HIT_POINT dam = 100 + plev * 3 / 2;
+            int dam = 100 + plev * 3 / 2;
             POSITION rad = plev / 12 + 1;
 
             if (info)
@@ -601,7 +601,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             if (cast) {
                 if (!get_aim_dir(player_ptr, &dir))
                     return nullptr;
-                fire_ball(player_ptr, GF_WATER, dir, dam, rad);
+                fire_ball(player_ptr, AttributeType::WATER, dir, dam, rad);
             }
         }
         break;
@@ -614,20 +614,20 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
                 "Generates ball of light centered on you. Maps and lights whole dungeon level. Knows all objects location.");
 
         {
-            HIT_POINT dam = 150;
+            int dam = 150;
             POSITION rad = 8;
 
             if (info)
                 return info_damage(0, 0, dam / 2);
 
             if (cast) {
-                fire_ball(player_ptr, GF_LITE, 0, dam, rad);
+                fire_ball(player_ptr, AttributeType::LITE, 0, dam, rad);
                 chg_virtue(player_ptr, V_KNOWLEDGE, 1);
                 chg_virtue(player_ptr, V_ENLIGHTEN, 1);
                 wiz_lite(player_ptr, false);
 
                 PlayerRace race(player_ptr);
-                if (race.life() == PlayerRaceLife::UNDEAD && race.tr_flags().has(TR_VUL_LITE) && !has_resist_lite(player_ptr)) {
+                if (race.life() == PlayerRaceLifeType::UNDEAD && race.tr_flags().has(TR_VUL_LITE) && !has_resist_lite(player_ptr)) {
                     msg_print(_("日光があなたの肉体を焦がした!", "The sunlight scorches your flesh!"));
                     take_hit(player_ptr, DAMAGE_NOESCAPE, 50, _("日光", "sunlight"));
                 }
@@ -667,7 +667,7 @@ concptr do_nature_spell(player_type *player_ptr, SPELL_IDX spell, spell_type mod
             if (cast) {
                 dispel_monsters(player_ptr, d_dam);
                 earthquake(player_ptr, player_ptr->y, player_ptr->x, q_rad, 0);
-                project(player_ptr, 0, b_rad, player_ptr->y, player_ptr->x, b_dam, GF_DISINTEGRATE, PROJECT_KILL | PROJECT_ITEM);
+                project(player_ptr, 0, b_rad, player_ptr->y, player_ptr->x, b_dam, AttributeType::DISINTEGRATE, PROJECT_KILL | PROJECT_ITEM);
             }
         }
         break;