diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-08 21:53:05 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-12-08 21:53:05 +0000 |
commit | 7cc66e61e50963ba90a5db8db19cf75890d3c733 (patch) | |
tree | fa2ee702c472095c0c3c2326fd7920d02875e29a /crawl-ref/source/mon-util.cc | |
parent | 8cbb227becdc172839b901aedf972022dc73118d (diff) | |
download | crawl-ref-7cc66e61e50963ba90a5db8db19cf75890d3c733.tar.gz crawl-ref-7cc66e61e50963ba90a5db8db19cf75890d3c733.zip |
Apply more commits into 0.4 branch, again mostly by Haran:
6950, 6954, 6959, 6962, 6963, 6965, 6968, 6970 (partly), 6997, 6998,
7001, 7061, 7065, 7071, 7132 (partly), 7174, 7186, 7213, 7233, 7268,
7268, 7293, 7319, 7339, 7358, 7393 (partly)
* Tweak a few monster flags.
* Fix autoswapping jewellery taking longer than manual swapping.
* Fix crash when attempting to create nonexisting monster in wizmode.
* Make ego armour descriptions follow abbreviation guidelines.
* Fixed buggy monster movement away from the player.
* Disabled traps in the Abyss.
* Fixed a few other minor bugs, and improves messaging.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@7788 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r-- | crawl-ref/source/mon-util.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index c4431e63eb..12ce3a1b03 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -3261,15 +3261,23 @@ bool monsters::can_use_missile(const item_def &item) const if (item.base_type != OBJ_MISSILES) return (false); - if (item.sub_type == MI_THROWING_NET && body_size(PSIZE_BODY) < SIZE_MEDIUM) + if ((item.sub_type == MI_THROWING_NET || item.sub_type == MI_JAVELIN) + && body_size(PSIZE_BODY) < SIZE_MEDIUM) + { return (false); + } if (item.sub_type == MI_LARGE_ROCK && !can_throw_rocks()) return (false); - // These don't need any launcher, and are always okay. - if (item.sub_type == MI_STONE || item.sub_type == MI_DART) + // 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); + } item_def *launch; for (int i = MSLOT_WEAPON; i <= MSLOT_ALT_WEAPON; ++i) |