3 #include "system/angband.h"
5 #include "object-enchant/tr-flags.h"
6 #include "object-enchant/trg-types.h"
7 #include "system/object-type-definition.h"
8 #include "util/flag-group.h"
14 * @struct artifact_type
15 * @brief 固定アーティファクト情報の構造体 / Artifact structure.
18 * the save-file only writes "cur_num" to the savefile.
19 * "max_num" is always "1" (if that artifact "exists")
21 enum class RandomArtActType : short;
22 struct artifact_type {
25 std::string name; /*!< アーティファクト名 / Name */
26 std::string text; /*!< アーティファクト解説 / Text */
27 ItemKindType tval{}; /*!< ベースアイテム大項目ID / Artifact type */
28 OBJECT_SUBTYPE_VALUE sval{}; /*!< ベースアイテム小項目ID / Artifact sub type */
29 PARAMETER_VALUE pval{}; /*!< pval修正値 / Artifact extra info */
30 HIT_PROB to_h{}; /*!< 命中ボーナス値 / Bonus to hit */
31 int to_d{}; /*!< ダメージボーナス値 / Bonus to damage */
32 ARMOUR_CLASS to_a{}; /*!< ACボーナス値 / Bonus to armor */
33 ARMOUR_CLASS ac{}; /*!< 上書きベースAC値 / Base armor */
35 DICE_SID ds{}; /*!< ダイス値 / Damage when hits */
36 WEIGHT weight{}; /*!< 重量 / Weight */
37 PRICE cost{}; /*!< 基本価格 / Artifact "cost" */
38 TrFlags flags{}; /*! アイテムフラグ / Artifact Flags */
39 EnumClassFlagGroup<ItemGenerationTraitType> gen_flags; /*! アイテム生成フラグ / flags for generate */
40 DEPTH level{}; /*! 基本生成階 / Artifact level */
41 RARITY rarity{}; /*! レアリティ / Artifact rarity */
42 byte cur_num{}; /*! 現在の生成数 / Number created (0 or 1) */
43 FLOOR_IDX floor_id{}; /*! アイテムを落としたフロアのID / Leaved on this location last time */
44 RandomArtActType act_idx{}; /*! 発動能力ID / Activative ability index */
47 extern std::vector<artifact_type> a_info;