_explosion_map() does.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7666 c06c8d41-db1a-0410-9941-cceddc491573
XK3UF67LUGQZ2RGUSY5MW6W6VVVNERDYXR7CZMJS45RIVLW3A3DAC
2TZT4GURBCNHSVOXO5ZMN7XEIO3K4GWJCDPVSYUCMVZ6UFDL4DIQC
QMZHUQRN2EMPP45BUSVVYV7QBERENBU2PDXVQYAIE2WMUZ5NUOIAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC
7RE7J5DEMEO52RKOE77JMEXKZ7ORJJMCRGKLC6NHYDJW66UKYE4AC
XI5VME7HFX6PID3Y4PRICAALEXTJET7NEDI4ANYGWLFDZTBVA2LQC
5K2ANIEXD3CPJM4XNKNPZINP2G4NT7SJBKRN62WNBUKJXFERTILQC
4FQAKUKUO6PCAZ3N4HUR5XL6E4VA5UQUZ3AEDGRBLVY7W2LMWI7QC
if ((i + 1) != dir)
{
int cadd = 5;
if (p.x * Compass[i].x < 0 || p.y * Compass[i].y < 0)
cadd = 17;
// Is that cell already covered by a recursion that was closer
// to the center?
if (explode_map(p + coord_def(9,9) + Compass[i]) <= count)
continue;
_explosion_map( beam, p + Compass[i], count + cadd,
(i + 4) % 8, r );
}
int cadd = 5;
if (p.x * Compass[i].x < 0 || p.y * Compass[i].y < 0)
cadd = 17;
_explosion_map( beam, p + Compass[i], count + cadd, r);