summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/describe.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-31 17:44:23 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-05-31 17:44:23 +0000
commit8d620e1509fe04db564a5f46e32046d0ed61d714 (patch)
treedafee486172262a4aeb69878e0f290df62cdad69 /crawl-ref/source/describe.cc
parent84dcd8dbdcbdbbcb08794426c634dce42d98e935 (diff)
downloadcrawl-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/describe.cc')
-rw-r--r--crawl-ref/source/describe.cc39
1 files changed, 33 insertions, 6 deletions
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 9423d9bf8c..18007cd6ea 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -1645,21 +1645,48 @@ std::string get_item_description( const item_def &item, bool verbose,
description << "It looks nice and ripe.";
else
{
- description << "In fact, it is "
- "rotting away before your eyes.";
+ description << "In fact, it is rotting away before your "
+ "eyes.";
- if (you.is_undead != US_UNDEAD
- && you.species != SP_VAMPIRE)
+ if (!you.is_undead
+ && !player_mutation_level(MUT_SAPROVOROUS))
{
- description << " Eating it would "
- "probably be unwise.";
+ description << " Eating it is completely out of the "
+ "question!";
}
}
}
else if (player_mutation_level(MUT_SAPROVOROUS) < 3)
description << "It looks rather unpleasant.";
+ switch (mons_corpse_effect(item.plus))
+ {
+ case CE_POISONOUS:
+ description << "$$This meat is poisonous.";
+ break;
+ case CE_MUTAGEN_RANDOM:
+ if (you.species != SP_GHOUL)
+ {
+ description << "$$Eating this meat will cause random "
+ "mutations.";
+ }
+ break;
+ case CE_HCL:
+ if (you.species != SP_GHOUL)
+ description << "$$Eating this meat will cause rotting.";
+ break;
+ case CE_CONTAMINATED:
+ if (player_mutation_level(MUT_SAPROVOROUS) < 3)
+ {
+ description << "$$Chunks like this may occasionally cause "
+ "sickness.";
+ }
+ break;
+ default:
+ break;
+ }
description << "$";
+
}
break;