an explosion of BEAM_HOLY around the player instead of an aimable effect.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8467 c06c8d41-db1a-0410-9941-cceddc491573
ZNBSMRH6K5SUITIIOYG4NT6ZW63LDTT6ZPT6BLS7T3FS6KMKNNSQC
XOWK46TTYFCADT62FQYYYOLXOH56XQGXUGXS65BP2KYV6APA72FAC
LFPHI3TJK5V4HPJJHCG5XATY23P25OVIZ4ITQVG354DJHPEPKU4AC
IYMUEJG2VI3TV7HVAZIU2L4DVQY7VNSIFVV4I3QIVP7H66EVJISAC
PUY2VWZJ3G7HNCLIHZP5VGT2DAGHI436ETDJQTPEBFPRSEHOM2NQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
KATZLWENEIQMKKWIV4ZLXJ5HFUW6SU5K4ZU6NENBOL4XAAVTDUKAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
BEPZL7D7JJHJUUDCVLGJRKKWM7NUAC7X2SU5XJMEASE6YTB53P3AC
UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC
MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC
LUH6GAJODIQXNPBEHMSUTKH3KA3DYVRCKZ6GJJ4HHNHOIMMUEP6QC
Q7GGSLY6IUX2YPBQNRR7JL5HY7VEWLBQN3KCZGMS2WAA2LNXRI6QC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
PL6I2CMSTHY5ZHWVMIQE5YTM5S5VPKBNZM6QJVHZSSKOJGIJ5W4AC
JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC
4FQAKUKUO6PCAZ3N4HUR5XL6E4VA5UQUZ3AEDGRBLVY7W2LMWI7QC
KX6HOBTF5OBZLH2VNEFHH6YAX66FSE6JGBY5I2WIAW5IEJUGNL6AC
JRMVNXBOAVFIEKN3AP3EN63PO5ATZPM2MWQYGWZJFP2LCDOLU36AC
EHL7B5UIYYHSFX3KXQ43C4GNFJSEUEXFF7U3IL7XU6E5R675WS7AC
OONYLF4DAPLIYLBNNRW74IVT5BBTWI4XHQBXSNSPVRX3FTKJBTRAC
T5VE6Y4RGX5BK3BQYUVV3TX6VKLPZFSBWR227723UX4VMUZGJH7QC
CSC3SNU2QMWV5MJL6L2DJIQ5W7V3XXMZM6VULPSENTOT7R4DFQKAC
EADWOF6DJ7WTY3ZAFRVJ2VHFWNLDGX6W3JXESBTXJ6K4PM2AJVDQC
WFMQVPMMOPG5SBJD5LUBOIYWRMXVWK3FXENK7SAEGZ5T6XWFKERQC
7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC
C5U3HSOOQ7BKXKXIDS7MLVXUKDTHAWJ5NXNX6YDXTM3GWY5UWX4QC
E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC
PI5BATR2SER3RFE76IUGHM2AGXVFOUM3PLU7WC2K2Q2BA5K2E73QC
FLAGBNUNSIQNFDN53CDWABJRTTFWDL4PG34AI474ZKPXDEPYHOAQC
26HEO5BBZ7U5BPTQIC7KDFKMCZXVQMX57KTB3XSUQSUN42B6G4AQC
PFEJ4LMDNEKLMGRCMWQ7EIRVU4JMYGICI4G7X4WVWOROVXQCBZ7QC
bolt beam;
beam.beam_source = NON_MONSTER;
beam.type = dchar_glyph(DCHAR_FIRED_BURST);
beam.damage = calc_dice(2, 20 + (you.experience_level * 7) / 3);
beam.flavour = BEAM_HOLY;
beam.target = you.pos();
beam.name = "golden flame";
beam.colour = YELLOW;
beam.thrower = KILL_MISC;
beam.aux_source = "the Shining One's cleansing flame";
beam.ex_size = 2;
beam.is_tracer = false;
beam.is_explosion = true;
beam.explode();
cleansing_flame(20 + (you.experience_level * 7) / 3,
CLEANSING_FLAME_TSO);
caster = IMMOLATION_GENERIC;
beam.flavour = BEAM_FIRE;
beam.type = dchar_glyph(DCHAR_FIRED_BURST);
beam.damage = dice_def(3, 10);
beam.target = you.pos();
beam.name = "fiery explosion";
beam.colour = RED;
beam.beam_source = NON_MONSTER;
beam.thrower = (caster == IMMOLATION_GENERIC) ? KILL_MISC : KILL_YOU;
beam.aux_source = aux;
beam.ex_size = 2;
beam.is_tracer = false;
beam.is_explosion = true;
beam.effect_known = known;
beam.affects_items = (caster != IMMOLATION_SCROLL);
beam.explode();
}
void cleansing_flame(int pow, int caster)
{
ASSERT(!crawl_state.arena);
const char *aux = "cleansing flame";
bolt beam;
if (caster < 0)
{
switch (caster)
{
case CLEANSING_FLAME_TSO:
aux = "the Shining One's cleansing flame";
break;
}
beam.name = "fiery explosion";
beam.colour = RED;
beam.thrower = (caster == IMMOLATION_GENERIC) ? KILL_MISC : KILL_YOU;
beam.name = "golden flame";
beam.colour = YELLOW;
beam.thrower = (caster == CLEANSING_FLAME_GENERIC
|| caster == CLEANSING_FLAME_TSO) ? KILL_MISC
: KILL_YOU;
beam.beam_source = NON_MONSTER;
ZAP_CLEANSING_FLAME,
"golden flame",
200,
new calcdice_calculator<2, 20, 2, 3>,
new tohit_calculator<150>,
YELLOW,
false,
BEAM_HOLY,
DCHAR_FIRED_ZAP,
true,
true,
true
},
{
}
if (name == "golden flame")
{
seeMsg = "The flame explodes!";
hearMsg = "You feel a deep, resonant explosion.";
type = dchar_glyph(DCHAR_FIRED_BURST);
flavour = BEAM_HOLY;
ex_size = 2;
beam.range = 8;
if (!spell_direction(spd, beam, DIR_NONE, TARG_ENEMY, beam.range))
return (false);
if (!zapping(ZAP_CLEANSING_FLAME, 20 + you.skills[SK_INVOCATIONS] * 6,
beam, true))
{
return (false);
}
cleansing_flame(10 + (you.skills[SK_INVOCATIONS] * 7) / 6,
CLEANSING_FLAME_INVOCATION);