summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monster.cc
diff options
context:
space:
mode:
authorMatthew Cline <zelgadis@sourceforge.net>2009-11-06 02:07:47 -0800
committerMatthew Cline <zelgadis@sourceforge.net>2009-11-06 02:13:04 -0800
commit634346b199170aa7aadf3055938363395f3507b2 (patch)
tree9aeaf3ed03a17b5e6c28fcbcf7cd1067a4ecfe9e /crawl-ref/source/monster.cc
parent95fae39c5ba6c345d458ee828ae732faba7d8a82 (diff)
downloadcrawl-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.cc21
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);
}