2 * @brief monster-processのための構造体群
9 #include "monster-race/race-ability-flags.h"
10 #include "monster-race/race-behavior-flags.h"
11 #include "monster-race/race-drop-flags.h"
12 #include "monster-race/race-feature-flags.h"
13 #include "monster-race/race-flags-resistance.h"
14 #include "monster-race/race-kind-flags.h"
15 #include "system/angband.h"
16 #include "util/flag-group.h"
18 enum class MonsterRaceId : int16_t;
28 bool must_alter_to_move;
39 // @details ダミーIDが渡されるとオブジェクトが生焼けになるので、ヘッダ側で全て初期化しておく.
40 struct old_race_flags {
41 old_race_flags(MonsterRaceId monrace_id);
43 BIT_FLAGS old_r_flags1 = 0;
44 BIT_FLAGS old_r_flags2 = 0;
45 BIT_FLAGS old_r_flags3 = 0;
46 BIT_FLAGS old_r_flagsr = 0;
47 EnumClassFlagGroup<MonsterAbilityType> old_r_ability_flags{};
48 EnumClassFlagGroup<MonsterBehaviorType> old_r_behavior_flags{};
49 EnumClassFlagGroup<MonsterKindType> old_r_kind_flags{};
50 EnumClassFlagGroup<MonsterResistanceType> old_r_resistance_flags{};
51 EnumClassFlagGroup<MonsterDropType> old_r_drop_flags{};
52 EnumClassFlagGroup<MonsterFeatureType> old_r_feature_flags{};
54 byte old_r_blows0 = 0;
55 byte old_r_blows1 = 0;
56 byte old_r_blows2 = 0;
57 byte old_r_blows3 = 0;
59 byte old_r_cast_spell = 0;
62 struct coordinate_candidate {
69 turn_flags *init_turn_flags(MONSTER_IDX riding_idx, MONSTER_IDX m_idx, turn_flags *turn_flags_ptr);
70 coordinate_candidate init_coordinate_candidate(void);
72 void store_enemy_approch_direction(int *mm, POSITION y, POSITION x);
73 void store_moves_val(int *mm, int y, int x);