turn_flags_ptr->did_kill_wall = false;
return turn_flags_ptr;
}
-
-/*!
- * @brief old_race_flags_ptr の初期化
- */
-old_race_flags *init_old_race_flags(old_race_flags *old_race_flags_ptr)
-{
- old_race_flags_ptr->old_r_flags1 = 0L;
- old_race_flags_ptr->old_r_flags2 = 0L;
- old_race_flags_ptr->old_r_flags3 = 0L;
- old_race_flags_ptr->old_r_resistance_flags.clear();
- old_race_flags_ptr->old_r_ability_flags.clear();
- old_race_flags_ptr->old_r_behavior_flags.clear();
- old_race_flags_ptr->old_r_kind_flags.clear();
- old_race_flags_ptr->old_r_drop_flags.clear();
- old_race_flags_ptr->old_r_feature_flags.clear();
-
- old_race_flags_ptr->old_r_blows0 = 0;
- old_race_flags_ptr->old_r_blows1 = 0;
- old_race_flags_ptr->old_r_blows2 = 0;
- old_race_flags_ptr->old_r_blows3 = 0;
-
- old_race_flags_ptr->old_r_cast_spell = 0;
- return old_race_flags_ptr;
-}
-
/*!
* @brief coordinate_candidate の初期化
* @param なし
};
struct old_race_flags {
- BIT_FLAGS old_r_flags1;
- BIT_FLAGS old_r_flags2;
- BIT_FLAGS old_r_flags3;
- BIT_FLAGS old_r_flagsr;
- EnumClassFlagGroup<MonsterAbilityType> old_r_ability_flags;
- EnumClassFlagGroup<MonsterBehaviorType> old_r_behavior_flags;
- EnumClassFlagGroup<MonsterKindType> old_r_kind_flags;
- EnumClassFlagGroup<MonsterResistanceType> old_r_resistance_flags;
- EnumClassFlagGroup<MonsterDropType> old_r_drop_flags;
- EnumClassFlagGroup<MonsterFeatureType> old_r_feature_flags;
+ old_race_flags() = default;
- byte old_r_blows0;
- byte old_r_blows1;
- byte old_r_blows2;
- byte old_r_blows3;
+ BIT_FLAGS old_r_flags1 = 0;
+ BIT_FLAGS old_r_flags2 = 0;
+ BIT_FLAGS old_r_flags3 = 0;
+ BIT_FLAGS old_r_flagsr = 0;
+ EnumClassFlagGroup<MonsterAbilityType> old_r_ability_flags{};
+ EnumClassFlagGroup<MonsterBehaviorType> old_r_behavior_flags{};
+ EnumClassFlagGroup<MonsterKindType> old_r_kind_flags{};
+ EnumClassFlagGroup<MonsterResistanceType> old_r_resistance_flags{};
+ EnumClassFlagGroup<MonsterDropType> old_r_drop_flags{};
+ EnumClassFlagGroup<MonsterFeatureType> old_r_feature_flags{};
- byte old_r_cast_spell;
+ byte old_r_blows0 = 0;
+ byte old_r_blows1 = 0;
+ byte old_r_blows2 = 0;
+ byte old_r_blows3 = 0;
+
+ byte old_r_cast_spell = 0;
};
struct coordinate_candidate {
class MonsterEntity;
turn_flags *init_turn_flags(MONSTER_IDX riding_idx, MONSTER_IDX m_idx, turn_flags *turn_flags_ptr);
-old_race_flags *init_old_race_flags(old_race_flags *old_race_flags_ptr);
coordinate_candidate init_coordinate_candidate(void);
void store_enemy_approch_direction(int *mm, POSITION y, POSITION x);
void process_monsters(PlayerType *player_ptr)
{
old_race_flags tmp_flags;
- old_race_flags *old_race_flags_ptr = init_old_race_flags(&tmp_flags);
+ old_race_flags *old_race_flags_ptr = &tmp_flags;
player_ptr->current_floor_ptr->monster_noise = false;
MonsterRaceId old_monster_race_idx = player_ptr->monster_race_idx;
save_old_race_flags(player_ptr->monster_race_idx, old_race_flags_ptr);