summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/directn.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-24 07:29:40 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-24 07:29:40 +0000
commit7b6e06e7dfb876a56c99e2216a6071e0a652caf9 (patch)
tree6126035ebe8c10f89ec930992bfa2e0e99c7dc17 /crawl-ref/source/directn.cc
parenta9c18d8a40084b269f6173ba68283c3a2feaff48 (diff)
downloadcrawl-ref-7b6e06e7dfb876a56c99e2216a6071e0a652caf9.tar.gz
crawl-ref-7b6e06e7dfb876a56c99e2216a6071e0a652caf9.zip
Apply r6627, r6635, r6638 and r6645 (among others) to 0.4.
Fixes Selective Amnesia crash, claws/ankus in the weapon option, randart bardings pretending to be boots and smaller stuff. Includes indication of monsters seeing/sensing invisible. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6665 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/directn.cc')
-rw-r--r--crawl-ref/source/directn.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 746ac18bb3..5805cabf9c 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -2347,6 +2347,30 @@ static void _describe_monster(const monsters *mon)
mon->pronoun(PRONOUN_CAP).c_str());
}
+ if (mons_behaviour_perceptible(mon) && !mons_is_sleeping(mon)
+ && !mons_is_confused(mon)
+ && (mons_see_invis(mon) || mons_sense_invis(mon)))
+ {
+ if (you.invisible() && mon->foe == MHITYOU && !mons_is_fleeing(mon))
+ {
+ if (mons_see_invis(mon))
+ {
+ mprf(MSGCH_EXAMINE, "%s is watching you carefully.",
+ mon->pronoun(PRONOUN_CAP).c_str());
+ }
+ else
+ {
+ mprf(MSGCH_EXAMINE, "%s is looking in your general direction.",
+ mon->pronoun(PRONOUN_CAP).c_str());
+ }
+ }
+ else if (mon->foe == MHITNOT || mons_is_fleeing(mon))
+ {
+ mprf(MSGCH_EXAMINE, "%s seems to be peering into the shadows.",
+ mon->pronoun(PRONOUN_CAP).c_str());
+ }
+ }
+
std::string desc = "";
std::string last_desc = "";
std::string tmp = "";