00001 #ifndef PLAYER_STATS_H 00002 #define PLAYER_STATS_H 00003 00004 enum stat_desc_type 00005 { 00006 SD_NAME, 00007 SD_LOSS, 00008 SD_DECREASE, 00009 SD_INCREASE, 00010 NUM_STAT_DESCS 00011 }; 00012 00013 const char* stat_desc(stat_type stat, stat_desc_type desc); 00014 00015 void attribute_increase(); 00016 00017 void modify_stat(stat_type which_stat, int8_t amount, bool suppress_msg, 00018 const char* cause, bool see_source = true); 00019 00020 void notify_stat_change(stat_type which_stat, int8_t amount, 00021 bool suppress_msg, const char* cause, 00022 bool see_source = true); 00023 void notify_stat_change(stat_type which_stat, int8_t amount, 00024 bool suppress_msg, const item_def &cause, 00025 bool removed = false); 00026 void notify_stat_change(const char* cause); 00027 00028 void jiyva_stat_action(); 00029 00030 bool lose_stat(stat_type which_stat, int8_t stat_loss, 00031 bool force = false, const std::string cause = "", 00032 bool see_source = true); 00033 bool lose_stat(stat_type which_stat, int8_t stat_loss, 00034 bool force = false, const char* cause = NULL, 00035 bool see_source = true); 00036 bool lose_stat(stat_type which_stat, int8_t stat_loss, 00037 const monster* cause, bool force = false); 00038 bool lose_stat(stat_type which_stat, int8_t stat_loss, 00039 const item_def &cause, bool removed, bool force = false); 00040 00041 bool restore_stat(stat_type which_stat, int8_t stat_gain, 00042 bool suppress_msg, bool recovery = false); 00043 00044 void update_stat_zero(); 00045 00046 #endif