diff --git a/src/consumption.cpp b/src/consumption.cpp index 3904abdb219ec..069aca20cbcf9 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -465,6 +465,7 @@ std::pair Character::compute_nutrient_range( int Character::nutrition_for( const item &comest ) const { + // Note: This will round down to zero for super-low-calorie foods return compute_effective_nutrients( comest ).kcal() / islot_comestible::kcal_per_nutr; } @@ -901,7 +902,7 @@ ret_val Character::can_eat( const item &food ) const return ret_val::make_failure( INEDIBLE_MUTATION, _( "Ugh, you can't drink that!" ) ); } - if( has_trait( trait_CARNIVORE ) && nutrition_for( food ) > 0 && + if( has_trait( trait_CARNIVORE ) && compute_effective_nutrients( food ).kcal() > 0 && food.has_any_vitamin( carnivore_blacklist ) && !food.has_flag( flag_CARNIVORE_OK ) ) { return ret_val::make_failure( INEDIBLE_MUTATION, _( "Eww. Inedible plant stuff!" ) );