TODO: Unequip shield when wielding a two-hander. For dual-wielding monsters diallow equipping a two-hander and something else (just the two-hander should be okay, I guess). Restrict missile pickup to appropriate launchers.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4742 c06c8d41-db1a-0410-9941-cceddc491573
ACYR3YL7DTTIJP3N7ITQ5IRAWSRW23VQTGJHBDAATXW6LXMSA4AAC
XE5FBYASPYLMBNHWKL5MRN7TQGIWR4O6PF72I7WXRTUJ7HS2O2LAC
L5W2SXCJEVQOLRIN2IQO3AITQGHAS7PYSL4I7M5BQMG7MYZ2AQQQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC
RKFHYYANUZQHOWOE6YHVFFJNCZU7X67FWUQPQFF6KJKMNIKXFWEAC
NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC
ASH5CK6CPBKMLGGIRJ5GKTWMS5W3OBVHTL66RTYZIPFM6KFBYA3QC
6MGA75GVQUUYGF64YT4BPPYY2ZE7SKL44H3H66LIFMRT2VAONT7QC
XKDPUWDOAFP4ZVWY6AOYPX3TJLTFBNZWRYSPIMEJHFX577WAJGMAC
6TEISZD7HYSSL24EOKIBNURU66KGSQX7B7SNAHBP4DQSAOTGH2MQC
Y2NYY7HWFZ2LQDK3ACSLGS37F2J2IJ5LRGCIMZYXLEOSVPD3A4DAC
return false;
return (false);
// Don't pick up a shield if you're already wielding a two-hander, or
// two weapons as a double-wielding monster.
if (mslot == MSLOT_SHIELD && mslot_item(MSLOT_WEAPON)
&& (hands_reqd(*mslot_item(MSLOT_WEAPON), body_size(PSIZE_BODY))
== HANDS_TWO
|| mslot_item(MSLOT_ALT_WEAPON) && mons_wields_two_weapons(this)))
{
return (false);
}
// No pickup for abjurable (summoned) allies - not worth the hassle.
if (has_ench(ENCH_ABJ))
return false;
// Never pick up gold or misc. items, it'd only annoy the player.
if (itype == OBJ_MISCELLANY || itype == OBJ_GOLD)
return false;
// Depending on the friendly pickup toggle, your allies may not
// pick up anything, or only stuff dropped by (other) allies.