summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells4.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/spells4.cc')
-rw-r--r--crawl-ref/source/spells4.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc
index 9c57589680..2fe715a0f1 100644
--- a/crawl-ref/source/spells4.cc
+++ b/crawl-ref/source/spells4.cc
@@ -2034,11 +2034,17 @@ bool cast_twist(int pow, const coord_def& where)
if (invalid_monster_index(mgrd(where)))
{
mpr("There is no monster there!");
- return (false);
+ // This counts as a real cast, in order not to leak invisible
+ // monster locations, and to allow victory-dancing.
+ return (true);
}
monsters& m = menv[mgrd(where)];
+ // Identify mimics, if necessary.
+ if (mons_is_mimic(m.type))
+ m.flags |= MF_KNOWN_MIMIC;
+
// Monster can magically save vs attack.
if (check_mons_resist_magic(&m, pow * 2))
{
@@ -2055,6 +2061,9 @@ bool cast_twist(int pow, const coord_def& where)
// Inflict the damage.
_player_hurt_monster(m, damage);
+ if (mons_is_mimic(m.type))
+ mimic_alert(&m);
+
return (true);
}