affixing a fire brand) into one function.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7615 c06c8d41-db1a-0410-9941-cceddc491573
JRMVNXBOAVFIEKN3AP3EN63PO5ATZPM2MWQYGWZJFP2LCDOLU36AC
2TZT4GURBCNHSVOXO5ZMN7XEIO3K4GWJCDPVSYUCMVZ6UFDL4DIQC
2G7MZ653N3JUHJ4DA5Q7VRO3S5T27DLPKDCJEKB6DGYSTXULUVWAC
IVQE2LZ6DI3POF5XMA3VOOFT7NMC2SV5IIAB5UXB6EBNQIDUX7LAC
XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC
IG3AVXDAP3IAVQEV34X7PWSM6TFNWPIMHD3KTZXKSUNVI4ZZAXEQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
NG53L53MSFQZAIVKHG54IEMXNJ33AYVPF2OZM4MMJFDKEJCGPBSAC
L4Z2MHAQ2AAQSTVWBUCTBPXXJDLGR4JH2MMPQA3WBVCPCVNFMUXQC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC
3IJHKZOTXLU7B6F4UIKXCQCPXEVLKRX2M3VWAAPGRLL24IIP2T2QC
LUH6GAJODIQXNPBEHMSUTKH3KA3DYVRCKZ6GJJ4HHNHOIMMUEP6QC
OONYLF4DAPLIYLBNNRW74IVT5BBTWI4XHQBXSNSPVRX3FTKJBTRAC
RQFQSU37Y3ZBFR634JWYHE77LIOOINGBRNL4KUHPPRA3ZR6W5QIAC
TV3ZC6WOZKSQQJQN26JIVKCHK6UK7WMDBYZDUYRWEAZ4JB4YVNAAC
{
bolt beam;
beam.name = "fiery explosion";
beam.aux_source = "a fiery explosion";
beam.type = dchar_glyph(DCHAR_FIRED_BURST);
beam.damage = dice_def(3, 10);
beam.flavour = BEAM_FIRE;
beam.target = you.pos();
beam.colour = RED;
beam.thrower = KILL_YOU;
beam.ex_size = 2;
beam.is_tracer = false;
beam.is_explosion = true;
explosion(beam);
}
immolation(IMMOLATION_SPELL);
set_ident_type( scroll, ID_KNOWN_TYPE );
dec_inv_item_quantity( item_slot, 1 );
bolt beam;
beam.is_tracer = false;
// unsure about this: BEAM_EXPLOSION instead? {dlb}
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;
// your explosion, (not someone else's explosion)
beam.thrower = KILL_YOU;
beam.aux_source = "reading a scroll of immolation";
beam.ex_size = 2;
beam.is_explosion = true;
set_ident_type(scroll, ID_KNOWN_TYPE);
dec_inv_item_quantity(item_slot, 1);
}
void immolation(int caster, bool known)
{
const char *aux = "immolation";
if (caster < 0)
{
switch (caster)
{
case IMMOLATION_SCROLL:
aux = "scroll of immolation";
break;
case IMMOLATION_SPELL:
aux = "a fiery explosion";
break;
}
caster = IMMOLATION_GENERIC;
}
bolt beam;
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.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;
explosion(beam, false, false, true, true, true,
caster != IMMOLATION_SCROLL);