OSDN Git Service

[Refactor] #38997 detect_objects_gold() に player_type * 引数を追加. / Add player_type...
authordeskull <deskull@users.sourceforge.jp>
Thu, 2 Jan 2020 11:48:57 +0000 (20:48 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Thu, 2 Jan 2020 11:49:27 +0000 (20:49 +0900)
src/cmd/cmd-quaff.c
src/cmd/cmd-read.c
src/cmd/cmd-usestaff.c
src/realm-arcane.c
src/realm-song.c
src/realm-sorcery.c
src/spells.h
src/spells2.c

index aa6fbe8..835e6b9 100644 (file)
@@ -397,7 +397,7 @@ void exe_quaff_potion(player_type *creature_ptr, INVENTORY_IDX item)
                        (void)detect_doors(DETECT_RAD_DEFAULT);
                        (void)detect_stairs(DETECT_RAD_DEFAULT);
                        (void)detect_treasure(DETECT_RAD_DEFAULT);
-                       (void)detect_objects_gold(DETECT_RAD_DEFAULT);
+                       (void)detect_objects_gold(creature_ptr, DETECT_RAD_DEFAULT);
                        (void)detect_objects_normal(DETECT_RAD_DEFAULT);
                        identify_pack(creature_ptr);
                        self_knowledge(creature_ptr);
index b1b9857..27f975e 100644 (file)
@@ -290,7 +290,7 @@ void exe_read(player_type *creature_ptr, INVENTORY_IDX item, bool known)
                case SV_SCROLL_DETECT_GOLD:
                {
                        if (detect_treasure(DETECT_RAD_DEFAULT)) ident = TRUE;
-                       if (detect_objects_gold(DETECT_RAD_DEFAULT)) ident = TRUE;
+                       if (detect_objects_gold(creature_ptr, DETECT_RAD_DEFAULT)) ident = TRUE;
                        break;
                }
 
index dffe4b6..82e7f2e 100644 (file)
@@ -122,7 +122,7 @@ int staff_effect(player_type *creature_ptr, OBJECT_SUBTYPE_VALUE sval, bool *use
                case SV_STAFF_DETECT_GOLD:
                {
                        if (detect_treasure(detect_rad)) ident = TRUE;
-                       if (detect_objects_gold(detect_rad)) ident = TRUE;
+                       if (detect_objects_gold(creature_ptr, detect_rad)) ident = TRUE;
                        break;
                }
 
index ea93cae..80ae369 100644 (file)
@@ -199,7 +199,7 @@ concptr do_arcane_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode
                        if (cast)
                        {
                                detect_treasure(rad);
-                               detect_objects_gold(rad);
+                               detect_objects_gold(caster_ptr, rad);
                        }
                }
                break;
index 6ec1897..4b996a8 100644 (file)
@@ -294,7 +294,7 @@ concptr do_music_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode)
                                {
                                        /* There are too many hidden treasure.  So... */
                                        /* detect_treasure(rad); */
-                                       detect_objects_gold(rad);
+                                       detect_objects_gold(caster_ptr, rad);
                                        detect_objects_normal(rad);
 
                                        if (plev > 24 && count < 11)
index b37d99a..9855de0 100644 (file)
@@ -304,7 +304,7 @@ concptr do_sorcery_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mod
                        {
                                detect_objects_normal(rad);
                                detect_treasure(rad);
-                               detect_objects_gold(rad);
+                               detect_objects_gold(caster_ptr, rad);
                        }
                }
                break;
index 47fe1d4..d98caaa 100644 (file)
@@ -160,7 +160,7 @@ extern bool detect_traps(POSITION range, bool known);
 extern bool detect_doors(POSITION range);
 extern bool detect_stairs(POSITION range);
 extern bool detect_treasure(POSITION range);
-extern bool detect_objects_gold(POSITION range);
+extern bool detect_objects_gold(player_type *caster_ptr, POSITION range);
 extern bool detect_objects_normal(POSITION range);
 extern bool detect_objects_magic(POSITION range);
 extern bool detect_monsters_normal(POSITION range);
index 38e7cbb..d7be1f6 100644 (file)
@@ -188,7 +188,7 @@ bool detect_treasure(POSITION range)
  * @param range 効果範囲
  * @return 効力があった場合TRUEを返す
  */
-bool detect_objects_gold(POSITION range)
+bool detect_objects_gold(player_type *caster_ptr, POSITION range)
 {
        OBJECT_IDX i;
        POSITION y, x;
@@ -196,12 +196,12 @@ bool detect_objects_gold(POSITION range)
 
        bool detect = FALSE;
 
-       if (d_info[p_ptr->dungeon_idx].flags1 & DF1_DARKNESS) range2 /= 3;
+       if (d_info[caster_ptr->dungeon_idx].flags1 & DF1_DARKNESS) range2 /= 3;
 
        /* Scan objects */
-       for (i = 1; i < p_ptr->current_floor_ptr->o_max; i++)
+       for (i = 1; i < caster_ptr->current_floor_ptr->o_max; i++)
        {
-               object_type *o_ptr = &p_ptr->current_floor_ptr->o_list[i];
+               object_type *o_ptr = &caster_ptr->current_floor_ptr->o_list[i];
 
                if (!OBJECT_IS_VALID(o_ptr)) continue;
                if (OBJECT_IS_HELD_MONSTER(o_ptr)) continue;
@@ -210,7 +210,7 @@ bool detect_objects_gold(POSITION range)
                x = o_ptr->ix;
 
                /* Only detect nearby objects */
-               if (distance(p_ptr->y, p_ptr->x, y, x) > range2) continue;
+               if (distance(caster_ptr->y, caster_ptr->x, y, x) > range2) continue;
 
                /* Detect "gold" objects */
                if (o_ptr->tval == TV_GOLD)
@@ -221,7 +221,7 @@ bool detect_objects_gold(POSITION range)
                }
        }
 
-       if (music_singing(p_ptr, MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 6) detect = FALSE;
+       if (music_singing(caster_ptr, MUSIC_DETECT) && SINGING_COUNT(caster_ptr) > 6) detect = FALSE;
        if (detect)
        {
                msg_print(_("財宝の存在を感じとった!", "You sense the presence of treasure!"));
@@ -758,7 +758,7 @@ bool detect_all(POSITION range)
        /* There are too many hidden treasure.  So... */
        /* if (detect_treasure(range)) detect = TRUE; */
 
-       if (detect_objects_gold(range)) detect = TRUE;
+       if (detect_objects_gold(p_ptr, range)) detect = TRUE;
        if (detect_objects_normal(range)) detect = TRUE;
        if (detect_monsters_invis(range)) detect = TRUE;
        if (detect_monsters_normal(range)) detect = TRUE;