git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2536 c06c8d41-db1a-0410-9941-cceddc491573
3WAR2UAC4C4D2GOK4AUV4JITGFSBO3NIBAXGQZXSMFUTNTCLTU4AC
GZMPIDNMBXZ4B2ZWKREHBPAVN53J6WRVY5W5KY52KEBHKU6IW4IQC
JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
WG6O475IOLZFMUQSLVR2KHM7XTBF5HH276L2KDGF7UOSESDOAILQC
E6JXIMRH2TX5WHZ6BT2QZ3EANM3PWCHCVYC4XWRJGRBDSP42X2RAC
I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC
if (spfl < spell_fail(spell))
const int spfail_chance = spell_fail(spell);
// Divination mappings backfire in Labyrinths.
if (you.level_type == LEVEL_LABYRINTH
&& testbits(flags, SPFLAG_MAPPING))
{
mprf(MSGCH_WARN,
"The warped magic of this place twists your "
"spell in on itself!");
spfl = spfail_chance / 2 - 1;
}
if (spfl < spfail_chance)
// All checks passed, we can cast the spell
if (your_spells(spell, powc, false) == SPRET_ABORT)
const int flags = get_spell_flags(spell);
// Labyrinths block divinations.
if (you.level_type == LEVEL_LABYRINTH
&& testbits(flags, SPFLAG_MAPPING))
{
mpr("Something interferes with your magic!");
}
// All checks passed, we can cast the spell
else if (your_spells(spell, powc, false) == SPRET_ABORT)