diff options
author | Aaron Becker <akbecker@gmail.com> | 2011-12-09 12:18:44 -0600 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2011-12-09 14:20:23 -0500 |
commit | f789c54d63a54a7a57797681d0e5798bf7e1743c (patch) | |
tree | a498de2e66bb88ff211cda966090b1771d051251 /crawl-ref/source/dgn-overview.cc | |
parent | 84c4991a6dc7b7b64d925021fe6fda8b35e7821a (diff) | |
download | crawl-ref-f789c54d63a54a7a57797681d0e5798bf7e1743c.tar.gz crawl-ref-f789c54d63a54a7a57797681d0e5798bf7e1743c.zip |
For unique annotations, check whether monster has ever been unique.
When uniques are polymorphed, mons_is_unique becomes false, and you have
to separately check the original_was_unique property, otherwise their
annotations won't work correctly.
Diffstat (limited to 'crawl-ref/source/dgn-overview.cc')
-rw-r--r-- | crawl-ref/source/dgn-overview.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crawl-ref/source/dgn-overview.cc b/crawl-ref/source/dgn-overview.cc index f4bcee22fb..f1885b3159 100644 --- a/crawl-ref/source/dgn-overview.cc +++ b/crawl-ref/source/dgn-overview.cc @@ -903,7 +903,10 @@ void set_unique_annotation(monster* mons, const level_id level) // Abyss persists its denizens. if (level.level_type != LEVEL_DUNGEON && level.level_type != LEVEL_ABYSS) return; - if (!mons_is_unique(mons->type) && mons->type != MONS_PLAYER_GHOST) + if (!mons_is_unique(mons->type) + && !(mons->props.exists("original_was_unique") + && mons->props["original_was_unique"].get_bool()) + && mons->type != MONS_PLAYER_GHOST) return; remove_unique_annotation(mons); |