OSDN Git Service

[Refactor] #38824 get_item() を choose_object() に置換完了。 / Replaced get_item() to choose...
[hengband/hengband.git] / src / wizard2.c
index 61ebcd6..885f658 100644 (file)
@@ -74,8 +74,6 @@ void do_cmd_rerate(bool display)
        p_ptr->redraw |= (PR_HP);
 
        p_ptr->window |= (PW_PLAYER);
-
-       /* Handle stuff */
        handle_stuff();
 
        if (display)
@@ -347,7 +345,7 @@ static void do_cmd_wiz_reset_class(void)
        /* {.} and {$} effect p_ptr->warning and TRC_TELEPORT_SELF */
        p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
 
-       update_stuff();
+       handle_stuff();
 }
 
 
@@ -381,7 +379,7 @@ static void do_cmd_wiz_change_aux(void)
 
 
        /* Query the stats */
-       for (i = 0; i < 6; i++)
+       for (i = 0; i < A_MAX; i++)
        {
                /* Prompt */
                sprintf(ppp, "%s (3-%d): ", stat_names[i], p_ptr->stat_max_max[i]);
@@ -486,8 +484,6 @@ static void do_cmd_wiz_change(void)
 {
        /* Interact */
        do_cmd_wiz_change_aux();
-
-       /* Redraw everything */
        do_cmd_redraw();
 }
 
@@ -752,8 +748,6 @@ static KIND_OBJECT_IDX wiz_create_itemtype(void)
 
        char buf[160];
 
-
-       /* Clear screen */
        Term_clear();
 
        /* Print all tval's and their descriptions */
@@ -786,8 +780,6 @@ static KIND_OBJECT_IDX wiz_create_itemtype(void)
 
 
        /*** And now we go for k_idx ***/
-
-       /* Clear screen */
        Term_clear();
 
        /* We have to search the whole itemlist. */
@@ -893,8 +885,6 @@ static void wiz_reroll_item(object_type *o_ptr)
        /* Hack -- leave artifacts alone */
        if (object_is_artifact(o_ptr)) return;
 
-
-       /* Get local object */
        q_ptr = &forge;
 
        /* Copy the object */
@@ -995,12 +985,10 @@ static void wiz_reroll_item(object_type *o_ptr)
        {
                /* Apply changes */
                object_copy(o_ptr, q_ptr);
-
-               /* Recalculate bonuses */
                p_ptr->update |= (PU_BONUS);
 
                /* Combine / Reorder the pack (later) */
-               p_ptr->notice |= (PN_COMBINE | PN_REORDER);
+               p_ptr->update |= (PU_COMBINE | PU_REORDER);
 
                p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
        }
@@ -1106,8 +1094,6 @@ static void wiz_statistics(object_type *o_ptr)
                                prt(format(q, i, correct, matches, better, worse, other), 0, 0);
                                Term_fresh();
                        }
-
-                       /* Get local object */
                        q_ptr = &forge;
                        object_wipe(q_ptr);
 
@@ -1221,14 +1207,12 @@ static void wiz_quantity_item(object_type *o_ptr)
  */
 static void do_cmd_wiz_blue_mage(void)
 {
+       int i = 0;
+       int j = 0;
+       BIT_FLAGS f4 = 0L, f5 = 0L, f6 = 0L;
 
-       int                             i = 0;
-       int                             j = 0;
-       s32b            f4 = 0, f5 = 0, f6 = 0; 
-
-       for (j=1; j<6; j++)
+       for (j = 1; j < A_MAX; j++)
        {
-
                set_rf_masks(&f4, &f5, &f6, j);
 
                for (i = 0; i < 32; i++)
@@ -1260,44 +1244,25 @@ static void do_cmd_wiz_blue_mage(void)
 static void do_cmd_wiz_play(void)
 {
        OBJECT_IDX item;
-
        object_type     forge;
        object_type *q_ptr;
-
        object_type *o_ptr;
-
        char ch;
-
        bool changed;
-
        cptr q, s;
 
-       item_tester_no_ryoute = TRUE;
        q = "Play with which object? ";
        s = "You have nothing to play with.";
-       if (!get_item(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR))) return;
 
-       /* Get the item (in the pack) */
-       if (item >= 0)
-       {
-               o_ptr = &inventory[item];
-       }
+       o_ptr = choose_object(&item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT));
 
-       /* Get the item (on the floor) */
-       else
-       {
-               o_ptr = &o_list[0 - item];
-       }
+       if (!o_ptr) return;
        
        /* The item was not changed */
        changed = FALSE;
 
-
-       /* Save the screen */
        screen_save();
 
-
-       /* Get local object */
        q_ptr = &forge;
 
        /* Copy object */
@@ -1344,8 +1309,6 @@ static void do_cmd_wiz_play(void)
                }
        }
 
-
-       /* Restore the screen */
        screen_load();
 
 
@@ -1364,12 +1327,10 @@ static void do_cmd_wiz_play(void)
                /* Change */
                object_copy(o_ptr, q_ptr);
 
-
-               /* Recalculate bonuses */
                p_ptr->update |= (PU_BONUS);
 
                /* Combine / Reorder the pack (later) */
-               p_ptr->notice |= (PN_COMBINE | PN_REORDER);
+               p_ptr->update |= (PU_COMBINE | PU_REORDER);
 
                p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER);
        }
@@ -1400,14 +1361,11 @@ static void wiz_create_item(void)
        object_type *q_ptr;
 
        OBJECT_IDX k_idx;
-
-       /* Save the screen */
        screen_save();
 
        /* Get object base type */
        k_idx = wiz_create_itemtype();
 
-       /* Restore the screen */
        screen_load();
 
        /* Return if failed */
@@ -1435,14 +1393,9 @@ static void wiz_create_item(void)
                        return;
                }
        }
-
-       /* Get local object */
        q_ptr = &forge;
-
-       /* Create the item */
        object_prep(q_ptr, k_idx);
 
-       /* Apply magic */
        apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART);
 
        /* Drop the object from heaven */
@@ -1510,8 +1463,6 @@ static void do_cmd_wiz_jump(void)
 
        /* Paranoia */
        if (command_arg < d_info[dungeon_type].mindepth) command_arg = 0;
-
-       /* Paranoia */
        if (command_arg > d_info[dungeon_type].maxdepth) command_arg = (COMMAND_ARG)d_info[dungeon_type].maxdepth;
 
        /* Accept request */
@@ -1556,7 +1507,7 @@ static void do_cmd_wiz_jump(void)
  */
 static void do_cmd_wiz_learn(void)
 {
-       IDX i;
+       KIND_OBJECT_IDX i;
 
        object_type forge;
        object_type *q_ptr;
@@ -1569,13 +1520,8 @@ static void do_cmd_wiz_learn(void)
                /* Induce awareness */
                if (k_ptr->level <= command_arg)
                {
-                       /* Get local object */
                        q_ptr = &forge;
-
-                       /* Prepare object */
                        object_prep(q_ptr, i);
-
-                       /* Awareness */
                        object_aware(q_ptr);
                }
        }
@@ -1593,7 +1539,7 @@ static void do_cmd_wiz_summon(int num)
        int i;
        for (i = 0; i < num; i++)
        {
-               (void)summon_specific(0, p_ptr->y, p_ptr->x, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE));
+               (void)summon_specific(0, p_ptr->y, p_ptr->x, dun_level, 0, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE), '\0');
        }
 }
 
@@ -1637,7 +1583,6 @@ static void do_cmd_wiz_zap(void)
 {
        MONSTER_IDX i;
 
-
        /* Genocide everyone nearby */
        for (i = 1; i < m_max; i++)
        {
@@ -1654,7 +1599,7 @@ static void do_cmd_wiz_zap(void)
                {
                        if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
                        {
-                               char m_name[80];
+                               GAME_TEXT m_name[MAX_NLEN];
 
                                monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
                                do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
@@ -1688,7 +1633,7 @@ static void do_cmd_wiz_zap_all(void)
 
                if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
                {
-                       char m_name[80];
+                       GAME_TEXT m_name[MAX_NLEN];
 
                        monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
                        do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_WIZ_ZAP, m_name);
@@ -1753,8 +1698,6 @@ static void do_cmd_wiz_create_feature(void)
                c_ptr->info |= (CAVE_GLOW | CAVE_OBJECT);
 
        note_spot(y, x);
-
-       /* Redraw */
        lite_spot(y, x);
 
        /* Update some things */
@@ -2041,6 +1984,28 @@ void do_cmd_debug(void)
                teleport_player(10, 0L);
                break;
 
+       /* Take a Quests */
+       case 'Q':
+               {
+                       char ppp[30];
+                       char tmp_val[5];
+                       int tmp_int;
+                       sprintf(ppp, "QuestID (0-%d):", max_q_idx - 1);
+                       sprintf(tmp_val, "%d", 0);
+
+                       if (!get_string(ppp, tmp_val, 3)) return;
+                       tmp_int = atoi(tmp_val);
+
+                       if(tmp_int < 0) break;
+                       if(tmp_int >= max_q_idx) break;
+
+                       p_ptr->inside_quest = (QUEST_IDX)tmp_int;
+                       process_dungeon_file("q_info.txt", 0, 0, 0, 0);
+                       quest[tmp_int].status = QUEST_STATUS_TAKEN;
+                       p_ptr->inside_quest = 0;
+               }
+               break;
+
        /* Complete a Quest -KMW- */
        case 'q':
                if(p_ptr->inside_quest)
@@ -2124,6 +2089,18 @@ void do_cmd_debug(void)
                do_cmd_wiz_hack_ben();
                break;
 
+       /* For temporary test. */
+       case 'X':
+       {
+               INVENTORY_IDX i;
+               for(i = INVEN_TOTAL - 1; i >= 0; i--)
+               {
+                       if(inventory[i].k_idx) inven_drop(i, 999);
+               }
+               player_outfit();
+               break;
+       }
+
        /* Not a Wizard Command */
        default:
                msg_print("That is not a valid debug command.");