account, there's no need to manually backlight invisible monsters anymore.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4341 c06c8d41-db1a-0410-9941-cceddc491573
ONHQBZXANTHQXMYSYF37EH36FQ6DULFQGVRWJV2HL62YCKYDWMWQC
EHVJHKHHF2FB5Q57CM3FX7JPPF6Z4LOPLTF6JRKN55H373AES3VAC
H3K24CLFUGG7OQUASZSMK23QFX725S5OQCHGXZG3S7BHTDZ6Z5HAC
LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC
3A6E2MQQZDGITBNWJ4G2GUTXADMVOYXL6ZHEFTE675YH2N5GKXNQC
YSUUJTK4F4QM353U4D4FEUQ4NYKTZF4I5VWGX7EXBEWBN6IFEKWAC
JDZCDMUCQ7VENYVLB62KQWUIRGABID37OKATOKCBUPCDL7W75NPAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
Y24YN22VD2MENDUGGGU63UJH6RUZTTS3IAP62FSUGAUHYTX22C7QC
4OV4JZ6NWQ2ZK4LEWCUWALLB3BVANJJ2EMLHC5LJLA5WYSP25OIQC
SRYIUTTRZYQDYPLLXYKEHMYWC4EGBYPOT65M2HZEIGFG6SDMV7SQC
YTOVMXKZGH2F223A5LX4MOXDJP5LY2ZRTBZREQKMUZS5SYDRR33QC
DXTJW5IBRWIF4F4BJC3BGKJAGWYRGD7LQBG6FW3PTO7BGTU6OAPAC
ARNDCQD3NXQRD5CZFTBQOMID5RPPRRIK647T36FLGHMUN62MF7WAC
7WLAVQSDYIVNLJZU7IU5QQEPK2IVVADIORNP7WWTB2ADEPG5DL2AC
OP6CTAKWCAU64JXQ3USQYR5E5IFHQHNCACII5UMVRXUTZXJQOAZAC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
X5MOJOPRGXXYI3NDLV6X54OSUKM2QYCGQWPXUMKHLCARDAWWDWSAC
BHSSCPAG6MHLIZY4VDAHHBWURMYMVMF2IIMVEQ2XQ4U2ZEFF3XNAC
RCPQNIRPR3NQXEMVLBAQW6657UJFIP43N54UJVEZHJH22OH4UQIQC
I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC
O6ZMFKDI3XO2SWPNEYHIPYFDWJR4TVDP5BAATK6LVCVETQID6E7AC
CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC
}
void manage_halo()
{
int radius = halo_radius();
if (radius == 0)
return;
int monster = -1;
// Backlight an invisible player inside a halo.
if (you.duration[DUR_INVIS] && !you.duration[DUR_BACKLIGHT])
you.duration[DUR_BACKLIGHT] = 1;
for (int x = -radius; x <= radius; x++)
for (int y = -radius; y <= radius; y++)
{
int posx = you.x_pos + x;
int posy = you.y_pos + y;
int dist = _inside_circle(posx, posy, radius);
if (dist != -1)
{
monster = mgrd[posx][posy];
// Backlight invisible monsters inside a halo.
if (monster != NON_MONSTER)
{
monsters *mon = &menv[monster];
if (mon->has_ench(ENCH_INVIS)
&& !mon->has_ench(ENCH_BACKLIGHT))
{
mon->add_ench(mon_enchant(ENCH_BACKLIGHT, 0,
KC_YOU, 10));
}
}
}
}
// invisible monsters inside a halo don't lose backlight
if (has_ench(ENCH_INVIS) && inside_halo(x, y))
add_ench(mon_enchant(ENCH_BACKLIGHT, 0, KC_YOU, 10));
else if (!quiet)
if (!quiet)