summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-02-03 14:52:12 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-02-03 14:52:12 +0000
commitb1dfd6626d73db44b352a800237921cf9aeeb0ef (patch)
tree421af4aa7ce1584f60e9e84c1a97a2d5b8f01a39 /crawl-ref/source/view.cc
parent6115d75a55cd1c616ba9c15e106945dfd96ffaaf (diff)
downloadcrawl-ref-b1dfd6626d73db44b352a800237921cf9aeeb0ef.tar.gz
crawl-ref-b1dfd6626d73db44b352a800237921cf9aeeb0ef.zip
[1646885] Refix monster alerts being issued for monsters that subsequently leave LOS.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@914 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc29
1 files changed, 20 insertions, 9 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 5a9c49b10c..a23c710cbd 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -645,15 +645,6 @@ void monster_grid(bool do_updates)
}
continue;
}
- else if (!do_updates
- && !mons_is_submerged( monster )
- && !mons_friendly( monster )
- && !mons_is_mimic( monster->type )
- && !mons_class_flag( monster->type, M_NO_EXP_GAIN ))
- {
- interrupt_activity( AI_SEE_MONSTER, monster );
- seen_monster( monster );
- }
// mimics are always left on map
if (!mons_is_mimic( monster->type ))
@@ -665,6 +656,26 @@ void monster_grid(bool do_updates)
} // end "for s"
} // end monster_grid()
+void fire_monster_alerts()
+{
+ for (int s = 0; s < MAX_MONSTERS; s++)
+ {
+ monsters *monster = &menv[s];
+
+ if (monster->type != -1 && mons_near(monster))
+ {
+ if (player_monster_visible( monster )
+ && !mons_is_submerged( monster )
+ && !mons_friendly( monster )
+ && !mons_is_mimic( monster->type )
+ && !mons_class_flag( monster->type, M_NO_EXP_GAIN ))
+ {
+ interrupt_activity( AI_SEE_MONSTER, monster );
+ seen_monster( monster );
+ }
+ }
+ }
+}
bool check_awaken(int mons_aw)
{