summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-02-05 12:05:42 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-02-05 12:05:42 +0000
commit4ea301d9910996cd3ef97a56b3cba86fd95685bb (patch)
tree6e874ba47e6d6b7da7c5f8349ce5da6db0b7515b /crawl-ref/source/fight.cc
parentb1dfd6626d73db44b352a800237921cf9aeeb0ef (diff)
downloadcrawl-ref-4ea301d9910996cd3ef97a56b3cba86fd95685bb.tar.gz
crawl-ref-4ea301d9910996cd3ef97a56b3cba86fd95685bb.zip
[1632567] Greedy explore now tries to do the Right Thing with mimics.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@915 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 9b609f8d95..6f2f3ad4e7 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -2045,6 +2045,10 @@ void monster_attack(int monster_attacking)
if (mons_has_ench( attacker, ENCH_SUBMERGED ))
return;
+ // If a mimic is attacking the player, it is thereafter known.
+ if (mons_is_mimic(attacker->type))
+ attacker->flags |= MF_KNOWN_MIMIC;
+
if (you.duration[DUR_REPEL_UNDEAD]
&& mons_holiness( attacker ) == MH_UNDEAD
&& !check_mons_resist_magic( attacker, you.piety ))
@@ -3130,6 +3134,13 @@ bool monsters_fight(int monster_attacking, int monster_attacked)
if (mons_near(attacker) && mons_near(defender))
sees = true;
+ // Any objects seen in combat are thereafter known mimics.
+ if (mons_is_mimic(attacker->type) && mons_near(attacker))
+ attacker->flags |= MF_KNOWN_MIMIC;
+
+ if (mons_is_mimic(defender->type) && mons_near(defender))
+ defender->flags |= MF_KNOWN_MIMIC;
+
// now disturb defender, regardless
behaviour_event(defender, ME_WHACK, monster_attacking);