summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/items.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/items.cc')
-rw-r--r--crawl-ref/source/items.cc17
1 files changed, 5 insertions, 12 deletions
diff --git a/crawl-ref/source/items.cc b/crawl-ref/source/items.cc
index eed2f0be2d..b7ccb19185 100644
--- a/crawl-ref/source/items.cc
+++ b/crawl-ref/source/items.cc
@@ -2478,24 +2478,17 @@ item_def find_item_type(object_class_type base_type, std::string name)
return (item);
}
-bool item_is_equipped(const item_def &item)
+bool item_is_equipped(const item_def &item, bool quiver_too)
{
if (item.x != -1 || item.y != -1)
return (false);
for (int i = 0; i < NUM_EQUIP; i++)
- {
- if (you.equip[i] == EQ_NONE)
- continue;
-
- const item_def& eq(you.inv[you.equip[i]]);
-
- if (!is_valid_item(eq))
- continue;
-
- if (&eq == &item)
+ if (item.link == you.equip[i])
return (true);
- }
+
+ if (quiver_too && item.link == you.m_quiver->get_fire_item(NULL))
+ return (true);
return (false);
}