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.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 507c6441d0..8356b3665f 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -1957,7 +1957,8 @@ void bolt::do_fire()
while (in_bounds(pos()))
{
- affect_cell();
+ if (!affects_nothing)
+ affect_cell();
range_used++;
if (range_used >= range)
@@ -2013,10 +2014,11 @@ void bolt::do_fire()
}
// The beam has terminated.
- affect_endpoint();
+ if (!affects_nothing)
+ affect_endpoint();
// Tracers need nothing further.
- if (is_tracer)
+ if (is_tracer || affects_nothing)
return;
// Canned msg for enchantments that affected no-one, but only if the
@@ -5485,6 +5487,7 @@ void bolt::setup_retrace()
std::swap(source, target);
affects_nothing = true;
aimed_at_spot = true;
+ range_used = 0;
}
void bolt::set_agent(actor *actor)