diff options
author | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-06 02:07:47 -0800 |
---|---|---|
committer | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-06 02:13:04 -0800 |
commit | 634346b199170aa7aadf3055938363395f3507b2 (patch) | |
tree | 9aeaf3ed03a17b5e6c28fcbcf7cd1067a4ecfe9e /crawl-ref/source/monster.cc | |
parent | 95fae39c5ba6c345d458ee828ae732faba7d8a82 (diff) | |
download | crawl-ref-634346b199170aa7aadf3055938363395f3507b2.tar.gz crawl-ref-634346b199170aa7aadf3055938363395f3507b2.zip |
Monster name flags fixups
Rename MF_NAME_NO_THE to MF_NAME_ADJECTIVE, since that's what it does.
Make description_level_type apply properly to monsters with MF_NAME_FOO
flags set.
Diffstat (limited to 'crawl-ref/source/monster.cc')
-rw-r--r-- | crawl-ref/source/monster.cc | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc index 7c8e1cc0a9..ae8454746d 100644 --- a/crawl-ref/source/monster.cc +++ b/crawl-ref/source/monster.cc @@ -2273,6 +2273,21 @@ std::string monsters::full_name(description_level_type desc, const unsigned long flag = flags & MF_NAME_MASK; + if (flag == MF_NAME_REPLACE) + { + switch(desc) + { + case DESC_CAP_THE: + case DESC_CAP_A: + case DESC_CAP_YOUR: + title = uppercase_first(title); + break; + + default: + break; + } + } + const int _type = mons_is_zombified(this) ? base_monster : type; if (mons_genus(_type) == MONS_HYDRA && flag == 0) return (title); @@ -2285,7 +2300,7 @@ std::string monsters::full_name(description_level_type desc, title += " "; title += mname; } - else if (flag == MF_NAME_NO_THE) + else if (flag == MF_NAME_ADJECTIVE) { title += " "; title += base_name(DESC_PLAIN, true); @@ -2300,6 +2315,10 @@ std::string monsters::full_name(description_level_type desc, title += base_name(DESC_NOCAP_THE, true); } } + + if (flag == MF_NAME_ADJECTIVE) + title = apply_description(desc, title); + return (title); } |