OSDN Git Service

[Refactor] #37353 item_tester_refill_lantern() を object-hook.c へ移動。 / Move item_teste...
[hengband/hengband.git] / src / object-hook.c
index 8122eff..9ed8faf 100644 (file)
@@ -463,3 +463,51 @@ 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;
+}
+
+/*!
+ * @brief オブジェクトがランタンの燃料になるかどうかを判定する
+ * An "item_tester_hook" for refilling lanterns
+ * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ
+ * @return オブジェクトがランタンの燃料になるならばTRUEを返す
+ */
+bool item_tester_refill_lantern(object_type *o_ptr)
+{
+       /* Flasks of oil are okay */
+       if (o_ptr->tval == TV_FLASK) return (TRUE);
+
+       /* Laterns are okay */
+       if ((o_ptr->tval == TV_LITE) &&
+               (o_ptr->sval == SV_LITE_LANTERN)) return (TRUE);
+
+       /* Assume not okay */
+       return (FALSE);
+}
+