summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/kills.cc
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-12-27 13:45:19 +1000
committerJude Brown <bookofjude@users.sourceforge.net>2009-12-27 13:45:19 +1000
commit79479ce91ed4542ed9ceec458f9260cc5d579283 (patch)
tree34ff7d8971808825e263ae55e9461e0a5e3c84f9 /crawl-ref/source/kills.cc
parent061e97f1722560e2180323b3e38c76add540b4b6 (diff)
downloadcrawl-ref-79479ce91ed4542ed9ceec458f9260cc5d579283.tar.gz
crawl-ref-79479ce91ed4542ed9ceec458f9260cc5d579283.zip
Don't mark milestones for summoned ghosts or uniques.
This should also hopefully deal with summoned ghosts in the kills tracker.
Diffstat (limited to 'crawl-ref/source/kills.cc')
-rw-r--r--crawl-ref/source/kills.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/crawl-ref/source/kills.cc b/crawl-ref/source/kills.cc
index f0ea8ee3f0..3d577cb283 100644
--- a/crawl-ref/source/kills.cc
+++ b/crawl-ref/source/kills.cc
@@ -279,7 +279,8 @@ void Kills::merge(const Kills &k)
void Kills::record_kill(const struct monsters *mon)
{
- // Handle player ghosts separately.
+ // Handle player ghosts separately, but don't handle summoned
+ // ghosts at all. {due}
if (mon->type == MONS_PLAYER_GHOST && !mon->is_summoned())
{
record_ghost_kill(mon);
@@ -365,6 +366,9 @@ void Kills::load(reader& inf)
void Kills::record_ghost_kill(const struct monsters *mon)
{
+ // We should never get to this point, but just in case... {due}
+ if (mon->is_summoned())
+ return;
kill_ghost ghostk(mon);
ghosts.push_back(ghostk);
}
@@ -482,7 +486,8 @@ void kill_def::merge(const kill_def &k, bool uniq)
void kill_def::add_kill(const struct monsters *mon, unsigned short place)
{
kills++;
- add_place(place, mons_is_unique(mon->type));
+ // They're only unique if they aren't summoned.
+ add_place(place, mons_is_unique(mon->type) && !mon->is_summoned());
}
void kill_def::add_place(unsigned short place, bool force)