summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilepick.cc
diff options
context:
space:
mode:
authorJohanna Ploog <j-p-e-g@users.sourceforge.net>2010-01-09 14:12:15 +0100
committerJohanna Ploog <j-p-e-g@users.sourceforge.net>2010-01-09 14:12:15 +0100
commit8f662453f566222479ffcf856d70581c7c131c03 (patch)
tree18f68db1ca78d616e05f3ba677f385ff62a2c76c /crawl-ref/source/tilepick.cc
parent40a5cf776b1309872551df44650a1dc13317fdcf (diff)
downloadcrawl-ref-8f662453f566222479ffcf856d70581c7c131c03.tar.gz
crawl-ref-8f662453f566222479ffcf856d70581c7c131c03.zip
Tiles: Add icons for poisonous/mutagenic/... chunks or corpses.
I'm not sure how to visualize contaminated chunks, so they haven't got an icon yet (maybe use coagulated blood?) Also, I've opted to only show the icons for rotten chunks if the character is capable of eating them. Otherwise, them being rotten is all that's of interest to the player.
Diffstat (limited to 'crawl-ref/source/tilepick.cc')
-rw-r--r--crawl-ref/source/tilepick.cc42
1 files changed, 37 insertions, 5 deletions
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index afa403ad2f..818655ef98 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -1594,6 +1594,42 @@ static int _tileidx_armour(const item_def &item)
return _apply_variations(item, tile);
}
+static int _tileidx_chunk(const item_def &item)
+{
+ if (food_is_rotten(item))
+ {
+ if (!is_inedible(item))
+ {
+ if (is_poisonous(item))
+ return TILE_FOOD_CHUNK_ROTTEN_POISONED;
+
+ if (is_mutagenic(item))
+ return TILE_FOOD_CHUNK_ROTTEN_MUTAGENIC;
+
+ if (causes_rot(item))
+ return TILE_FOOD_CHUNK_ROTTEN_ROTTING;
+
+ if (is_forbidden_food(item))
+ return TILE_FOOD_CHUNK_ROTTEN_FORBIDDEN;
+ }
+ return TILE_FOOD_CHUNK_ROTTEN;
+ }
+
+ if (is_poisonous(item))
+ return TILE_FOOD_CHUNK_POISONED;
+
+ if (is_mutagenic(item))
+ return TILE_FOOD_CHUNK_MUTAGENIC;
+
+ if (causes_rot(item))
+ return TILE_FOOD_CHUNK_ROTTING;
+
+ if (is_forbidden_food(item))
+ return TILE_FOOD_CHUNK_FORBIDDEN;
+
+ return TILE_FOOD_CHUNK;
+}
+
static int _tileidx_food(const item_def &item)
{
switch (item.sub_type)
@@ -1619,11 +1655,7 @@ static int _tileidx_food(const item_def &item)
case FOOD_BEEF_JERKY: return TILE_FOOD_BEEF_JERKY;
case FOOD_CHEESE: return TILE_FOOD_CHEESE;
case FOOD_SAUSAGE: return TILE_FOOD_SAUSAGE;
-
- case FOOD_CHUNK:
- if (food_is_rotten(item))
- return TILE_FOOD_CHUNK_ROTTEN;
- return TILE_FOOD_CHUNK;
+ case FOOD_CHUNK: return _tileidx_chunk(item);
}
return TILE_ERROR;