git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5866 c06c8d41-db1a-0410-9941-cceddc491573
D54BYIF6H4WYWDUFPAEPH3HFZLRFCWSATJ2JBS3I4S2JYKZFB34QC
WZTIVJJVK7CAHU5D2IYPH7TWGTLBBYPJZJYPGWKCDGM3JQ6Z6VKAC
JN4GPMQCXOY5ICTLPLWP6DXBFULN4GMAEK7T4GXTZVIJAUUKBBYAC
VJPJ34M3NKHTKLKVCH7VEHQRIALQYRIBL7MFVVIVA2AO2FHGNT7AC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
UWMN4HLG6YA2YFQEVIVMDISD6APKEPIZXMMPMNUYCBQDSAUYSXPQC
TO43FWKHNIA5MVDOFXYHQODTLBQYEZKX5UIUGID57436UF7G2EXQC
IQFLSXLOKMSMM65BL7XOEI5ZP55WKZ7BFBOIA44AMTPNJ7DAQXBQC
EB33TUEEJFHMEO6YHEXSYX3MBXHNPEFNMZL2VA75GOGKY6POSF2AC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
const int ystart = MAX(0, you.y_pos - range);
const int yend = MIN(GYM - 1, you.y_pos + range);
const int xstart = MAX(0, you.x_pos - range);
const int xend = MIN(GXM - 1, you.x_pos + range);
// Sweep every square within range.
radius_iterator ri(you.pos(), range);
monsters *mon = &env.mons[targ_monst];
if (player_monster_visible(mon)
&& !mons_is_submerged(mon)
&& (!mons_is_mimic(mon->type)
|| mons_is_known_mimic(mon))
&& (!dangerous_only || !mons_is_safe(mon, want_move)))
{
mons.push_back(mon);
if (just_check)
{
// One monster found, that's enough.
return;
}
}
mons.push_back(mon);
if (just_check) // stop once you find one
return;