OSDN Git Service

[Refactor] #38997 py_pickup_aux() にplayer_type * 引数を追加 / Added player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Wed, 8 Jan 2020 15:33:29 +0000 (00:33 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Wed, 8 Jan 2020 15:33:29 +0000 (00:33 +0900)
src/autopick.c
src/player-inventory.c
src/player-move.c
src/player-move.h

index 993207a..1788ba9 100644 (file)
@@ -1776,7 +1776,7 @@ void autopick_pickup_items(grid_type *g_ptr)
                                }
 
                        }
-                       py_pickup_aux(this_o_idx);
+                       py_pickup_aux(p_ptr, this_o_idx);
                }
                
                /*
index 546744c..cad6a0a 100644 (file)
@@ -2959,7 +2959,7 @@ static bool py_pickup_floor_aux(void)
        }
 
        /* Pick up the object */
-       py_pickup_aux(this_o_idx);
+       py_pickup_aux(p_ptr, this_o_idx);
 
        return (TRUE);
 }
@@ -3163,7 +3163,7 @@ void py_pickup_floor(player_type *creature_ptr, bool pickup)
 #endif /* ALLOW_EASY_SENSE */
 
                /* Pick up the object */
-               py_pickup_aux(floor_o_idx);
+               py_pickup_aux(creature_ptr, floor_o_idx);
        }
 
        /* Allow the user to choose an object */
index 7cf1a58..25e5cf0 100644 (file)
@@ -267,7 +267,7 @@ void search(player_type *creature_ptr)
  * Add the given dungeon object to the character's inventory.\n
  * Delete the object afterwards.\n
  */
-void py_pickup_aux(OBJECT_IDX o_idx)
+void py_pickup_aux(player_type *owner_ptr, OBJECT_IDX o_idx)
 {
        INVENTORY_IDX slot;
 
@@ -282,7 +282,7 @@ void py_pickup_aux(OBJECT_IDX o_idx)
 
        object_type *o_ptr;
 
-       o_ptr = &p_ptr->current_floor_ptr->o_list[o_idx];
+       o_ptr = &owner_ptr->current_floor_ptr->o_list[o_idx];
 
 #ifdef JP
        object_desc(old_name, o_ptr, OD_NAME_ONLY);
@@ -290,16 +290,16 @@ void py_pickup_aux(OBJECT_IDX o_idx)
        hirottakazu = o_ptr->number;
 #endif
        /* Carry the object */
-       slot = inven_carry(p_ptr, o_ptr);
+       slot = inven_carry(owner_ptr, o_ptr);
 
        /* Get the object again */
-       o_ptr = &p_ptr->inventory_list[slot];
+       o_ptr = &owner_ptr->inventory_list[slot];
 
        delete_object_idx(o_idx);
 
-       if (p_ptr->pseikaku == SEIKAKU_MUNCHKIN)
+       if (owner_ptr->pseikaku == SEIKAKU_MUNCHKIN)
        {
-               bool old_known = identify_item(p_ptr, o_ptr);
+               bool old_known = identify_item(owner_ptr, o_ptr);
 
                /* Auto-inscription/destroy */
                autopick_alter_item(slot, (bool)(destroy_identify && !old_known));
@@ -311,11 +311,11 @@ void py_pickup_aux(OBJECT_IDX o_idx)
        object_desc(o_name, o_ptr, 0);
 
 #ifdef JP
-       if ((o_ptr->name1 == ART_CRIMSON) && (p_ptr->pseikaku == SEIKAKU_COMBAT))
+       if ((o_ptr->name1 == ART_CRIMSON) && (owner_ptr->pseikaku == SEIKAKU_COMBAT))
        {
-               msg_format("こうして、%sは『クリムゾン』を手に入れた。", p_ptr->name);
+               msg_format("こうして、%sは『クリムゾン』を手に入れた。", owner_ptr->name);
                msg_print("しかし今、『混沌のサーペント』の放ったモンスターが、");
-               msg_format("%sに襲いかかる...", p_ptr->name);
+               msg_format("%sに襲いかかる...", owner_ptr->name);
        }
        else
        {
@@ -459,7 +459,7 @@ void carry(player_type *creature_ptr, bool pickup)
                                if (okay)
                                {
                                        /* Pick up the object */
-                                       py_pickup_aux(this_o_idx);
+                                       py_pickup_aux(creature_ptr, this_o_idx);
                                }
                        }
                }
index 76f906e..7ba311c 100644 (file)
@@ -20,7 +20,7 @@ extern void run_step(DIRECTION dir);
 #define MPE_DONT_SWAP_MON 0x00000080
 extern bool move_player_effect(player_type *creature_ptr, POSITION ny, POSITION nx, BIT_FLAGS mpe_mode);
 
-extern void py_pickup_aux(OBJECT_IDX o_idx);
+extern void py_pickup_aux(player_type *owner_ptr, OBJECT_IDX o_idx);
 extern bool pattern_seq(player_type *creature_ptr, POSITION c_y, POSITION c_x, POSITION n_y, POSITION n_x);
 extern bool trap_can_be_ignored(player_type *creature_ptr, FEAT_IDX feat);
 extern void search(player_type *creature_ptr);