summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/item_use.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r--crawl-ref/source/item_use.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc
index 6f300fffd2..6c6eaaedf3 100644
--- a/crawl-ref/source/item_use.cc
+++ b/crawl-ref/source/item_use.cc
@@ -2032,6 +2032,8 @@ bool throw_it(bolt &pbolt, int throw_2, bool teleport, int acc_bonus,
item.quantity = 1;
item.slot = index_to_letter(item.link);
+ pbolt.item = &item;
+
// Now start real firing!
origin_set_unknown(item);
std::string ammo_name;
@@ -2712,7 +2714,8 @@ bool throw_it(bolt &pbolt, int throw_2, bool teleport, int acc_bonus,
Options.tut_throw_counter++;
// Dropping item copy, since the launched item might be different.
- fire_beam(pbolt, &item, !did_return);
+ pbolt.drop_item = !did_return;
+ fire_beam(pbolt);
// The item can be destroyed before returning.
if (did_return && thrown_object_destroyed(&item, pbolt.target, true))
@@ -2728,7 +2731,7 @@ bool throw_it(bolt &pbolt, int throw_2, bool teleport, int acc_bonus,
// Fire beam in reverse.
pbolt.setup_retrace();
viewwindow(true, false);
- fire_beam(pbolt, &item, false);
+ fire_beam(pbolt);
msg::stream << item.name(DESC_CAP_THE) << " returns to your pack!"
<< std::endl;