diff options
Diffstat (limited to 'crawl-ref/source/spells4.cc')
-rw-r--r-- | crawl-ref/source/spells4.cc | 11 |
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); } |