OSDN Git Service

[Refactor] #38997 multiply_barrier() に player_type * 引数を追加. / Add player_type * argum...
authordeskull <deskull@users.sourceforge.jp>
Fri, 3 Jan 2020 13:59:13 +0000 (22:59 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Fri, 3 Jan 2020 13:59:13 +0000 (22:59 +0900)
src/monster-process.c
src/realm-hex.c
src/realm-hex.h

index 2ff5e07..42f00e9 100644 (file)
@@ -1503,7 +1503,7 @@ void process_monster(MONSTER_IDX m_idx)
                        }
                }
 
-               if (multiply_barrier(m_idx)) k = 8;
+               if (multiply_barrier(p_ptr, m_idx)) k = 8;
 
                /* Hack -- multiply slower in crowded areas */
                if ((k < 4) && (!k || !randint0(k * MON_MULT_ADJ)))
index 8b60457..2563404 100644 (file)
@@ -322,13 +322,13 @@ bool magic_barrier(player_type *target_ptr, MONSTER_IDX m_idx)
  * @param m_idx 判定の対象となるモンスターID
  * @return 反増殖の効果が適用されるならTRUEを返す
  */
-bool multiply_barrier(MONSTER_IDX m_idx)
+bool multiply_barrier(player_type *caster_ptr, MONSTER_IDX m_idx)
 {
-       monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[m_idx];
+       monster_type *m_ptr = &caster_ptr->current_floor_ptr->m_list[m_idx];
        monster_race *r_ptr = &r_info[m_ptr->r_idx];
 
        if (!hex_spelling(HEX_ANTI_MULTI)) return FALSE;
-       if ((p_ptr->lev * 3 / 2) < randint1(r_ptr->level)) return FALSE;
+       if ((caster_ptr->lev * 3 / 2) < randint1(r_ptr->level)) return FALSE;
 
        return TRUE;
 }
index 2e25b94..15be191 100644 (file)
@@ -57,6 +57,6 @@ extern void revenge_spell(player_type *caster_ptr);
 extern void revenge_store(player_type *caster_ptr, HIT_POINT dam);
 extern bool teleport_barrier(player_type *caster_ptr, MONSTER_IDX m_idx);
 extern bool magic_barrier(player_type *target_ptr, MONSTER_IDX m_idx);
-extern bool multiply_barrier(MONSTER_IDX m_idx);
+extern bool multiply_barrier(player_type *caster_ptr, MONSTER_IDX m_idx);
 extern concptr do_hex_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode);