OSDN Git Service

[Refactor] #40482 Separated mind-mage.c/h from spells3.c/h
authorHourier <hourier@users.sourceforge.jp>
Sat, 27 Jun 2020 13:40:28 +0000 (22:40 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sat, 27 Jun 2020 13:40:28 +0000 (22:40 +0900)
14 files changed:
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/cmd-action/cmd-mane.c
src/core/stuff-handler.c
src/core/stuff-handler.h
src/mind/mind-mage.c [new file with mode: 0644]
src/mind/mind-mage.h [new file with mode: 0644]
src/mind/racial.c
src/mutation/mutation.c
src/object/object-kind.c
src/object/object-kind.h
src/spell/spells3.c
src/spell/spells3.h

index 0825bcf..c6c4db5 100644 (file)
     <ClCompile Include="..\..\src\io\input-key-acceptor.c" />\r
     <ClCompile Include="..\..\src\io\input-key-requester.c" />\r
     <ClCompile Include="..\..\src\locale\vowel-checker.c" />\r
+    <ClCompile Include="..\..\src\mind\mind-mage.c" />\r
     <ClCompile Include="..\..\src\mind\racial-kutar.c" />\r
     <ClCompile Include="..\..\src\mind\stances-table.c" />\r
     <ClCompile Include="..\..\src\player\bad-status-setter.c" />\r
     <ClInclude Include="..\..\src\locale\language-switcher.h" />\r
     <ClInclude Include="..\..\src\locale\vowel-checker.h" />\r
     <ClInclude Include="..\..\src\mind\mind-blue-mage.h" />\r
+    <ClInclude Include="..\..\src\mind\mind-mage.h" />\r
     <ClInclude Include="..\..\src\mind\racial-kutar.h" />\r
     <ClInclude Include="..\..\src\mind\stances-table.h" />\r
     <ClInclude Include="..\..\src\mspell\monster-power-table.h" />\r
index b572d75..f3d2a16 100644 (file)
     <ClCompile Include="..\..\src\spell-kind\spells-perception.c">
       <Filter>spell-kind</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\mind\mind-mage.c">
+      <Filter>mind</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\cmd\cmd-basic.h">
     <ClInclude Include="..\..\src\spell-kind\spells-perception.h">
       <Filter>spell-kind</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\mind\mind-mage.h">
+      <Filter>mind</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 3030032..ed0112b 100644 (file)
@@ -304,6 +304,7 @@ hengband_SOURCES = \
        mind/mind-blue-mage.h \
        mind/mind-cavalry.c mind/mind-cavalry.h \
        mind/mind-force-trainer.c mind/mind-force-trainer.h \
+       mind/mind-mage.c mind/mind-mage.h \
        mind/mind-mindcrafter.c mind/mind-mindcrafter.h \
        mind/mind-mirror-master.c mind/mind-mirror-master.h \
        mind/mind-ninja.c mind/mind-ninja.h \
index d98222c..5cf0f78 100644 (file)
@@ -20,6 +20,7 @@
 #include "io/targeting.h"
 #include "main/sound-definitions-table.h"
 #include "main/sound-of-music.h"
+#include "mind/mind-mage.h"
 #include "monster-race/monster-race.h"
 #include "monster-race/race-flags1.h"
 #include "monster-race/race-flags-resistance.h"
index 8f5bacf..4b1e833 100644 (file)
@@ -48,3 +48,22 @@ void health_track(player_type *player_ptr, MONSTER_IDX m_idx)
     player_ptr->health_who = m_idx;
     player_ptr->redraw |= (PR_HEALTH);
 }
+
+bool update_player(player_type *caster_ptr)
+{
+    caster_ptr->update |= PU_COMBINE | PU_REORDER;
+    caster_ptr->window |= PW_INVEN;
+    return TRUE;
+}
+
+bool redraw_player(player_type *caster_ptr)
+{
+    if (caster_ptr->csp > caster_ptr->msp) {
+        caster_ptr->csp = caster_ptr->msp;
+    }
+
+    caster_ptr->redraw |= PR_MANA;
+    caster_ptr->update |= PU_COMBINE | PU_REORDER;
+    caster_ptr->window |= PW_INVEN;
+    return TRUE;
+}
index ba27a93..054dfd2 100644 (file)
@@ -6,3 +6,6 @@ void handle_stuff(player_type* player_ptr);
 void monster_race_track(player_type *player_ptr, MONRACE_IDX r_idx);
 void object_kind_track(player_type *player_ptr, KIND_OBJECT_IDX k_idx);
 void health_track(player_type *player_ptr, MONSTER_IDX m_idx);
+
+bool update_player(player_type *caster_ptr);
+bool redraw_player(player_type *caster_ptr);
diff --git a/src/mind/mind-mage.c b/src/mind/mind-mage.c
new file mode 100644 (file)
index 0000000..2daaba4
--- /dev/null
@@ -0,0 +1,188 @@
+#include "mind/mind-mage.h"
+#include "core/stuff-handler.h"
+#include "inventory/inventory-object.h"
+#include "inventory/player-inventory.h"
+#include "object-enchant/special-object-flags.h"
+#include "object/item-use-flags.h"
+#include "object/object-flavor.h"
+#include "object/object-hook.h"
+#include "object/object-kind.h"
+#include "player/player-class.h"
+#include "system/object-type-definition.h"
+#include "view/display-messages.h"
+
+/*!
+ * @brief 魔力食い処理
+ * @param caster_ptr プレーヤーへの参照ポインタ
+ * @param power 基本効力
+ * @return ターンを消費した場合TRUEを返す
+ */
+bool eat_magic(player_type *caster_ptr, int power)
+{
+    byte fail_type = 1;
+    GAME_TEXT o_name[MAX_NLEN];
+
+    item_tester_hook = item_tester_hook_recharge;
+
+    concptr q = _("どのアイテムから魔力を吸収しますか?", "Drain which item? ");
+    concptr s = _("魔力を吸収できるアイテムがありません。", "You have nothing to drain.");
+
+    object_type *o_ptr;
+    OBJECT_IDX item;
+    o_ptr = choose_object(caster_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), 0);
+    if (!o_ptr)
+        return FALSE;
+
+    object_kind *k_ptr;
+    k_ptr = &k_info[o_ptr->k_idx];
+    DEPTH lev = k_info[o_ptr->k_idx].level;
+
+    int recharge_strength = 0;
+    bool is_eating_successful = TRUE;
+    if (o_ptr->tval == TV_ROD) {
+        recharge_strength = ((power > lev / 2) ? (power - lev / 2) : 0) / 5;
+        if (one_in_(recharge_strength)) {
+            is_eating_successful = FALSE;
+        } else {
+            if (o_ptr->timeout > (o_ptr->number - 1) * k_ptr->pval) {
+                msg_print(_("充填中のロッドから魔力を吸収することはできません。", "You can't absorb energy from a discharged rod."));
+            } else {
+                caster_ptr->csp += lev;
+                o_ptr->timeout += k_ptr->pval;
+            }
+        }
+    } else {
+        recharge_strength = (100 + power - lev) / 15;
+        if (recharge_strength < 0)
+            recharge_strength = 0;
+
+        if (one_in_(recharge_strength)) {
+            is_eating_successful = FALSE;
+        } else {
+            if (o_ptr->pval > 0) {
+                caster_ptr->csp += lev / 2;
+                o_ptr->pval--;
+
+                if ((o_ptr->tval == TV_STAFF) && (item >= 0) && (o_ptr->number > 1)) {
+                    object_type forge;
+                    object_type *q_ptr;
+                    q_ptr = &forge;
+                    object_copy(q_ptr, o_ptr);
+
+                    q_ptr->number = 1;
+                    o_ptr->pval++;
+                    o_ptr->number--;
+                    caster_ptr->total_weight -= q_ptr->weight;
+                    item = store_item_to_inventory(caster_ptr, q_ptr);
+
+                    msg_print(_("杖をまとめなおした。", "You unstack your staff."));
+                }
+            } else {
+                msg_print(_("吸収できる魔力がありません!", "There's no energy there to absorb!"));
+            }
+
+            if (!o_ptr->pval)
+                o_ptr->ident |= IDENT_EMPTY;
+        }
+    }
+
+    if (is_eating_successful) {
+        return redraw_player(caster_ptr);
+    }
+
+    if (object_is_fixed_artifact(o_ptr)) {
+        object_desc(caster_ptr, o_name, o_ptr, OD_NAME_ONLY);
+        msg_format(_("魔力が逆流した!%sは完全に魔力を失った。", "The recharging backfires - %s is completely drained!"), o_name);
+        if (o_ptr->tval == TV_ROD)
+            o_ptr->timeout = k_ptr->pval * o_ptr->number;
+        else if ((o_ptr->tval == TV_WAND) || (o_ptr->tval == TV_STAFF))
+            o_ptr->pval = 0;
+
+        return redraw_player(caster_ptr);
+    }
+
+    object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+
+    /* Mages recharge objects more safely. */
+    if (IS_WIZARD_CLASS(caster_ptr)) {
+        /* 10% chance to blow up one rod, otherwise draining. */
+        if (o_ptr->tval == TV_ROD) {
+            if (one_in_(10))
+                fail_type = 2;
+            else
+                fail_type = 1;
+        }
+        /* 75% chance to blow up one wand, otherwise draining. */
+        else if (o_ptr->tval == TV_WAND) {
+            if (!one_in_(3))
+                fail_type = 2;
+            else
+                fail_type = 1;
+        }
+        /* 50% chance to blow up one staff, otherwise no effect. */
+        else if (o_ptr->tval == TV_STAFF) {
+            if (one_in_(2))
+                fail_type = 2;
+            else
+                fail_type = 0;
+        }
+    }
+
+    /* All other classes get no special favors. */
+    else {
+        /* 33% chance to blow up one rod, otherwise draining. */
+        if (o_ptr->tval == TV_ROD) {
+            if (one_in_(3))
+                fail_type = 2;
+            else
+                fail_type = 1;
+        }
+        /* 20% chance of the entire stack, else destroy one wand. */
+        else if (o_ptr->tval == TV_WAND) {
+            if (one_in_(5))
+                fail_type = 3;
+            else
+                fail_type = 2;
+        }
+        /* Blow up one staff. */
+        else if (o_ptr->tval == TV_STAFF) {
+            fail_type = 2;
+        }
+    }
+
+    if (fail_type == 1) {
+        if (o_ptr->tval == TV_ROD) {
+            msg_format(_("ロッドは破損を免れたが、魔力は全て失なわれた。", "You save your rod from destruction, but all charges are lost."), o_name);
+            o_ptr->timeout = k_ptr->pval * o_ptr->number;
+        } else if (o_ptr->tval == TV_WAND) {
+            msg_format(_("%sは破損を免れたが、魔力が全て失われた。", "You save your %s from destruction, but all charges are lost."), o_name);
+            o_ptr->pval = 0;
+        }
+    }
+
+    if (fail_type == 2) {
+        if (o_ptr->number > 1) {
+            msg_format(_("乱暴な魔法のために%sが一本壊れた!", "Wild magic consumes one of your %s!"), o_name);
+            /* Reduce rod stack maximum timeout, drain wands. */
+            if (o_ptr->tval == TV_ROD)
+                o_ptr->timeout = MIN(o_ptr->timeout, k_ptr->pval * (o_ptr->number - 1));
+            else if (o_ptr->tval == TV_WAND)
+                o_ptr->pval = o_ptr->pval * (o_ptr->number - 1) / o_ptr->number;
+        } else {
+            msg_format(_("乱暴な魔法のために%sが何本か壊れた!", "Wild magic consumes your %s!"), o_name);
+        }
+
+        vary_item(caster_ptr, item, -1);
+    }
+
+    if (fail_type == 3) {
+        if (o_ptr->number > 1)
+            msg_format(_("乱暴な魔法のために%sが全て壊れた!", "Wild magic consumes all your %s!"), o_name);
+        else
+            msg_format(_("乱暴な魔法のために%sが壊れた!", "Wild magic consumes your %s!"), o_name);
+
+        vary_item(caster_ptr, item, -999);
+    }
+
+    return redraw_player(caster_ptr);
+}
diff --git a/src/mind/mind-mage.h b/src/mind/mind-mage.h
new file mode 100644 (file)
index 0000000..ce69864
--- /dev/null
@@ -0,0 +1,5 @@
+#pragma once
+
+#include "system/angband.h"
+
+bool eat_magic(player_type *caster_ptr, int power);
index 470d0d2..6cad957 100644 (file)
@@ -28,6 +28,7 @@
 #include "melee/melee-postprocess.h"
 #include "mind/mind-cavalry.h"
 #include "mind/mind-force-trainer.h"
+#include "mind/mind-mage.h"
 #include "mind/mind-mirror-master.h"
 #include "mind/mind-ninja.h"
 #include "mind/mind-samurai.h"
@@ -325,18 +326,22 @@ static bool exe_racial_power(player_type *creature_ptr, s32b command)
                        break;
                }
                case CLASS_HIGH_MAGE:
-               if (creature_ptr->realm1 == REALM_HEX)
-               {
-                       bool retval = stop_hex_spell(creature_ptr);
-                       if (retval) creature_ptr->energy_use = 10;
-                       return (retval);
-               }
+                       if (creature_ptr->realm1 == REALM_HEX)
+                       {
+                               bool retval = stop_hex_spell(creature_ptr);
+                               if (retval)
+                                       creature_ptr->energy_use = 10;
+
+                               return retval;
+                       }
+
                        /* Fall through */
                case CLASS_MAGE:
-               /* case CLASS_HIGH_MAGE: */
                case CLASS_SORCERER:
                {
-                       if (!eat_magic(creature_ptr, creature_ptr->lev * 2)) return FALSE;
+                       if (!eat_magic(creature_ptr, creature_ptr->lev * 2))
+                               return FALSE;
+
                        break;
                }
                case CLASS_PRIEST:
index bc8aa2d..1c2d46f 100644 (file)
@@ -23,6 +23,7 @@
 #include "grid/grid.h"
 #include "io/targeting.h"
 #include "io/write-diary.h"
+#include "mind/mind-mage.h"
 #include "mind/mind-warrior.h"
 #include "mind/racial-vampire.h"
 #include "monster-floor/monster-remover.h"
index e5fdc70..72264b5 100644 (file)
@@ -1,4 +1,13 @@
-#include "object-kind.h"
+/*!
+ * @brief ベースアイテム情報の構造体 / Information about object "kinds", including player knowledge.
+ * @date 2019/05/01
+ * @author deskull
+ * @details
+ * ゲーム進行用のセーブファイル上では aware と tried のみ保存対象とすること。と英文ではあるが実際はもっとある様子である。 /
+ * Only "aware" and "tried" are saved in the savefile
+ */
+
+#include "object-kind.h"
 
 /*
  * The object kind arrays
index 0105d3f..7fa65c5 100644 (file)
@@ -3,30 +3,17 @@
 #include "system/angband.h"
 #include "system/object-type-definition.h"
 
-/*!
- * @struct object_kind
- * @brief ベースアイテム情報の構造体 / Information about object "kinds", including player knowledge.
- * @details
- * ゲーム進行用のセーブファイル上では aware と tried のみ保存対象とすること。と英文ではあるが実際はもっとある様子である。 /
- * Only "aware" and "tried" are saved in the savefile
+/*
+ * Return the "char" for a given item.
+ * Use "flavor" if available.
+ * Default to user definitions.
  */
-
-
- /*
-  * Return the "char" for a given item.
-  * Use "flavor" if available.
-  * Default to user definitions.
-  */
 #define object_char(T) \
        ((k_info[(T)->k_idx].flavor) ? \
         (k_info[k_info[(T)->k_idx].flavor].x_char) : \
         (k_info[(T)->k_idx].x_char))
 
-
-typedef struct object_kind object_kind;
-
-struct object_kind
-{
+typedef struct object_kind {
        STR_OFFSET name;                        /*!< ベースアイテム名参照のためのネームバッファオフセット値 / Name (offset) */
        STR_OFFSET text;                        /*!< 解説テキスト参照のためのネームバッファオフセット値 / Text (offset) */
        STR_OFFSET flavor_name; /*!< 未確定名参照のためのネームバッファオフセット値 / Flavor name (offset) */
@@ -74,7 +61,7 @@ struct object_kind
        bool tried;                     /*!< ベースアイテムを未鑑定のまま試したことがあるか /  The player has "tried" one of the items */
 
        ACTIVATION_IDX act_idx;         /*!< 発動能力のID /  Activative ability index */
-};
+} object_kind;
 
 extern object_kind *k_info;
 extern char *k_name;
index 78c10cf..61c7ee0 100644 (file)
@@ -524,25 +524,6 @@ bool mundane_spell(player_type *owner_ptr, bool only_equip)
     return TRUE;
 }
 
-static bool update_player(player_type *caster_ptr)
-{
-    caster_ptr->update |= PU_COMBINE | PU_REORDER;
-    caster_ptr->window |= PW_INVEN;
-    return TRUE;
-}
-
-static bool redraw_player(player_type *caster_ptr)
-{
-    if (caster_ptr->csp > caster_ptr->msp) {
-        caster_ptr->csp = caster_ptr->msp;
-    }
-
-    caster_ptr->redraw |= PR_MANA;
-    caster_ptr->update |= PU_COMBINE | PU_REORDER;
-    caster_ptr->window |= PW_INVEN;
-    return TRUE;
-}
-
 /*!
  * @brief 魔力充填処理 /
  * Recharge a wand/staff/rod from the pack or on the floor.
@@ -1309,182 +1290,6 @@ bool polymorph_monster(player_type *caster_ptr, POSITION y, POSITION x)
 }
 
 /*!
- * @brief 魔力食い処理
- * @param caster_ptr プレーヤーへの参照ポインタ
- * @param power 基本効力
- * @return ターンを消費した場合TRUEを返す
- */
-bool eat_magic(player_type *caster_ptr, int power)
-{
-    byte fail_type = 1;
-    GAME_TEXT o_name[MAX_NLEN];
-
-    item_tester_hook = item_tester_hook_recharge;
-
-    concptr q = _("どのアイテムから魔力を吸収しますか?", "Drain which item? ");
-    concptr s = _("魔力を吸収できるアイテムがありません。", "You have nothing to drain.");
-
-    object_type *o_ptr;
-    OBJECT_IDX item;
-    o_ptr = choose_object(caster_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), 0);
-    if (!o_ptr)
-        return FALSE;
-
-    object_kind *k_ptr;
-    k_ptr = &k_info[o_ptr->k_idx];
-    DEPTH lev = k_info[o_ptr->k_idx].level;
-
-    int recharge_strength = 0;
-    bool is_eating_successful = TRUE;
-    if (o_ptr->tval == TV_ROD) {
-        recharge_strength = ((power > lev / 2) ? (power - lev / 2) : 0) / 5;
-        if (one_in_(recharge_strength)) {
-            is_eating_successful = FALSE;
-        } else {
-            if (o_ptr->timeout > (o_ptr->number - 1) * k_ptr->pval) {
-                msg_print(_("充填中のロッドから魔力を吸収することはできません。", "You can't absorb energy from a discharged rod."));
-            } else {
-                caster_ptr->csp += lev;
-                o_ptr->timeout += k_ptr->pval;
-            }
-        }
-    } else {
-        recharge_strength = (100 + power - lev) / 15;
-        if (recharge_strength < 0)
-            recharge_strength = 0;
-
-        if (one_in_(recharge_strength)) {
-            is_eating_successful = FALSE;
-        } else {
-            if (o_ptr->pval > 0) {
-                caster_ptr->csp += lev / 2;
-                o_ptr->pval--;
-
-                if ((o_ptr->tval == TV_STAFF) && (item >= 0) && (o_ptr->number > 1)) {
-                    object_type forge;
-                    object_type *q_ptr;
-                    q_ptr = &forge;
-                    object_copy(q_ptr, o_ptr);
-
-                    q_ptr->number = 1;
-                    o_ptr->pval++;
-                    o_ptr->number--;
-                    caster_ptr->total_weight -= q_ptr->weight;
-                    item = store_item_to_inventory(caster_ptr, q_ptr);
-
-                    msg_print(_("杖をまとめなおした。", "You unstack your staff."));
-                }
-            } else {
-                msg_print(_("吸収できる魔力がありません!", "There's no energy there to absorb!"));
-            }
-
-            if (!o_ptr->pval)
-                o_ptr->ident |= IDENT_EMPTY;
-        }
-    }
-
-    if (is_eating_successful) {
-        return redraw_player(caster_ptr);
-    }
-
-    if (object_is_fixed_artifact(o_ptr)) {
-        object_desc(caster_ptr, o_name, o_ptr, OD_NAME_ONLY);
-        msg_format(_("魔力が逆流した!%sは完全に魔力を失った。", "The recharging backfires - %s is completely drained!"), o_name);
-        if (o_ptr->tval == TV_ROD)
-            o_ptr->timeout = k_ptr->pval * o_ptr->number;
-        else if ((o_ptr->tval == TV_WAND) || (o_ptr->tval == TV_STAFF))
-            o_ptr->pval = 0;
-
-        return redraw_player(caster_ptr);
-    }
-
-    object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
-
-    /* Mages recharge objects more safely. */
-    if (IS_WIZARD_CLASS(caster_ptr)) {
-        /* 10% chance to blow up one rod, otherwise draining. */
-        if (o_ptr->tval == TV_ROD) {
-            if (one_in_(10))
-                fail_type = 2;
-            else
-                fail_type = 1;
-        }
-        /* 75% chance to blow up one wand, otherwise draining. */
-        else if (o_ptr->tval == TV_WAND) {
-            if (!one_in_(3))
-                fail_type = 2;
-            else
-                fail_type = 1;
-        }
-        /* 50% chance to blow up one staff, otherwise no effect. */
-        else if (o_ptr->tval == TV_STAFF) {
-            if (one_in_(2))
-                fail_type = 2;
-            else
-                fail_type = 0;
-        }
-    }
-
-    /* All other classes get no special favors. */
-    else {
-        /* 33% chance to blow up one rod, otherwise draining. */
-        if (o_ptr->tval == TV_ROD) {
-            if (one_in_(3))
-                fail_type = 2;
-            else
-                fail_type = 1;
-        }
-        /* 20% chance of the entire stack, else destroy one wand. */
-        else if (o_ptr->tval == TV_WAND) {
-            if (one_in_(5))
-                fail_type = 3;
-            else
-                fail_type = 2;
-        }
-        /* Blow up one staff. */
-        else if (o_ptr->tval == TV_STAFF) {
-            fail_type = 2;
-        }
-    }
-
-    if (fail_type == 1) {
-        if (o_ptr->tval == TV_ROD) {
-            msg_format(_("ロッドは破損を免れたが、魔力は全て失なわれた。", "You save your rod from destruction, but all charges are lost."), o_name);
-            o_ptr->timeout = k_ptr->pval * o_ptr->number;
-        } else if (o_ptr->tval == TV_WAND) {
-            msg_format(_("%sは破損を免れたが、魔力が全て失われた。", "You save your %s from destruction, but all charges are lost."), o_name);
-            o_ptr->pval = 0;
-        }
-    }
-
-    if (fail_type == 2) {
-        if (o_ptr->number > 1) {
-            msg_format(_("乱暴な魔法のために%sが一本壊れた!", "Wild magic consumes one of your %s!"), o_name);
-            /* Reduce rod stack maximum timeout, drain wands. */
-            if (o_ptr->tval == TV_ROD)
-                o_ptr->timeout = MIN(o_ptr->timeout, k_ptr->pval * (o_ptr->number - 1));
-            else if (o_ptr->tval == TV_WAND)
-                o_ptr->pval = o_ptr->pval * (o_ptr->number - 1) / o_ptr->number;
-        } else {
-            msg_format(_("乱暴な魔法のために%sが何本か壊れた!", "Wild magic consumes your %s!"), o_name);
-        }
-
-        vary_item(caster_ptr, item, -1);
-    }
-
-    if (fail_type == 3) {
-        if (o_ptr->number > 1)
-            msg_format(_("乱暴な魔法のために%sが全て壊れた!", "Wild magic consumes all your %s!"), o_name);
-        else
-            msg_format(_("乱暴な魔法のために%sが壊れた!", "Wild magic consumes your %s!"), o_name);
-
-        vary_item(caster_ptr, item, -999);
-    }
-
-    return redraw_player(caster_ptr);
-}
-
-/*!
  * @brief 皆殺し(全方向攻撃)処理
  * @param caster_ptr プレーヤーへの参照ポインタ
  * @return なし
index f49a15c..910dea3 100644 (file)
@@ -4,7 +4,6 @@
 #include "spell/spells-util.h"
 #include "system/angband.h"
 
-bool eat_magic(player_type *caster_ptr, int power);
 bool apply_disenchant(player_type* target_ptr, BIT_FLAGS mode);
 void fetch(player_type* caster_ptr, DIRECTION dir, WEIGHT wgt, bool require_los);
 void reserve_alter_reality(player_type* caster_ptr);