player attacks on the same (aside from tentacle attacks, which only monsters can currently have and which work on all submerged monsters).
AKA32GXKN53M4MU66OADWNFCQ7CN75LPEM5ZEJ7TQVZ6OK4WISSAC
3XLRECYFMP6F32IMOZ6UHIFP7CL4ILMUURZC6YIGWZX3SGLFVVQAC
B2NFBLPXA3NL66TDFA4NGQNX4IWQU6RGMBZXZLHAM36DCEON7XXQC
C3TZ3MSKH4LCCIOAI6IZNLHQT46X635ZE2OCNPEAM7VNL7QRRCKAC
LDFSITXKT52MLJJYOKDEFNLOEYIIV4ZOZHFH3U7PYSUNKF2KBIVQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC
UPA65AL4JXYLIHH4D42IWJHRTOAF2BPOVZOAKOXBLZBYIMDZDFFQC
EYYWIH7377INOKPRABJUATNQ2YWKLOVHZKQIY55POX2YXVMDDWAAC
2UQXBHFFMTZG5M6NPB7KS7WNIH6VPBPVJFO4AN3YPCMZBT637ICAC
ZGUJWUFJ4NFFJ6PGXLFGQWCWBCZHPWGWI44NJHJEVPRG5L36PADQC
2IPPYYFWEFI342OOKTTEKMLLBUFPERK7RNLBF2TWQF5D47M6PSTAC
QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC
QJDO7Q62UNFMTSTYP3BFRTJFOETOGTK3AJVN4YY23TNVX3OUQZ4QC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
T7CUIVICB74342RA32BR37T36FOX4RBSQIB5PNOHTGTGUYGDKSTQC
AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC
NF5ISJJGD3UIZYQHYM6LC726BBBMZBCFQ2HWDDXWY2NQQKH6JN4AC
5WKKONCYM73GBJ6GDYK3OLZ2PB7KJHFDYGEMHQQMPQMFJJHTLWCQC
7EIA4DGVDBJRNHEAN3DK6SNHGALSSEUWSOL57C2VPGN2IZCQ633AC
}
// Given an adjacent monster, returns true if the monster can hit it
// (the monster should not be submerged, be submerged in shallow water
// if the monster has a polearm, or be submerged in anything if the
// monster has tentacles).
bool monster_can_hit_monster(monsters *monster, const monsters *targ)
{
if (!mons_is_submerged(targ))
return (true);
if (grd(targ->pos()) == DNGN_SHALLOW_WATER)
{
item_def *weapon = monster->weapon();
return (weapon && weapon_skill(*weapon) == SK_POLEARMS);
}
return (monster->has_damage_type(DVORP_TENTACLE));