and print "The corpse you are butchering rises to attack you."
where that is the case.
BR 1945387: Don't allow summoning earth elementals from walls near the edge of the map (that can't get destroyed that way). Just seems more consistent. There's an error message, but it doesn't cost a turn.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5505 c06c8d41-db1a-0410-9941-cceddc491573
M6MBPHNAERUXYJ7KHK5FE2B44CLBY4M5MR5KY74HVDFNHVLOEQIAC
M2XL3DZCNIFZQOZZIJSRA6WV2PISXL4BEVPI5FX4OW6AE3IVZBJQC
3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC
ZGZVOMRXLVC42FV67RBTLBOZWFYRL4UHL54A365BR76OUIYRWQXAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
T7CUIVICB74342RA32BR37T36FOX4RBSQIB5PNOHTGTGUYGDKSTQC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
ABNTYDXOCBICW3TEDGRCEHA7XJBVINEXKUXQ5ORY2XI7SKMVTGJAC
7MDPXLMPCFLZS6CLZBN4FN4RDNBW4Z6Q2NNPWD2N3LOW5LQISM3AC
5XSXMOBGXFLTIQE6WDXWWFVDOTUPZSIQ2FWT3YI5QMVU6D76IUYQC
NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC
AUXVWXWIFSTWFA6VZXN2FMG7FQEKRZVV6MD32VQQ7J2RKCXHAVGAC
JD3FMKAAAUQZSNPGFLVX7F5H5SWGUSYOFZU4X5W4XYNV6HUKDBKAC
B62ICMDTN5V7R7RBL4JALFVKEMVOOVLRSJASRNYS6CGFWBEEF5JQC
LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
OI7JKBFFIMIGWID2EJSMRP2EPEJH5YY42WTEY4QSSL6PFKRU3KJQC
RQR4PTMGQLTRWLYRU3KXIIDGND7FBORESJWMWFVD3WYU5SISZXAAC
4EZVKDQA5GM3QDTNTCKEKGH4F6LGAYNLBT756PXODKZ2B7C4ZVHAC
PZNRGNZPN4YLXL2UDMEUPE33AAZZ6Z2YPK6EQGYZL2PNTRWLCUNQC
23PFLB2E4QHL5SF3Q2YV5FXRH6MFHENEU2ACVC572ZCYDXCBZVQAC
G4TVXOLIF5X2MWV7I4UPT3MSQHRMGME6QRIIFAQ64C45JGYK7SIAC
UET576SVCGS2TXEDRTO7BUTOTLJ77MYHIVZJCDWGH2BAXYMKG6DAC
else if ((any_elemental || restricted_type == MONS_EARTH_ELEMENTAL)
&& (grd[ targ_x ][ targ_y ] == DNGN_ROCK_WALL
|| grd[ targ_x ][ targ_y ] == DNGN_CLEAR_ROCK_WALL))
{
if (targ_x <= 6 || targ_x >= 74 || targ_y <= 6 || targ_y >= 64)
{
mpr("That wall won't yield to your beckoning.");
// XXX: Should this cost a turn?
}
else
{
mon = MONS_EARTH_ELEMENTAL;
break;
}
}
if ((grd[ targ_x ][ targ_y ] == DNGN_ROCK_WALL
|| grd[ targ_x ][ targ_y ] == DNGN_CLEAR_ROCK_WALL)
&& (restricted_type == 0 || restricted_type == MONS_EARTH_ELEMENTAL))
if (mon == MONS_EARTH_ELEMENTAL)
else if ((env.cgrid[ targ_x ][ targ_y ] != EMPTY_CLOUD
&& env.cloud[env.cgrid[ targ_x ][ targ_y ]].type == CLOUD_FIRE)
&& (restricted_type == 0 || restricted_type == MONS_FIRE_ELEMENTAL))
else if (env.cgrid[ targ_x ][ targ_y ] != EMPTY_CLOUD
&& env.cloud[env.cgrid[ targ_x ][ targ_y ]].type == CLOUD_FIRE
&& (any_elemental || restricted_type == MONS_FIRE_ELEMENTAL))
else if ((grd[ targ_x ][ targ_y ] == DNGN_LAVA)
&& (restricted_type == 0 || restricted_type == MONS_FIRE_ELEMENTAL))
else if (grd[ targ_x ][ targ_y ] == DNGN_LAVA
&& (any_elemental || restricted_type == MONS_FIRE_ELEMENTAL))
else if ((grd[ targ_x ][ targ_y ] >= DNGN_FLOOR
&& env.cgrid[ targ_x ][ targ_y ] == EMPTY_CLOUD)
&& (restricted_type == 0 || restricted_type == MONS_AIR_ELEMENTAL))
else if (grd[ targ_x ][ targ_y ] >= DNGN_FLOOR
&& env.cgrid[ targ_x ][ targ_y ] == EMPTY_CLOUD
&& (any_elemental || restricted_type == MONS_AIR_ELEMENTAL))
// - Water elementals are now harder to be made reliably friendly
// - Air elementals are harder because they're more dynamic/dangerous
// - Earth elementals are more static and easy to tame (as before)
// - Fire elementals fall in between the two (10 is still fairly easy)
// - Water elementals are now harder to be made reliably friendly.
// - Air elementals are harder because they're more dynamic/dangerous.
// - Earth elementals are more static and easy to tame (as before).
// - Fire elementals fall in between the two (10 is still fairly easy).
const item_def &corpse = mitm[ delay.parm1 ];
return (&corpse == &item);
if (you.delay_queue[i].type == DELAY_BUTCHER
|| you.delay_queue[i].type == DELAY_BOTTLE_BLOOD
|| you.delay_queue[i].type == DELAY_OFFER_CORPSE)
{
const item_def &corpse = mitm[ you.delay_queue[i].parm1 ];
if (&corpse == &item)
return (true);
if (just_first)
break;
}
else
break;
// check whether there are monsters who might be influenced by Recite
// return 0, if no monsters found
// return 1, if eligible audience found
// return -1, if entire audience already affected or too dumb to understand
// Check whether there are monsters who might be influenced by Recite
// returns 0, if no monsters found
// returns 1, if eligible audience found
// returns -1, if entire audience already affected or too dumb to understand.