OSDN Git Service

[Refactor] #38997 teleport_barrier() に player_type * 引数を追加. / Add player_type * argum...
authordeskull <deskull@users.sourceforge.jp>
Thu, 2 Jan 2020 07:38:32 +0000 (16:38 +0900)
committerdeskull <deskull@users.sourceforge.jp>
Thu, 2 Jan 2020 07:38:32 +0000 (16:38 +0900)
src/combat/melee1.c
src/mspells4.c
src/realm-hex.c
src/realm-hex.h

index 1425564..53e72ea 100644 (file)
@@ -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)
                        {
index c2e3fac..5b45b88 100644 (file)
@@ -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のテレポートを邪魔した。",
index bc18f06..f8385e4 100644 (file)
@@ -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;
 }
index ddf0d22..2bba705 100644 (file)
@@ -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);