summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2009-02-17 20:41:45 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2009-02-17 20:41:45 +0000
commit3738559721d08c98bbf42b5debddee0cac63196b (patch)
tree78b9c39aa6a5c6dfaf59a1f50b2bd77dc38e2b4c /crawl-ref/source/view.cc
parent999f4ba812512fbc28c9cbdc5d4f42a8eafdd1dd (diff)
downloadcrawl-ref-3738559721d08c98bbf42b5debddee0cac63196b.tar.gz
crawl-ref-3738559721d08c98bbf42b5debddee0cac63196b.zip
Fix [2604363]: stashes and autoexplore leaked information about mimics.
(Incidentally, if you walk into a mimic by accident, the stash won't go away until the next turn. Technically a bug, but a minor one.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9118 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r--crawl-ref/source/view.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 5bda2008f4..fa5994034d 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -964,7 +964,7 @@ void beogh_follower_convert(monsters *monster, bool orc_hit)
static void _handle_seen_interrupt(monsters* monster)
{
- if (mons_is_mimic(monster->type) && !mons_is_known_mimic(monster))
+ if (mons_is_unknown_mimic(monster))
return;
activity_interrupt_data aid(monster);
@@ -1309,9 +1309,14 @@ void update_monsters_in_view()
if (monster->attitude == ATT_HOSTILE)
num_hostile++;
- if (player_monster_visible(monster)
- && (!mons_is_mimic(monster->type)
- || mons_is_known_mimic(monster)))
+ if (mons_is_unknown_mimic(monster))
+ {
+ // For unknown mimics, don't mark as seen,
+ // but do mark it as in view for later messaging.
+ // FIXME: is this correct?
+ monster->flags |= MF_WAS_IN_VIEW;
+ }
+ else if (player_monster_visible(monster))
{
if (!(monster->flags & MF_WAS_IN_VIEW) && you.turn_is_over)
_handle_seen_interrupt(monster);