diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/mon-util.cc | 60 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 19 |
2 files changed, 56 insertions, 23 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc index e3eedd2795..3d1a721029 100644 --- a/crawl-ref/source/mon-util.cc +++ b/crawl-ref/source/mon-util.cc @@ -2005,6 +2005,30 @@ void define_monster(monsters &mons) mons.ench_countdown = 0; } +static std::string _ugly_thing_colour_name(const monsters *mon) +{ + if (mons_genus(mon->type) != MONS_UGLY_THING) + return ("buggy"); + + switch (make_low_colour(mon->colour)) + { + case CYAN: + return ("turquoise"); + case GREEN: + return ("green"); + case RED: + return ("red"); + case LIGHTGREY: + return ("white"); + case BROWN: + return ("brown"); + case MAGENTA: + return ("purple"); + default: + return ("buggy"); + } +} + static const char *drac_colour_names[] = { "black", "mottled", "yellow", "green", "purple", "red", "white", "pale" }; @@ -2049,11 +2073,11 @@ static std::string _str_monam(const monsters& mon, description_level_type desc, switch (desc) { case DESC_CAP_THE: case DESC_CAP_A: - return "It"; + return ("It"); case DESC_NOCAP_THE: case DESC_NOCAP_A: case DESC_PLAIN: - return "it"; + return ("it"); default: - return "it (buggy)"; + return ("it (buggy)"); } } @@ -2064,8 +2088,8 @@ static std::string _str_monam(const monsters& mon, description_level_type desc, if (mons_is_mimic(mon.type) && mon.type != MONS_GOLD_MIMIC) { item_def item; - get_mimic_item( &mon, item ); - return item.name(desc); + get_mimic_item(&mon, item); + return (item.name(desc)); } if (mon.type == MONS_DANCING_WEAPON && mon.inv[MSLOT_WEAPON] != NON_ITEM) @@ -2080,14 +2104,15 @@ static std::string _str_monam(const monsters& mon, description_level_type desc, } const item_def& item = mitm[mon.inv[MSLOT_WEAPON]]; - return item.name(desc, false, false, use_inscrip, false, ignore_flags); + return (item.name(desc, false, false, use_inscrip, false, + ignore_flags)); } if (desc == DESC_DBNAME) - return get_monster_data(mon.type)->name; + return (get_monster_data(mon.type)->name); if (mon.type == MONS_PLAYER_GHOST) - return apostrophise(mon.mname) + " ghost"; + return (apostrophise(mon.mname) + " ghost"); // Some monsters might want the name of a different creature. int nametype = mon.type; @@ -2111,7 +2136,7 @@ static std::string _str_monam(const monsters& mon, description_level_type desc, if (desc != DESC_BASENAME && !mon.mname.empty() && mons_genus(nametype) != MONS_HYDRA) { - return mon.mname; + return (mon.mname); } std::string result; @@ -2156,6 +2181,11 @@ static std::string _str_monam(const monsters& mon, description_level_type desc, // Tack on other prefixes. switch (mon.type) { + case MONS_UGLY_THING: + case MONS_VERY_UGLY_THING: + result += _ugly_thing_colour_name(&mon) + " "; + break; + case MONS_SPECTRAL_THING: result += "spectral "; break; @@ -2261,10 +2291,10 @@ static std::string _str_monam(const monsters& mon, description_level_type desc, } // All done. - return result; + return (result); } -std::string mons_type_name(int type, description_level_type desc ) +std::string mons_type_name(int type, description_level_type desc) { std::string result; @@ -2320,7 +2350,7 @@ std::string mons_type_name(int type, description_level_type desc ) result.insert(1, "n"); } - return result; + return (result); } static std::string _get_proper_monster_name(const monsters *mon) @@ -2331,16 +2361,16 @@ static std::string _get_proper_monster_name(const monsters *mon) std::string name = getRandNameString(me->name, " name"); if (!name.empty()) - return name; + return (name); name = getRandNameString(get_monster_data(mons_genus(mon->type))->name, " name"); if (!name.empty()) - return name; + return (name); name = getRandNameString("generic_monster_name"); - return name; + return (name); } // Names a previously unnamed monster. diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index 2f74f41b0c..e036ab19ca 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -1349,8 +1349,8 @@ static std::string _verbose_info(const monsters* m) return (""); } -void monster_pane_info::to_string( int count, std::string& desc, - int& desc_color) const +void monster_pane_info::to_string(int count, std::string& desc, + int& desc_color) const { std::ostringstream out; @@ -1371,11 +1371,13 @@ void monster_pane_info::to_string( int count, std::string& desc, out << count << " " << m_mon->name(DESC_PLAIN); } - // Don't differentiate between dancing weapons, mimics or draconians - // of different types. + // Don't differentiate between dancing weapons, mimics, (very) + // ugly things or draconians of different types. else if (m_fullname && m_mon->type != MONS_DANCING_WEAPON && mons_genus(m_mon->type) != MONS_DRACONIAN + && m_mon->type != MONS_UGLY_THING + && m_mon->type != MONS_VERY_UGLY_THING && !mons_is_mimic(m_mon->type) && m_mon->mname.empty()) { @@ -1512,7 +1514,7 @@ static void _print_next_monster_desc(const std::vector<monster_pane_info>& mons, if (glyph == '%') cprintf("%%"); else - cprintf( stringize_glyph(glyph).c_str() ); + cprintf(stringize_glyph(glyph).c_str()); ++printed; // Printing too many looks pretty bad, though. @@ -1653,7 +1655,8 @@ int update_monster_pane() #endif // Print the monsters! - std::string blank; blank.resize(crawl_view.mlistsz.x, ' '); + std::string blank; + blank.resize(crawl_view.mlistsz.x, ' '); int i_mons = 0; for (int i_print = 0; i_print < max_print; ++i_print) { @@ -1669,7 +1672,7 @@ int update_monster_pane() cprintf("%s", blank.c_str()); } - if (i_mons < (int) mons.size()) + if (i_mons < (int)mons.size()) { // Didn't get to all of them. cgotoxy(crawl_view.mlistsz.x - 4, crawl_view.mlistsz.y, GOTO_MLIST); @@ -1679,7 +1682,7 @@ int update_monster_pane() if (mons.empty()) return (-1); - return full_info; + return (full_info); } #else // FIXME: Implement this for Tiles! |