summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
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)
{