From 8f662453f566222479ffcf856d70581c7c131c03 Mon Sep 17 00:00:00 2001 From: Johanna Ploog Date: Sat, 9 Jan 2010 14:12:15 +0100 Subject: 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. --- crawl-ref/source/tilepick.cc | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) (limited to 'crawl-ref/source/tilepick.cc') 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; -- cgit v1.2.3-54-g00ecf