if (known) p_ptr->dtrap = TRUE;
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 0) detect = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 0) detect = FALSE;
/* Describe */
if (detect)
{
bool detect = detect_feat_flag(range, FF_DOOR, TRUE);
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 0) detect = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 0) detect = FALSE;
/* Describe */
if (detect)
{
bool detect = detect_feat_flag(range, FF_STAIRS, TRUE);
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 0) detect = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 0) detect = FALSE;
/* Describe */
if (detect)
{
bool detect = detect_feat_flag(range, FF_HAS_GOLD, TRUE);
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 6) detect = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 6) detect = FALSE;
/* Describe */
if (detect)
}
}
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 6) detect = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 6) detect = FALSE;
/* Describe */
if (detect)
}
}
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 6) detect = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 6) detect = FALSE;
/* Describe */
if (detect)
}
}
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 3) flag = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 3) flag = FALSE;
/* Describe */
if (flag)
}
}
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 3) flag = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 3) flag = FALSE;
/* Describe */
if (flag)
}
}
- if (music_singing(MUSIC_DETECT) && p_ptr->magic_num1[2] > 3) flag = FALSE;
+ if (music_singing(MUSIC_DETECT) && SINGING_COUNT(p_ptr) > 3) flag = FALSE;
/* Describe */
if (flag)
speed = m_ptr->mspeed - 110;
if (MON_FAST(m_ptr)) speed += 10;
if (MON_SLOW(m_ptr)) speed -= 10;
+ if (ironman_nightmare) speed += 5;
/* Get the monster's alignment */
#ifdef JP
return (project(0, rad, ty, tx, dam, typ, flg, -1));
}
+/*!
+* @brief ブレス系スペルの発動 / Cast a breath spell
+* @param typ 効果属性
+* @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
+* @param dam 威力
+* @param rad 半径
+* @return 作用が実際にあった場合TRUEを返す
+* @details
+* <pre>
+* Stop if we hit a monster, act as a "ball"
+* Allow "target" mode to pass over monsters
+* Affect grids, objects, and monsters
+* </pre>
+*/
+bool fire_breath(int typ, int dir, HIT_POINT dam, int rad)
+{
+ fire_ball(typ, dir, dam, -rad);
+}
/*!
}
/*!
- * @brief 吸血ボルト処理
+ * @brief 衰弱ボルト処理
* @param dir 方向(5ならばグローバル変数 target_col/target_row の座標を目標にする)
* @param dam 威力
* @return 作用が実際にあった場合TRUEを返す
*/
-bool drain_life(int dir, HIT_POINT dam)
+bool hypodynamic_bolt(int dir, HIT_POINT dam)
{
BIT_FLAGS flg = PROJECT_STOP | PROJECT_KILL | PROJECT_REFLECTABLE;
- return (project_hook(GF_OLD_DRAIN, dir, dam, flg));
+ return (project_hook(GF_HYPODYNAMIA, dir, dam, flg));
}
/*!