summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 2bf23be891..da31322807 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -3003,6 +3003,22 @@ void beam_drop_object( bolt &beam, item_def *item, const coord_def& _p )
if (!in_bounds(p))
p = beam.pos;
+ if (item->flags & ISFLAG_SUMMONED)
+ {
+ if (see_grid(p))
+ {
+ mprf("%s %s!",
+ item->name(DESC_CAP_THE).c_str(),
+ summoned_poof_msg(beam.beam_source, *item).c_str());
+ }
+ item_was_destroyed(*item, beam.beam_source);
+
+ beam.dropped_item = true;
+ beam.item_pos = p;
+ beam.item_index = NON_ITEM;
+ return;
+ }
+
// Conditions: beam is missile and not tracer.
if (YOU_KILL(beam.thrower)
&& !thrown_object_destroyed(item, p, false)