the tiles accordingly.
6LC767RHUL6JL33G73U7JC464C7WAYQJVSU73TWXX2PMWAGYQLBAC
FS4GAKLP3QPPVMI3RCBFMOTBPJXTOXWB4FXGK3QO2IMXZ5AHVMNQC
HYF52N6HJFEX7YSTGVPQAIATL34T2L6E4BIIC63O3OWX26ISQWQQC
C7MS2OSFVKCD7M7H5WKFAX3WXAWK4O3JULA56WPSXFXE22XB4QSQC
CEMDZ7ZNONAMXXEF6WJTIWK6EID6FNOHFYCWM2LDJVTFSGT2THXAC
ZR6IG6JO2HEUWDJX5C3BHN3Z4Z2V6HFRGGS2NIW3PCODCWL7PRYAC
6WTIPODXGUFWCOP5ADMR2XCCQ63HMZR7LHZM2FX4L2ACZWLKTQQAC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
WZWOQZCXUB7QX7PGQMIUCH5JM5YME25GE2GMMT2NIJP5OIZUZLBQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
W4LFYTIOCEWMSU45KP2YAVH7PCTGHTM7LUCGZNEEHW2WL43FZBKQC
NQMXQ6OQVUSC7Y7F7IL252QW4A5JED224EECNHWAM4ZZYVNY745AC
JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC
MUN4FZPPYRQDGFJDIGNS6AGTBOJ42GGMXCZHPT5Y7CQFFFSF5SRAC
MIMVAKQXKJMHYLKXKY2TJEBL4HCOHKLDQYX6J5H4MWCI442NWEHAC
N3NXT75G2JYKVON7ZTE3TG34BBWITCL2HHVQ6H7QREYCDTVQFSGAC
WG6O475IOLZFMUQSLVR2KHM7XTBF5HH276L2KDGF7UOSESDOAILQC
ZEFGFQHN6J2S6EIPX7EPDG22C5YXTI6DMKQHHRCLWN5MQC44KY3AC
HQTS3VQ6PNUZKHNVEWMML7JNAAAKL4DSW3KFSRCCSLGYTDHZFCCAC
ENOQQ6DEA6ECRNTBGYYNK7G3DFEILMKQBNKP4SUQIZW2L6HWVR7QC
3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC
KATZLWENEIQMKKWIV4ZLXJ5HFUW6SU5K4ZU6NENBOL4XAAVTDUKAC
AMFTO4UE74UYQBU3R2EYUU6BJ7SC4O4NOAFICRTLMT3MIFRQ6AKAC
6DHYNXJ2UAN6YCQCTIBX6PFZQIR435E3TBSPUQ6PBXNJDJTPYS3AC
EY6KXNVGJ5OWJQWBE3W5E4T625XZXUNJMXIEQLCZUAJASUK4KHMQC
NN6O3D72SXCVAKLQ4R6TPFUWCMWB2CQX4YAAI3DKYIUG6KK3MEEQC
4SWAT5KCKQV527NKELAXFQ5XA4Q5HONQXD4VBXMUZNPVPQKPCPNAC
DL4ZORRUZ3X4OCAGW5GVSIXLNK72KFHQOVA5QXU5QHT4YPRLFS2QC
RA7RDZC5P4OYMR4MKTBO463YCREXENESV2VTMWKIT4G4SBJHFGLQC
EEXPOHBIJ7CZLM4L7ZDIYANWJ4SDA4XNDEVOEPHAVFPUSKX465AAC
VJNOAT646TRVBR44TNKO4WHBO54I2U5GLRWTIVDVWHHQ6CNYQ5ZAC
UAJN2CFA2QHYDHW2UFAVPPHDQFCD54RKM6V2UC4AMEDJUBBLNWIQC
DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC
ZVD3ZBLCAH5MZLGYN4FQOQKHNM453N6P3BZ3KYAQMWCZTEHQK65QC
UQ4P6W76CTKR2MQNH3EWPS4QPDXE3YRLJRR6744ZJJ32XKYPXQQQC
N5EBTOIR3CFMRSZ3EXXQIVAJ7NGXYWS75AKHEKYBOFBZXKI3Q5BAC
Q6QWWEURCCP5CRAMRDPFPMM7B6FLLOQZZMI553QKG4KEYVMXARCAC
7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC
LFJAIJGMBJHZQIYSLDJ57N56WFUY67LVM3GRWOPIDIVNELEQU5EAC
T35GO7UD2HKES4FLJWS3VPJ2AIM5JE7ROGY6EUH6CKPG7WUBNG5QC
I7QLYOTE6DLQZM7YWUWYLKHRJRB2A3STQ42ALSRGQICEWKD2QTEQC
DBUUUJ3JV2K5L2ETR6Y2HS74LSGXM4VHB5ZTL4RFMN63UKUOJQJAC
UHOAWBSBZBPHWMNXZCVB4SBJM4DTZAG3YRNNJNIKJN4CE2DP27JQC
// XXX: This handles only some of the cases where spells need targetting...
// there are others that do their own that will be missed by this
// (and thus will not properly ESC without cost because of it).
// Hopefully, those will eventually be fixed. -- bwr
// XXX: This handles only some of the cases where spells need
// targetting. There are others that do their own that will be
// missed by this (and thus will not properly ESC without cost
// because of it). Hopefully, those will eventually be fixed. - bwr
( (spell == SPELL_APPORTATION) ? DIR_TARGET_OBJECT :
testbits(flags, SPFLAG_TARGET) ? DIR_TARGET :
testbits(flags, SPFLAG_GRID) ? DIR_TARGET :
testbits(flags, SPFLAG_DIR) ? DIR_DIR :
DIR_NONE );
((spell == SPELL_APPORTATION) ? DIR_TARGET_OBJECT :
testbits(flags, SPFLAG_TARGET) ? DIR_TARGET :
testbits(flags, SPFLAG_GRID) ? DIR_TARGET :
testbits(flags, SPFLAG_DIR) ? DIR_DIR :
DIR_NONE );
mpr( "You miscast the spell." );
flush_input_buffer( FLUSH_ON_FAILURE );
learned_something_new( TUT_SPELL_MISCAST );
mpr("You miscast the spell.");
flush_input_buffer(FLUSH_ON_FAILURE);
learned_something_new(TUT_SPELL_MISCAST);
// all spell failures give a bit of magical radiation..
// failure is a function of power squared multiplied
// by how badly you missed the spell. High power
// spells can be quite nasty: 9 * 9 * 90 / 500 = 15
// points of contamination!
// All spell failures give a bit of magical radiation.
// Failure is a function of power squared multiplied by how
// badly you missed the spell. High power spells can be
// quite nasty: 9 * 9 * 90 / 500 = 15 points of
// contamination!
// okay, this message is weak but functional -- bwr
mpr( "You feel magically charged." );
you.attribute[ ATTR_DELAYED_FIREBALL ] = 1;
// Okay, this message is weak but functional. - bwr
mpr("You feel magically charged.");
you.attribute[ATTR_DELAYED_FIREBALL] = 1;
monster_type mon = ((chance > 22) ? MONS_PHANTOM : // 8%
(chance > 20) ? MONS_HUNGRY_GHOST : // 8%
(chance > 18) ? MONS_FLAYED_GHOST : // 8%
(chance > 7) ? MONS_WRAITH : // 44%/40%
(chance > 2) ? MONS_FREEZING_WRAITH // 20%/16%
: MONS_SPECTRAL_WARRIOR); // 12%
monster_type mon = ((chance > 22) ? MONS_PHANTOM : // 8%
(chance > 20) ? MONS_HUNGRY_GHOST : // 8%
(chance > 18) ? MONS_FLAYED_GHOST : // 8%
(chance > 7) ? MONS_WRAITH : // 44%/40%
(chance > 2) ? MONS_FREEZING_WRAITH // 20%/16%
: MONS_SPECTRAL_WARRIOR); // 12%
// (ignoring Summon Wraith here)... at least we're
// being nice and putting the natural creature
// summons together with the demonic ones. Note
// that Vehumet gets a free pass here since those
// (ignoring Haunt here)... at least we're being
// nice and putting the natural creature summons
// together with the demonic ones. Note that
// Vehumet gets a free pass here since those
// True, the tentacles _are_ summoned but they are restricted to water
// just like the kraken is, so it makes more sense not to count them here.
// True, the tentacles _are_ summoned, but they are restricted to
// water just like the kraken is, so it makes more sense not to
// count them here.