diff options
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r-- | crawl-ref/source/beam.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index 78cd63f25e..89c383336e 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -1792,8 +1792,9 @@ void bolt::hit_wall() const dungeon_feature_type feat = grd(pos()); ASSERT( grid_is_solid(feat) ); - if (is_tracer && YOU_KILL(thrower) && flavour != BEAM_DIGGING - && flavour <= BEAM_LAST_REAL && pos() != target && pos() != source + if (is_tracer && YOU_KILL(thrower) && in_bounds(target) + && pos() != target && pos() != source + && flavour != BEAM_DIGGING && flavour <= BEAM_LAST_REAL && !affects_nothing && bounces == 0 && reflections == 0 && see_grid(target) && !grid_is_solid(grd(target))) { |