OSDN Git Service

[Refactor] #38997 identify_item() に player_type * 引数を追加. / Add player_type * argument...
authordeskull <deskull@users.sourceforge.jp>
Sat, 14 Dec 2019 15:42:53 +0000 (00:42 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Sat, 14 Dec 2019 15:42:53 +0000 (00:42 +0900)
src/bldg.c
src/cmd/cmd-item.c
src/player-move.c
src/spells.h
src/spells1.c
src/spells3.c
src/store.c

index 7ae447c..102e426 100644 (file)
@@ -3318,7 +3318,7 @@ static void building_recharge(void)
 
                {
                        p_ptr->au -= 50;
-                       identify_item(o_ptr);
+                       identify_item(p_ptr, o_ptr);
                        object_desc(tmp_str, o_ptr, 0);
                        msg_format(_("%s です。", "You have: %s."), tmp_str);
 
@@ -3572,7 +3572,7 @@ static void building_recharge_all(void)
 
                if (!object_is_known(o_ptr))
                {
-                       identify_item(o_ptr);
+                       identify_item(p_ptr, o_ptr);
 
                        /* Auto-inscription */
                        autopick_alter_item(i, FALSE);
index 2311e92..69156a4 100644 (file)
@@ -321,7 +321,7 @@ void do_cmd_wield(player_type *creature_ptr)
 
        if (creature_ptr->pseikaku == SEIKAKU_MUNCHKIN)
        {
-               identify_item(o_ptr);
+               identify_item(creature_ptr, o_ptr);
 
                /* Auto-inscription */
                autopick_alter_item(item, FALSE);
index 0d0d1d1..fc48f21 100644 (file)
@@ -299,7 +299,7 @@ void py_pickup_aux(OBJECT_IDX o_idx)
 
        if (p_ptr->pseikaku == SEIKAKU_MUNCHKIN)
        {
-               bool old_known = identify_item(o_ptr);
+               bool old_known = identify_item(p_ptr, o_ptr);
 
                /* Auto-inscription/destroy */
                autopick_alter_item(slot, (bool)(destroy_identify && !old_known));
index e6aea3f..f44bbb0 100644 (file)
@@ -307,7 +307,7 @@ extern bool alchemy(void);
 extern bool artifact_scroll(void);
 extern bool ident_spell(player_type *caster_ptr, bool only_equip);
 extern bool mundane_spell(bool only_equip);
-extern bool identify_item(object_type *o_ptr);
+extern bool identify_item(player_type *owner_ptr, object_type *o_ptr);
 extern bool identify_fully(bool only_equip);
 extern bool recharge(int power);
 extern void display_spell_list(player_type *caster_ptr);
index d4127c1..26e3c32 100644 (file)
@@ -941,7 +941,7 @@ static bool project_o(MONSTER_IDX who, POSITION r, POSITION y, POSITION x, HIT_P
 
                        case GF_IDENTIFY:
                        {
-                               identify_item(o_ptr);
+                               identify_item(p_ptr, o_ptr);
 
                                /* Auto-inscription */
                                autopick_alter_item((-this_o_idx), FALSE);
index 380b237..4a27a21 100644 (file)
@@ -1387,7 +1387,7 @@ void identify_pack(void)
                object_type *o_ptr = &p_ptr->inventory_list[i];
                if (!o_ptr->k_idx) continue;
 
-               identify_item(o_ptr);
+               identify_item(p_ptr, o_ptr);
 
                /* Auto-inscription */
                autopick_alter_item(i, FALSE);
@@ -1688,7 +1688,7 @@ bool artifact_scroll(void)
  * @param o_ptr 鑑定されるアイテムの情報参照ポインタ
  * @return 実際に鑑定できたらTRUEを返す
  */
-bool identify_item(object_type *o_ptr)
+bool identify_item(player_type *owner_ptr, object_type *o_ptr)
 {
        bool old_known = FALSE;
        GAME_TEXT o_name[MAX_NLEN];
@@ -1701,15 +1701,15 @@ bool identify_item(object_type *o_ptr)
        if (!(o_ptr->ident & (IDENT_MENTAL)))
        {
                if (object_is_artifact(o_ptr) || one_in_(5))
-                       chg_virtue(p_ptr, V_KNOWLEDGE, 1);
+                       chg_virtue(owner_ptr, V_KNOWLEDGE, 1);
        }
 
        object_aware(o_ptr);
        object_known(o_ptr);
        o_ptr->marked |= OM_TOUCHED;
 
-       p_ptr->update |= (PU_BONUS | PU_COMBINE | PU_REORDER);
-       p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
+       owner_ptr->update |= (PU_BONUS | PU_COMBINE | PU_REORDER);
+       owner_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
 
        strcpy(record_o_name, o_name);
        record_turn = current_world_ptr->game_turn;
@@ -1717,9 +1717,9 @@ bool identify_item(object_type *o_ptr)
        object_desc(o_name, o_ptr, OD_NAME_ONLY);
 
        if(record_fix_art && !old_known && object_is_fixed_artifact(o_ptr))
-               exe_write_diary(p_ptr, NIKKI_ART, 0, o_name);
+               exe_write_diary(owner_ptr, NIKKI_ART, 0, o_name);
        if(record_rand_art && !old_known && o_ptr->art_name)
-               exe_write_diary(p_ptr, NIKKI_ART, 0, o_name);
+               exe_write_diary(owner_ptr, NIKKI_ART, 0, o_name);
 
        return old_known;
 }
@@ -1765,7 +1765,7 @@ bool ident_spell(player_type *caster_ptr, bool only_equip)
        o_ptr = choose_object(caster_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), 0);
        if (!o_ptr) return (FALSE);
 
-       old_known = identify_item(o_ptr);
+       old_known = identify_item(p_ptr, o_ptr);
 
        object_desc(o_name, o_ptr, 0);
        if (item >= INVEN_RARM)
@@ -1881,7 +1881,7 @@ bool identify_fully(bool only_equip)
        o_ptr = choose_object(p_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), 0);
        if (!o_ptr) return (FALSE);
 
-       old_known = identify_item(o_ptr);
+       old_known = identify_item(p_ptr, o_ptr);
 
        /* Mark the item as fully known */
        o_ptr->ident |= (IDENT_MENTAL);
index fbc3098..3145583 100644 (file)
@@ -5043,7 +5043,7 @@ static void store_sell(void)
                        /* Get the "apparent" value */
                        dummy = object_value(q_ptr) * q_ptr->number;
 
-                       identify_item(o_ptr);
+                       identify_item(p_ptr, o_ptr);
                        q_ptr = &forge;
 
                        /* Get a copy of the object */
@@ -5130,7 +5130,7 @@ static void store_sell(void)
 
                if (!get_check(format(_("本当に%sを寄贈しますか?", "Really give %s to the Museum? "), o2_name))) return;
 
-               identify_item(q_ptr);
+               identify_item(p_ptr, q_ptr);
                q_ptr->ident |= IDENT_MENTAL;
 
                /* Distribute charges of wands/rods */