#include "dungeon/dungeon-file.h"
#include "dungeon/dungeon.h"
#include "dungeon/quest.h"
+#include "floor/floor.h"
#include "market/arena.h"
#include "object/artifact.h"
#include "object/object-generator.h"
#include "object/object-kind.h"
-#include "object/object2.h"
#include "pet/pet-util.h"
#include "player/player-races-table.h"
#include "system/system-variables.h"
#include "object/object-appraiser.h"
#include "object/object-ego.h"
#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object1.h"
#include "object/object2.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
-#include "object/object2.h"
#include "object/special-object-flags.h"
#include "object/sv-food-types.h"
#include "object/sv-other-types.h"
#include "cmd/cmd-basic.h"
#include "io/targeting.h"
#include "main/sound-definitions-table.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
-#include "object/object2.h"
#include "object/sv-other-types.h"
#include "object/sv-rod-types.h"
#include "player/avatar.h"
*/
#include "combat/attack-chaos-effect.h"
+#include "floor/floor.h"
#include "monster/monster-status.h"
#include "inventory/inventory-object.h"
#include "object/artifact.h"
-#include "object/object2.h"
#include "object/object-flavor.h"
#include "object/object-mark-types.h"
#include "realm/realm-hex.h"
#include "object/item-apply-magic.h"
#include "object/object-ego.h"
#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object2.h"
#include "object/sv-scroll-types.h"
#include "effect/effect-monster-util.h"
#include "effect/effect-monster-switcher.h"
#include "floor/floor-object.h"
+#include "object/object-kind-hook.h"
#include "monster/monster-status.h"
#include "player/avatar.h"
#include "spell/spells-type.h"
#include "effect/effect-characteristics.h"
#include "spell/spells3.h"
-#include "object/object2.h"
#include "object/object-generator.h"
#include "object/special-object-flags.h"
#include "object/sv-other-types.h"
#include "cmd-item/cmd-magiceat.h"
#include "cmd-item/cmd-smith.h"
#include "mspell/monster-spell.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
-#include "object/object2.h"
typedef struct {
BIT_FLAGS f4;
#include "object/object-ego.h"
#include "object/object-generator.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object-mark-types.h"
#include "object/object2.h"
#include "core/show-file.h"
#include "core/sort.h"
#include "core/stuff-handler.h"
+#include "floor/floor.h"
#include "io-dump/dump-util.h"
#include "knowledge/object-group-table.h"
#include "object/artifact.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
-#include "object/object2.h"
#include "object/special-object-flags.h"
#include "term/gameterm.h"
#include "view/display-main-window.h" // 暫定、後で消す.
#include "knowledge-quests.h"
#include "io-dump/dump-util.h"
#include "dungeon/quest.h"
+#include "floor/floor.h"
#include "system/system-variables.h" // 暫定、init_flagsのため。後で消すかも.
#include "object/artifact.h"
-#include "object/object2.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
#include "object/special-object-flags.h"
#include "dungeon/dungeon.h"
#include "dungeon/dungeon-file.h"
#include "autopick/autopick.h"
#include "core/stuff-handler.h"
#include "dungeon/dungeon.h"
+#include "floor/floor.h"
#include "inventory/inventory-object.h"
#include "market/bounty-prize-table.h"
#include "market/building-util.h"
#include "object/item-apply-magic.h"
#include "object/object-appraiser.h"
#include "object/object-flavor.h"
+#include "object/object-kind-hook.h"
#include "object/object-generator.h"
#include "object/object2.h"
#include "object/sv-other-types.h"
#include "object/object-boost.h"
#include "object/object-flavor.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object-value.h"
-#include "object/object2.h"
#include "object/special-object-flags.h"
#include "object/sv-other-types.h"
#include "object/sv-weapon-types.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object1.h"
#include "object/object2.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/sv-amulet-types.h"
+#include "object/sv-other-types.h"
#include "object/sv-ring-types.h"
/*
/* Assume not good */
return FALSE;
}
+
+/*!
+ * @brief tvalとsvalに対応するベースアイテムのIDを返す。
+ * Find the index of the object_kind with the given tval and sval
+ * @param tval 検索したいベースアイテムのtval
+ * @param sval 検索したいベースアイテムのsval
+ * @return なし
+ */
+KIND_OBJECT_IDX lookup_kind(tval_type tval, OBJECT_SUBTYPE_VALUE sval)
+{
+ int num = 0;
+ KIND_OBJECT_IDX bk = 0;
+
+ for (KIND_OBJECT_IDX k = 1; k < max_k_idx; k++) {
+ object_kind *k_ptr = &k_info[k];
+ if (k_ptr->tval != tval)
+ continue;
+ if (k_ptr->sval == sval)
+ return (k);
+ if (sval != SV_ANY)
+ continue;
+ if (!one_in_(++num))
+ continue;
+
+ bk = k;
+ }
+
+ if (sval == SV_ANY) {
+ return bk;
+ }
+
+ return 0;
+}
bool kind_is_hafted(KIND_OBJECT_IDX k_idx);
bool kind_is_potion(KIND_OBJECT_IDX k_idx);
bool kind_is_good(KIND_OBJECT_IDX k_idx);
+
+IDX lookup_kind(tval_type tval, OBJECT_SUBTYPE_VALUE sval);
#include "object/object-flavor.h"
#include "object/object-generator.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object-mark-types.h"
#include "object/object-value.h" // 暫定、相互参照している.
/*!
- * @brief tvalとsvalに対応するベースアイテムのIDを返す。
- * Find the index of the object_kind with the given tval and sval
- * @param tval 検索したいベースアイテムのtval
- * @param sval 検索したいベースアイテムのsval
- * @return なし
- */
-KIND_OBJECT_IDX lookup_kind(tval_type tval, OBJECT_SUBTYPE_VALUE sval)
-{
- int num = 0;
- KIND_OBJECT_IDX bk = 0;
-
- for (KIND_OBJECT_IDX k = 1; k < max_k_idx; k++)
- {
- object_kind *k_ptr = &k_info[k];
- if (k_ptr->tval != tval) continue;
- if (k_ptr->sval == sval) return (k);
- if (sval != SV_ANY) continue;
- if (!one_in_(++num)) continue;
-
- bk = k;
- }
-
- if (sval == SV_ANY)
- {
- return bk;
- }
-
- return 0;
-}
-
-
-/*!
* @brief アイテムのエゴをレア度の重みに合わせてランダムに選択する
* Choose random ego type
* @param slot 取得したいエゴの装備部位
int object_similar_part(object_type *o_ptr, object_type *j_ptr);
bool object_similar(object_type *o_ptr, object_type *j_ptr);
void object_absorb(object_type *o_ptr, object_type *j_ptr);
-IDX lookup_kind(tval_type tval, OBJECT_SUBTYPE_VALUE sval);
void apply_magic(player_type *owner_type, object_type *o_ptr, DEPTH lev, BIT_FLAGS mode);
bool object_sort_comp(object_type *o_ptr, s32b o_value, object_type *j_ptr);
void floor_item_describe(player_type *player_ptr, INVENTORY_IDX item); // 暫定、元々object2.c の内部からのみ呼ばれていた.
#include "process-death.h"
#include "core/stuff-handler.h"
#include "floor/floor-town.h"
+#include "floor/floor.h"
#include "inventory/player-inventory.h"
#include "object/item-use-flags.h"
#include "object/object-appraiser.h"
#include "object/object-flavor.h"
-#include "object/object2.h"
#include "store/store-util.h"
#include "store/store.h"
#include "term/gameterm.h"
#include "floor/floor-object.h"
#include "io/targeting.h"
#include "object/object-generator.h"
-#include "object/object2.h"
+#include "object/object-kind-hook.h"
#include "object/sv-food-types.h"
#include "player/avatar.h"
#include "player/player-damage.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
#include "object/object-hook.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object2.h"
#include "object/special-object-flags.h"
#include "monster/monster.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
-#include "object/object2.h"
#include "player/avatar.h"
#include "player/player-class.h"
#include "player/player-effects.h"
#include "object/object-appraiser.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
#include "object/object-mark-types.h"
#include "object/object2.h"
#include "object/special-object-flags.h"
#include "object/artifact.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
-#include "object/object2.h"
+#include "object/object-kind-hook.h"
#include "object/special-object-flags.h"
#include "util/util.h"
#include "world/world.h"
#include "dungeon/quest.h"
#include "effect/effect-characteristics.h"
#include "effect/spells-effect-util.h"
+#include "floor/floor.h"
#include "floor/floor-town.h"
#include "grid/feature.h"
#include "grid/grid.h"
#include "object/object-flavor.h"
#include "object/object-kind.h"
#include "object/object-mark-types.h"
-#include "object/object2.h"
#include "player/avatar.h"
#include "player/mimic-info-table.h"
#include "player/player-class.h"
#include "object/object-ego.h"
#include "object/object-flavor.h"
#include "object/object-generator.h"
+#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "object/object-value.h"
-#include "object/object2.h"
#include "object/special-object-flags.h"
#include "object/tr-types.h"
#include "object/trc-types.h"