diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-06-05 14:04:39 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-06-05 14:04:39 +0000 |
commit | a57d484bd70f19a06271202fd5e5a9d0be914d18 (patch) | |
tree | 2d4e1edd7666c7c3f07164104d3753a477af5b5b /crawl-ref/source/beam.cc | |
parent | 70e12c754c318dc3e7b513d45c9cca91c94147ca (diff) | |
download | crawl-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.cc | 9 |
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); |