OSDN Git Service

[Refactor] #37353 monster_name() を monster.h へ移動。
[hengband/hengband.git] / src / cmd-magiceat.c
index 6aff382..3ae7aae 100644 (file)
@@ -57,6 +57,7 @@
 #include "cmd-zaprod.h"
 #include "cmd-zapwand.h"
 #include "avatar.h"
+#include "player-status.h"
 
 
 /*!
@@ -196,11 +197,10 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse)
                                                                                        "(*=List, ESC=exit) Browse which power? "));
        else strnfmt(out_val, 78, _("('*'で一覧, ESCで中断) どの魔力を使いますか?",
                                                                "(*=List, ESC=exit) Use which power? "));
-               screen_save();
+       screen_save();
 
        request_list = always_show_list;
 
-       /* Get a spell from the user */
        while (!flag)
        {
                /* Show the list */
@@ -512,17 +512,12 @@ bool do_cmd_magic_eater(bool only_browse, bool powerful)
        OBJECT_SUBTYPE_VALUE sval;
        bool use_charge = TRUE;
 
-       /* Not when confused */
-       if (!only_browse && p_ptr->confused)
-       {
-               msg_print(_("混乱していて唱えられない!", "You are too confused!"));
-               return FALSE;
-       }
+       if (cmd_limit_confused(p_ptr)) return FALSE;
 
        item = select_magic_eater(only_browse);
        if (item == -1)
        {
-               p_ptr->energy_use = 0;
+               free_turn(p_ptr);
                return FALSE;
        }
        if (item >= EATER_EXT*2) {tval = TV_ROD;sval = item - EATER_EXT*2;}
@@ -556,7 +551,7 @@ bool do_cmd_magic_eater(bool only_browse, bool powerful)
                sound(SOUND_FAIL);
                if (randint1(100) >= chance)
                        chg_virtue(V_CHANCE,-1);
-               p_ptr->energy_use = 100;
+               take_turn(p_ptr, 100);
 
                return TRUE;
        }
@@ -584,7 +579,7 @@ bool do_cmd_magic_eater(bool only_browse, bool powerful)
                if (randint1(100) < chance)
                        chg_virtue(V_CHANCE,1);
        }
-       p_ptr->energy_use = 100;
+       take_turn(p_ptr, 100);
        if (tval == TV_ROD) p_ptr->magic_num1[item] += k_info[k_idx].pval * EATER_ROD_CHARGE;
        else p_ptr->magic_num1[item] -= EATER_CHARGE;