From 634346b199170aa7aadf3055938363395f3507b2 Mon Sep 17 00:00:00 2001 From: Matthew Cline Date: Fri, 6 Nov 2009 02:07:47 -0800 Subject: 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. --- crawl-ref/source/enum.h | 2 +- crawl-ref/source/monster.cc | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index 961eedf183..b995c6416e 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -2149,7 +2149,7 @@ enum monster_flag_type // Yredelemnul's power MF_NAME_SUFFIX = 0x10000, // mname is a suffix. - MF_NAME_NO_THE = 0x20000, // mname is a prefix with no "the" + MF_NAME_ADJECTIVE = 0x20000, // mname is an adjective. // between it and the monster type name. MF_NAME_REPLACE = 0x30000, // mname entirely replaces normal monster // name. 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); } -- cgit v1.2.3-54-g00ecf