From 527b6f4ef93dcf99f1d5ea3430dca8915c2e85f0 Mon Sep 17 00:00:00 2001 From: deskull Date: Tue, 24 Dec 2019 17:39:14 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#38997=20magic=5Fbarrier()=20?= =?utf8?q?=E3=81=AB=20player=5Ftype=20*=20=E5=BC=95=E6=95=B0=E3=82=92?= =?utf8?q?=E8=BF=BD=E5=8A=A0=EF=BC=8E=20/=20Add=20player=5Ftype=20*=20argu?= =?utf8?q?ment=20to=20magic=5Fbarrier().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/mspells1.c | 2 +- src/mspells2.c | 2 +- src/realm-hex.c | 6 +++--- src/realm-hex.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mspells1.c b/src/mspells1.c index d736b40aa..ef6a391e7 100644 --- a/src/mspells1.c +++ b/src/mspells1.c @@ -1721,7 +1721,7 @@ bool make_attack_spell(MONSTER_IDX m_idx, player_type *target_ptr) } /* Hex: Anti Magic Barrier */ - if (!spell_is_inate(thrown_spell) && magic_barrier(m_idx)) + if (!spell_is_inate(thrown_spell) && magic_barrier(p_ptr, m_idx)) { msg_format(_("反魔法バリアが%^sの呪文をかき消した。", "Anti magic barrier cancels the spell which %^s casts."), m_name); return (TRUE); diff --git a/src/mspells2.c b/src/mspells2.c index 4f1e3bc8c..3259cc05a 100644 --- a/src/mspells2.c +++ b/src/mspells2.c @@ -701,7 +701,7 @@ bool monst_spell_monst(MONSTER_IDX m_idx) } /* Hex: Anti Magic Barrier */ - if (!spell_is_inate(thrown_spell) && magic_barrier(m_idx)) + if (!spell_is_inate(thrown_spell) && magic_barrier(p_ptr, m_idx)) { if (see_m) msg_format(_("反魔法バリアが%^sの呪文をかき消した。", "Anti magic barrier cancels the spell which %^s casts."), m_name); diff --git a/src/realm-hex.c b/src/realm-hex.c index f63041a3e..bc18f0699 100644 --- a/src/realm-hex.c +++ b/src/realm-hex.c @@ -306,13 +306,13 @@ bool teleport_barrier(MONSTER_IDX m_idx) * @param m_idx 判定の対象となるモンスターID * @return 反魔法の効果が適用されるならTRUEを返す */ -bool magic_barrier(MONSTER_IDX m_idx) +bool magic_barrier(player_type *target_ptr, MONSTER_IDX m_idx) { - monster_type *m_ptr = &p_ptr->current_floor_ptr->m_list[m_idx]; + monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx]; monster_race *r_ptr = &r_info[m_ptr->r_idx]; if (!hex_spelling(HEX_ANTI_MAGIC)) return FALSE; - if ((p_ptr->lev * 3 / 2) < randint1(r_ptr->level)) return FALSE; + if ((target_ptr->lev * 3 / 2) < randint1(r_ptr->level)) return FALSE; return TRUE; } diff --git a/src/realm-hex.h b/src/realm-hex.h index 02611826f..ddf0d2281 100644 --- a/src/realm-hex.h +++ b/src/realm-hex.h @@ -56,7 +56,7 @@ extern bool hex_spell_fully(player_type *caster_ptr); extern void revenge_spell(player_type *caster_ptr); extern void revenge_store(HIT_POINT dam); extern bool teleport_barrier(MONSTER_IDX m_idx); -extern bool magic_barrier(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 concptr do_hex_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode); -- 2.11.0