summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/beam.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index f1dd762d5b..53eef422ce 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -3170,10 +3170,13 @@ int affect(bolt &beam, const coord_def& p, item_def *item)
if (mid != NON_MONSTER)
{
monsters *mon = &menv[mid];
+ const bool invisible = YOU_KILL(beam.thrower) && !you.can_see(mon);
// Monsters submerged in shallow water can be targeted by beams
// aimed at that spot.
if (mon->alive()
+ // Don't stop tracers on invisible monsters.
+ && (!invisible || !beam.is_tracer)
&& (!mon->submerged()
|| beam.aimed_at_spot && beam.target == mon->pos()
&& grd(mon->pos()) == DNGN_SHALLOW_WATER))