summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-util.cc
diff options
context:
space:
mode:
authorDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-06 19:12:25 -0500
committerDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-06 19:12:25 -0500
commit55ba0f6e4d8fd62ea1011426df0499606401006b (patch)
tree40166ece7bd80bdd1eb7aa0f156d1820366ac9e5 /crawl-ref/source/mon-util.cc
parent26ca2cac760a75dc931ee3a9ad9135f785e111c4 (diff)
downloadcrawl-ref-55ba0f6e4d8fd62ea1011426df0499606401006b.tar.gz
crawl-ref-55ba0f6e4d8fd62ea1011426df0499606401006b.zip
Display (very) ugly things' colors in their descriptions.
Diffstat (limited to 'crawl-ref/source/mon-util.cc')
-rw-r--r--crawl-ref/source/mon-util.cc60
1 files changed, 45 insertions, 15 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.