OSDN Git Service

[Refactor] #38852 いくつかの do_cmd_*() をリファクタリング。 / Refactor some do_cmd_*().
[hengband/hengband.git] / src / cmd-usestaff.c
index de2a1c5..57fba69 100644 (file)
@@ -48,7 +48,7 @@ int staff_effect(OBJECT_SUBTYPE_VALUE sval, bool *use_charge, bool powerful, boo
                const int times = randint1(powerful ? 8 : 4);\r
                for (k = 0; k < times; k++)\r
                {\r
-                       if (summon_specific(0, p_ptr->y, p_ptr->x, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET)))\r
+                       if (summon_specific(0, p_ptr->y, p_ptr->x, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE | PM_NO_PET), '\0'))\r
                        {\r
                                ident = TRUE;\r
                        }\r
@@ -386,7 +386,7 @@ void do_cmd_use_staff_aux(INVENTORY_IDX item)
                o_ptr->ident |= (IDENT_EMPTY);\r
 \r
                /* Combine / Reorder the pack (later) */\r
-               p_ptr->notice |= (PN_COMBINE | PN_REORDER);\r
+               p_ptr->update |= (PU_COMBINE | PU_REORDER);\r
                p_ptr->window |= (PW_INVEN);\r
 \r
                return;\r
@@ -405,7 +405,7 @@ void do_cmd_use_staff_aux(INVENTORY_IDX item)
        }\r
 \r
        /* Combine / Reorder the pack (later) */\r
-       p_ptr->notice |= (PN_COMBINE | PN_REORDER);\r
+       p_ptr->update |= (PU_COMBINE | PU_REORDER);\r
 \r
        /* Tried the item */\r
        object_tried(o_ptr);\r
@@ -432,8 +432,6 @@ void do_cmd_use_staff_aux(INVENTORY_IDX item)
        {\r
                object_type forge;\r
                object_type *q_ptr;\r
-\r
-               /* Get local object */\r
                q_ptr = &forge;\r
 \r
                /* Obtain a local object */\r
@@ -475,6 +473,18 @@ void do_cmd_use_staff(void)
        OBJECT_IDX item;\r
        cptr q, s;\r
 \r
+       if (p_ptr->wild_mode)\r
+       {\r
+               return;\r
+       }\r
+\r
+       if (p_ptr->inside_arena)\r
+       {\r
+               msg_print(_("アリーナが魔法を吸収した!", "The arena absorbs all attempted magic!"));\r
+               msg_print(NULL);\r
+               return;\r
+       }\r
+\r
        if (p_ptr->special_defense & (KATA_MUSOU | KATA_KOUKIJIN))\r
        {\r
                set_action(ACTION_NONE);\r
@@ -483,7 +493,6 @@ void do_cmd_use_staff(void)
        /* Restrict choices to wands */\r
        item_tester_tval = TV_STAFF;\r
 \r
-       /* Get an item */\r
        q = _("どの杖を使いますか? ", "Use which staff? ");\r
        s = _("使える杖がない。", "You have no staff to use.");\r
 \r