(only horizontally or diagonally.) Quash a couple of potential bugs too. Code cleanups.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8872 c06c8d41-db1a-0410-9941-cceddc491573
M6JQ7Z4RM3KUHVM74UNVUUUO4WV2CEW663CSHCKANVQ4PUVRIMFAC
ESKDQTYHVXU35HBG2DWTZGXDGZOU5Q46555PRWIJEW6OTPFNAFSQC
BGJXW36EYP72HMXARDIGWHJIC5OHZS66MPJLPIHZM2GPLPWVURBQC
572BNZGOONSRICCC3CZ3J5XV6ZBRZ64BV5UAYCKHESKTOJOSK4QQC
XZTGZ7MOPX7ZOHQ4IQPXOHGUH5WPRNOYAQ6IQOMZDZYNVSAYFTNAC
IYMUEJG2VI3TV7HVAZIU2L4DVQY7VNSIFVV4I3QIVP7H66EVJISAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC
GE7XFWXEYNZXWNCKWHBHYIBSYQPZMBAE43PN7RW4B7WOCJKM7DZQC
5XNQ3SSNBFXFNWA6DPM74W6FH65NX665P3DMH6YCWVFOPZTJSYCQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
AOAJ6D3OKSELEYKAT55XCVU5LYJ7SMCZKC6DIEGLLB3TF2LEENWQC
PLCVYMO7E3SZJEO5NLKQNZOMCN5TQSBAPU6ZPUWA2GGDHISPEJWAC
PNIUNDZ5EU2BP673QTWVFQFQJAAI2MAFIVEQAZMDBIMD4ZDWWXTQC
3GSAVTNKEG45AT2U734R5STSRP22WJZL3H6KUFRUWCIA6A4CZE5QC
542UIZKI65UDRNEMGFFDBWYD5XC7AYLTZ3JZQRR2GHYJALD3YY6QC
LG7XJWUXOV4ZBMOTZX7R5NUC5IONVNCF5O42M4QVYLHNZ62AV25AC
KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC
GGEB64C3QQ5PPS7GOFXULDUCRT2NZL2PMIE5UDDUJTUTLLPTDU7QC
ZGUJWUFJ4NFFJ6PGXLFGQWCWBCZHPWGWI44NJHJEVPRG5L36PADQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
3RNRFLMD2X4RUFTDVITLXAP377YB6F6YMQLL3DAXSUZDZBTWSLRQC
2UO6ZOW7UCP5XJ2TJ26PJNQABILK2BZ4J3BAKLOKMZPJDQHW24MAC
Y2NYY7HWFZ2LQDK3ACSLGS37F2J2IJ5LRGCIMZYXLEOSVPD3A4DAC
EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC
NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC
BQXHIR3D7LBBMUMNNZC76YZS2BDD673KRRRLPXTNXUDMHTQK2RTQC
CWQGOO5TNRXAXGZ57JAQ7JUPZVV2QUOOYUJAIMMPOVS4REDJB4ZAC
3BJ2OOF4F524G6UKVGOZVT6W3FSTSHHTKRJADUBZCHDXZWV3KANQC
4UXFU3FZOCBSLDQ4S7MJKAE2H7VUHCNRDQMIY6NJ3PHYXWNGISDQC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC
AY3CBJCAR4XMZODH5N4DVJXXJF3B5HUKICRGO7KCTCFACAYVGN4QC
R3ZUGT5VJ2DG5NFPG4RBWDWTULDE7L4REYSGVPHJPDXFG6OBIXYAC
QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC
IJNXE4Z7S7X3NG26GFV6UNZVEQ6HPXAKSCNPJEKU5DUQUDYJ34KAC
if (mons_is_sleeping(monster)
|| mons_is_submerged(monster))
{
return (false);
}
const bool monster_nearby = mons_near(monster);
for (item = igrd(monster->pos());
item != NON_ITEM && eaten < max_eat && hps_gained < 50;
item = mitm[item].link)
for (stack_iterator si(monster->pos());
si && eaten < max_eat && hps_gained < 50;
++si)
&& mitm[item].base_type == OBJ_MISSILES
&& mitm[item].sub_type == MI_THROWING_NET
&& item_is_stationary(mitm[item]))
&& si->base_type == OBJ_MISSILES
&& si->sub_type == MI_THROWING_NET
&& item_is_stationary(*si))
if (mons_class_flag( monster->type, M_SPLITS ))
{
const int reqd = (monster->hit_dice <= 6)
? 50 : monster->hit_dice * 8;
if (monster->hit_points >= reqd)
_jelly_divide(monster);
}
_jelly_divide(monster);
if (mons_class_flag( monster->type, M_SPLITS ))
{
// and here is where the jelly might divide {dlb}
const int reqd = (monster->hit_dice < 6) ? 50
: monster->hit_dice * 8;
int targmon = mgrd(mon->pos() + delta);
if (targmon == MHITNOT || targmon == MHITYOU)
monsters* const m2 = monster_at(mon->pos() + delta);
if (!m2)