summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorMatthew Cline <zelgadis@sourceforge.net>2009-11-15 20:43:40 -0800
committerMatthew Cline <zelgadis@sourceforge.net>2009-11-15 20:43:40 -0800
commit3edb0b71f57aa058c6d20904dd7c875f67e222b6 (patch)
treebbb083ef185df4ef9313e1502f67d8ab386a110a /crawl-ref/source
parent1b490890d245da181d79e8730f1357759028eb9e (diff)
downloadcrawl-ref-3edb0b71f57aa058c6d20904dd7c875f67e222b6.tar.gz
crawl-ref-3edb0b71f57aa058c6d20904dd7c875f67e222b6.zip
Message for unseen eyes starting at you
If an eye you can't stares at you, you get the message "You feel you are being watched by something" before the effect happens.
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/mon-abil.cc20
1 files changed, 15 insertions, 5 deletions
diff --git a/crawl-ref/source/mon-abil.cc b/crawl-ref/source/mon-abil.cc
index a8037d2733..08ae3bbbe3 100644
--- a/crawl-ref/source/mon-abil.cc
+++ b/crawl-ref/source/mon-abil.cc
@@ -1326,13 +1326,17 @@ void mon_nearby_ability(monsters *monster)
case MONS_GOLDEN_EYE:
if (_eyeball_will_use_ability(monster))
{
- if (you.can_see(monster) && you.can_see(foe))
+ const bool can_see = you.can_see(monster);
+ if (can_see && you.can_see(foe))
mprf("%s blinks at %s.",
monster->name(DESC_CAP_THE).c_str(),
foe->name(DESC_NOCAP_THE).c_str());
int confuse_power = 2 + random2(3);
+ if (foe->atype() == ACT_PLAYER && !can_see)
+ mpr("You feel you are being watched by something.");
+
if (foe->check_res_magic((monster->hit_dice * 5) * confuse_power))
{
if (foe->atype() == ACT_PLAYER)
@@ -1352,11 +1356,15 @@ void mon_nearby_ability(monsters *monster)
case MONS_GIANT_EYEBALL:
if (_eyeball_will_use_ability(monster))
{
- if (you.can_see(monster) && you.can_see(foe))
+ const bool can_see = you.can_see(monster);
+ if (can_see && you.can_see(foe))
mprf("%s stares at %s.",
monster->name(DESC_CAP_THE).c_str(),
foe->name(DESC_NOCAP_THE).c_str());
+ if (foe->atype() == ACT_PLAYER && !can_see)
+ mpr("You feel you are being watched by something.");
+
// Subtly different from old paralysis behaviour, but
// it'll do.
foe->paralyse(monster, 2 + random2(3));
@@ -1364,10 +1372,12 @@ void mon_nearby_ability(monsters *monster)
break;
case MONS_EYE_OF_DRAINING:
- if (_eyeball_will_use_ability(monster)
- && foe->atype() == ACT_PLAYER)
+ if (_eyeball_will_use_ability(monster) && foe->atype() == ACT_PLAYER)
{
- simple_monster_message(monster, " stares at you.");
+ if (you.can_see(monster))
+ simple_monster_message(monster, " stares at you.");
+ else
+ mpr("You feel you are being watched by something.");
dec_mp(5 + random2avg(13, 3));