}
}
- 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)))
* @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;
}
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);