{
int dist = distance(p_ptr->y, p_ptr->x, y, x);
if (dist > range) continue;
-
- /* Access the grid */
c_ptr = &cave[y][x];
/* Hack -- Safe */
/* Stay in the circle of death */
if (k > r) continue;
-
- /* Access the grid */
c_ptr = &cave[y][x];
/* Lose room and vault */
/* Stay in the circle of death */
if (k > r) continue;
-
- /* Access the grid */
c_ptr = &cave[y][x];
if (is_mirror_grid(c_ptr)) c_ptr->info |= CAVE_GLOW;
/* Skip distant grids */
if (distance(cy, cx, yy, xx) > r) continue;
-
- /* Access the grid */
c_ptr = &cave[yy][xx];
/* Lose room and vault */
/* Important -- no wall on player */
map[16+p_ptr->y-cy][16+p_ptr->x-cx] = FALSE;
- /* Take some damage */
if (damage)
{
cptr killer;
/* Skip unaffected grids */
if (!map[16+yy-cy][16+xx-cx]) continue;
-
- /* Access the grid */
c_ptr = &cave[yy][xx];
if (c_ptr->m_idx == p_ptr->riding) continue;
/* Look for safety */
for (i = 0; i < 8; i++)
{
- /* Access the grid */
y = yy + ddy_ddd[i];
x = xx + ddx_ddd[i];
/* Skip distant grids */
if (distance(cy, cx, yy, xx) > r) continue;
-
- /* Access the grid */
c_ptr = &cave[yy][xx];
if (is_mirror_grid(c_ptr)) c_ptr->info |= CAVE_GLOW;