summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Moore <neil@s-z.org>2014-07-26 13:30:49 -0400
committerNeil Moore <neil@s-z.org>2014-07-26 13:42:24 -0400
commit674d6c0fc3fbd5c83d0e34621269085d4343728b (patch)
treee3a5d2a5577ff5b7b0fc01b32c70f942d6218a02
parent3a388267246caaa9dd2046dfb11515f050eac22a (diff)
downloadcrawl-ref-674d6c0fc3fbd5c83d0e34621269085d4343728b.tar.gz
crawl-ref-674d6c0fc3fbd5c83d0e34621269085d4343728b.zip
Don't mark friendly illusions/ghosts as interesing (#8817)
-rw-r--r--crawl-ref/source/files.cc1
-rw-r--r--crawl-ref/source/mon-place.cc6
-rw-r--r--crawl-ref/source/monster.cc2
3 files changed, 8 insertions, 1 deletions
diff --git a/crawl-ref/source/files.cc b/crawl-ref/source/files.cc
index 4b559b224e..12485e2fdf 100644
--- a/crawl-ref/source/files.cc
+++ b/crawl-ref/source/files.cc
@@ -1827,6 +1827,7 @@ bool load_ghost(bool creating_level)
mons->bind_spell_flags();
if (mons->ghost->species == SP_DEEP_DWARF)
mons->flags |= MF_NO_REGEN;
+ mark_interesting_monst(mons, mons->behaviour);
ghosts.erase(ghosts.begin());
#ifdef BONES_DIAGNOSTICS
diff --git a/crawl-ref/source/mon-place.cc b/crawl-ref/source/mon-place.cc
index 994084997b..03414cea40 100644
--- a/crawl-ref/source/mon-place.cc
+++ b/crawl-ref/source/mon-place.cc
@@ -3479,6 +3479,12 @@ void mark_interesting_monst(monster* mons, beh_type behaviour)
// If it's never going to attack us, then not interesting
else if (behaviour == BEH_FRIENDLY)
interesting = false;
+ // Hostile ghosts and illusions are always interesting.
+ else if (mons->type == MONS_PLAYER_GHOST
+ || mons->type == MONS_PLAYER_ILLUSION)
+ {
+ interesting = true;
+ }
// Jellies are never interesting to Jiyva.
else if (mons->type == MONS_JELLY && you_worship(GOD_JIYVA))
interesting = false;
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index f9707cf268..93445651d3 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -4496,7 +4496,7 @@ void monster::ghost_init(bool need_pos)
god = ghost->religion;
attitude = ATT_HOSTILE;
behaviour = BEH_WANDER;
- flags = MF_INTERESTING;
+ flags = 0;
foe = MHITNOT;
foe_memory = 0;
number = MONS_NO_MONSTER;