#include "monster-race/race-feature-flags.h"
#include "monster-race/race-flags-resistance.h"
#include "monster-race/race-kind-flags.h"
+#include "monster-race/race-misc-flags.h"
#include "monster-race/race-population-flags.h"
+#include "monster-race/race-sex-const.h"
#include "monster-race/race-speak-flags.h"
+#include "monster-race/race-special-flags.h"
#include "monster-race/race-visual-flags.h"
#include "monster-race/race-wilderness-flags.h"
#include "system/angband.h"
byte speed{}; //!< 加速(110で+0) / Speed (normally 110)
EXP mexp{}; //!< 殺害時基本経験値 / Exp value for kill
RARITY freq_spell{}; //!< 魔法&特殊能力仕様頻度(1/n) / Spell frequency
+ MonsterSex sex{}; //!< 性別 / Sex
BIT_FLAGS flags1{}; //!< Flags 1 (general)
BIT_FLAGS flags2{}; //!< Flags 2 (abilities)
BIT_FLAGS flags3{}; //!< Flags 3 (race/resist)
EnumClassFlagGroup<MonsterPopulationType> population_flags; //!< 能力フラグ(出現数関連) / Population Flags
EnumClassFlagGroup<MonsterSpeakType> speak_flags; //!< 能力フラグ(セリフ) / Speaking Flags
EnumClassFlagGroup<MonsterBrightnessType> brightness_flags; //!< 能力フラグ(明暗) / Speaking Lite or Dark
+ EnumClassFlagGroup<MonsterSpecialType> special_flags; //!< 能力フラグ(特殊) / Special Flags
+ EnumClassFlagGroup<MonsterMiscType> misc_flags; //!< 能力フラグ(その他) / Speaking Other
MonsterBlow blows[MAX_NUM_BLOWS]{}; //!< 打撃能力定義 / Up to four blows per round
//! 指定護衛リスト <モンスター種族ID,護衛数ダイス数,護衛数ダイス面>
EnumClassFlagGroup<MonsterResistanceType> r_resistance_flags; //!< 見た耐性フラグ / Observed racial resistances flags
EnumClassFlagGroup<MonsterDropType> r_drop_flags; //!< 見た能力フラグ(ドロップ) / Observed drop flags
EnumClassFlagGroup<MonsterFeatureType> r_feature_flags; //!< 見た能力フラグ(地形関連) / Observed feature flags
+ EnumClassFlagGroup<MonsterSpecialType> r_special_flags; //!< 見た能力フラグ(特殊) / Observed special flags
+ EnumClassFlagGroup<MonsterMiscType> r_misc_flags; //!< 見た能力フラグ(その他) / Observed feature flags
PLAYER_LEVEL defeat_level{}; //!< 倒したレベル(ユニーク用) / player level at which defeated this race
REAL_TIME defeat_time{}; //!< 倒した時間(ユニーク用) / time at which defeated this race
PERCENTAGE cur_hp_per{}; //!< 生成時現在HP率(%)
bool exists_separates(const MonsterRaceId r_idx) const;
bool is_separated(const MonsterRaceId r_idx) const;
bool can_select_separate(const MonsterRaceId r_idx, const int hp, const int maxhp) const;
+ int calc_figurine_value(const MonsterRaceId r_idx) const;
+ int calc_capture_value(const MonsterRaceId r_idx) const;
private:
MonraceList() = default;