int mul{}; //<! 確率分子
int dev{}; //<! 確率分母
std::vector<tr_type> tr_flags{};
- std::vector<TRG> trg_flags{};
+ std::vector<ItemGenerationTraitType> trg_flags{};
};
/*
* Information about "ego-items".
*/
+enum class RandomArtActType : short;
struct ego_item_type {
+ EGO_IDX idx{};
+
std::string name; //!< エゴの名前
std::string text; //!< フレーバーテキスト
RARITY rarity{}; //<! レアリティ
HIT_PROB base_to_h{}; //!< ベース命中修正
- HIT_POINT base_to_d{}; //!< べ^スダメージ修正
+ int base_to_d{}; //!< べ^スダメージ修正
ARMOUR_CLASS base_to_a{}; //!< ベースAC修正
HIT_PROB max_to_h{}; //!< 最大ボーナス命中修正
- HIT_POINT max_to_d{}; //!< 最大ボーナスダメージ修正
+ int max_to_d{}; //!< 最大ボーナスダメージ修正
ARMOUR_CLASS max_to_a{}; //!< 最大ボーナスAC修正
PARAMETER_VALUE max_pval{}; //!< 最大pval
PRICE cost{}; //!< コスト
TrFlags flags{}; //!< 能力/耐性フラグ
- EnumClassFlagGroup<TRG> gen_flags; //!< 生成時適用フラグ
+ EnumClassFlagGroup<ItemGenerationTraitType> gen_flags; //!< 生成時適用フラグ
std::vector<ego_generate_type> xtra_flags{}; //!< 追加能力/耐性フラグ
- IDX act_idx{}; //!< 発動番号 / Activative ability index
+ RandomArtActType act_idx{}; //!< 発動番号 / Activative ability index
};
-extern EGO_IDX max_e_idx;
extern std::vector<ego_item_type> e_info;
-struct object_type;;
-struct player_type;
+class ObjectType;
+class PlayerType;
byte get_random_ego(byte slot, bool good);
-void apply_ego(object_type *o_ptr, DEPTH lev);
+void apply_ego(ObjectType *o_ptr, DEPTH lev);