summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monstuff.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/monstuff.cc')
-rw-r--r--crawl-ref/source/monstuff.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index c5948c9bef..e58056765b 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -2201,13 +2201,16 @@ static coord_def _random_monster_nearby_habitable_space(const monsters& mon,
return (target);
}
-bool monster_blink(monsters *monster)
+bool monster_blink(monsters *monster, bool quiet)
{
coord_def near = _random_monster_nearby_habitable_space(*monster, false,
true);
if (near == monster->pos())
return (false);
+ if (!quiet)
+ simple_monster_message(monster, " blinks!");
+
if (!(monster->flags & MF_WAS_IN_VIEW))
monster->seen_context = "thin air";
@@ -5627,10 +5630,7 @@ static bool _handle_special_ability(monsters *monster, bolt & beem)
case MONS_KILLER_KLOWN:
case MONS_PRINCE_RIBBIT:
if (one_chance_in(7) || mons_is_caught(monster) && one_chance_in(3))
- {
- simple_monster_message(monster, " blinks.");
used = monster_blink(monster);
- }
break;
case MONS_MANTICORE:
@@ -6011,7 +6011,6 @@ static bool _handle_scroll(monsters *monster)
if (mons_near(monster))
{
simple_monster_message(monster, " reads a scroll.");
- simple_monster_message(monster, " blinks!");
monster_blink(monster);
read = true;
ident = ID_KNOWN_TYPE;
@@ -6602,8 +6601,6 @@ static bool _handle_spell(monsters *monster, bolt &beem)
if (monsterNearby)
{
mons_cast_noise(monster, beem, spell_cast);
-
- simple_monster_message(monster, " blinks!");
monster_blink(monster);
monster->lose_energy(EUT_SPELL);