case ACT_QUAKE:
{
- earthquake(p_ptr->y, p_ptr->x, 5);
+ earthquake(p_ptr->y, p_ptr->x, 5, 0);
break;
}
case SV_STAFF_EARTHQUAKES:
{
- if (earthquake(p_ptr->y, p_ptr->x, (powerful ? 15 : 10)))
+ if (earthquake(p_ptr->y, p_ptr->x, (powerful ? 15 : 10), 0))
ident = TRUE;
else
msg_print(_("ダンジョンが揺れた。", "The dungeon trembles."));
/* Mega-Hack -- apply earthquake brand */
if (do_quake)
{
- earthquake(p_ptr->y, p_ptr->x, 10);
+ earthquake(p_ptr->y, p_ptr->x, 10, 0);
if (!current_floor_ptr->grid_array[y][x].m_idx) *mdeath = TRUE;
}
}
/* Radius 8 earthquake centered at the monster */
if (damage > 23 || explode)
{
- earthquake_aux(m_ptr->fy, m_ptr->fx, 8, m_idx);
+ earthquake(m_ptr->fy, m_ptr->fx, 8, m_idx);
}
break;
break;
}
case 3:
- earthquake(p_ptr->y, p_ptr->x, 8+randint0(5));
+ earthquake(p_ptr->y, p_ptr->x, 8+randint0(5), 0);
break;
case 4:
massacre();
case RBE_SHATTER:
damage -= (damage * ((ac < 150) ? ac : 150) / 250);
- if (damage > 23) earthquake_aux(m_ptr->fy, m_ptr->fx, 8, m_idx);
+ if (damage > 23) earthquake(m_ptr->fy, m_ptr->fx, 8, m_idx);
break;
case RBE_EXP_10:
break;
case MUT1_EARTHQUAKE:
- (void)earthquake(p_ptr->y, p_ptr->x, 10);
+ (void)earthquake(p_ptr->y, p_ptr->x, 10, 0);
break;
case MUT1_EAT_MAGIC:
if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_QUAKE);
else
- earthquake(p_ptr->y, p_ptr->x, 10);
+ earthquake(p_ptr->y, p_ptr->x, 10, 0);
}
break;
if (cast)
{
- earthquake(p_ptr->y, p_ptr->x, rad);
+ earthquake(p_ptr->y, p_ptr->x, rad, 0);
}
}
break;
if (cast)
{
dispel_monsters(d_dam);
- earthquake(p_ptr->y, p_ptr->x, q_rad);
+ earthquake(p_ptr->y, p_ptr->x, q_rad, 0);
project(0, b_rad, p_ptr->y, p_ptr->x, b_dam, GF_DISINTEGRATE, PROJECT_KILL | PROJECT_ITEM, -1);
}
}
if (cont)
{
- earthquake(p_ptr->y, p_ptr->x, 10);
+ earthquake(p_ptr->y, p_ptr->x, 10, 0);
}
}
extern bool crusade(void);
extern bool turn_undead(void);
extern bool destroy_area(POSITION y1, POSITION x1, POSITION r, bool in_generate);
-extern bool earthquake_aux(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx);
-extern bool earthquake(POSITION cy, POSITION cx, POSITION r);
+extern bool earthquake(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx);
extern void lite_room(POSITION y1, POSITION x1);
extern bool starlight(bool magic);
extern void unlite_room(POSITION y1, POSITION x1);
* This has allowed massive simplification of the "monster" code.
* </pre>
*/
-bool earthquake_aux(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx)
+bool earthquake(POSITION cy, POSITION cx, POSITION r, MONSTER_IDX m_idx)
{
DIRECTION i;
int t;
}
/*!
- * @brief 地震処理(プレイヤーの中心発動) /
- * Induce an "earthquake" of the given radius at the given location.
- * @return 効力があった場合TRUEを返す
- * @param cy 中心Y座標
- * @param cx 中心X座標
- * @param r 効果半径
- */
-bool earthquake(POSITION cy, POSITION cx, POSITION r)
-{
- return earthquake_aux(cy, cx, r, 0);
-}
-
-/*!
* @brief ペット爆破処理 /
* @return なし
*/
if (!(*count))
{
msg_print(_("地面が揺れた...", "The ground trembles..."));
- earthquake(p_ptr->y, p_ptr->x, 5 + randint0(10));
+ earthquake(p_ptr->y, p_ptr->x, 5 + randint0(10), 0);
if (!one_in_(6)) break;
}
case 30: case 31:
}
else if (randint1(100) > 30)
{
- earthquake(p_ptr->y, p_ptr->x, 1);
+ earthquake(p_ptr->y, p_ptr->x, 1, 0);
}
else
{
aggravate_monsters(0);
break;
case 26:
- earthquake(p_ptr->y, p_ptr->x, 5);
+ earthquake(p_ptr->y, p_ptr->x, 5, 0);
break;
case 27:
case 28:
else if (die < 101) hypodynamic_bolt(dir, 100 + plev);
else if (die < 104)
{
- earthquake(p_ptr->y, p_ptr->x, 12);
+ earthquake(p_ptr->y, p_ptr->x, 12, 0);
}
else if (die < 106)
{
}
else if (die < 104)
{
- earthquake(p_ptr->y, p_ptr->x, 12);
+ earthquake(p_ptr->y, p_ptr->x, 12, 0);
}
else if (die < 106)
{
{
msg_print(_("《塔》だ。", "It's the Tower."));
- earthquake(p_ptr->y, p_ptr->x, 5);
+ earthquake(p_ptr->y, p_ptr->x, 5, 0);
}
else if (die < 82)
{
if (!count)
{
msg_print(_("地面が揺れた...", "The ground trembles..."));
- earthquake(m_ptr->fy, m_ptr->fx, 4 + randint0(4));
+ earthquake(m_ptr->fy, m_ptr->fx, 4 + randint0(4), 0);
if (!one_in_(6)) break;
}
case 3: case 4: case 5: case 6: