diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-02-05 12:05:42 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-02-05 12:05:42 +0000 |
commit | 4ea301d9910996cd3ef97a56b3cba86fd95685bb (patch) | |
tree | 6e874ba47e6d6b7da7c5f8349ce5da6db0b7515b /crawl-ref/source/fight.cc | |
parent | b1dfd6626d73db44b352a800237921cf9aeeb0ef (diff) | |
download | crawl-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.cc | 11 |
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); |