Also fix a subtle bug causing monsters to be able to teleport through walls if there was clear rock there too. (This is because num_feats_between() is not symmetrical in its first two arguments.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8847 c06c8d41-db1a-0410-9941-cceddc491573
FBVU7IUFVPEVV5ON6PWJWJ7GW27F2ANGN5O6BKVDBYTJLGAB3IZQC
RXHRUGJOV52BXPWHH42I6SRW4DN7JYCEJ4AZ2LTHI2MNV4QGXWJQC
VBZ7XKM6PIJA6CGSHSE7E3Q5GFJ2DUWYGWIOBYJXTPI5NCY7FNAAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
ZNMT5CZHP2FC4HTLNA7KYEDGFBXSCUE5QHJOALVPE6RDPHSEDXRQC
USSKCWQTF6BTE3SFLQVCT6RZHU2R7URWFC7EPO2EN3Z6U4IEQ7GQC
R6OOCNZ6NC4UGB7UY3H4IMM6WJQZUHSOLCWY75Y6OTXLXESO5JKAC
LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC
2PZXX7DNNOL5X3TF2ID22AGDHLHUHBPSAXQJR6EWG5YAXRJCAYWAC
AOXEL2V6ICXEIRWXB76LJARWP3NPKG2L4UFYOIQUALUJU4ZLE3UQC
AUXVWXWIFSTWFA6VZXN2FMG7FQEKRZVV6MD32VQQ7J2RKCXHAVGAC
for (tries = 0; tries < 150; ++tries)
{
const coord_def delta(random2(14), random2(14));
if (delta.rdist() == 1 && !allow_adjacent)
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;
}
// Check that we didn't go through clear walls.
if (num_feats_between(mon.pos(), target,
DNGN_CLEAR_ROCK_WALL,
DNGN_CLEAR_PERMAROCK_WALL,
true, true) > 0)
{
continue;
}