summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-08-07 15:06:00 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-08-07 15:06:00 +0000
commit60d8e93b1adada2500c8f282bc31dd04b17b0935 (patch)
tree4d19cffddfc4d11d7ab0e27e58fa0b701bd65f1e /crawl-ref/source/beam.cc
parent3df5b1d3140e461c40fa88ab4f80554b9912372c (diff)
downloadcrawl-ref-60d8e93b1adada2500c8f282bc31dd04b17b0935.tar.gz
crawl-ref-60d8e93b1adada2500c8f282bc31dd04b17b0935.zip
Apply Haran's commits 6773 and 6777-6784 to 0.4.
* Fix 2037104: amulet of Controlled Flight not autoIDing. * Fix 2038973: explosive tracers leaking information about invisible monsters. * Fix 2039217: check shield status for non-weapons before wielding * Fix 2039734: non-Spriggan transmuters being cheated on UC * Fix 2037845: unstackedness was overriding finishing a deck * Fix 2038476: semicontrolled blink. * Fix 2038962: casting Divine Shield wasn't refreshing AC. * Fix 2038651: real/fake rakshasa identity being leaked in descriptions. * Fix 2035976: doubled inscriptions in equipped items in dump. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6792 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/beam.cc')
-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 0bed353d97..72d91b921b 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -3181,10 +3181,13 @@ int affect(bolt &beam, int x, int y, 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))