From 473e163b736941ef805284f11ef3ce075e8a7cd5 Mon Sep 17 00:00:00 2001 From: Habu Date: Mon, 13 Sep 2021 18:19:32 +0900 Subject: [PATCH] =?utf8?q?[Feature]=20=E9=8D=9B=E5=86=B6=E5=8A=B9=E6=9E=9C?= =?utf8?q?=EF=BC=9A=E4=BA=8C=E5=88=80=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 二刀流のエッセンスと源氏の小手の鍛冶効果を追加する。 抽出量:10 付与必要数:20 TR_SUPPORTIVE にも一応抽出量 5 を設定しておいたが、現状ベースアイテムに 元々ついている固定アーティファクトしか無いため、実際は抽出できない。 --- src/object-enchant/smith-info.cpp | 3 +++ src/object-enchant/smith-tables.cpp | 9 +++++++-- src/object-enchant/smith-types.h | 2 ++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/object-enchant/smith-info.cpp b/src/object-enchant/smith-info.cpp index c1b225587..5c2efb769 100644 --- a/src/object-enchant/smith-info.cpp +++ b/src/object-enchant/smith-info.cpp @@ -70,6 +70,9 @@ bool BasicSmithInfo::can_give_smith_effect_impl(const object_type *o_ptr) const if (this->effect == SmithEffect::VORPAL) { return (o_ptr->tval == TV_SWORD) && (o_ptr->sval != SV_POISON_NEEDLE); } + if (this->effect == SmithEffect::EASY_2WEAPON) { + return (o_ptr->tval == TV_GLOVES); + } if (this->category == SmithCategory::WEAPON_ATTR || this->category == SmithCategory::SLAYING) { return o_ptr->is_melee_ammo(); } diff --git a/src/object-enchant/smith-tables.cpp b/src/object-enchant/smith-tables.cpp index 197e02712..597fbfde0 100644 --- a/src/object-enchant/smith-tables.cpp +++ b/src/object-enchant/smith-tables.cpp @@ -87,6 +87,8 @@ const std::vector Smith::essence_list_order = { SmithEssence::SLAY_HUMAN, SmithEssence::SLAY_GOOD, + SmithEssence::EASY2_WEAPON, + SmithEssence::ATTACK, SmithEssence::AC, }; @@ -168,6 +170,8 @@ const std::unordered_map Smith::essence_to_name = { { SmithEssence::SLAY_HUMAN, _("人間倍打", "slay human") }, { SmithEssence::SLAY_GOOD, _("善良倍打", "slay good") }, + { SmithEssence::EASY2_WEAPON, _("二刀流", "two weapons") }, + { SmithEssence::ATTACK, _("攻撃", "weapon enc.") }, { SmithEssence::AC, _("防御", "armor enc.") }, }; @@ -319,7 +323,7 @@ const std::vector Smith::essence_drain_info_table = { { TR_FAST_DIGEST, {}, -1 }, { TR_SLOW_REGEN, {}, -1 }, { TR_MIGHTY_THROW, {}, 0 }, - { TR_EASY2_WEAPON, { SmithEssence::DEX }, 20 }, + { TR_EASY2_WEAPON, { SmithEssence::EASY2_WEAPON }, 10 }, { TR_DOWN_SAVING, {}, -1 }, { TR_NO_AC, {}, -1 }, { TR_HEAVY_SPELL, {}, -1 }, @@ -327,7 +331,7 @@ const std::vector Smith::essence_drain_info_table = { { TR_RES_WATER, { SmithEssence::RES_WATER }, 10 }, { TR_INVULN_ARROW, {}, 0 }, { TR_DARK_SOURCE, {}, 0 }, - { TR_SUPPORTIVE, {}, 0 }, + { TR_SUPPORTIVE, { SmithEssence::EASY2_WEAPON }, 5 }, { TR_RES_CURSE, { SmithEssence::RES_CURSE }, 10 }, { TR_BERS_RAGE, {}, -1 }, { TR_BRAND_MAGIC, {}, 0 }, @@ -474,6 +478,7 @@ const std::vector> Smith::smith_info_table = { make_basic_smith_info(SmithEffect::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(SmithEffect::SLAY_GLOVE, _("殺戮の小手", "gauntlets of slaying"), SmithCategory::WEAPON_ATTR, { SmithEssence::ATTACK }, 200), + make_basic_smith_info(SmithEffect::EASY_2WEAPON, _("源氏の小手", "guantlets of Genji"), SmithCategory::WEAPON_ATTR, { SmithEssence::EASY2_WEAPON }, 20, { TR_EASY2_WEAPON }), make_info(SmithEffect::ATTACK, _("攻撃", "weapon enchant"), SmithCategory::ENCHANT, { SmithEssence::ATTACK }, 30), make_info(SmithEffect::AC, _("防御", "armor enchant"), SmithCategory::ENCHANT, { SmithEssence::AC }, 15), diff --git a/src/object-enchant/smith-types.h b/src/object-enchant/smith-types.h index 8dc7f6771..5e5be4649 100644 --- a/src/object-enchant/smith-types.h +++ b/src/object-enchant/smith-types.h @@ -76,6 +76,7 @@ enum class SmithEffect { NO_MAGIC = 108, //!< 反魔法 LITE = 109, //!< 永久光源 NO_TELE = 110, //!< テレポート + EASY_2WEAPON = 111, //!< 二刀流 SLAY_EVIL = 120, //!< 邪悪倍打 SLAY_ANIMAL = 121, //!< 動物倍打 @@ -215,6 +216,7 @@ enum class SmithEssence { RES_TIME = 63, //!< 耐時間逆転 RES_CURSE = 64, //!< 耐呪力 NO_TELE = 65, //!< 反テレポート + EASY2_WEAPON = 66, //!< 二刀流 ATTACK = 100, //!< 攻撃 AC = 101, //!< 防御 -- 2.11.0