OSDN Git Service

[Refactor] #37353 PROJECT_* 定義を新規ファイル projection.h へ移動。 / Move PROJECT_* definition...
[hengband/hengband.git] / src / realm-sorcery.c
index d76a14d..6de9178 100644 (file)
@@ -1,6 +1,7 @@
 #include "angband.h"
 #include "cmd-spell.h"
 #include "selfinfo.h"
+#include "projection.h"
 
 /*!
 * @brief 仙術領域魔法の各処理を行う
@@ -8,7 +9,7 @@
 * @param mode 処理内容 (SPELL_NAME / SPELL_DESC / SPELL_INFO / SPELL_CAST)
 * @return SPELL_NAME / SPELL_DESC / SPELL_INFO 時には文字列ポインタを返す。SPELL_CAST時はNULL文字列を返す。
 */
-cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
+concptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 {
        bool name = (mode == SPELL_NAME) ? TRUE : FALSE;
        bool desc = (mode == SPELL_DESC) ? TRUE : FALSE;
@@ -76,7 +77,7 @@ cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 
                {
                        DICE_NUMBER dice = 2;
-                       int sides = plev / 2;
+                       DICE_SID sides = plev / 2;
                        POSITION rad = plev / 10 + 1;
 
                        if (info) return info_damage(dice, sides, 0);
@@ -242,7 +243,7 @@ cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 
                {
                        int base = plev;
-                       int sides = 20 + plev;
+                       DICE_SID sides = 20 + plev;
 
                        if (info) return info_duration(base, sides);
 
@@ -324,7 +325,7 @@ cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 
                {
                        int base = 25;
-                       int sides = 30;
+                       DICE_SID sides = 30;
 
                        if (info) return info_duration(base, sides);
 
@@ -380,13 +381,13 @@ cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 
                {
                        int base = 15;
-                       int sides = 20;
+                       DICE_SID sides = 20;
 
                        if (info) return info_delay(base, sides);
 
                        if (cast)
                        {
-                               if (!word_of_recall()) return NULL;
+                               if (!recall_player(p_ptr, randint0(21) + 15)) return NULL;
                        }
                }
                break;
@@ -428,7 +429,7 @@ cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 
                {
                        DICE_NUMBER dice = 7;
-                       int sides = 7;
+                       DICE_SID sides = 7;
                        int base = plev;
 
                        if (info) return info_damage(dice, sides, base);
@@ -465,7 +466,7 @@ cptr do_sorcery_spell(SPELL_IDX spell, BIT_FLAGS mode)
 
                {
                        int base = 25;
-                       int sides = 30;
+                       DICE_SID sides = 30;
 
                        if (info) return info_duration(base, sides);