/* Ignore "excessively distant" locations */
if ((d > 1) && (distance(y, x, ny, nx) > d)) continue;
- /* Require "line of sight" */
- if (los(y, x, ny, nx)) break;
+ /* Require "line of projection" */
+ if (projectable(y, x, ny, nx)) break;
}
/* Save the location */
/* Ignore annoying locations */
if (!in_bounds(ny, nx)) continue;
- /* Require "line of sight" */
- if (!los(y, x, ny, nx)) continue;
+ /* Require "line of projection" */
+ if (!projectable(y, x, ny, nx)) continue;
if (r_idx > 0)
{
{
/* Walls and Monsters block flow */
if (!cave_empty_bold2(ny, nx)) continue;
-
+
/* ... nor on the Pattern */
if (pattern_tile(ny, nx)) continue;
}
num[i]++;
/* random swap */
- if(one_in_(num[i]))
+ if (one_in_(num[i]))
{
place_x[i] = nx;
place_y[i] = ny;