diff options
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/food.cc | 18 | ||||
-rw-r--r-- | crawl-ref/source/item_use.cc | 6 |
2 files changed, 24 insertions, 0 deletions
diff --git a/crawl-ref/source/food.cc b/crawl-ref/source/food.cc index fbdc31aaa9..a306a6ce41 100644 --- a/crawl-ref/source/food.cc +++ b/crawl-ref/source/food.cc @@ -647,6 +647,15 @@ void eat_from_inventory(int which_inventory_slot) const int chunk_type = mons_corpse_effect( mons_type ); const bool rotten = (you.inv[which_inventory_slot].special < 100); + if (rotten && you.species != SP_GHOUL && you.species != SP_KOBOLD + && you.species != SP_TROLL && you.species != SP_OGRE + && you.species != SP_HILL_ORC + && !yesno("Are you sure you want to eat this rotten meat?", false, 'n')) + { + canned_msg(MSG_OK); + return; + } + eat_chunk( determine_chunk_effect( chunk_type, rotten ) ); } else @@ -691,6 +700,15 @@ void eat_floor_item(int item_link) const int chunk_type = mons_corpse_effect( mitm[item_link].plus ); const bool rotten = (mitm[item_link].special < 100); + + if (rotten && you.species != SP_GHOUL && you.species != SP_KOBOLD + && you.species != SP_TROLL && you.species != SP_OGRE + && you.species != SP_HILL_ORC + && !yesno("Are you sure you want to eat this rotten meat?", false, 'n')) + { + canned_msg(MSG_OK); + return; + } eat_chunk( determine_chunk_effect( chunk_type, rotten ) ); } else diff --git a/crawl-ref/source/item_use.cc b/crawl-ref/source/item_use.cc index c41b24465a..9b3515fa0f 100644 --- a/crawl-ref/source/item_use.cc +++ b/crawl-ref/source/item_use.cc @@ -3019,6 +3019,12 @@ bool drink_fountain() if ( feat != DNGN_BLUE_FOUNTAIN && feat != DNGN_SPARKLING_FOUNTAIN ) return false; + if (you.duration[DUR_LEVITATION] && !you.flies()) + { + mpr("You're floating high above the fountain."); + return false; + } + potion_type fountain_effect = POT_WATER; if ( feat == DNGN_BLUE_FOUNTAIN ) { |