From: deskull Date: Thu, 2 Jan 2020 07:38:32 +0000 (+0900) Subject: [Refactor] #38997 teleport_barrier() に player_type * 引数を追加. / Add player_type * argum... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6ffa01ab81f6967db3c5fd9f9625d9cb8e2b049c;p=hengband%2Fhengband.git [Refactor] #38997 teleport_barrier() に player_type * 引数を追加. / Add player_type * argument to teleport_barrier(). --- diff --git a/src/combat/melee1.c b/src/combat/melee1.c index 14255649a..53e72eade 100644 --- a/src/combat/melee1.c +++ b/src/combat/melee1.c @@ -4081,7 +4081,7 @@ bool make_attack_normal(player_type *target_ptr, MONSTER_IDX m_idx) /* Blink away */ if (blinked && alive && !target_ptr->is_dead) { - if (teleport_barrier(m_idx)) + if (teleport_barrier(target_ptr, m_idx)) { msg_print(_("泥棒は笑って逃げ...ようとしたがバリアに防がれた。", "The thief flees laughing...? But magic barrier obstructs it.")); } @@ -4713,7 +4713,7 @@ bool monst_attack_monst(player_type *subject_ptr, MONSTER_IDX m_idx, MONSTER_IDX /* Blink away */ if (blinked && m_ptr->r_idx) { - if (teleport_barrier(m_idx)) + if (teleport_barrier(subject_ptr, m_idx)) { if (see_m) { diff --git a/src/mspells4.c b/src/mspells4.c index c2e3fac6d..5b45b886a 100644 --- a/src/mspells4.c +++ b/src/mspells4.c @@ -1868,7 +1868,7 @@ void spell_RF6_BLINK(MONSTER_IDX m_idx, int TARGET_TYPE) if (TARGET_TYPE==MONSTER_TO_PLAYER) disturb(p_ptr, TRUE, TRUE); - if (teleport_barrier(m_idx)) + if (teleport_barrier(p_ptr, m_idx)) { if(see_monster(m_idx)) msg_format(_("魔法のバリアが%^sのテレポートを邪魔した。", @@ -1898,7 +1898,7 @@ void spell_RF6_TPORT(MONSTER_IDX m_idx, int TARGET_TYPE) if (TARGET_TYPE==MONSTER_TO_PLAYER) disturb(p_ptr, TRUE, TRUE); - if (teleport_barrier(m_idx)) + if (teleport_barrier(p_ptr, m_idx)) { if(see_monster(m_idx)) msg_format(_("魔法のバリアが%^sのテレポートを邪魔した。", diff --git a/src/realm-hex.c b/src/realm-hex.c index bc18f0699..f8385e419 100644 --- a/src/realm-hex.c +++ b/src/realm-hex.c @@ -290,13 +290,13 @@ void revenge_store(HIT_POINT dam) * @param m_idx 判定の対象となるモンスターID * @return 反テレポートの効果が適用されるならTRUEを返す */ -bool teleport_barrier(MONSTER_IDX m_idx) +bool teleport_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_TELE)) 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; } diff --git a/src/realm-hex.h b/src/realm-hex.h index ddf0d2281..2bba705b1 100644 --- a/src/realm-hex.h +++ b/src/realm-hex.h @@ -55,7 +55,7 @@ extern void check_hex(player_type *caster_ptr); 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 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 concptr do_hex_spell(player_type *caster_ptr, SPELL_IDX spell, BIT_FLAGS mode);