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.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index f7a62bc8a7..b691992e32 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -972,6 +972,25 @@ static void _handle_seen_interrupt(monsters* monster)
seen_monster( monster );
}
+void flush_comes_into_view()
+{
+ if (!you.turn_is_over
+ || (!you_are_delayed() && !crawl_state.is_repeating_cmd()))
+ {
+ return;
+ }
+
+ monsters* mon = crawl_state.which_mon_acting();
+
+ if (!mon || !mon->alive() || (mon->flags & MF_WAS_IN_VIEW)
+ || !you.can_see(mon))
+ {
+ return;
+ }
+
+ _handle_seen_interrupt(mon);
+}
+
void handle_monster_shouts(monsters* monster, bool force)
{
if (!force && (!you.turn_is_over
@@ -998,6 +1017,8 @@ void handle_monster_shouts(monsters* monster, bool force)
return;
}
+ mon_acting mact(monster);
+
std::string default_msg_key = "";
switch (s_type)