OSDN Git Service

[Implement] #37285 量子生物が確率的に消滅する処理を変更し、ユニークならばショートテレポートまたはテレポートアウェイ (距離10)が発動するようにした...
[hengband/hengband.git] / src / mspells4.c
index bed412a..3334929 100644 (file)
@@ -222,7 +222,7 @@ void spell_RF4_DISPEL(MONSTER_IDX m_idx, player_type *target_ptr, MONSTER_IDX t_
                dispel_player(target_ptr);
                if (target_ptr->riding) dispel_monster_status(target_ptr, target_ptr->riding);
 
-               if ((target_ptr->pseikaku == SEIKAKU_COMBAT) || (target_ptr->inventory_list[INVEN_BOW].name1 == ART_CRIMSON))
+               if (IS_ECHIZEN(target_ptr))
                        msg_print(_("やりやがったな!", ""));
                else if ((target_ptr->pseikaku == SEIKAKU_CHARGEMAN))
                {
@@ -2399,7 +2399,7 @@ void spell_RF6_TELE_AWAY(player_type *target_ptr, MONSTER_IDX m_idx, MONSTER_IDX
 
        if (TARGET_TYPE == MONSTER_TO_PLAYER)
        {
-               if ((target_ptr->pseikaku == SEIKAKU_COMBAT) || (target_ptr->inventory_list[INVEN_BOW].name1 == ART_CRIMSON))
+               if (IS_ECHIZEN(target_ptr))
                        msg_print(_("くっそ~", ""));
                else if ((target_ptr->pseikaku == SEIKAKU_CHARGEMAN))
                {
@@ -2408,7 +2408,7 @@ void spell_RF6_TELE_AWAY(player_type *target_ptr, MONSTER_IDX m_idx, MONSTER_IDX
                }
 
                learn_spell(target_ptr, MS_TELE_AWAY);
-               teleport_player_away(m_idx, target_ptr, 100);
+               teleport_player_away(m_idx, target_ptr, 100, FALSE);
                return;
        }
 
@@ -2447,7 +2447,7 @@ void spell_RF6_TELE_AWAY(player_type *target_ptr, MONSTER_IDX m_idx, MONSTER_IDX
        }
 
        if (t_idx == target_ptr->riding)
-               teleport_player_away(m_idx, target_ptr, MAX_SIGHT * 2 + 5);
+               teleport_player_away(m_idx, target_ptr, MAX_SIGHT * 2 + 5, FALSE);
        else
                teleport_away(target_ptr, t_idx, MAX_SIGHT * 2 + 5, TELEPORT_PASSIVE);
        set_monster_csleep(target_ptr, t_idx, 0);
@@ -3619,7 +3619,7 @@ void spell_RF6_S_UNIQUE(player_type *target_ptr, POSITION y, POSITION x, MONSTER
 * @param m_idx 呪文を唱えるモンスターID
 * @return 攻撃呪文のダメージ、または召喚したモンスターの数を返す。その他の場合0。以降の処理を中断するなら-1を返す。
 */
-HIT_POINT monspell_to_player(int SPELL_NUM, player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx)
+HIT_POINT monspell_to_player(player_type *target_ptr, int SPELL_NUM, POSITION y, POSITION x, MONSTER_IDX m_idx)
 {
        switch (SPELL_NUM)
        {