diff options
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r-- | crawl-ref/source/item_use.cc | 7 |
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; |