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);
+}
+