git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7467 c06c8d41-db1a-0410-9941-cceddc491573
7EIA4DGVDBJRNHEAN3DK6SNHGALSSEUWSOL57C2VPGN2IZCQ633AC
SUWIERONPDATHPDMZRYO6GYIXSW6XIS5V5MK5IV23DWQH2LL7VIAC
QG7MKYZECIRDJJZKVRFI6XTCH42GTKA55BFIWPJBQZ27CZVLUJDQC
J7XFP7WPZP43TDW7D6HBUMVTOPYWZTPU7PZU6TYEX32MFV5SVFLAC
KKJUHD576DZVDDQ7JFBAO7S35DAPIMZNOYVLAUBDOTTUGR4Q53JQC
W54GZBNFKPOF6DTOVK73PVASTQI5DXG42WQ6CXFDPXHFZOHUVVSQC
ESWIM76FGJL4QFLSHU6AC4D74PT7OPLQ7ZCJYWLZS5UCBAJDXYHAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
ACDPN464TK2LKLHSDN3YVRHAPF7WLSLLU3UHIYEXKFDEZPEU3XSQC
Q4YYTFXYZUDBYWT37U354CJOAQMAAIWM5W72TAEGMEUKZIUZBMGAC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
COLMJH3UIQFF4R5AV642OJK4HHGUIIPLNP5WGKLWWYNJV7ZGPI7AC
G3HJCS277WA2VONPOJW6FAOQO7VHMSMLXZWYIXKFE4N4Y3OV7UZAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
FCZSQBKDNMJZRJS2LWQQWLUFGOXSKXDJZQIHC7L5S7HXCXQPOMMAC
QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
S4W5EBZLFX3HA3JNR524LF5RJ7PAPMSMN3FVRZNLQZY4QNEILGLQC
NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC
X76YXE6RFL7QY5WL6MSSS44WHVA5FQMDQY3XTYP2UL6UZB4E6XMQC
R3ZUGT5VJ2DG5NFPG4RBWDWTULDE7L4REYSGVPHJPDXFG6OBIXYAC
UWI3ZNJDRQRL7CXFNFEG46TA6SAK24XUFY5YOKVOTJA3VG3OBNFAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
GDRQMRZTPLRZYBEIJ5AXH3NVKKOQEB5HNG6VFBVZF6JWO7XCOBKQC
5V47S4NNTHWTSAHV3YLO2VGH7JTUIYJ3GBPDN5ZM4UQALT2ZEXDQC
FLAGBNUNSIQNFDN53CDWABJRTTFWDL4PG34AI474ZKPXDEPYHOAQC
LDFSITXKT52MLJJYOKDEFNLOEYIIV4ZOZHFH3U7PYSUNKF2KBIVQC
4UXFU3FZOCBSLDQ4S7MJKAE2H7VUHCNRDQMIY6NJ3PHYXWNGISDQC
3EUPIYJNWOMOQBP2Z5SGSMWK453BXJD6KL2WFTR3NM565MEBYASAC
YOZHWGKGPWZGHQYNMMBHNGDO2UEVIHPOR6UF3SEZPIYWVMBGWBOAC
Z37LPWKBVEMAADJPZDI3DIPZTEIE4HI456I5PM2XTAG74X237XFQC
NVK2OISSU4XF2CGSK2BAWZE2OPCLTXYHNSE6UDJ5M54EHY2I7BLAC
IL3QYB75HIQQULVII3MPZKFXJAM7EE73MBHYK6I3EJQLFXRHO6LQC
7BBEAPSUBQMBK4XC2Q6YJ2JPSVSPCSBJUYXM6EWXHNTQG4AEJX3QC
if (item.base_type != OBJ_MISSILES)
return (false);
if ((item.sub_type == MI_THROWING_NET || item.sub_type == MI_JAVELIN)
&& body_size(PSIZE_BODY) < SIZE_MEDIUM)
if (item.base_type == OBJ_WEAPONS
|| item.base_type == OBJ_MISSILES && !has_launcher(item))
if (item.sub_type == MI_LARGE_ROCK && !can_throw_rocks())
return (false);
// Stones and darts don't need any launcher, and are always okay.
// Other missile types that don't need any launcher should be okay
// if we've gotten this far.
if (item.sub_type == MI_STONE || item.sub_type == MI_DART
|| !has_launcher(item))
{
return (true);
}
bool is_throwable(const item_def &wpn, size_type bodysize = SIZE_MEDIUM,
bool force = false);
launch_retval is_launched(actor *actor, const item_def *launcher,
const item_def &missile);
bool is_throwable(const actor *actor, const item_def &wpn, bool force = false);
launch_retval is_launched(const actor *actor, const item_def *launcher,
const item_def &missile);
return (false);
if ((bodysize < SIZE_LARGE
|| !actor->can_throw_large_rocks())
&& wpn.sub_type == MI_LARGE_ROCK)
{
return (false);
}
if (bodysize < SIZE_MEDIUM
&& (wpn.sub_type == MI_JAVELIN
|| wpn.sub_type == MI_THROWING_NET))
{
return (false);
}