Feedback welcome!
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9727 c06c8d41-db1a-0410-9941-cceddc491573
76XAPPSY2BXXT7AC45TNI7DL7AP6242DXC45CDIZ6T3RN4ZI3R4AC
HKUPYREKQ5JPD6T7MMPEY3XNAR5BNMGUHR6D2BUJYGMOBINPDNLAC
VGXHYRUOSTKGZ3IXD6YDH57J52TKLZEYZTQF75WOJN2IDKCITDCAC
3QMVUDNISBRQJZY76HDNCPB3L6J3Z6QIGFKSUI674QZB6NYZYI5AC
MV5USMLTBKVRWBAD67UFJ2BS4Y5HEOMYASRSB44DS24BBMRP75RQC
SUWIERONPDATHPDMZRYO6GYIXSW6XIS5V5MK5IV23DWQH2LL7VIAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
ZEFGFQHN6J2S6EIPX7EPDG22C5YXTI6DMKQHHRCLWN5MQC44KY3AC
PR2XIEELO6UJWT3EXDHWCJZGIZCCF3D6KF6LC67R6RWWAVNWEHWAC
DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC
POP6UTTHSJGDU5NU7ENQJOZVFUHYM63HJ6HLPXDDLK7XFIP4XEIQC
GSS3OCYMI4MYKACCGNLFA267VDH2U7G4QVVDLMOVAUHZTYQ3QJDAC
JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC
DWQDVEHZSTDVFS2GU24ZLIGJDA3M4767TB734JAQEAUVOOCLZ75AC
FCL7KOWXA5O3GLMDR22JCGMTHMZ57C4WQIJKBIIUQV3LI2CI3X7AC
CMAHQ2ZS37MGH4XGMVKRDK665PKNFBISOEZLY7RZXX7CXVLUPL5AC
DVQMYOEH2UDXRU6254CIXZLCNPZD2ENZTBXXSHBDOHRIG6DZNRTQC
VDWXI5MMXZLJXWWPZPXJZ2YZIR2OMPQO3VIJO2HMTF4TPYJB2MDQC
QKGDOYIYKE6B36ION5O2DRW65DWWPZMYNWJVH7LJJ7FPGGM2MYAQC
R5DXVK5AC7Z3IEBBNJGDR5IOSDFJ5MNWMUXSAD2JWTLFVFYN3KCQC
UXAXAS5XM2C2X7B77JUZXDD4TL7UATYMUJBPK4J7PPAFLAMCG7MQC
KOLNHLJOKBHEYRWSHX5U4RN3BSLRDI3SLJSC6MJYBVZDGKPAPOSQC
NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC
U6HLBU2OIMKVNWWZ55SERG56WKAW3GSFFEGUJBP4SQVYSESGXC2QC
ITXPKG6VHYSJSRQBRJUTD4AGCMMF4RDAJBAULFAN4J7OPQEHAQGQC
GCQMZPKM43XL26VMLDG4CSCEGQCCPOS3VG6VVMBVWBWRQX45EISQC
CB7U6IEEN2Z74672EYQQHWTB4GXVNNMAYDRQYAGY6K3QSDYYEHYAC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC
IISZ2GV3N6S5RTIBUMDNQXWDF7UCJYD3GX5XVAAZARWSZPOMRSXQC
7U7IZUR2C7UALYI4Y3SHBYGTHYVQM6JI4PXDFXUFL3T3L6JBSC6AC
S4PO7XGBGKFJBC5RDKB76KSSKPS3TACH7K3SN2VGBGDLVUIMOOSQC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
7NDXS36TE7QVXTXJWMYSVG5UHCCLPIO4VL6NXFGTDK3ZNKE3A2IAC
NS3KXJXQSN33UQSOBDK3WXXKA3KY5YOUJL67NBZKGQAJYDYZ2COQC
2VOD7XONHR3G2JGZGXOPHNR2AN7WUQZFR5KJH5ZY4P4G67H3RCSQC
S2KJEXXFMO3XWZVURPKYK7NFINGNP5MPA7EF55GX6HYW7WATT2PAC
int list_spells(bool toggle_with_I, bool viewing)
static bool _spell_no_hostile_in_range(spell_type spell, int minRange)
{
if (minRange < 0)
return (false);
switch (spell)
{
case SPELL_APPORTATION:
case SPELL_PROJECTED_NOISE:
// These don't target monsters.
return (false);
default:
break;
}
// The healing spells.
if (testbits(get_spell_flags(spell), SPFLAG_HELPFUL))
return (false);
const int range = _calc_spell_range(spell);
if (range < 0)
return (false);
if (range < minRange)
return (true);
return (false);
}
int list_spells(bool toggle_with_I, bool viewing, int minRange)
}
static int _get_dist_to_nearest_monster()
{
int minRange = LOS_RADIUS + 1;
for (radius_iterator ri(you.pos(), LOS_RADIUS, true, false, true); ri; ++ri)
{
if (!in_bounds(*ri))
continue;
if (!see_grid(*ri))
continue;
const monsters *mon = monster_at(*ri);
if (mon == NULL)
continue;
if (!player_monster_visible(mon)
|| mons_is_unknown_mimic(mon))
{
continue;
}
if (mons_wont_attack(mon))
continue;
int dist = grid_distance(you.pos(), *ri);
if (dist < minRange)
minRange = dist;
}
return (minRange);