diff options
author | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-12 22:32:31 -0800 |
---|---|---|
committer | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-12 22:32:31 -0800 |
commit | c1676b3f938f1b3106df4370a3002f92c4279636 (patch) | |
tree | 2374e520f5b77ffd7f559de929fd2e0121c64217 /crawl-ref/source/mapdef.cc | |
parent | 91a0670e7038461929a8035c2aecb0df8d830291 (diff) | |
download | crawl-ref-c1676b3f938f1b3106df4370a3002f92c4279636.tar.gz crawl-ref-c1676b3f938f1b3106df4370a3002f92c4279636.zip |
mon_spec: "col:any" to get random colours
Diffstat (limited to 'crawl-ref/source/mapdef.cc')
-rw-r--r-- | crawl-ref/source/mapdef.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc index ebafae76e2..c295cc5394 100644 --- a/crawl-ref/source/mapdef.cc +++ b/crawl-ref/source/mapdef.cc @@ -2576,12 +2576,18 @@ mons_list::mons_spec_slot mons_list::parse_mons_spec(std::string spec) std::string colour = strip_tag_prefix(mon_str, "col:"); if (!colour.empty()) { - mspec.colour = str_to_colour(colour, BLACK); - if (mspec.colour == BLACK) + if (colour == "any") + // XXX: Hack + mspec.colour = BLACK; + else { - error = make_stringf("bad monster colour \"%s\" in \"%s\"", - colour.c_str(), specs[i].c_str()); - return (slot); + mspec.colour = str_to_colour(colour, BLACK); + if (mspec.colour == BLACK) + { + error = make_stringf("bad monster colour \"%s\" in \"%s\"", + colour.c_str(), specs[i].c_str()); + return (slot); + } } } |