3 #include "monster-race/race-indice-types.h"
4 #include "system/angband.h"
11 typedef std::vector<std::tuple<monster_race_type, monster_race_type, monster_race_type>> combined_uniques;
12 class MonsterDamageProcessor {
14 MonsterDamageProcessor(player_type *player_ptr, MONSTER_IDX m_idx, HIT_POINT dam, bool *fear);
15 virtual ~MonsterDamageProcessor() = default;
16 bool mon_take_hit(concptr note);
19 player_type *player_ptr;
23 void get_exp_from_mon(monster_type *m_ptr, HIT_POINT exp_dam);
24 bool genocide_chaos_patron();
25 bool process_dead_exp_virtue(concptr note, monster_type *exp_mon);
26 void death_special_flag_monster();
27 void death_unique_monster(monster_race_type r_idx);
28 bool check_combined_unique(const monster_race_type r_idx, std::vector<monster_race_type> *combined_uniques);
29 void death_combined_uniques(const monster_race_type r_idx, combined_uniques *combined_uniques);
30 void increase_kill_numbers();
31 void death_amberites(GAME_TEXT *m_name);
32 void dying_scream(GAME_TEXT *m_name);
33 void show_kill_message(concptr note, GAME_TEXT *m_name);
34 void show_bounty_message(GAME_TEXT *m_name);
36 void summon_special_unique();
37 void add_monster_fear();