diff options
Diffstat (limited to 'crawl-ref/source/item_use.cc')
-rw-r--r-- | crawl-ref/source/item_use.cc | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index 0f5ed83c17..6f4f2d1bfc 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -1473,16 +1473,25 @@ void shoot_thing(void) if (item == ENDOFPACK) { - mpr("No suitable missiles."); + unwind_var<int> festart(Options.fire_items_start, 0); + if ((item = get_fire_item_index()) == ENDOFPACK) + mpr("No suitable missiles."); + else + mprf("No suitable missiles (fire_items_start = '%c', " + "ignoring item on '%c').", + index_to_letter(festart.original_value()), + index_to_letter(item)); flush_input_buffer( FLUSH_ON_FAILURE ); return; } dist target; bolt beam; - if (choose_fire_target(target, item)) - if (check_warning_inscriptions(you.inv[item], OPER_FIRE)) - throw_it( beam, item, false, 0, &target ); + if (choose_fire_target(target, item) + && check_warning_inscriptions(you.inv[item], OPER_FIRE)) + { + throw_it( beam, item, false, 0, &target ); + } } // Returns delay multiplier numerator (denominator should be 100) for the |