diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-31 17:44:23 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-05-31 17:44:23 +0000 |
commit | 8d620e1509fe04db564a5f46e32046d0ed61d714 (patch) | |
tree | dafee486172262a4aeb69878e0f290df62cdad69 /crawl-ref/source/initfile.cc | |
parent | 84dcd8dbdcbdbbcb08794426c634dce42d98e935 (diff) | |
download | crawl-ref-8d620e1509fe04db564a5f46e32046d0ed61d714.tar.gz crawl-ref-8d620e1509fe04db564a5f46e32046d0ed61d714.zip |
Modify menu_colour_item_prefix() to also handle stuff like contaminated
or poisonous chunks.
Throw out all those special cases in food_colouring.txt and
replace them with logic. I sure hope I got all special cases, but if
not they should be easy enough to add. The functions are currently all
in food.cc but they could easily be moved over to clua.cc and adapted
accordingly if needed.
New prefix shortcuts:
* inedible (full herbi/carnivorousness, rotten food for non-saprovores)
* preferred (respects foovorousness, rotten for ghouls, royal jelly for
everyone)
* poisonous
* contaminated
* mutagenic
* rot-inducing
(I also added one-liners to the descriptions of chunks of those types.)
The changes apply to all menu types, but they don't handle messages.
This is problematic in that you'd have to check the pickup menu to see
which corpses are worth butchering, but I'm still against keeping all
those manual checks for (currently) poisonous/mutagenic/... corpses,
esp. as information like this can date quickly.
Instead the butchering interface should be improved to somehow handle
that, possibly by overriding the prompt colour with the specified
colour if necessary. I don't think there are any other cases where
this is important.
Also add a prefix for equipped items and artefacts, so they can be
easily checked for as well. I really think the identified/unidentified
prefix should become default (and the option removed) - this allows
for easy differentiation between identified and non-identified
artefacts. The "known" prefix (for known wand charges or enchantments)
is a bit less interesting but wouldn't hurt any (I think).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5373 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/initfile.cc')
-rw-r--r-- | crawl-ref/source/initfile.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc index 2410102252..0df51a676a 100644 --- a/crawl-ref/source/initfile.cc +++ b/crawl-ref/source/initfile.cc @@ -2512,18 +2512,18 @@ void game_options::read_option_line(const std::string &str, bool runscript) } } // MSVC has a limit on how many if/else if can be chained together. - /* else */ if (key == "menu_colour" || key == "menu_color") + if (key == "menu_colour" || key == "menu_color") { std::vector<std::string> seg = split_string(",", field); for (int i = 0, count = seg.size(); i < count; ++i) { - // format: tag:string:colour + // Format is "tag:colour:pattern" or "colour:pattern" (default tag). // FIXME: arrange so that you can use ':' inside a pattern std::vector<std::string> subseg = split_string(":", seg[i], false); std::string tagname, patname, colname; - if ( subseg.size() < 2 ) + if (subseg.size() < 2) continue; - if ( subseg.size() >= 3 ) + if (subseg.size() >= 3) { tagname = subseg[0]; colname = subseg[1]; |