From 7ec00ccd1100816769bba140fddc84c997d17982 Mon Sep 17 00:00:00 2001 From: dis- Date: Fri, 12 Nov 2021 15:52:36 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20enum=20class=E3=81=AE=E5=9E=8B?= =?utf8?q?=E5=90=8D=E5=A4=89=E6=9B=B4=20SmithCategory=20->=20SmithCategory?= =?utf8?q?Type?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit #1824にて議論されていたフォーマット統一処理。 SmithCategoryをSmithCategoryTypeに名称変更する。 --- src/mind/mind-weaponsmith.cpp | 6 +- src/object-enchant/object-smith.cpp | 2 +- src/object-enchant/object-smith.h | 4 +- src/object-enchant/smith-info.cpp | 18 +-- src/object-enchant/smith-info.h | 18 +-- src/object-enchant/smith-tables.cpp | 306 ++++++++++++++++++------------------ src/object-enchant/smith-types.h | 2 +- 7 files changed, 178 insertions(+), 178 deletions(-) diff --git a/src/mind/mind-weaponsmith.cpp b/src/mind/mind-weaponsmith.cpp index 4d8738159..8894214a8 100644 --- a/src/mind/mind-weaponsmith.cpp +++ b/src/mind/mind-weaponsmith.cpp @@ -294,7 +294,7 @@ static void display_smith_effect_list(const Smith &smith, const std::vector(mode)); + add_essence(player_ptr, i2enum(mode)); break; case 5: - add_essence(player_ptr, SmithCategory::ENCHANT); + add_essence(player_ptr, SmithCategoryType::ENCHANT); break; } } diff --git a/src/object-enchant/object-smith.cpp b/src/object-enchant/object-smith.cpp index 5ee346931..08c8a7358 100644 --- a/src/object-enchant/object-smith.cpp +++ b/src/object-enchant/object-smith.cpp @@ -242,7 +242,7 @@ std::optional Smith::object_effect(const object_type *o_ptr) * @param category 鍛冶カテゴリ * @return 指定した鍛冶カテゴリの鍛冶効果のリスト */ -std::vector Smith::get_effect_list(SmithCategory category) +std::vector Smith::get_effect_list(SmithCategoryType category) { std::vector result; diff --git a/src/object-enchant/object-smith.h b/src/object-enchant/object-smith.h index eb55d4e67..fe1e2236d 100644 --- a/src/object-enchant/object-smith.h +++ b/src/object-enchant/object-smith.h @@ -16,7 +16,7 @@ class ItemTester; struct smith_data_type; enum class SmithEffectType : int16_t; -enum class SmithCategory; +enum class SmithCategoryType; enum class SmithEssence : int16_t; enum class RandomArtActType : short; @@ -32,7 +32,7 @@ public: static const std::vector &get_essence_list(); static concptr get_essence_name(SmithEssence essence); - static std::vector get_effect_list(SmithCategory category); + static std::vector get_effect_list(SmithCategoryType category); static concptr get_effect_name(SmithEffectType effect); static std::string get_need_essences_desc(SmithEffectType effect); static std::vector get_need_essences(SmithEffectType effect); diff --git a/src/object-enchant/smith-info.cpp b/src/object-enchant/smith-info.cpp index 835c80679..a8ae719db 100644 --- a/src/object-enchant/smith-info.cpp +++ b/src/object-enchant/smith-info.cpp @@ -6,7 +6,7 @@ #include "system/object-type-definition.h" #include "system/player-type-definition.h" -ISmithInfo::ISmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption) +ISmithInfo::ISmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption) : effect(effect) , name(name) , category(category) @@ -20,7 +20,7 @@ TrFlags ISmithInfo::tr_flags() const return {}; } -BasicSmithInfo::BasicSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption, TrFlags add_flags) +BasicSmithInfo::BasicSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption, TrFlags add_flags) : ISmithInfo(effect, name, category, std::move(need_essences), consumption) , add_flags(add_flags) { @@ -71,17 +71,17 @@ bool BasicSmithInfo::can_give_smith_effect_impl(const object_type *o_ptr) const if (this->effect == SmithEffectType::EASY_2WEAPON) { return (o_ptr->tval == ItemKindType::GLOVES); } - if (this->category == SmithCategory::WEAPON_ATTR && o_ptr->is_ammo()) { + if (this->category == SmithCategoryType::WEAPON_ATTR && o_ptr->is_ammo()) { return this->add_flags.has_any_of({ TR_BRAND_ACID, TR_BRAND_ELEC, TR_BRAND_FIRE, TR_BRAND_COLD, TR_BRAND_POIS }); } - if (this->category == SmithCategory::WEAPON_ATTR || this->category == SmithCategory::SLAYING) { + if (this->category == SmithCategoryType::WEAPON_ATTR || this->category == SmithCategoryType::SLAYING) { return o_ptr->is_melee_ammo(); } return o_ptr->is_weapon_armour_ammo() && o_ptr->is_wearable(); } -ActivationSmithInfo::ActivationSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption, RandomArtActType act_idx) +ActivationSmithInfo::ActivationSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption, RandomArtActType act_idx) : ISmithInfo(effect, name, category, std::move(need_essences), consumption) , act_idx(act_idx) { @@ -109,7 +109,7 @@ bool ActivationSmithInfo::can_give_smith_effect(const object_type *o_ptr) const return o_ptr->is_weapon_armour_ammo() && o_ptr->is_wearable(); } -EnchantWeaponSmithInfo::EnchantWeaponSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption) +EnchantWeaponSmithInfo::EnchantWeaponSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption) : ISmithInfo(effect, name, category, std::move(need_essences), consumption) { } @@ -136,7 +136,7 @@ bool EnchantWeaponSmithInfo::can_give_smith_effect(const object_type *o_ptr) con return o_ptr->allow_enchant_weapon(); } -EnchantArmourSmithInfo::EnchantArmourSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption) +EnchantArmourSmithInfo::EnchantArmourSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption) : ISmithInfo(effect, name, category, std::move(need_essences), consumption) { } @@ -158,7 +158,7 @@ bool EnchantArmourSmithInfo::can_give_smith_effect(const object_type *o_ptr) con return o_ptr->is_armour(); } -SustainSmithInfo::SustainSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption) +SustainSmithInfo::SustainSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption) : ISmithInfo(effect, name, category, std::move(need_essences), consumption) { } @@ -178,7 +178,7 @@ bool SustainSmithInfo::can_give_smith_effect(const object_type *o_ptr) const return o_ptr->is_weapon_armour_ammo(); } -SlayingGlovesSmithInfo::SlayingGlovesSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption) +SlayingGlovesSmithInfo::SlayingGlovesSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption) : BasicSmithInfo(effect, name, category, std::move(need_essences), consumption, {}) { } diff --git a/src/object-enchant/smith-info.h b/src/object-enchant/smith-info.h index 42c5e5319..536867f17 100644 --- a/src/object-enchant/smith-info.h +++ b/src/object-enchant/smith-info.h @@ -8,7 +8,7 @@ #include enum class SmithEffectType : int16_t; -enum class SmithCategory; +enum class SmithCategoryType; enum class SmithEssence : int16_t; enum class RandomArtActType : short; @@ -56,12 +56,12 @@ public: SmithEffectType effect; //!< 鍛冶で与える効果の種類 concptr name; //!< 鍛冶で与える能力の名称 - SmithCategory category; //!< 鍛冶で与える能力が所属するグループ + SmithCategoryType category; //!< 鍛冶で与える能力が所属するグループ std::vector need_essences; //!< 能力を与えるのに必要なエッセンスのリスト int consumption; //!< 能力を与えるのに必要な消費量(need_essencesに含まれるエッセンスそれぞれについてこの量を消費) protected: - ISmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption); + ISmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption); }; /*! @@ -70,7 +70,7 @@ protected: */ class BasicSmithInfo : public ISmithInfo { public: - BasicSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption, TrFlags add_flags); + BasicSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption, TrFlags add_flags); virtual bool add_essence(player_type *player_ptr, object_type *o_ptr, int number) const override; virtual void erase_essence(object_type *o_ptr) const override; virtual TrFlags tr_flags() const override; @@ -87,7 +87,7 @@ private: */ class ActivationSmithInfo : public ISmithInfo { public: - ActivationSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption, RandomArtActType act_idx); + ActivationSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption, RandomArtActType act_idx); virtual bool add_essence(player_type *player_ptr, object_type *o_ptr, int number) const override; virtual void erase_essence(object_type *) const override; virtual bool can_give_smith_effect(const object_type *o_ptr) const override; @@ -102,7 +102,7 @@ private: */ class EnchantWeaponSmithInfo : public ISmithInfo { public: - EnchantWeaponSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption); + EnchantWeaponSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption); virtual bool add_essence(player_type *player_ptr, object_type *o_ptr, int number) const override; virtual void erase_essence(object_type *) const override {} virtual bool can_give_smith_effect(const object_type *o_ptr) const override; @@ -114,7 +114,7 @@ public: */ class EnchantArmourSmithInfo : public ISmithInfo { public: - EnchantArmourSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption); + EnchantArmourSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption); virtual bool add_essence(player_type *player_ptr, object_type *o_ptr, int number) const override; virtual void erase_essence(object_type *) const override {} virtual bool can_give_smith_effect(const object_type *o_ptr) const override; @@ -126,7 +126,7 @@ public: */ class SustainSmithInfo : public ISmithInfo { public: - SustainSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption); + SustainSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption); virtual bool add_essence(player_type *player_ptr, object_type *o_ptr, int number) const override; virtual void erase_essence(object_type *) const override {} virtual bool can_give_smith_effect(const object_type *o_ptr) const override; @@ -138,7 +138,7 @@ public: */ class SlayingGlovesSmithInfo : public BasicSmithInfo { public: - SlayingGlovesSmithInfo(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption); + SlayingGlovesSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption); virtual bool add_essence(player_type *player_ptr, object_type *o_ptr, int number) const override; virtual void erase_essence(object_type *) const override; diff --git a/src/object-enchant/smith-tables.cpp b/src/object-enchant/smith-tables.cpp index bd3546eff..0188c02d3 100644 --- a/src/object-enchant/smith-tables.cpp +++ b/src/object-enchant/smith-tables.cpp @@ -357,12 +357,12 @@ const std::vector Smith::essence_drain_info_table = { namespace { template -std::shared_ptr make_info(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption, Args &&...args) +std::shared_ptr make_info(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption, Args &&...args) { return std::make_shared(effect, name, category, std::move(need_essences), consumption, std::forward(args)...); } -std::shared_ptr make_basic_smith_info(SmithEffectType effect, concptr name, SmithCategory category, std::vector need_essences, int consumption, TrFlags add_flags) +std::shared_ptr make_basic_smith_info(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector need_essences, int consumption, TrFlags add_flags) { return make_info(effect, name, category, std::move(need_essences), consumption, std::move(add_flags)); } @@ -373,155 +373,155 @@ std::shared_ptr make_basic_smith_info(SmithEffectType effect, concpt * @brief 鍛冶情報テーブル */ const std::vector> Smith::smith_info_table = { - make_basic_smith_info(SmithEffectType::NONE, _("なし", "None"), SmithCategory::NONE, std::vector{ SmithEssence::NONE }, 0, {}), - - make_basic_smith_info(SmithEffectType::STR, _("腕力", "strength"), SmithCategory::PVAL, { SmithEssence::STR }, 20, { TR_STR }), - make_basic_smith_info(SmithEffectType::INT, _("知能", "intelligence"), SmithCategory::PVAL, { SmithEssence::INT }, 20, { TR_INT }), - make_basic_smith_info(SmithEffectType::WIS, _("賢さ", "wisdom"), SmithCategory::PVAL, { SmithEssence::WIS }, 20, { TR_WIS }), - make_basic_smith_info(SmithEffectType::DEX, _("器用さ", "dexterity"), SmithCategory::PVAL, { SmithEssence::DEX }, 20, { TR_DEX }), - make_basic_smith_info(SmithEffectType::CON, _("耐久力", "constitution"), SmithCategory::PVAL, { SmithEssence::CON }, 20, { TR_CON }), - make_basic_smith_info(SmithEffectType::CHR, _("魅力", "charisma"), SmithCategory::PVAL, { SmithEssence::CHR }, 20, { TR_CHR }), - - make_basic_smith_info(SmithEffectType::SUST_STR, _("腕力維持", "sustain strength"), SmithCategory::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_STR }), - make_basic_smith_info(SmithEffectType::SUST_INT, _("知能維持", "sustain intelligence"), SmithCategory::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_INT }), - make_basic_smith_info(SmithEffectType::SUST_WIS, _("賢さ維持", "sustain wisdom"), SmithCategory::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_WIS }), - make_basic_smith_info(SmithEffectType::SUST_DEX, _("器用さ維持", "sustain dexterity"), SmithCategory::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_DEX }), - make_basic_smith_info(SmithEffectType::SUST_CON, _("耐久力維持", "sustain constitution"), SmithCategory::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_CON }), - make_basic_smith_info(SmithEffectType::SUST_CHR, _("魅力維持", "sustain charisma"), SmithCategory::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_CHR }), - - make_basic_smith_info(SmithEffectType::MAGIC_MASTERY, _("魔力支配", "magic mastery"), SmithCategory::PVAL, { SmithEssence::MAGIC_MASTERY }, 20, { TR_MAGIC_MASTERY }), - make_basic_smith_info(SmithEffectType::STEALTH, _("隠密", "stealth"), SmithCategory::PVAL, { SmithEssence::STEALTH }, 40, { TR_STEALTH }), - make_basic_smith_info(SmithEffectType::SEARCH, _("探索", "searching"), SmithCategory::PVAL, { SmithEssence::SEARCH }, 15, { TR_SEARCH }), - make_basic_smith_info(SmithEffectType::INFRA, _("赤外線視力", "infravision"), SmithCategory::PVAL, { SmithEssence::INFRA }, 15, { TR_INFRA }), - make_basic_smith_info(SmithEffectType::TUNNEL, _("採掘", "digging"), SmithCategory::PVAL, { SmithEssence::TUNNEL }, 15, { TR_TUNNEL }), - make_basic_smith_info(SmithEffectType::SPEED, _("スピード", "speed"), SmithCategory::PVAL, { SmithEssence::SPEED }, 12, { TR_SPEED }), - make_basic_smith_info(SmithEffectType::BLOWS, _("追加攻撃", "extra attack"), SmithCategory::WEAPON_ATTR, { SmithEssence::BLOWS }, 20, { TR_BLOWS }), - - make_basic_smith_info(SmithEffectType::CHAOTIC, _("カオス攻撃", "chaos brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::CHAOTIC }, 15, { TR_CHAOTIC }), - make_basic_smith_info(SmithEffectType::VAMPIRIC, _("吸血攻撃", "vampiric brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::VAMPIRIC }, 60, { TR_VAMPIRIC }), - make_basic_smith_info(SmithEffectType::EARTHQUAKE, _("地震攻撃", "quake brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::EATHQUAKE }, 15, { TR_EARTHQUAKE }), - make_basic_smith_info(SmithEffectType::BRAND_POIS, _("毒殺", "poison brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_POIS }, 20, { TR_BRAND_POIS }), - make_basic_smith_info(SmithEffectType::BRAND_ACID, _("溶解", "acid brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_ACID }, 20, { TR_BRAND_ACID }), - make_basic_smith_info(SmithEffectType::BRAND_ELEC, _("電撃", "electric brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_ELEC }, 20, { TR_BRAND_ELEC }), - make_basic_smith_info(SmithEffectType::BRAND_FIRE, _("焼棄", "fire brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_FIRE }, 20, { TR_BRAND_FIRE }), - make_basic_smith_info(SmithEffectType::BRAND_COLD, _("凍結", "cold brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_COLD }, 20, { TR_BRAND_COLD }), - make_basic_smith_info(SmithEffectType::VORPAL, _("切れ味", "sharpness"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_ACID, SmithEssence::BRAND_ELEC, SmithEssence::BRAND_FIRE, SmithEssence::BRAND_COLD }, 10, { TR_VORPAL }), - make_basic_smith_info(SmithEffectType::BRAND_MAGIC, _("魔術属性攻撃", "magic brand"), SmithCategory::WEAPON_ATTR, { SmithEssence::BRAND_MAGIC }, 20, { TR_BRAND_MAGIC }), - make_basic_smith_info(SmithEffectType::XTRA_MIGHT, _("射撃倍率強化", "enhance firing power"), SmithCategory::WEAPON_ATTR, { SmithEssence::STRENGTHEN_BOW }, 50, { TR_XTRA_MIGHT }), - make_basic_smith_info(SmithEffectType::XTRA_SHOTS, _("射撃速度強化", "enhance firing rate"), SmithCategory::WEAPON_ATTR, { SmithEssence::STRENGTHEN_BOW }, 50, { TR_XTRA_SHOTS }), - - make_basic_smith_info(SmithEffectType::IM_ACID, _("酸免疫", "acid immunity"), SmithCategory::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_ACID }, 200, { TR_IM_ACID }), - make_basic_smith_info(SmithEffectType::IM_ELEC, _("電撃免疫", "electric immunity"), SmithCategory::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_ELEC }, 200, { TR_IM_ELEC }), - make_basic_smith_info(SmithEffectType::IM_FIRE, _("火炎免疫", "fire immunity"), SmithCategory::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_FIRE }, 200, { TR_IM_FIRE }), - make_basic_smith_info(SmithEffectType::IM_COLD, _("冷気免疫", "cold immunity"), SmithCategory::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_COLD }, 200, { TR_IM_COLD }), - make_basic_smith_info(SmithEffectType::REFLECT, _("反射", "reflection"), SmithCategory::RESISTANCE, { SmithEssence::REFLECT }, 20, { TR_REFLECT }), - - make_basic_smith_info(SmithEffectType::RES_ACID, _("耐酸", "resistance to acid"), SmithCategory::RESISTANCE, { SmithEssence::RES_ACID }, 15, { TR_RES_ACID }), - make_basic_smith_info(SmithEffectType::RES_ELEC, _("耐電撃", "resistance to electric"), SmithCategory::RESISTANCE, { SmithEssence::RES_ELEC }, 15, { TR_RES_ELEC }), - make_basic_smith_info(SmithEffectType::RES_FIRE, _("耐火炎", "resistance to fire"), SmithCategory::RESISTANCE, { SmithEssence::RES_FIRE }, 15, { TR_RES_FIRE }), - make_basic_smith_info(SmithEffectType::RES_COLD, _("耐冷気", "resistance to cold"), SmithCategory::RESISTANCE, { SmithEssence::RES_COLD }, 15, { TR_RES_COLD }), - make_basic_smith_info(SmithEffectType::RES_POIS, _("耐毒", "resistance to poison"), SmithCategory::RESISTANCE, { SmithEssence::RES_POIS }, 25, { TR_RES_POIS }), - make_basic_smith_info(SmithEffectType::RES_FEAR, _("耐恐怖", "resistance to fear"), SmithCategory::RESISTANCE, { SmithEssence::RES_FEAR }, 20, { TR_RES_FEAR }), - make_basic_smith_info(SmithEffectType::RES_LITE, _("耐閃光", "resistance to light"), SmithCategory::RESISTANCE, { SmithEssence::RES_LITE }, 20, { TR_RES_LITE }), - make_basic_smith_info(SmithEffectType::RES_DARK, _("耐暗黒", "resistance to dark"), SmithCategory::RESISTANCE, { SmithEssence::RES_DARK }, 20, { TR_RES_DARK }), - make_basic_smith_info(SmithEffectType::RES_BLIND, _("耐盲目", "resistance to blind"), SmithCategory::RESISTANCE, { SmithEssence::RES_BLIND }, 20, { TR_RES_BLIND }), - make_basic_smith_info(SmithEffectType::RES_CONF, _("耐混乱", "resistance to confusion"), SmithCategory::RESISTANCE, { SmithEssence::RES_CONF }, 20, { TR_RES_CONF }), - make_basic_smith_info(SmithEffectType::RES_SOUND, _("耐轟音", "resistance to sound"), SmithCategory::RESISTANCE, { SmithEssence::RES_SOUND }, 20, { TR_RES_SOUND }), - make_basic_smith_info(SmithEffectType::RES_SHARDS, _("耐破片", "resistance to shard"), SmithCategory::RESISTANCE, { SmithEssence::RES_SHARDS }, 20, { TR_RES_SHARDS }), - make_basic_smith_info(SmithEffectType::RES_NETHER, _("耐地獄", "resistance to nether"), SmithCategory::RESISTANCE, { SmithEssence::RES_NETHER }, 20, { TR_RES_NETHER }), - make_basic_smith_info(SmithEffectType::RES_NEXUS, _("耐因果混乱", "resistance to nexus"), SmithCategory::RESISTANCE, { SmithEssence::RES_NEXUS }, 20, { TR_RES_NEXUS }), - make_basic_smith_info(SmithEffectType::RES_CHAOS, _("耐カオス", "resistance to chaos"), SmithCategory::RESISTANCE, { SmithEssence::RES_CHAOS }, 20, { TR_RES_CHAOS }), - make_basic_smith_info(SmithEffectType::RES_DISEN, _("耐劣化", "resistance to disenchantment"), SmithCategory::RESISTANCE, { SmithEssence::RES_DISEN }, 20, { TR_RES_DISEN }), - make_basic_smith_info(SmithEffectType::RES_WATER, _("耐水", "resistance to water"), SmithCategory::RESISTANCE, { SmithEssence::RES_WATER }, 20, { TR_RES_WATER }), - make_basic_smith_info(SmithEffectType::RES_TIME, _("耐時間逆転", "resistance to time"), SmithCategory::RESISTANCE, { SmithEssence::RES_TIME }, 20, { TR_RES_TIME }), - make_basic_smith_info(SmithEffectType::RES_CURSE, _("耐呪力", "resistance to curse"), SmithCategory::RESISTANCE, { SmithEssence::RES_CURSE }, 20, { TR_RES_CURSE }), - - make_basic_smith_info(SmithEffectType::HOLD_EXP, _("経験値維持", "hold experience"), SmithCategory::ABILITY, { SmithEssence::HOLD_EXP }, 20, { TR_HOLD_EXP }), - make_basic_smith_info(SmithEffectType::FREE_ACT, _("麻痺知らず", "free action"), SmithCategory::ABILITY, { SmithEssence::FREE_ACT }, 20, { TR_FREE_ACT }), - make_basic_smith_info(SmithEffectType::WARNING, _("警告", "warning"), SmithCategory::ABILITY, { SmithEssence::WARNING }, 20, { TR_WARNING }), - make_basic_smith_info(SmithEffectType::LEVITATION, _("浮遊", "levitation"), SmithCategory::ABILITY, { SmithEssence::LEVITATION }, 20, { TR_LEVITATION }), - make_basic_smith_info(SmithEffectType::SEE_INVIS, _("可視透明", "see invisible"), SmithCategory::ABILITY, { SmithEssence::SEE_INVIS }, 20, { TR_SEE_INVIS }), - make_basic_smith_info(SmithEffectType::SLOW_DIGEST, _("遅消化", "slow digestion"), SmithCategory::ABILITY, { SmithEssence::SLOW_DIGEST }, 15, { TR_SLOW_DIGEST }), - make_basic_smith_info(SmithEffectType::REGEN, _("急速回復", "regeneration"), SmithCategory::ABILITY, { SmithEssence::REGEN }, 20, { TR_REGEN }), - make_basic_smith_info(SmithEffectType::TELEPORT, _("テレポート", "teleport"), SmithCategory::ABILITY, { SmithEssence::TELEPORT }, 25, { TR_TELEPORT }), - make_basic_smith_info(SmithEffectType::NO_MAGIC, _("反魔法", "anti magic"), SmithCategory::ABILITY, { SmithEssence::NO_MAGIC }, 15, { TR_NO_MAGIC }), - make_basic_smith_info(SmithEffectType::LITE, _("永久光源", "permanent light"), SmithCategory::ABILITY, { SmithEssence::LITE }, 15, { TR_LITE_1 }), - make_basic_smith_info(SmithEffectType::NO_TELE, _("反テレポート", "prevent teleportation"), SmithCategory::ABILITY, { SmithEssence::NO_TELE }, 15, { TR_NO_TELE }), - - make_basic_smith_info(SmithEffectType::SLAY_EVIL, _("邪悪倍打", "slay evil"), SmithCategory::SLAYING, { SmithEssence::SLAY_EVIL }, 100, { TR_SLAY_EVIL }), - make_basic_smith_info(SmithEffectType::SLAY_ANIMAL, _("動物倍打", "slay animal"), SmithCategory::SLAYING, { SmithEssence::SLAY_ANIMAL }, 20, { TR_SLAY_ANIMAL }), - make_basic_smith_info(SmithEffectType::SLAY_UNDEAD, _("不死倍打", "slay undead"), SmithCategory::SLAYING, { SmithEssence::SLAY_UNDEAD }, 20, { TR_SLAY_UNDEAD }), - make_basic_smith_info(SmithEffectType::SLAY_DEMON, _("悪魔倍打", "slay demon"), SmithCategory::SLAYING, { SmithEssence::SLAY_DEMON }, 20, { TR_SLAY_DEMON }), - make_basic_smith_info(SmithEffectType::SLAY_ORC, _("オーク倍打", "slay orc"), SmithCategory::SLAYING, { SmithEssence::SLAY_ORC }, 20, { TR_SLAY_ORC }), - make_basic_smith_info(SmithEffectType::SLAY_TROLL, _("トロル倍打", "slay troll"), SmithCategory::SLAYING, { SmithEssence::SLAY_TROLL }, 20, { TR_SLAY_TROLL }), - make_basic_smith_info(SmithEffectType::SLAY_GIANT, _("巨人倍打", "slay giant"), SmithCategory::SLAYING, { SmithEssence::SLAY_GIANT }, 20, { TR_SLAY_GIANT }), - make_basic_smith_info(SmithEffectType::SLAY_DRAGON, _("竜倍打", "slay dragon"), SmithCategory::SLAYING, { SmithEssence::SLAY_DRAGON }, 20, { TR_SLAY_DRAGON }), - make_basic_smith_info(SmithEffectType::SLAY_HUMAN, _("人間倍打", "slay human"), SmithCategory::SLAYING, { SmithEssence::SLAY_HUMAN }, 20, { TR_SLAY_HUMAN }), - make_basic_smith_info(SmithEffectType::SLAY_GOOD, _("善良倍打", "slay good"), SmithCategory::SLAYING, { SmithEssence::SLAY_GOOD }, 20, { TR_SLAY_GOOD }), - - make_basic_smith_info(SmithEffectType::KILL_EVIL, _("邪悪倍倍打", "kill evil"), SmithCategory::NONE, { SmithEssence::SLAY_EVIL }, 0, { TR_KILL_EVIL }), // 強力すぎるため無効(SmithCategory:NONE) - make_basic_smith_info(SmithEffectType::KILL_ANIMAL, _("動物倍倍打", "kill animal"), SmithCategory::SLAYING, { SmithEssence::SLAY_ANIMAL }, 60, { TR_KILL_ANIMAL }), - make_basic_smith_info(SmithEffectType::KILL_UNDEAD, _("不死倍倍打", "kill undead"), SmithCategory::SLAYING, { SmithEssence::SLAY_UNDEAD }, 60, { TR_KILL_UNDEAD }), - make_basic_smith_info(SmithEffectType::KILL_DEMON, _("悪魔倍倍打", "kill demon"), SmithCategory::SLAYING, { SmithEssence::SLAY_DEMON }, 60, { TR_KILL_DEMON }), - make_basic_smith_info(SmithEffectType::KILL_ORC, _("オーク倍倍打", "kill orc"), SmithCategory::SLAYING, { SmithEssence::SLAY_ORC }, 60, { TR_KILL_ORC }), - make_basic_smith_info(SmithEffectType::KILL_TROLL, _("トロル倍倍打", "kill troll"), SmithCategory::SLAYING, { SmithEssence::SLAY_TROLL }, 60, { TR_KILL_TROLL }), - make_basic_smith_info(SmithEffectType::KILL_GIANT, _("巨人倍倍打", "kill giant"), SmithCategory::SLAYING, { SmithEssence::SLAY_GIANT }, 60, { TR_KILL_GIANT }), - make_basic_smith_info(SmithEffectType::KILL_DRAGON, _("竜倍倍打", "kill dragon"), SmithCategory::SLAYING, { SmithEssence::SLAY_DRAGON }, 60, { TR_KILL_DRAGON }), - make_basic_smith_info(SmithEffectType::KILL_HUMAN, _("人間倍倍打", "kill human"), SmithCategory::SLAYING, { SmithEssence::SLAY_HUMAN }, 60, { TR_KILL_HUMAN }), - make_basic_smith_info(SmithEffectType::KILL_GOOD, _("善良倍倍打", "kill good"), SmithCategory::SLAYING, { SmithEssence::SLAY_GOOD }, 60, { TR_KILL_GOOD }), - - make_basic_smith_info(SmithEffectType::TELEPATHY, _("テレパシー", "telepathy"), SmithCategory::ESP, { SmithEssence::TELEPATHY }, 15, { TR_TELEPATHY }), - make_basic_smith_info(SmithEffectType::ESP_ANIMAL, _("動物ESP", "sense animal"), SmithCategory::ESP, { SmithEssence::SLAY_ANIMAL }, 40, { TR_ESP_ANIMAL }), - make_basic_smith_info(SmithEffectType::ESP_UNDEAD, _("不死ESP", "sense undead"), SmithCategory::ESP, { SmithEssence::SLAY_UNDEAD }, 40, { TR_ESP_UNDEAD }), - make_basic_smith_info(SmithEffectType::ESP_DEMON, _("悪魔ESP", "sense demon"), SmithCategory::ESP, { SmithEssence::SLAY_DEMON }, 40, { TR_ESP_DEMON }), - make_basic_smith_info(SmithEffectType::ESP_ORC, _("オークESP", "sense orc"), SmithCategory::ESP, { SmithEssence::SLAY_ORC }, 40, { TR_ESP_ORC }), - make_basic_smith_info(SmithEffectType::ESP_TROLL, _("トロルESP", "sense troll"), SmithCategory::ESP, { SmithEssence::SLAY_TROLL }, 40, { TR_ESP_TROLL }), - make_basic_smith_info(SmithEffectType::ESP_GIANT, _("巨人ESP", "sense giant"), SmithCategory::ESP, { SmithEssence::SLAY_GIANT }, 40, { TR_ESP_GIANT }), - make_basic_smith_info(SmithEffectType::ESP_DRAGON, _("竜ESP", "sense dragon"), SmithCategory::ESP, { SmithEssence::SLAY_DRAGON }, 40, { TR_ESP_DRAGON }), - make_basic_smith_info(SmithEffectType::ESP_HUMAN, _("人間ESP", "sense human"), SmithCategory::ESP, { SmithEssence::SLAY_HUMAN }, 40, { TR_ESP_HUMAN }), - make_basic_smith_info(SmithEffectType::ESP_GOOD, _("善良ESP", "sense good"), SmithCategory::ESP, { SmithEssence::SLAY_GOOD }, 40, { TR_ESP_GOOD }), - make_basic_smith_info(SmithEffectType::ESP_UNIQUE, _("ユニークESP", "sense unique"), SmithCategory::ESP, { SmithEssence::UNIQUE }, 100, { TR_ESP_UNIQUE }), - - make_basic_smith_info(SmithEffectType::SH_FIRE, _("火炎オーラ", "fiery sheath"), SmithCategory::ETC, { SmithEssence::RES_FIRE, SmithEssence::BRAND_FIRE }, 50, { TR_RES_FIRE, TR_SH_FIRE }), - make_basic_smith_info(SmithEffectType::SH_ELEC, _("電撃オーラ", "electric sheath"), SmithCategory::ETC, { SmithEssence::RES_ELEC, SmithEssence::BRAND_ELEC }, 50, { TR_RES_ELEC, TR_SH_ELEC }), - make_basic_smith_info(SmithEffectType::SH_COLD, _("冷気オーラ", "sheath of coldness"), SmithCategory::ETC, { SmithEssence::RES_COLD, SmithEssence::BRAND_COLD }, 50, { TR_RES_COLD, TR_SH_COLD }), - - make_basic_smith_info(SmithEffectType::RESISTANCE, _("全耐性", "resistance"), SmithCategory::RESISTANCE, { SmithEssence::RES_ACID, SmithEssence::RES_ELEC, SmithEssence::RES_FIRE, SmithEssence::RES_COLD }, 150, { TR_RES_ACID, TR_RES_ELEC, TR_RES_FIRE, TR_RES_COLD }), - make_info(SmithEffectType::SLAY_GLOVE, _("殺戮の小手", "gauntlets of slaying"), SmithCategory::ETC, { SmithEssence::ATTACK }, 200), - make_basic_smith_info(SmithEffectType::EASY_2WEAPON, _("源氏の小手", "guantlets of Genji"), SmithCategory::ETC, { SmithEssence::EASY2_WEAPON }, 20, { TR_EASY2_WEAPON }), - - make_info(SmithEffectType::ACT_QUAKE, _("地震", "quake"), SmithCategory::ACTIVATION, { SmithEssence::EATHQUAKE }, 15, RandomArtActType::QUAKE), - make_info(SmithEffectType::ACT_RES_ACID, _("酸耐性", "resist acid"), SmithCategory::ACTIVATION, { SmithEssence::RES_ACID }, 30, RandomArtActType::RESIST_ACID), - make_info(SmithEffectType::ACT_RES_ELEC, _("電撃耐性", "resist electricity"), SmithCategory::ACTIVATION, { SmithEssence::RES_ELEC }, 30, RandomArtActType::RESIST_ELEC), - make_info(SmithEffectType::ACT_RES_FIRE, _("火炎耐性", "resist fire"), SmithCategory::ACTIVATION, { SmithEssence::RES_FIRE }, 30, RandomArtActType::RESIST_FIRE), - make_info(SmithEffectType::ACT_RES_COLD, _("冷気耐性", "resist cold"), SmithCategory::ACTIVATION, { SmithEssence::RES_COLD }, 30, RandomArtActType::RESIST_COLD), - make_info(SmithEffectType::ACT_RES_POIS, _("毒耐性", "resist poison"), SmithCategory::ACTIVATION, { SmithEssence::RES_POIS }, 40, RandomArtActType::RESIST_POIS), - make_info(SmithEffectType::ACT_PHASE_DOOR, _("ショート・テレポート", "blink"), SmithCategory::ACTIVATION, { SmithEssence::TELEPORT }, 30, RandomArtActType::PHASE_DOOR), - make_info(SmithEffectType::ACT_TELEPORT, _("テレポート", "teleport"), SmithCategory::ACTIVATION, { SmithEssence::TELEPORT }, 40, RandomArtActType::TELEPORT), - make_info(SmithEffectType::ACT_SPEED, _("スピード", "speed"), SmithCategory::ACTIVATION, { SmithEssence::SPEED }, 25, RandomArtActType::SPEED), - make_info(SmithEffectType::ACT_STONE_MUD, _("岩石溶解", "stone to mud"), SmithCategory::ACTIVATION, { SmithEssence::TUNNEL }, 100, RandomArtActType::STONE_MUD), - make_info(SmithEffectType::ACT_LIGHT, _("イルミネーション", "light area"), SmithCategory::ACTIVATION, { SmithEssence::LITE }, 30, RandomArtActType::LIGHT), - make_info(SmithEffectType::ACT_MAP_LIGHT, _("魔法の地図と光", "light & map area"), SmithCategory::ACTIVATION, { SmithEssence::SEARCH, SmithEssence::LITE }, 30, RandomArtActType::MAP_LIGHT), - make_info(SmithEffectType::ACT_DETECT_ALL, _("全感知", "detection"), SmithCategory::ACTIVATION, { SmithEssence::SEARCH, SmithEssence::TELEPATHY }, 30, RandomArtActType::DETECT_ALL), - make_info(SmithEffectType::ACT_DETECT_UNIQUE, _("階にいるユニークモンスターを表示", "list of the uniques on the level"), SmithCategory::ACTIVATION, { SmithEssence::UNIQUE }, 100, RandomArtActType::DETECT_UNIQUE), - make_info(SmithEffectType::ACT_REST_EXP, _("経験値復活", "restore experience"), SmithCategory::ACTIVATION, { SmithEssence::HOLD_EXP }, 30, RandomArtActType::REST_EXP), - make_info(SmithEffectType::ACT_REST_ALL, _("全ステータスと経験値復活", "restore stats and experience"), SmithCategory::ACTIVATION, { SmithEssence::SUST_STATUS, SmithEssence::HOLD_EXP }, 40, RandomArtActType::REST_ALL), - make_info(SmithEffectType::ACT_PROT_EVIL, _("対邪悪結界", "protect evil"), SmithCategory::ACTIVATION, { SmithEssence::SLAY_EVIL }, 100, RandomArtActType::PROT_EVIL), - make_info(SmithEffectType::ACT_DISP_EVIL, _("邪悪退散", "dispel evil"), SmithCategory::ACTIVATION, { SmithEssence::SLAY_EVIL }, 100, RandomArtActType::DISP_EVIL), - make_info(SmithEffectType::ACT_DISP_GOOD, _("善良退散", "dispel good"), SmithCategory::ACTIVATION, { SmithEssence::SLAY_GOOD }, 50, RandomArtActType::DISP_GOOD), - make_info(SmithEffectType::ACT_PESTICIDE, _("害虫駆除", "dispel pests"), SmithCategory::ACTIVATION, { SmithEssence::BRAND_POIS }, 30, RandomArtActType::PESTICIDE), - make_info(SmithEffectType::ACT_BA_ACID, _("アシッド・ボール", "ball of acid"), SmithCategory::ACTIVATION, { SmithEssence::BRAND_ACID }, 40, RandomArtActType::BA_ACID_1), - make_info(SmithEffectType::ACT_BA_ELEC, _("サンダー・ボール", "ball of lightning"), SmithCategory::ACTIVATION, { SmithEssence::BRAND_ELEC }, 40, RandomArtActType::BA_ELEC_2), - make_info(SmithEffectType::ACT_BA_FIRE, _("ファイア・ボール", "ball of fire"), SmithCategory::ACTIVATION, { SmithEssence::BRAND_FIRE }, 40, RandomArtActType::BA_FIRE_4), - make_info(SmithEffectType::ACT_BA_COLD, _("アイス・ボール", "ball of cold"), SmithCategory::ACTIVATION, { SmithEssence::BRAND_COLD }, 40, RandomArtActType::BA_COLD_2), - make_info(SmithEffectType::ACT_BA_NUKE, _("放射能球", "ball of nuke"), SmithCategory::ACTIVATION, { SmithEssence::BRAND_POIS, SmithEssence::CHAOTIC }, 30, RandomArtActType::BA_NUKE_1), - make_info(SmithEffectType::ACT_SUNLIGHT, _("太陽光線", "beam of sunlight"), SmithCategory::ACTIVATION, { SmithEssence::LITE }, 40, RandomArtActType::SUNLIGHT), - make_info(SmithEffectType::ACT_DRAIN, _("吸血の矢", "drain bolt"), SmithCategory::ACTIVATION, { SmithEssence::VAMPIRIC }, 100, RandomArtActType::DRAIN_1), - make_info(SmithEffectType::ACT_CONFUSE, _("パニック・モンスター", "confuse monster"), SmithCategory::ACTIVATION, { SmithEssence::CHAOTIC }, 30, RandomArtActType::CONFUSE), - make_info(SmithEffectType::ACT_SATIATE, _("空腹充足", "satisfy hunger"), SmithCategory::ACTIVATION, { SmithEssence::SLOW_DIGEST }, 50, RandomArtActType::SATIATE), - make_info(SmithEffectType::ACT_CURE_700, _("体力回復", "heal"), SmithCategory::ACTIVATION, { SmithEssence::REGEN }, 100, RandomArtActType::CURE_700), - - make_info(SmithEffectType::ATTACK, _("攻撃", "weapon enchant"), SmithCategory::ENCHANT, { SmithEssence::ATTACK }, 30), - make_info(SmithEffectType::AC, _("防御", "armor enchant"), SmithCategory::ENCHANT, { SmithEssence::AC }, 15), - make_info(SmithEffectType::SUSTAIN, _("装備保持", "elements proof"), SmithCategory::ENCHANT, { SmithEssence::RES_ACID, SmithEssence::RES_ELEC, SmithEssence::RES_FIRE, SmithEssence::RES_COLD }, 10), + make_basic_smith_info(SmithEffectType::NONE, _("なし", "None"), SmithCategoryType::NONE, std::vector{ SmithEssence::NONE }, 0, {}), + + make_basic_smith_info(SmithEffectType::STR, _("腕力", "strength"), SmithCategoryType::PVAL, { SmithEssence::STR }, 20, { TR_STR }), + make_basic_smith_info(SmithEffectType::INT, _("知能", "intelligence"), SmithCategoryType::PVAL, { SmithEssence::INT }, 20, { TR_INT }), + make_basic_smith_info(SmithEffectType::WIS, _("賢さ", "wisdom"), SmithCategoryType::PVAL, { SmithEssence::WIS }, 20, { TR_WIS }), + make_basic_smith_info(SmithEffectType::DEX, _("器用さ", "dexterity"), SmithCategoryType::PVAL, { SmithEssence::DEX }, 20, { TR_DEX }), + make_basic_smith_info(SmithEffectType::CON, _("耐久力", "constitution"), SmithCategoryType::PVAL, { SmithEssence::CON }, 20, { TR_CON }), + make_basic_smith_info(SmithEffectType::CHR, _("魅力", "charisma"), SmithCategoryType::PVAL, { SmithEssence::CHR }, 20, { TR_CHR }), + + make_basic_smith_info(SmithEffectType::SUST_STR, _("腕力維持", "sustain strength"), SmithCategoryType::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_STR }), + make_basic_smith_info(SmithEffectType::SUST_INT, _("知能維持", "sustain intelligence"), SmithCategoryType::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_INT }), + make_basic_smith_info(SmithEffectType::SUST_WIS, _("賢さ維持", "sustain wisdom"), SmithCategoryType::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_WIS }), + make_basic_smith_info(SmithEffectType::SUST_DEX, _("器用さ維持", "sustain dexterity"), SmithCategoryType::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_DEX }), + make_basic_smith_info(SmithEffectType::SUST_CON, _("耐久力維持", "sustain constitution"), SmithCategoryType::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_CON }), + make_basic_smith_info(SmithEffectType::SUST_CHR, _("魅力維持", "sustain charisma"), SmithCategoryType::ABILITY, { SmithEssence::SUST_STATUS }, 15, { TR_SUST_CHR }), + + make_basic_smith_info(SmithEffectType::MAGIC_MASTERY, _("魔力支配", "magic mastery"), SmithCategoryType::PVAL, { SmithEssence::MAGIC_MASTERY }, 20, { TR_MAGIC_MASTERY }), + make_basic_smith_info(SmithEffectType::STEALTH, _("隠密", "stealth"), SmithCategoryType::PVAL, { SmithEssence::STEALTH }, 40, { TR_STEALTH }), + make_basic_smith_info(SmithEffectType::SEARCH, _("探索", "searching"), SmithCategoryType::PVAL, { SmithEssence::SEARCH }, 15, { TR_SEARCH }), + make_basic_smith_info(SmithEffectType::INFRA, _("赤外線視力", "infravision"), SmithCategoryType::PVAL, { SmithEssence::INFRA }, 15, { TR_INFRA }), + make_basic_smith_info(SmithEffectType::TUNNEL, _("採掘", "digging"), SmithCategoryType::PVAL, { SmithEssence::TUNNEL }, 15, { TR_TUNNEL }), + make_basic_smith_info(SmithEffectType::SPEED, _("スピード", "speed"), SmithCategoryType::PVAL, { SmithEssence::SPEED }, 12, { TR_SPEED }), + make_basic_smith_info(SmithEffectType::BLOWS, _("追加攻撃", "extra attack"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BLOWS }, 20, { TR_BLOWS }), + + make_basic_smith_info(SmithEffectType::CHAOTIC, _("カオス攻撃", "chaos brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::CHAOTIC }, 15, { TR_CHAOTIC }), + make_basic_smith_info(SmithEffectType::VAMPIRIC, _("吸血攻撃", "vampiric brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::VAMPIRIC }, 60, { TR_VAMPIRIC }), + make_basic_smith_info(SmithEffectType::EARTHQUAKE, _("地震攻撃", "quake brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::EATHQUAKE }, 15, { TR_EARTHQUAKE }), + make_basic_smith_info(SmithEffectType::BRAND_POIS, _("毒殺", "poison brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_POIS }, 20, { TR_BRAND_POIS }), + make_basic_smith_info(SmithEffectType::BRAND_ACID, _("溶解", "acid brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_ACID }, 20, { TR_BRAND_ACID }), + make_basic_smith_info(SmithEffectType::BRAND_ELEC, _("電撃", "electric brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_ELEC }, 20, { TR_BRAND_ELEC }), + make_basic_smith_info(SmithEffectType::BRAND_FIRE, _("焼棄", "fire brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_FIRE }, 20, { TR_BRAND_FIRE }), + make_basic_smith_info(SmithEffectType::BRAND_COLD, _("凍結", "cold brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_COLD }, 20, { TR_BRAND_COLD }), + make_basic_smith_info(SmithEffectType::VORPAL, _("切れ味", "sharpness"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_ACID, SmithEssence::BRAND_ELEC, SmithEssence::BRAND_FIRE, SmithEssence::BRAND_COLD }, 10, { TR_VORPAL }), + make_basic_smith_info(SmithEffectType::BRAND_MAGIC, _("魔術属性攻撃", "magic brand"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::BRAND_MAGIC }, 20, { TR_BRAND_MAGIC }), + make_basic_smith_info(SmithEffectType::XTRA_MIGHT, _("射撃倍率強化", "enhance firing power"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::STRENGTHEN_BOW }, 50, { TR_XTRA_MIGHT }), + make_basic_smith_info(SmithEffectType::XTRA_SHOTS, _("射撃速度強化", "enhance firing rate"), SmithCategoryType::WEAPON_ATTR, { SmithEssence::STRENGTHEN_BOW }, 50, { TR_XTRA_SHOTS }), + + make_basic_smith_info(SmithEffectType::IM_ACID, _("酸免疫", "acid immunity"), SmithCategoryType::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_ACID }, 200, { TR_IM_ACID }), + make_basic_smith_info(SmithEffectType::IM_ELEC, _("電撃免疫", "electric immunity"), SmithCategoryType::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_ELEC }, 200, { TR_IM_ELEC }), + make_basic_smith_info(SmithEffectType::IM_FIRE, _("火炎免疫", "fire immunity"), SmithCategoryType::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_FIRE }, 200, { TR_IM_FIRE }), + make_basic_smith_info(SmithEffectType::IM_COLD, _("冷気免疫", "cold immunity"), SmithCategoryType::RESISTANCE, { SmithEssence::IMMUNITY, SmithEssence::RES_COLD }, 200, { TR_IM_COLD }), + make_basic_smith_info(SmithEffectType::REFLECT, _("反射", "reflection"), SmithCategoryType::RESISTANCE, { SmithEssence::REFLECT }, 20, { TR_REFLECT }), + + make_basic_smith_info(SmithEffectType::RES_ACID, _("耐酸", "resistance to acid"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_ACID }, 15, { TR_RES_ACID }), + make_basic_smith_info(SmithEffectType::RES_ELEC, _("耐電撃", "resistance to electric"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_ELEC }, 15, { TR_RES_ELEC }), + make_basic_smith_info(SmithEffectType::RES_FIRE, _("耐火炎", "resistance to fire"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_FIRE }, 15, { TR_RES_FIRE }), + make_basic_smith_info(SmithEffectType::RES_COLD, _("耐冷気", "resistance to cold"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_COLD }, 15, { TR_RES_COLD }), + make_basic_smith_info(SmithEffectType::RES_POIS, _("耐毒", "resistance to poison"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_POIS }, 25, { TR_RES_POIS }), + make_basic_smith_info(SmithEffectType::RES_FEAR, _("耐恐怖", "resistance to fear"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_FEAR }, 20, { TR_RES_FEAR }), + make_basic_smith_info(SmithEffectType::RES_LITE, _("耐閃光", "resistance to light"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_LITE }, 20, { TR_RES_LITE }), + make_basic_smith_info(SmithEffectType::RES_DARK, _("耐暗黒", "resistance to dark"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_DARK }, 20, { TR_RES_DARK }), + make_basic_smith_info(SmithEffectType::RES_BLIND, _("耐盲目", "resistance to blind"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_BLIND }, 20, { TR_RES_BLIND }), + make_basic_smith_info(SmithEffectType::RES_CONF, _("耐混乱", "resistance to confusion"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_CONF }, 20, { TR_RES_CONF }), + make_basic_smith_info(SmithEffectType::RES_SOUND, _("耐轟音", "resistance to sound"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_SOUND }, 20, { TR_RES_SOUND }), + make_basic_smith_info(SmithEffectType::RES_SHARDS, _("耐破片", "resistance to shard"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_SHARDS }, 20, { TR_RES_SHARDS }), + make_basic_smith_info(SmithEffectType::RES_NETHER, _("耐地獄", "resistance to nether"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_NETHER }, 20, { TR_RES_NETHER }), + make_basic_smith_info(SmithEffectType::RES_NEXUS, _("耐因果混乱", "resistance to nexus"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_NEXUS }, 20, { TR_RES_NEXUS }), + make_basic_smith_info(SmithEffectType::RES_CHAOS, _("耐カオス", "resistance to chaos"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_CHAOS }, 20, { TR_RES_CHAOS }), + make_basic_smith_info(SmithEffectType::RES_DISEN, _("耐劣化", "resistance to disenchantment"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_DISEN }, 20, { TR_RES_DISEN }), + make_basic_smith_info(SmithEffectType::RES_WATER, _("耐水", "resistance to water"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_WATER }, 20, { TR_RES_WATER }), + make_basic_smith_info(SmithEffectType::RES_TIME, _("耐時間逆転", "resistance to time"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_TIME }, 20, { TR_RES_TIME }), + make_basic_smith_info(SmithEffectType::RES_CURSE, _("耐呪力", "resistance to curse"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_CURSE }, 20, { TR_RES_CURSE }), + + make_basic_smith_info(SmithEffectType::HOLD_EXP, _("経験値維持", "hold experience"), SmithCategoryType::ABILITY, { SmithEssence::HOLD_EXP }, 20, { TR_HOLD_EXP }), + make_basic_smith_info(SmithEffectType::FREE_ACT, _("麻痺知らず", "free action"), SmithCategoryType::ABILITY, { SmithEssence::FREE_ACT }, 20, { TR_FREE_ACT }), + make_basic_smith_info(SmithEffectType::WARNING, _("警告", "warning"), SmithCategoryType::ABILITY, { SmithEssence::WARNING }, 20, { TR_WARNING }), + make_basic_smith_info(SmithEffectType::LEVITATION, _("浮遊", "levitation"), SmithCategoryType::ABILITY, { SmithEssence::LEVITATION }, 20, { TR_LEVITATION }), + make_basic_smith_info(SmithEffectType::SEE_INVIS, _("可視透明", "see invisible"), SmithCategoryType::ABILITY, { SmithEssence::SEE_INVIS }, 20, { TR_SEE_INVIS }), + make_basic_smith_info(SmithEffectType::SLOW_DIGEST, _("遅消化", "slow digestion"), SmithCategoryType::ABILITY, { SmithEssence::SLOW_DIGEST }, 15, { TR_SLOW_DIGEST }), + make_basic_smith_info(SmithEffectType::REGEN, _("急速回復", "regeneration"), SmithCategoryType::ABILITY, { SmithEssence::REGEN }, 20, { TR_REGEN }), + make_basic_smith_info(SmithEffectType::TELEPORT, _("テレポート", "teleport"), SmithCategoryType::ABILITY, { SmithEssence::TELEPORT }, 25, { TR_TELEPORT }), + make_basic_smith_info(SmithEffectType::NO_MAGIC, _("反魔法", "anti magic"), SmithCategoryType::ABILITY, { SmithEssence::NO_MAGIC }, 15, { TR_NO_MAGIC }), + make_basic_smith_info(SmithEffectType::LITE, _("永久光源", "permanent light"), SmithCategoryType::ABILITY, { SmithEssence::LITE }, 15, { TR_LITE_1 }), + make_basic_smith_info(SmithEffectType::NO_TELE, _("反テレポート", "prevent teleportation"), SmithCategoryType::ABILITY, { SmithEssence::NO_TELE }, 15, { TR_NO_TELE }), + + make_basic_smith_info(SmithEffectType::SLAY_EVIL, _("邪悪倍打", "slay evil"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_EVIL }, 100, { TR_SLAY_EVIL }), + make_basic_smith_info(SmithEffectType::SLAY_ANIMAL, _("動物倍打", "slay animal"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_ANIMAL }, 20, { TR_SLAY_ANIMAL }), + make_basic_smith_info(SmithEffectType::SLAY_UNDEAD, _("不死倍打", "slay undead"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_UNDEAD }, 20, { TR_SLAY_UNDEAD }), + make_basic_smith_info(SmithEffectType::SLAY_DEMON, _("悪魔倍打", "slay demon"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_DEMON }, 20, { TR_SLAY_DEMON }), + make_basic_smith_info(SmithEffectType::SLAY_ORC, _("オーク倍打", "slay orc"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_ORC }, 20, { TR_SLAY_ORC }), + make_basic_smith_info(SmithEffectType::SLAY_TROLL, _("トロル倍打", "slay troll"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_TROLL }, 20, { TR_SLAY_TROLL }), + make_basic_smith_info(SmithEffectType::SLAY_GIANT, _("巨人倍打", "slay giant"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_GIANT }, 20, { TR_SLAY_GIANT }), + make_basic_smith_info(SmithEffectType::SLAY_DRAGON, _("竜倍打", "slay dragon"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_DRAGON }, 20, { TR_SLAY_DRAGON }), + make_basic_smith_info(SmithEffectType::SLAY_HUMAN, _("人間倍打", "slay human"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_HUMAN }, 20, { TR_SLAY_HUMAN }), + make_basic_smith_info(SmithEffectType::SLAY_GOOD, _("善良倍打", "slay good"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_GOOD }, 20, { TR_SLAY_GOOD }), + + make_basic_smith_info(SmithEffectType::KILL_EVIL, _("邪悪倍倍打", "kill evil"), SmithCategoryType::NONE, { SmithEssence::SLAY_EVIL }, 0, { TR_KILL_EVIL }), // 強力すぎるため無効(SmithCategory:NONE) + make_basic_smith_info(SmithEffectType::KILL_ANIMAL, _("動物倍倍打", "kill animal"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_ANIMAL }, 60, { TR_KILL_ANIMAL }), + make_basic_smith_info(SmithEffectType::KILL_UNDEAD, _("不死倍倍打", "kill undead"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_UNDEAD }, 60, { TR_KILL_UNDEAD }), + make_basic_smith_info(SmithEffectType::KILL_DEMON, _("悪魔倍倍打", "kill demon"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_DEMON }, 60, { TR_KILL_DEMON }), + make_basic_smith_info(SmithEffectType::KILL_ORC, _("オーク倍倍打", "kill orc"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_ORC }, 60, { TR_KILL_ORC }), + make_basic_smith_info(SmithEffectType::KILL_TROLL, _("トロル倍倍打", "kill troll"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_TROLL }, 60, { TR_KILL_TROLL }), + make_basic_smith_info(SmithEffectType::KILL_GIANT, _("巨人倍倍打", "kill giant"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_GIANT }, 60, { TR_KILL_GIANT }), + make_basic_smith_info(SmithEffectType::KILL_DRAGON, _("竜倍倍打", "kill dragon"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_DRAGON }, 60, { TR_KILL_DRAGON }), + make_basic_smith_info(SmithEffectType::KILL_HUMAN, _("人間倍倍打", "kill human"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_HUMAN }, 60, { TR_KILL_HUMAN }), + make_basic_smith_info(SmithEffectType::KILL_GOOD, _("善良倍倍打", "kill good"), SmithCategoryType::SLAYING, { SmithEssence::SLAY_GOOD }, 60, { TR_KILL_GOOD }), + + make_basic_smith_info(SmithEffectType::TELEPATHY, _("テレパシー", "telepathy"), SmithCategoryType::ESP, { SmithEssence::TELEPATHY }, 15, { TR_TELEPATHY }), + make_basic_smith_info(SmithEffectType::ESP_ANIMAL, _("動物ESP", "sense animal"), SmithCategoryType::ESP, { SmithEssence::SLAY_ANIMAL }, 40, { TR_ESP_ANIMAL }), + make_basic_smith_info(SmithEffectType::ESP_UNDEAD, _("不死ESP", "sense undead"), SmithCategoryType::ESP, { SmithEssence::SLAY_UNDEAD }, 40, { TR_ESP_UNDEAD }), + make_basic_smith_info(SmithEffectType::ESP_DEMON, _("悪魔ESP", "sense demon"), SmithCategoryType::ESP, { SmithEssence::SLAY_DEMON }, 40, { TR_ESP_DEMON }), + make_basic_smith_info(SmithEffectType::ESP_ORC, _("オークESP", "sense orc"), SmithCategoryType::ESP, { SmithEssence::SLAY_ORC }, 40, { TR_ESP_ORC }), + make_basic_smith_info(SmithEffectType::ESP_TROLL, _("トロルESP", "sense troll"), SmithCategoryType::ESP, { SmithEssence::SLAY_TROLL }, 40, { TR_ESP_TROLL }), + make_basic_smith_info(SmithEffectType::ESP_GIANT, _("巨人ESP", "sense giant"), SmithCategoryType::ESP, { SmithEssence::SLAY_GIANT }, 40, { TR_ESP_GIANT }), + make_basic_smith_info(SmithEffectType::ESP_DRAGON, _("竜ESP", "sense dragon"), SmithCategoryType::ESP, { SmithEssence::SLAY_DRAGON }, 40, { TR_ESP_DRAGON }), + make_basic_smith_info(SmithEffectType::ESP_HUMAN, _("人間ESP", "sense human"), SmithCategoryType::ESP, { SmithEssence::SLAY_HUMAN }, 40, { TR_ESP_HUMAN }), + make_basic_smith_info(SmithEffectType::ESP_GOOD, _("善良ESP", "sense good"), SmithCategoryType::ESP, { SmithEssence::SLAY_GOOD }, 40, { TR_ESP_GOOD }), + make_basic_smith_info(SmithEffectType::ESP_UNIQUE, _("ユニークESP", "sense unique"), SmithCategoryType::ESP, { SmithEssence::UNIQUE }, 100, { TR_ESP_UNIQUE }), + + make_basic_smith_info(SmithEffectType::SH_FIRE, _("火炎オーラ", "fiery sheath"), SmithCategoryType::ETC, { SmithEssence::RES_FIRE, SmithEssence::BRAND_FIRE }, 50, { TR_RES_FIRE, TR_SH_FIRE }), + make_basic_smith_info(SmithEffectType::SH_ELEC, _("電撃オーラ", "electric sheath"), SmithCategoryType::ETC, { SmithEssence::RES_ELEC, SmithEssence::BRAND_ELEC }, 50, { TR_RES_ELEC, TR_SH_ELEC }), + make_basic_smith_info(SmithEffectType::SH_COLD, _("冷気オーラ", "sheath of coldness"), SmithCategoryType::ETC, { SmithEssence::RES_COLD, SmithEssence::BRAND_COLD }, 50, { TR_RES_COLD, TR_SH_COLD }), + + make_basic_smith_info(SmithEffectType::RESISTANCE, _("全耐性", "resistance"), SmithCategoryType::RESISTANCE, { SmithEssence::RES_ACID, SmithEssence::RES_ELEC, SmithEssence::RES_FIRE, SmithEssence::RES_COLD }, 150, { TR_RES_ACID, TR_RES_ELEC, TR_RES_FIRE, TR_RES_COLD }), + make_info(SmithEffectType::SLAY_GLOVE, _("殺戮の小手", "gauntlets of slaying"), SmithCategoryType::ETC, { SmithEssence::ATTACK }, 200), + make_basic_smith_info(SmithEffectType::EASY_2WEAPON, _("源氏の小手", "guantlets of Genji"), SmithCategoryType::ETC, { SmithEssence::EASY2_WEAPON }, 20, { TR_EASY2_WEAPON }), + + make_info(SmithEffectType::ACT_QUAKE, _("地震", "quake"), SmithCategoryType::ACTIVATION, { SmithEssence::EATHQUAKE }, 15, RandomArtActType::QUAKE), + make_info(SmithEffectType::ACT_RES_ACID, _("酸耐性", "resist acid"), SmithCategoryType::ACTIVATION, { SmithEssence::RES_ACID }, 30, RandomArtActType::RESIST_ACID), + make_info(SmithEffectType::ACT_RES_ELEC, _("電撃耐性", "resist electricity"), SmithCategoryType::ACTIVATION, { SmithEssence::RES_ELEC }, 30, RandomArtActType::RESIST_ELEC), + make_info(SmithEffectType::ACT_RES_FIRE, _("火炎耐性", "resist fire"), SmithCategoryType::ACTIVATION, { SmithEssence::RES_FIRE }, 30, RandomArtActType::RESIST_FIRE), + make_info(SmithEffectType::ACT_RES_COLD, _("冷気耐性", "resist cold"), SmithCategoryType::ACTIVATION, { SmithEssence::RES_COLD }, 30, RandomArtActType::RESIST_COLD), + make_info(SmithEffectType::ACT_RES_POIS, _("毒耐性", "resist poison"), SmithCategoryType::ACTIVATION, { SmithEssence::RES_POIS }, 40, RandomArtActType::RESIST_POIS), + make_info(SmithEffectType::ACT_PHASE_DOOR, _("ショート・テレポート", "blink"), SmithCategoryType::ACTIVATION, { SmithEssence::TELEPORT }, 30, RandomArtActType::PHASE_DOOR), + make_info(SmithEffectType::ACT_TELEPORT, _("テレポート", "teleport"), SmithCategoryType::ACTIVATION, { SmithEssence::TELEPORT }, 40, RandomArtActType::TELEPORT), + make_info(SmithEffectType::ACT_SPEED, _("スピード", "speed"), SmithCategoryType::ACTIVATION, { SmithEssence::SPEED }, 25, RandomArtActType::SPEED), + make_info(SmithEffectType::ACT_STONE_MUD, _("岩石溶解", "stone to mud"), SmithCategoryType::ACTIVATION, { SmithEssence::TUNNEL }, 100, RandomArtActType::STONE_MUD), + make_info(SmithEffectType::ACT_LIGHT, _("イルミネーション", "light area"), SmithCategoryType::ACTIVATION, { SmithEssence::LITE }, 30, RandomArtActType::LIGHT), + make_info(SmithEffectType::ACT_MAP_LIGHT, _("魔法の地図と光", "light & map area"), SmithCategoryType::ACTIVATION, { SmithEssence::SEARCH, SmithEssence::LITE }, 30, RandomArtActType::MAP_LIGHT), + make_info(SmithEffectType::ACT_DETECT_ALL, _("全感知", "detection"), SmithCategoryType::ACTIVATION, { SmithEssence::SEARCH, SmithEssence::TELEPATHY }, 30, RandomArtActType::DETECT_ALL), + make_info(SmithEffectType::ACT_DETECT_UNIQUE, _("階にいるユニークモンスターを表示", "list of the uniques on the level"), SmithCategoryType::ACTIVATION, { SmithEssence::UNIQUE }, 100, RandomArtActType::DETECT_UNIQUE), + make_info(SmithEffectType::ACT_REST_EXP, _("経験値復活", "restore experience"), SmithCategoryType::ACTIVATION, { SmithEssence::HOLD_EXP }, 30, RandomArtActType::REST_EXP), + make_info(SmithEffectType::ACT_REST_ALL, _("全ステータスと経験値復活", "restore stats and experience"), SmithCategoryType::ACTIVATION, { SmithEssence::SUST_STATUS, SmithEssence::HOLD_EXP }, 40, RandomArtActType::REST_ALL), + make_info(SmithEffectType::ACT_PROT_EVIL, _("対邪悪結界", "protect evil"), SmithCategoryType::ACTIVATION, { SmithEssence::SLAY_EVIL }, 100, RandomArtActType::PROT_EVIL), + make_info(SmithEffectType::ACT_DISP_EVIL, _("邪悪退散", "dispel evil"), SmithCategoryType::ACTIVATION, { SmithEssence::SLAY_EVIL }, 100, RandomArtActType::DISP_EVIL), + make_info(SmithEffectType::ACT_DISP_GOOD, _("善良退散", "dispel good"), SmithCategoryType::ACTIVATION, { SmithEssence::SLAY_GOOD }, 50, RandomArtActType::DISP_GOOD), + make_info(SmithEffectType::ACT_PESTICIDE, _("害虫駆除", "dispel pests"), SmithCategoryType::ACTIVATION, { SmithEssence::BRAND_POIS }, 30, RandomArtActType::PESTICIDE), + make_info(SmithEffectType::ACT_BA_ACID, _("アシッド・ボール", "ball of acid"), SmithCategoryType::ACTIVATION, { SmithEssence::BRAND_ACID }, 40, RandomArtActType::BA_ACID_1), + make_info(SmithEffectType::ACT_BA_ELEC, _("サンダー・ボール", "ball of lightning"), SmithCategoryType::ACTIVATION, { SmithEssence::BRAND_ELEC }, 40, RandomArtActType::BA_ELEC_2), + make_info(SmithEffectType::ACT_BA_FIRE, _("ファイア・ボール", "ball of fire"), SmithCategoryType::ACTIVATION, { SmithEssence::BRAND_FIRE }, 40, RandomArtActType::BA_FIRE_4), + make_info(SmithEffectType::ACT_BA_COLD, _("アイス・ボール", "ball of cold"), SmithCategoryType::ACTIVATION, { SmithEssence::BRAND_COLD }, 40, RandomArtActType::BA_COLD_2), + make_info(SmithEffectType::ACT_BA_NUKE, _("放射能球", "ball of nuke"), SmithCategoryType::ACTIVATION, { SmithEssence::BRAND_POIS, SmithEssence::CHAOTIC }, 30, RandomArtActType::BA_NUKE_1), + make_info(SmithEffectType::ACT_SUNLIGHT, _("太陽光線", "beam of sunlight"), SmithCategoryType::ACTIVATION, { SmithEssence::LITE }, 40, RandomArtActType::SUNLIGHT), + make_info(SmithEffectType::ACT_DRAIN, _("吸血の矢", "drain bolt"), SmithCategoryType::ACTIVATION, { SmithEssence::VAMPIRIC }, 100, RandomArtActType::DRAIN_1), + make_info(SmithEffectType::ACT_CONFUSE, _("パニック・モンスター", "confuse monster"), SmithCategoryType::ACTIVATION, { SmithEssence::CHAOTIC }, 30, RandomArtActType::CONFUSE), + make_info(SmithEffectType::ACT_SATIATE, _("空腹充足", "satisfy hunger"), SmithCategoryType::ACTIVATION, { SmithEssence::SLOW_DIGEST }, 50, RandomArtActType::SATIATE), + make_info(SmithEffectType::ACT_CURE_700, _("体力回復", "heal"), SmithCategoryType::ACTIVATION, { SmithEssence::REGEN }, 100, RandomArtActType::CURE_700), + + make_info(SmithEffectType::ATTACK, _("攻撃", "weapon enchant"), SmithCategoryType::ENCHANT, { SmithEssence::ATTACK }, 30), + make_info(SmithEffectType::AC, _("防御", "armor enchant"), SmithCategoryType::ENCHANT, { SmithEssence::AC }, 15), + make_info(SmithEffectType::SUSTAIN, _("装備保持", "elements proof"), SmithCategoryType::ENCHANT, { SmithEssence::RES_ACID, SmithEssence::RES_ELEC, SmithEssence::RES_FIRE, SmithEssence::RES_COLD }, 10), }; diff --git a/src/object-enchant/smith-types.h b/src/object-enchant/smith-types.h index 0320b1fec..b0f53a913 100644 --- a/src/object-enchant/smith-types.h +++ b/src/object-enchant/smith-types.h @@ -165,7 +165,7 @@ enum class SmithEffectType : int16_t { /** * @brief アイテムに付与できる鍛冶効果のカテゴリ */ -enum class SmithCategory { +enum class SmithCategoryType { NONE = 0, WEAPON_ATTR = 1, //!< 武器属性 RESISTANCE = 2, //!< 耐性 -- 2.11.0