OSDN Git Service

[Refactor] #39068 エンバグを修正しつつ,add_essence() の item_tester_tval グローバル参照をローカル引数に収める.
[hengband/hengband.git] / src / cmd-usestaff.c
index b7bf0b8..e2bf417 100644 (file)
@@ -233,7 +233,7 @@ int staff_effect(OBJECT_SUBTYPE_VALUE sval, bool *use_charge, bool powerful, boo
 
                case SV_STAFF_EARTHQUAKES:
                {
-                       if (earthquake(p_ptr->y, p_ptr->x, (powerful ? 15 : 10)))
+                       if (earthquake(p_ptr->y, p_ptr->x, (powerful ? 15 : 10), 0))
                                ident = TRUE;
                        else
                                msg_print(_("ダンジョンが揺れた。", "The dungeon trembles."));
@@ -262,8 +262,8 @@ int staff_effect(OBJECT_SUBTYPE_VALUE sval, bool *use_charge, bool powerful, boo
                case SV_STAFF_NOTHING:
                {
                        msg_print(_("何も起らなかった。", "Nothing happen."));
-                       if (prace_is_(RACE_SKELETON) || prace_is_(RACE_GOLEM) ||
-                               prace_is_(RACE_ZOMBIE) || prace_is_(RACE_SPECTRE))
+                       if (PRACE_IS_(RACE_SKELETON) || PRACE_IS_(RACE_GOLEM) ||
+                               PRACE_IS_(RACE_ZOMBIE) || PRACE_IS_(RACE_SPECTRE))
                                msg_print(_("もったいない事をしたような気がする。食べ物は大切にしなくては。", "What a waste.  It's your food!"));
                        break;
                }
@@ -394,8 +394,6 @@ void do_cmd_use_staff_aux(INVENTORY_IDX item)
                object_type forge;
                object_type *q_ptr;
                q_ptr = &forge;
-
-               /* Obtain a local object */
                object_copy(q_ptr, o_ptr);
 
                /* Modify quantity */
@@ -446,13 +444,9 @@ void do_cmd_use_staff(void)
                set_action(ACTION_NONE);
        }
 
-       /* Restrict choices to wands */
-       item_tester_tval = TV_STAFF;
-
        q = _("どの杖を使いますか? ", "Use which staff? ");
        s = _("使える杖がない。", "You have no staff to use.");
-
-       if (!choose_object(&item, q, s, (USE_INVEN | USE_FLOOR))) return;
+       if (!choose_object(&item, q, s, (USE_INVEN | USE_FLOOR), TV_STAFF)) return;
 
        do_cmd_use_staff_aux(item);
 }