diff options
author | Johanna Ploog <j-p-e-g@users.sourceforge.net> | 2010-01-09 14:12:15 +0100 |
---|---|---|
committer | Johanna Ploog <j-p-e-g@users.sourceforge.net> | 2010-01-09 14:12:15 +0100 |
commit | 8f662453f566222479ffcf856d70581c7c131c03 (patch) | |
tree | 18f68db1ca78d616e05f3ba677f385ff62a2c76c /crawl-ref/source/tilepick.cc | |
parent | 40a5cf776b1309872551df44650a1dc13317fdcf (diff) | |
download | crawl-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.cc | 42 |
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; |