#include "monsterrace-hook.h"
#include "projection.h"
#include "artifact.h"
+#include "monster.h"
#include "player-status.h"
+#include "feature.h"
/*!
* @brief 剣術の各処理を行う
y = p_ptr->y + ddy_cdd[cdir];
x = p_ptr->x + ddx_cdd[cdir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, 0);
else
msg_print(_("攻撃は空を切った。", "You attack the empty air."));
y = p_ptr->y + ddy_cdd[(cdir + 7) % 8];
x = p_ptr->x + ddx_cdd[(cdir + 7) % 8];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, 0);
else
msg_print(_("攻撃は空を切った。", "You attack the empty air."));
y = p_ptr->y + ddy_cdd[(cdir + 1) % 8];
x = p_ptr->x + ddx_cdd[(cdir + 1) % 8];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, 0);
else
msg_print(_("攻撃は空を切った。", "You attack the empty air."));
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_FIRE);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_MINEUCHI);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (!grid_array[y][x].m_idx)
+ if (!current_floor_ptr->grid_array[y][x].m_idx)
{
msg_print(_("その方向にはモンスターはいません。", "There is no monster."));
return NULL;
py_attack(y, x, 0);
- if (!player_can_enter(grid_array[y][x].feat, 0) || is_trap(grid_array[y][x].feat))
+ if (!player_can_enter(current_floor_ptr->grid_array[y][x].feat, 0) || is_trap(current_floor_ptr->grid_array[y][x].feat))
break;
y += ddy[dir];
x += ddx[dir];
- if (player_can_enter(grid_array[y][x].feat, 0) && !is_trap(grid_array[y][x].feat) && !grid_array[y][x].m_idx)
+ if (player_can_enter(current_floor_ptr->grid_array[y][x].feat, 0) && !is_trap(current_floor_ptr->grid_array[y][x].feat) && !current_floor_ptr->grid_array[y][x].m_idx)
{
msg_print(NULL);
(void)move_player_effect(y, x, MPE_FORGET_FLOW | MPE_HANDLE_STUFF | MPE_DONT_PICKUP);
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_POISON);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_ZANMA);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, 0);
else
{
{
return "";
}
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
{
int i;
POSITION ty = y, tx = x;
POSITION oy = y, ox = x;
- MONSTER_IDX m_idx = grid_array[y][x].m_idx;
- monster_type *m_ptr = &m_list[m_idx];
+ MONSTER_IDX m_idx = current_floor_ptr->grid_array[y][x].m_idx;
+ monster_type *m_ptr = ¤t_floor_ptr->m_list[m_idx];
GAME_TEXT m_name[MAX_NLEN];
monster_desc(m_name, m_ptr, 0);
if ((ty != oy) || (tx != ox))
{
msg_format(_("%sを吹き飛ばした!", "You blow %s away!"), m_name);
- grid_array[oy][ox].m_idx = 0;
- grid_array[ty][tx].m_idx = m_idx;
+ current_floor_ptr->grid_array[oy][ox].m_idx = 0;
+ current_floor_ptr->grid_array[ty][tx].m_idx = m_idx;
m_ptr->fy = ty;
m_ptr->fx = tx;
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_HAGAN);
if (!cave_have_flag_bold(y, x, FF_HURT_ROCK)) break;
/* Destroy the feature */
cave_alter_feat(y, x, FF_HURT_ROCK);
-
- /* Update some things */
p_ptr->update |= (PU_FLOW);
}
break;
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_COLD);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_KYUSHO);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_MAJIN);
else
{
case 16:
if (name) return _("捨て身", "Desperate Attack");
if (desc) return _("強力な攻撃を繰り出す。次のターンまでの間、食らうダメージが増える。",
- "Attacks with all of your power. But all damages you take will be doubled for one turn.");
+ "Attacks with all of your power. But all damages you take will be doubled for one current_world_ptr->game_turn.");
if (cast)
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_SUTEMI);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_ELEC);
else
{
{
y = p_ptr->y + ddy_ddd[dir];
x = p_ptr->x + ddx_ddd[dir];
- g_ptr = &grid_array[y][x];
- m_ptr = &m_list[g_ptr->m_idx];
+ g_ptr = ¤t_floor_ptr->grid_array[y][x];
+ m_ptr = ¤t_floor_ptr->m_list[g_ptr->m_idx];
/* Hack -- attack monsters */
if (g_ptr->m_idx && (m_ptr->ml || cave_have_flag_bold(y, x, FF_PROJECT)))
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ 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);
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- g_ptr = &grid_array[y][x];
+ g_ptr = ¤t_floor_ptr->grid_array[y][x];
if (g_ptr->m_idx)
py_attack(y, x, HISSATSU_3DAN);
ny = y + ddy[dir];
nx = x + ddx[dir];
m_idx = g_ptr->m_idx;
- m_ptr = &m_list[m_idx];
+ m_ptr = ¤t_floor_ptr->m_list[m_idx];
/* Monster cannot move back? */
if (!monster_can_enter(ny, nx, &r_info[m_ptr->r_idx], 0))
}
g_ptr->m_idx = 0;
- grid_array[ny][nx].m_idx = m_idx;
+ current_floor_ptr->grid_array[ny][nx].m_idx = m_idx;
m_ptr->fy = ny;
m_ptr->fx = nx;
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_DRAIN);
else
{
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
{
py_attack(y, x, 0);
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
{
handle_stuff();
py_attack(y, x, 0);
y = p_ptr->y + ddy[dir];
x = p_ptr->x + ddx[dir];
- if (grid_array[y][x].m_idx)
+ if (current_floor_ptr->grid_array[y][x].m_idx)
py_attack(y, x, HISSATSU_UNDEAD);
else
{