summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilepick.cc
diff options
context:
space:
mode:
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;