summaryrefslogblamecommitdiffstats
path: root/crawl-ref/source/food.h
blob: 178bacb371689d2b40613be7768980495c1968df (plain) (tree)
1
2
3
4
5
6
7
8
9
10
  
                      

                                                    





              























                                              
                                              

  
                                     
 
                             
 

                                                      
 

                                                            

                                                         
                             
 



                                           
                                       
                                             
                                             
                                        
 
                                                                   



                                                              

                                            
                        
 

                                                  
 
                                              
 

                                            
                                                                         
 

                                            


                     
      
/*
 *  File:       food.h
 *  Summary:    Functions for eating and butchering.
 *  Written by: Linley Henzell
 */


#ifndef FOOD_H
#define FOOD_H

enum food_type
{
    FOOD_MEAT_RATION,                  //    0
    FOOD_BREAD_RATION,
    FOOD_PEAR,
    FOOD_APPLE,
    FOOD_CHOKO,
    FOOD_HONEYCOMB,                    //    5
    FOOD_ROYAL_JELLY,
    FOOD_SNOZZCUMBER,
    FOOD_PIZZA,
    FOOD_APRICOT,
    FOOD_ORANGE,                       //   10
    FOOD_BANANA,
    FOOD_STRAWBERRY,
    FOOD_RAMBUTAN,
    FOOD_LEMON,
    FOOD_GRAPE,                        //   15
    FOOD_SULTANA,
    FOOD_LYCHEE,
    FOOD_BEEF_JERKY,
    FOOD_CHEESE,
    FOOD_SAUSAGE,                      //   20
    FOOD_CHUNK,
    NUM_FOODS                          //   22
};

bool butchery(int which_corpse = -1);

bool eat_food(int slot = -1);

void make_hungry(int hunger_amount, bool suppress_msg,
                 bool allow_reducing = false);

void lessen_hunger(int statiated_amount, bool suppress_msg);

void set_hunger(int new_hunger_level, bool suppress_msg);

void weapon_switch(int targ);

bool is_poisonous(const item_def &food);
bool is_mutagenic(const item_def &food);
bool is_contaminated(const item_def &food);
bool causes_rot(const item_def &food);
bool is_inedible(const item_def &item);
bool is_preferred_food(const item_def &food);
bool is_forbidden_food(const item_def &food);
bool check_amu_the_gourmand(bool reqid);

bool can_ingest(int what_isit, int kindof_thing, bool suppress_msg,
                bool reqid = false, bool check_hunger = true);

void eat_floor_item(int item_link);

int eat_from_floor(bool skip_chunks = true);
bool eat_from_inventory();
int prompt_eat_chunks();

bool food_change(bool suppress_message = false);
void eat_inventory_item(int which_inventory_slot);

bool prompt_eat_inventory_item(int slot = -1);

void chunk_nutrition_message(int nutrition);

void vampire_nutrition_per_turn(const item_def &corpse, int feeding = 0);

void finished_eating_message(int food_type);

int you_max_hunger();
int you_min_hunger();

#endif