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-06-05 14:04:39 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-06-05 14:04:39 +0000
commita57d484bd70f19a06271202fd5e5a9d0be914d18 (patch)
tree2d4e1edd7666c7c3f07164104d3753a477af5b5b /crawl-ref/source/beam.cc
parent70e12c754c318dc3e7b513d45c9cca91c94147ca (diff)
downloadcrawl-ref-a57d484bd70f19a06271202fd5e5a9d0be914d18.tar.gz
crawl-ref-a57d484bd70f19a06271202fd5e5a9d0be914d18.zip
Fix mimics not teleporting when attacked by reaching or airstrike, and a
few (really) minor adjustments on monster pathfinding. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5487 c06c8d41-db1a-0410-9941-cceddc491573
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 ffe74d553b..7727b70f7d 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2807,6 +2807,9 @@ bool check_line_of_sight( int sx, int sy, int tx, int ty )
// monster_teleport() in mstuff2.cc.
void mimic_alert(monsters *mimic)
{
+ if (!mimic->alive())
+ return;
+
bool should_id = !testbits(mimic->flags, MF_KNOWN_MIMIC)
&& player_monster_visible(mimic) && mons_near(mimic);
@@ -2823,10 +2826,10 @@ void mimic_alert(monsters *mimic)
const bool instant_tele = !one_chance_in(3);
monster_teleport( mimic, instant_tele );
- // at least for this short while, we know it's a mimic
+ // At least for this short while, we know it's a mimic.
if (!instant_tele && should_id)
mimic->flags |= MF_KNOWN_MIMIC;
-} // end mimic_alert()
+}
static bool _isBouncy(bolt &beam, unsigned char gridtype)
{
@@ -2854,7 +2857,7 @@ static void _beam_explodes(bolt &beam, int x, int y)
beam.target_x = x;
beam.target_y = y;
- // generic explosion
+ // Generic explosion.
if (beam.is_explosion) // beam.flavour == BEAM_EXPLOSION || beam.flavour == BEAM_HOLY)
{
_explosion1(beam);