OSDN Git Service

[Refactor] #37353 混乱時のコマンド制限処理を cmd_limit_confused() に統合。 / Integrate command limitat...
[hengband/hengband.git] / src / cmd-magiceat.c
index 8106082..9a3f3c7 100644 (file)
@@ -56,6 +56,7 @@
 #include "cmd-usestaff.h"
 #include "cmd-zaprod.h"
 #include "cmd-zapwand.h"
+#include "avatar.h"
 
 
 /*!
@@ -75,7 +76,6 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse)
 
        int menu_line = (use_menu ? 1 : 0);
 
-#ifdef ALLOW_REPEAT
        COMMAND_CODE sn;
        if (repeat_pull(&sn))
        {
@@ -86,8 +86,6 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse)
                        return sn;
        }
        
-#endif /* ALLOW_REPEAT */
-
        for (i = 0; i < 108; i++)
        {
                if (p_ptr->magic_num2[i]) break;
@@ -198,9 +196,7 @@ 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? "));
-       
-       /* Save the screen */
-       screen_save();
+               screen_save();
 
        request_list = always_show_list;
 
@@ -392,9 +388,7 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse)
                        {
                                /* Hide list */
                                request_list = FALSE;
-                               
-                               /* Restore the screen */
-                               screen_load();
+                                                               screen_load();
                                screen_save();
                        }
                        else
@@ -492,15 +486,11 @@ static OBJECT_SUBTYPE_VALUE select_magic_eater(bool only_browse)
                /* Stop the loop */
                flag = TRUE;
        }
-
-       /* Restore the screen */
        screen_load();
 
        if (!flag) return -1;
 
-#ifdef ALLOW_REPEAT
        repeat_push(ext+i);
-#endif /* ALLOW_REPEAT */
        return ext+i;
 }
 
@@ -522,12 +512,7 @@ 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)