summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/quiver.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/quiver.cc')
-rw-r--r--crawl-ref/source/quiver.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/quiver.cc b/crawl-ref/source/quiver.cc
index da0ee0305b..e40a76159a 100644
--- a/crawl-ref/source/quiver.cc
+++ b/crawl-ref/source/quiver.cc
@@ -234,6 +234,7 @@ void player_quiver::on_item_fired(const item_def& item, bool explicitly_chosen)
// Don't do anything if this item is not really fit for throwing.
if (projected == LRET_FUMBLED)
return;
+
#ifdef DEBUG_QUIVER
mprf(MSGCH_DIAGNOSTICS, "item %s is for throwing",
item.name(DESC_PLAIN).c_str());
@@ -405,6 +406,10 @@ void player_quiver::_get_fire_order( std::vector<int>& order,
if (you.equip[EQ_WEAPON] == i_inv)
continue;
+ // Don't do anything if this item is not really fit for throwing.
+ if (is_launched(&you, you.weapon(), item) == LRET_FUMBLED)
+ continue;
+
// =f prevents item from being in fire order.
if (!ignore_inscription_etc
&& strstr(item.inscription.c_str(), "=f"))
@@ -415,6 +420,7 @@ void player_quiver::_get_fire_order( std::vector<int>& order,
for (unsigned int i_flags = 0; i_flags < Options.fire_order.size();
i_flags++)
{
+
if (_item_matches(item, (fire_type) Options.fire_order[i_flags],
launcher))
{