Fixes [2482177].
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8115 c06c8d41-db1a-0410-9941-cceddc491573
VBZ7XKM6PIJA6CGSHSE7E3Q5GFJ2DUWYGWIOBYJXTPI5NCY7FNAAC
R6OOCNZ6NC4UGB7UY3H4IMM6WJQZUHSOLCWY75Y6OTXLXESO5JKAC
TRBDS4IKHBASW2CTAQ2YHMBMBMRB6QEBQ4ZE7GRSR3U2VJXA7TJQC
HCVH2CWL32UD66O6Z7ZYDUASWN3RF5TW6FSWURGMD7MELKB772FAC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
5WHLQTLOJRJ67M4KAJZURHMNQLYHBW4XHQFBXV2LUQ4W6YKTOXVAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
AOXEL2V6ICXEIRWXB76LJARWP3NPKG2L4UFYOIQUALUJU4ZLE3UQC
USSKCWQTF6BTE3SFLQVCT6RZHU2R7URWFC7EPO2EN3Z6U4IEQ7GQC
2PZXX7DNNOL5X3TF2ID22AGDHLHUHBPSAXQJR6EWG5YAXRJCAYWAC
LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC
BMGB25AWEDOAWKDB7H22R6D4SL32CSBSOBWBIEN3GFGDLEDGEWJAC
return (false);
const coord_def delta(random2(14), random2(14));
// Check that we don't get something too close to the
// starting point.
if (delta.origin())
continue;
if (delta.rdist() == 1 && !allow_adjacent)
continue;
// Update target.
target = delta + mon.pos();
// Check that the target is valid and survivable.
if (!in_bounds(target))
continue;
if (!monster_habitable_grid(&mon, grd(target)))
continue;
if (respect_sanctuary && is_sanctuary(target))
continue;
// Check that we didn't go through clear walls.
if (num_feats_between(target, mon.pos(),
DNGN_CLEAR_ROCK_WALL,
DNGN_CLEAR_PERMAROCK_WALL,
true, true) > 0)
{
continue;
}
// Note that this uses the clobbered LOS!
if (respect_los && !see_grid(target))
continue;
// Survived everything, break out (with a good value of target.)
break;