From d0031d76bb42ba1e31561fd9b60e190f6467c8ca Mon Sep 17 00:00:00 2001 From: Deskull Date: Wed, 30 Jan 2019 00:32:19 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#37353=20high=5Flevel=5Fbook()=20?= =?utf8?q?=E3=82=92=20item=5Ftester=5Fhigh=5Flevel=5Fbook()=20=E3=81=AB?= =?utf8?q?=E6=94=B9=E5=90=8D=E3=81=97=E3=81=A6=20object-hook.c=20=E3=81=B8?= =?utf8?q?=E7=A7=BB=E5=8B=95=E3=80=82=20/=20Move=20high=5Flevel=5Fbook()?= =?utf8?q?=20to=20object-hook.c=20and=20rename=20to=20item=5Ftester=5Fhigh?= =?utf8?q?=5Flevel=5Fbook().?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/cmd-item.c | 34 +++------------------------------- src/object-hook.c | 28 ++++++++++++++++++++++++++++ src/object-hook.h | 1 + 3 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/cmd-item.c b/src/cmd-item.c index 0995ce637..f8a12d545 100644 --- a/src/cmd-item.c +++ b/src/cmd-item.c @@ -627,34 +627,6 @@ void do_cmd_drop(void) p_ptr->redraw |= (PR_EQUIPPY); } -/*! - * @brief オブジェクトが高位の魔法書かどうかを判定する - * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ - * @return オブジェクトが高位の魔法書ならばTRUEを返す - */ -static bool high_level_book(object_type *o_ptr) -{ - if ((o_ptr->tval == TV_LIFE_BOOK) || - (o_ptr->tval == TV_SORCERY_BOOK) || - (o_ptr->tval == TV_NATURE_BOOK) || - (o_ptr->tval == TV_CHAOS_BOOK) || - (o_ptr->tval == TV_DEATH_BOOK) || - (o_ptr->tval == TV_TRUMP_BOOK) || - (o_ptr->tval == TV_CRAFT_BOOK) || - (o_ptr->tval == TV_DAEMON_BOOK) || - (o_ptr->tval == TV_CRUSADE_BOOK) || - (o_ptr->tval == TV_MUSIC_BOOK) || - (o_ptr->tval == TV_HEX_BOOK)) - { - if (o_ptr->sval > 1) - return TRUE; - else - return FALSE; - } - - return FALSE; -} - /*! * @brief アイテムを破壊するコマンドのメインルーチン / Destroy an item @@ -794,7 +766,7 @@ void do_cmd_destroy(void) floor_item_optimize(0 - item); } - if (high_level_book(q_ptr)) + if (item_tester_high_level_book(q_ptr)) { bool gain_expr = FALSE; @@ -827,12 +799,12 @@ void do_cmd_destroy(void) msg_print(_("更に経験を積んだような気がする。", "You feel more experienced.")); gain_exp(tester_exp * amt); } - if (high_level_book(q_ptr) && q_ptr->tval == TV_LIFE_BOOK) + if (item_tester_high_level_book(q_ptr) && q_ptr->tval == TV_LIFE_BOOK) { chg_virtue(V_UNLIFE, 1); chg_virtue(V_VITALITY, -1); } - else if (high_level_book(q_ptr) && q_ptr->tval == TV_DEATH_BOOK) + else if (item_tester_high_level_book(q_ptr) && q_ptr->tval == TV_DEATH_BOOK) { chg_virtue(V_UNLIFE, -1); chg_virtue(V_VITALITY, 1); diff --git a/src/object-hook.c b/src/object-hook.c index 8122effca..01fd8ce02 100644 --- a/src/object-hook.c +++ b/src/object-hook.c @@ -463,3 +463,31 @@ bool item_tester_learn_spell(object_type *o_ptr) if (choices & (0x0001 << (tval2realm(o_ptr->tval) - 1))) return (TRUE); return (FALSE); } + +/*! + * @brief オブジェクトが高位の魔法書かどうかを判定する + * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ + * @return オブジェクトが高位の魔法書ならばTRUEを返す + */ +bool item_tester_high_level_book(object_type *o_ptr) +{ + if ((o_ptr->tval == TV_LIFE_BOOK) || + (o_ptr->tval == TV_SORCERY_BOOK) || + (o_ptr->tval == TV_NATURE_BOOK) || + (o_ptr->tval == TV_CHAOS_BOOK) || + (o_ptr->tval == TV_DEATH_BOOK) || + (o_ptr->tval == TV_TRUMP_BOOK) || + (o_ptr->tval == TV_CRAFT_BOOK) || + (o_ptr->tval == TV_DAEMON_BOOK) || + (o_ptr->tval == TV_CRUSADE_BOOK) || + (o_ptr->tval == TV_MUSIC_BOOK) || + (o_ptr->tval == TV_HEX_BOOK)) + { + if (o_ptr->sval > 1) + return TRUE; + else + return FALSE; + } + + return FALSE; +} diff --git a/src/object-hook.h b/src/object-hook.h index dfcf7d95e..236fa43e9 100644 --- a/src/object-hook.h +++ b/src/object-hook.h @@ -24,3 +24,4 @@ extern bool item_tester_hook_identify_fully_weapon_armour(object_type *o_ptr); extern bool item_tester_hook_recharge(object_type *o_ptr); extern bool item_tester_learn_spell(object_type *o_ptr); +extern bool item_tester_high_level_book(object_type *o_ptr); -- 2.11.0