git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9618 c06c8d41-db1a-0410-9941-cceddc491573
HHJZKVBVTR2WTALW2HONZF4XSDTADKTWUJIQAFGDZOJZUGXIXOJQC
UTJL52UAIUVUIXDFPMVL3JPXPPFDCAXKORWHGOUVMVMBDA7X3XSQC
KEWUUIWZCM2VE6WZX4BC4DXGL7LBAWGLUPCPA4KCBCUL5ZQLECBAC
3EMUQNNO6WWZMRVSRDRYPLQS2B6GYNTQSWAPY6BWY365XWZZV5XAC
DWWOM6V2Z4RQVT6AKW6OYLSFOUE4W5PTP2SH4AAZE2E4EIH4RLUAC
AYU5OVG2HZO46KDAPKUWAVHS5HTYFKUWIMIRMTHAXVVFEDJE7YPAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
MFP3WAGO2JIOT4QSEYPM4OJV5NVXMUOPL75OIE7YZ5RWOYQPIZ7AC
T7CUIVICB74342RA32BR37T36FOX4RBSQIB5PNOHTGTGUYGDKSTQC
S7Y7E2KDAFMTLDIXUTR673SYL5N35VXYGLRU67L42WHVYG5SEPBQC
ASH5CK6CPBKMLGGIRJ5GKTWMS5W3OBVHTL66RTYZIPFM6KFBYA3QC
QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC
VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC
QCUMH3C7GXV7ZW444WT5SFAXQOJKJSE2YCQCEHMRYXCWF4QI7UMAC
DTO3EUKWHZ5RJNGNCFYXSOVTIPVXPP637F2W7WFGYKJ7JK7VNKNQC
7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC
NVAQAP5YCPRQHJN4UL3ZYNKZLVUUXCPR57VC7SGVPSB3NPM6ORFAC
}
bool held_by_monster(const item_def &item)
{
return (item.pos.equals(-2, -2)
&& !invalid_monster_index(item.link - NON_ITEM - 1));
}
monsters* holding_monster(const item_def &item)
{
if (!item.pos.equals(-2, -2))
return (NULL);
const int midx = item.link - NON_ITEM - 1;
if (invalid_monster_index(midx))
return (NULL);
return (&menv[midx]);
monsters* item_def::holding_monster() const
{
if (!pos.equals(-2, -2))
return (NULL);
const int midx = link - NON_ITEM - 1;
if (invalid_monster_index(midx))
return (NULL);
return (&menv[midx]);
}
void item_def::set_holding_monster(int midx)
{
ASSERT(midx != NON_MONSTER);
pos.set(-2, -2);
link = NON_ITEM + 1 + midx;
}
bool item_def::held_by_monster() const
{
return (pos.equals(-2, -2) && !invalid_monster_index(link - NON_ITEM - 1));
}