OSDN Git Service

[Refactor] #2628 ObjectType をItemEntity に変更した
authorHourier <66951241+Hourier@users.noreply.github.com>
Tue, 15 Nov 2022 12:25:37 +0000 (21:25 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Tue, 15 Nov 2022 12:36:37 +0000 (21:36 +0900)
328 files changed:
src/action/activation-execution.cpp
src/action/open-util.cpp
src/action/run-execution.cpp
src/action/weapon-shield.cpp
src/artifact/artifact-info.cpp
src/artifact/artifact-info.h
src/artifact/fixed-art-generator.cpp
src/artifact/fixed-art-generator.h
src/artifact/random-art-activation.cpp
src/artifact/random-art-activation.h
src/artifact/random-art-characteristics.cpp
src/artifact/random-art-characteristics.h
src/artifact/random-art-generator.cpp
src/artifact/random-art-generator.h
src/artifact/random-art-misc.cpp
src/artifact/random-art-misc.h
src/artifact/random-art-pval-investor.cpp
src/artifact/random-art-pval-investor.h
src/artifact/random-art-resistance.cpp
src/artifact/random-art-resistance.h
src/artifact/random-art-slay.cpp
src/artifact/random-art-slay.h
src/autopick/autopick-destroyer.cpp
src/autopick/autopick-destroyer.h
src/autopick/autopick-entry.cpp
src/autopick/autopick-entry.h
src/autopick/autopick-finder.cpp
src/autopick/autopick-finder.h
src/autopick/autopick-matcher.cpp
src/autopick/autopick-matcher.h
src/autopick/autopick-registry.cpp
src/autopick/autopick-registry.h
src/autopick/autopick-util.cpp
src/autopick/autopick-util.h
src/autopick/autopick.cpp
src/birth/game-play-initializer.cpp
src/birth/inventory-initializer.cpp
src/birth/inventory-initializer.h
src/cmd-action/cmd-hissatsu.cpp
src/cmd-action/cmd-shoot.cpp
src/cmd-action/cmd-spell.cpp
src/cmd-building/cmd-building.cpp
src/cmd-item/cmd-destroy.cpp
src/cmd-item/cmd-eat.cpp
src/cmd-item/cmd-equipment.cpp
src/cmd-item/cmd-item.cpp
src/cmd-item/cmd-read.cpp
src/cmd-item/cmd-refill.cpp
src/cmd-item/cmd-throw.cpp
src/cmd-visual/cmd-visuals.cpp
src/combat/aura-counterattack.cpp
src/combat/shoot.cpp
src/combat/shoot.h
src/combat/slaying.cpp
src/combat/slaying.h
src/core/object-compressor.cpp
src/dungeon/quest-completion-checker.cpp
src/dungeon/quest-completion-checker.h
src/dungeon/quest.cpp
src/dungeon/quest.h
src/effect/effect-monster.cpp
src/flavor/flavor-describer.cpp
src/flavor/flavor-describer.h
src/flavor/flavor-util.cpp
src/flavor/flavor-util.h
src/floor/fixed-map-generator.cpp
src/floor/floor-generator.cpp
src/floor/floor-object.cpp
src/floor/floor-object.h
src/floor/object-scanner.cpp
src/grid/object-placer.cpp
src/grid/stair.cpp
src/hpmp/hp-mp-processor.cpp
src/inventory/inventory-curse.cpp
src/inventory/inventory-curse.h
src/inventory/inventory-damage.cpp
src/inventory/inventory-damage.h
src/inventory/inventory-object.cpp
src/inventory/inventory-object.h
src/inventory/inventory-util.cpp
src/inventory/item-getter.cpp
src/inventory/pack-overflow.cpp
src/inventory/player-inventory.cpp
src/inventory/recharge-processor.cpp
src/io-dump/random-art-info-dumper.cpp
src/io/input-key-requester.cpp
src/io/input-key-requester.h
src/knowledge/knowledge-inventory.cpp
src/knowledge/knowledge-items.cpp
src/knowledge/knowledge-quests.cpp
src/load/inventory-loader.cpp
src/load/item/item-loader-base.h
src/load/old/item-loader-savefile50.cpp
src/load/old/item-loader-savefile50.h
src/load/old/load-v1-5-0.cpp
src/load/old/load-v1-5-0.h
src/load/store-loader.cpp
src/market/bounty.cpp
src/market/building-craft-fix.cpp
src/market/building-craft-weapon.cpp
src/market/building-enchanter.cpp
src/market/building-initializer.cpp
src/market/building-recharger.cpp
src/mind/mind-archer.cpp
src/mind/mind-chaos-warrior.cpp
src/mind/mind-hobbit.cpp
src/mind/mind-mage.cpp
src/mind/mind-magic-eater.cpp
src/mind/mind-mindcrafter.cpp
src/mind/mind-ninja.cpp
src/mind/mind-priest.cpp
src/mind/mind-weaponsmith.cpp
src/monster-attack/monster-attack-player.h
src/monster-attack/monster-eating.cpp
src/monster-floor/monster-death.cpp
src/monster-floor/monster-object.cpp
src/monster-floor/one-monster-placer.cpp
src/monster-floor/special-death-switcher.cpp
src/monster/monster-compaction.cpp
src/mspell/mspell-damage-calculator.cpp
src/mutation/mutation-processor.cpp
src/object-activation/activation-breath.cpp
src/object-activation/activation-breath.h
src/object-activation/activation-others.cpp
src/object-activation/activation-others.h
src/object-activation/activation-switcher.cpp
src/object-activation/activation-switcher.h
src/object-activation/activation-util.h
src/object-enchant/enchanter-base.h
src/object-enchant/enchanter-factory.cpp
src/object-enchant/enchanter-factory.h
src/object-enchant/item-magic-applier.cpp
src/object-enchant/item-magic-applier.h
src/object-enchant/object-boost.cpp
src/object-enchant/object-boost.h
src/object-enchant/object-curse.cpp
src/object-enchant/object-curse.h
src/object-enchant/object-ego.cpp
src/object-enchant/object-ego.h
src/object-enchant/others/apply-magic-amulet.cpp
src/object-enchant/others/apply-magic-amulet.h
src/object-enchant/others/apply-magic-lite.cpp
src/object-enchant/others/apply-magic-lite.h
src/object-enchant/others/apply-magic-others.cpp
src/object-enchant/others/apply-magic-others.h
src/object-enchant/others/apply-magic-ring.cpp
src/object-enchant/others/apply-magic-ring.h
src/object-enchant/protector/abstract-protector-enchanter.cpp
src/object-enchant/protector/abstract-protector-enchanter.h
src/object-enchant/protector/apply-magic-armor.cpp
src/object-enchant/protector/apply-magic-armor.h
src/object-enchant/protector/apply-magic-boots.cpp
src/object-enchant/protector/apply-magic-boots.h
src/object-enchant/protector/apply-magic-cloak.cpp
src/object-enchant/protector/apply-magic-cloak.h
src/object-enchant/protector/apply-magic-crown.cpp
src/object-enchant/protector/apply-magic-crown.h
src/object-enchant/protector/apply-magic-dragon-armor.cpp
src/object-enchant/protector/apply-magic-dragon-armor.h
src/object-enchant/protector/apply-magic-gloves.cpp
src/object-enchant/protector/apply-magic-gloves.h
src/object-enchant/protector/apply-magic-hard-armor.cpp
src/object-enchant/protector/apply-magic-hard-armor.h
src/object-enchant/protector/apply-magic-helm.cpp
src/object-enchant/protector/apply-magic-helm.h
src/object-enchant/protector/apply-magic-shield.cpp
src/object-enchant/protector/apply-magic-shield.h
src/object-enchant/protector/apply-magic-soft-armor.cpp
src/object-enchant/protector/apply-magic-soft-armor.h
src/object-enchant/vorpal-weapon.cpp
src/object-enchant/weapon/abstract-weapon-enchanter.cpp
src/object-enchant/weapon/abstract-weapon-enchanter.h
src/object-enchant/weapon/apply-magic-arrow.cpp
src/object-enchant/weapon/apply-magic-arrow.h
src/object-enchant/weapon/apply-magic-bow.cpp
src/object-enchant/weapon/apply-magic-bow.h
src/object-enchant/weapon/apply-magic-digging.cpp
src/object-enchant/weapon/apply-magic-digging.h
src/object-enchant/weapon/apply-magic-hafted.cpp
src/object-enchant/weapon/apply-magic-hafted.h
src/object-enchant/weapon/apply-magic-polearm.cpp
src/object-enchant/weapon/apply-magic-polearm.h
src/object-enchant/weapon/apply-magic-sword.cpp
src/object-enchant/weapon/apply-magic-sword.h
src/object-enchant/weapon/melee-weapon-enchanter.cpp
src/object-enchant/weapon/melee-weapon-enchanter.h
src/object-hook/hook-armor.cpp
src/object-hook/hook-armor.h
src/object-hook/hook-expendable.cpp
src/object-hook/hook-expendable.h
src/object-hook/hook-magic.cpp
src/object-hook/hook-magic.h
src/object-hook/hook-perception.cpp
src/object-hook/hook-perception.h
src/object-hook/hook-quest.cpp
src/object-hook/hook-quest.h
src/object-hook/hook-weapon.cpp
src/object-hook/hook-weapon.h
src/object-use/quaff/quaff-effects.cpp
src/object-use/quaff/quaff-effects.h
src/object-use/quaff/quaff-execution.cpp
src/object-use/quaff/quaff-execution.h
src/object-use/read/parchment-read-executor.cpp
src/object-use/read/parchment-read-executor.h
src/object-use/read/read-execution.cpp
src/object-use/read/read-execution.h
src/object-use/read/read-executor-factory.cpp
src/object-use/read/read-executor-factory.h
src/object-use/read/scroll-read-executor.cpp
src/object-use/read/scroll-read-executor.h
src/object-use/throw-execution.cpp
src/object-use/throw-execution.h
src/object-use/use-execution.cpp
src/object/item-tester-hooker.cpp
src/object/item-tester-hooker.h
src/object/lite-processor.cpp
src/object/lite-processor.h
src/object/object-broken.cpp
src/object/object-broken.h
src/object/object-flags.cpp
src/object/object-flags.h
src/object/object-index-list.h
src/object/object-info.cpp
src/object/object-info.h
src/object/object-mark-types.h
src/object/object-stack.cpp
src/object/object-stack.h
src/object/object-value-calc.cpp
src/object/object-value-calc.h
src/object/object-value.cpp
src/object/object-value.h
src/object/warning.cpp
src/object/warning.h
src/perception/identification.cpp
src/perception/identification.h
src/perception/object-perception.cpp
src/perception/object-perception.h
src/perception/simple-perception.cpp
src/perception/simple-perception.h
src/player/player-damage.cpp
src/player/player-move.cpp
src/player/player-skill.cpp
src/player/player-skill.h
src/player/player-status-flags.cpp
src/player/player-status.cpp
src/player/player-status.h
src/player/process-death.cpp
src/player/race-resistances.cpp
src/racial/racial-android.cpp
src/realm/realm-hex.cpp
src/realm/realm-hissatsu.cpp
src/realm/realm-nature.cpp
src/save/item-writer.cpp
src/save/item-writer.h
src/smith/object-smith.cpp
src/smith/object-smith.h
src/smith/smith-info.cpp
src/smith/smith-info.h
src/specific-object/bloody-moon.cpp
src/specific-object/bloody-moon.h
src/specific-object/bow.cpp
src/specific-object/bow.h
src/specific-object/chest.cpp
src/specific-object/death-crimson.cpp
src/specific-object/death-crimson.h
src/specific-object/muramasa.cpp
src/specific-object/muramasa.h
src/specific-object/torch.cpp
src/specific-object/torch.h
src/spell-kind/magic-item-recharger.cpp
src/spell-kind/spells-enchant.cpp
src/spell-kind/spells-equipment.cpp
src/spell-kind/spells-fetcher.cpp
src/spell-kind/spells-floor.cpp
src/spell-kind/spells-perception.cpp
src/spell-kind/spells-perception.h
src/spell-kind/spells-teleport.cpp
src/spell-realm/spells-nature.cpp
src/spell-realm/spells-sorcery.cpp
src/spell/spells-object.cpp
src/spell/spells-object.h
src/spell/spells-status.cpp
src/spell/spells-status.h
src/spell/spells-summon.cpp
src/spell/spells-summon.h
src/store/black-market.cpp
src/store/black-market.h
src/store/cmd-store.cpp
src/store/home.cpp
src/store/home.h
src/store/museum.cpp
src/store/pricing.cpp
src/store/pricing.h
src/store/purchase-order.cpp
src/store/rumor.cpp
src/store/sell-order.cpp
src/store/service-checker.cpp
src/store/service-checker.h
src/store/store-util.cpp
src/store/store-util.h
src/store/store.cpp
src/store/store.h
src/system/floor-type-definition.h
src/system/object-type-definition.cpp
src/system/object-type-definition.h
src/system/player-type-definition.h
src/target/target-describer.cpp
src/target/target-preparation.cpp
src/util/object-sort.cpp
src/util/object-sort.h
src/view/display-inventory.cpp
src/view/display-map.cpp
src/view/display-player-stat-info.cpp
src/view/display-store.cpp
src/view/object-describer.cpp
src/view/status-first-page.cpp
src/window/display-sub-windows.cpp
src/window/main-window-equipments.cpp
src/window/main-window-util.cpp
src/window/main-window-util.h
src/wizard/artifact-analyzer.cpp
src/wizard/artifact-analyzer.h
src/wizard/fixed-artifacts-spoiler.cpp
src/wizard/items-spoiler.cpp
src/wizard/wizard-item-modifier.cpp
src/wizard/wizard-special-process.cpp
src/wizard/wizard-spoiler.cpp
src/world/world-object.cpp

index 726e7f0..881fff8 100644 (file)
@@ -152,7 +152,7 @@ static bool check_activation_conditions(PlayerType *player_ptr, ae_type *ae_ptr)
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  * @return 発動実行の是非を返す。
  */
-static bool activate_artifact(PlayerType *player_ptr, ObjectType *o_ptr)
+static bool activate_artifact(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     auto tmp_act_ptr = find_activation_info(o_ptr);
     if (!tmp_act_ptr.has_value()) {
index e0120d4..4c7be53 100644 (file)
@@ -24,7 +24,7 @@ OBJECT_IDX chest_check(FloorType *floor_ptr, POSITION y, POSITION x, bool trappe
 {
     auto *g_ptr = &floor_ptr->grid_array[y][x];
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if ((o_ptr->tval == ItemKindType::CHEST) && (((!trapped) && (o_ptr->pval)) || /* non empty */
                                                         ((trapped) && (o_ptr->pval > 0)))) { /* trapped only */
@@ -56,7 +56,7 @@ int count_chests(PlayerType *player_ptr, POSITION *y, POSITION *x, bool trapped)
             continue;
         }
 
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->current_floor_ptr->o_list[o_idx];
         if (o_ptr->pval == 0) {
             continue;
index 07c28c5..b927d0e 100644 (file)
@@ -238,7 +238,7 @@ static bool run_test(PlayerType *player_ptr)
         }
 
         for (const auto this_o_idx : g_ptr->o_idx_list) {
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
             o_ptr = &floor_ptr->o_list[this_o_idx];
             if (o_ptr->marked & OM_FOUND) {
                 return true;
index 59adf69..4d8b9ae 100644 (file)
@@ -22,7 +22,7 @@
  */
 void verify_equip_slot(PlayerType *player_ptr, INVENTORY_IDX item)
 {
-    ObjectType *o_ptr, *new_o_ptr;
+    ItemEntity *o_ptr, *new_o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
 
     if (item == INVEN_MAIN_HAND) {
index cfaa54e..df1e592 100644 (file)
@@ -22,7 +22,7 @@
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  * @return 発動効果のIDを返す
  */
-RandomArtActType activation_index(const ObjectType *o_ptr)
+RandomArtActType activation_index(const ItemEntity *o_ptr)
 {
     if (auto act_idx = Smith::object_activation(o_ptr); act_idx.has_value()) {
         return act_idx.value();
@@ -52,7 +52,7 @@ RandomArtActType activation_index(const ObjectType *o_ptr)
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  * @return 発動効果構造体のポインタを返す
  */
-std::optional<const activation_type *> find_activation_info(const ObjectType *o_ptr)
+std::optional<const activation_type *> find_activation_info(const ItemEntity *o_ptr)
 {
     const auto index = activation_index(o_ptr);
     for (const auto &p : activation_info) {
index 536c782..cee8649 100644 (file)
@@ -9,6 +9,6 @@
 
 enum class RandomArtActType : short;
 struct activation_type;
-class ObjectType;
-RandomArtActType activation_index(const ObjectType *o_ptr);
-std::optional<const activation_type *> find_activation_info(const ObjectType *o_ptr);
+class ItemEntity;
+RandomArtActType activation_index(const ItemEntity *o_ptr);
+std::optional<const activation_type *> find_activation_info(const ItemEntity *o_ptr);
index 96ae3b5..35c1f1f 100644 (file)
@@ -40,7 +40,7 @@
  * 純戦士系職業は追加能力/耐性がもらえる。
  * それ以外では、反感、太古の怨念、呪いが付き追加能力/耐性はもらえない。
  */
-static bool invest_terror_mask(PlayerType *player_ptr, ObjectType *o_ptr)
+static bool invest_terror_mask(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!o_ptr->is_specific_artifact(FixedArtifactId::TERROR)) {
         return false;
@@ -66,7 +66,7 @@ static bool invest_terror_mask(PlayerType *player_ptr, ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 対象のオブジェクト構造体への参照ポインタ
  */
-static void milim_swimsuit(PlayerType *player_ptr, ObjectType *o_ptr)
+static void milim_swimsuit(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!o_ptr->is_specific_artifact(FixedArtifactId::MILIM) || (player_ptr->ppersonality != PERSONALITY_SEXY)) {
         return;
@@ -91,7 +91,7 @@ static void milim_swimsuit(PlayerType *player_ptr, ObjectType *o_ptr)
  * @details
  * 対象は村正、ロビントンのハープ、龍争虎鬪、ブラッディムーン、羽衣、天女の羽衣、ミリム
  */
-static void invest_special_artifact_abilities(PlayerType *player_ptr, ObjectType *o_ptr)
+static void invest_special_artifact_abilities(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     const auto pc = PlayerClass(player_ptr);
     switch (o_ptr->fixed_artifact_idx) {
@@ -133,7 +133,7 @@ static void invest_special_artifact_abilities(PlayerType *player_ptr, ObjectType
  * @param a_ptr 固定アーティファクト情報への参照ポインタ
  * @param q_ptr オブジェクト情報への参照ポインタ
  */
-static void fixed_artifact_random_abilities(PlayerType *player_ptr, const ArtifactType &a_ref, ObjectType *o_ptr)
+static void fixed_artifact_random_abilities(PlayerType *player_ptr, const ArtifactType &a_ref, ItemEntity *o_ptr)
 {
     auto give_power = false;
     auto give_resistance = false;
@@ -186,7 +186,7 @@ static void fixed_artifact_random_abilities(PlayerType *player_ptr, const Artifa
  * @param a_ptr 固定アーティファクト情報への参照ポインタ
  * @param q_ptr オブジェクト情報への参照ポインタ
  */
-static void invest_curse_to_fixed_artifact(const ArtifactType &a_ref, ObjectType *o_ptr)
+static void invest_curse_to_fixed_artifact(const ArtifactType &a_ref, ItemEntity *o_ptr)
 {
     if (!a_ref.cost) {
         set_bits(o_ptr->ident, IDENT_BROKEN);
@@ -223,7 +223,7 @@ static void invest_curse_to_fixed_artifact(const ArtifactType &a_ref, ObjectType
  * @param o_ptr 生成に割り当てたいオブジェクトの構造体参照ポインタ
  * @return 適用したアーティファクト情報への参照ポインタ
  */
-void apply_artifact(PlayerType *player_ptr, ObjectType *o_ptr)
+void apply_artifact(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     auto &a_ref = artifacts_info.at(o_ptr->fixed_artifact_idx);
     o_ptr->pval = a_ref.pval;
@@ -264,7 +264,7 @@ bool create_named_art(PlayerType *player_ptr, FixedArtifactId a_idx, POSITION y,
         return true;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto q_ptr = &forge;
     q_ptr->prep(bi_id);
     q_ptr->fixed_artifact_idx = a_idx;
@@ -288,7 +288,7 @@ bool create_named_art(PlayerType *player_ptr, FixedArtifactId a_idx, POSITION y,
  * This routine should only be called by "apply_magic()"\n
  * Note -- see "make_artifact_special()" and "apply_magic()"\n
  */
-bool make_artifact(PlayerType *player_ptr, ObjectType *o_ptr)
+bool make_artifact(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     auto floor_ptr = player_ptr->current_floor_ptr;
     if (floor_ptr->dun_level == 0) {
@@ -354,7 +354,7 @@ bool make_artifact(PlayerType *player_ptr, ObjectType *o_ptr)
  *\n
  * Note -- see "make_artifact()" and "apply_magic()"\n
  */
-bool make_artifact_special(PlayerType *player_ptr, ObjectType *o_ptr)
+bool make_artifact_special(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     /*! @note 地上ではキャンセルする / No artifacts in the town */
     auto floor_ptr = player_ptr->current_floor_ptr;
index f235cd1..2634c1c 100644 (file)
@@ -8,9 +8,9 @@
 
 enum class FixedArtifactId : short;
 class ArtifactType;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 bool create_named_art(PlayerType *player_ptr, FixedArtifactId a_idx, POSITION y, POSITION x);
-bool make_artifact(PlayerType *player_ptr, ObjectType *o_ptr);
-void apply_artifact(PlayerType *player_ptr, ObjectType *o_ptr);
-bool make_artifact_special(PlayerType *player_ptr, ObjectType *o_ptr);
+bool make_artifact(PlayerType *player_ptr, ItemEntity *o_ptr);
+void apply_artifact(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool make_artifact_special(PlayerType *player_ptr, ItemEntity *o_ptr);
index 47a0554..9ef112a 100644 (file)
@@ -216,7 +216,7 @@ static RandomArtActType invest_activation_ranger(void)
  * @details バイアスが無い場合、一部のバイアスの確率によっては one_ability() に処理が移行する。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void give_activation_power(ObjectType *o_ptr)
+void give_activation_power(ItemEntity *o_ptr)
 {
     RandomArtActType type = RandomArtActType::NONE;
     int chance = 0;
index bf9f7c7..bccee9a 100644 (file)
@@ -4,5 +4,5 @@
  * @brief ランダムアーティファクトの発動実装ヘッダ
  */
 
-class ObjectType;
-void give_activation_power(ObjectType *o_ptr);
+class ItemEntity;
+void give_activation_power(ItemEntity *o_ptr);
index 9b17b38..44654e5 100644 (file)
@@ -18,7 +18,7 @@
 #include <sstream>
 #include <string_view>
 
-static void pval_subtraction(ObjectType *o_ptr)
+static void pval_subtraction(ItemEntity *o_ptr)
 {
     if (o_ptr->pval > 0) {
         o_ptr->pval = 0 - (o_ptr->pval + randint1(4));
@@ -37,7 +37,7 @@ static void pval_subtraction(ObjectType *o_ptr)
     }
 }
 
-static void add_negative_flags(ObjectType *o_ptr)
+static void add_negative_flags(ItemEntity *o_ptr)
 {
     if (one_in_(4)) {
         o_ptr->curse_flags.set(CurseTraitType::PERMA_CURSE);
@@ -87,7 +87,7 @@ static void add_negative_flags(ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void curse_artifact(PlayerType *player_ptr, ObjectType *o_ptr)
+void curse_artifact(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     pval_subtraction(o_ptr);
     o_ptr->curse_flags.set({ CurseTraitType::HEAVY_CURSE, CurseTraitType::CURSED });
@@ -139,7 +139,7 @@ static std::string get_random_art_filename(const bool armour, const int power)
  * @details 確率によって、シンダリン銘、漢字銘 (anameからランダム)、固定名のいずれか一つが与えられる.
  * シンダリン銘:10%、漢字銘18%、固定銘72% (固定銘が尽きていたら漢字銘になることもある).
  */
-void get_random_name(ObjectType *o_ptr, char *return_name, bool armour, int power)
+void get_random_name(ItemEntity *o_ptr, char *return_name, bool armour, int power)
 {
     const auto prob = randint1(100);
     constexpr auto chance_sindarin = 10;
@@ -164,7 +164,7 @@ void get_random_name(ObjectType *o_ptr, char *return_name, bool armour, int powe
 }
 
 /*対邪平均ダメージの計算処理*/
-static int calc_arm_avgdamage(PlayerType *player_ptr, ObjectType *o_ptr)
+static int calc_arm_avgdamage(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     auto flgs = object_flags(o_ptr);
     int base, forced, vorpal;
@@ -195,7 +195,7 @@ static int calc_arm_avgdamage(PlayerType *player_ptr, ObjectType *o_ptr)
     return dam;
 }
 
-bool has_extreme_damage_rate(PlayerType *player_ptr, ObjectType *o_ptr)
+bool has_extreme_damage_rate(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     auto flgs = object_flags(o_ptr);
     if (flgs.has(TR_VAMPIRIC)) {
index 669906c..f71ee27 100644 (file)
@@ -4,8 +4,8 @@
  * @brief ランダムアーティファクトのバイアス付加処理ヘッダ
  */
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void curse_artifact(PlayerType *player_ptr, ObjectType *o_ptr);
-void get_random_name(ObjectType *o_ptr, char *return_name, bool armour, int power);
-bool has_extreme_damage_rate(PlayerType *player_ptr, ObjectType *o_ptr);
+void curse_artifact(PlayerType *player_ptr, ItemEntity *o_ptr);
+void get_random_name(ItemEntity *o_ptr, char *return_name, bool armour, int power);
+bool has_extreme_damage_rate(PlayerType *player_ptr, ItemEntity *o_ptr);
index 0525c2f..11dbd72 100644 (file)
@@ -41,7 +41,7 @@
 #include "wizard/wizard-messages.h"
 #include "world/world.h"
 
-static bool weakening_artifact(ObjectType *o_ptr)
+static bool weakening_artifact(ItemEntity *o_ptr)
 {
     const auto k_idx = lookup_baseitem_id({ o_ptr->tval, o_ptr->sval });
     auto *k_ptr = &baseitems_info[k_idx];
@@ -75,7 +75,7 @@ static bool weakening_artifact(ObjectType *o_ptr)
     return false;
 }
 
-static void set_artifact_bias(PlayerType *player_ptr, ObjectType *o_ptr, int *warrior_artifact_bias)
+static void set_artifact_bias(PlayerType *player_ptr, ItemEntity *o_ptr, int *warrior_artifact_bias)
 {
     switch (player_ptr->pclass) {
     case PlayerClassType::WARRIOR:
@@ -159,7 +159,7 @@ static void set_artifact_bias(PlayerType *player_ptr, ObjectType *o_ptr, int *wa
     }
 }
 
-static void decide_warrior_bias(PlayerType *player_ptr, ObjectType *o_ptr, const bool a_scroll)
+static void decide_warrior_bias(PlayerType *player_ptr, ItemEntity *o_ptr, const bool a_scroll)
 {
     int warrior_artifact_bias = 0;
     if (a_scroll && one_in_(4)) {
@@ -171,7 +171,7 @@ static void decide_warrior_bias(PlayerType *player_ptr, ObjectType *o_ptr, const
     }
 }
 
-static bool decide_random_art_cursed(const bool a_scroll, ObjectType *o_ptr)
+static bool decide_random_art_cursed(const bool a_scroll, ItemEntity *o_ptr)
 {
     constexpr auto chance_cursed = 13;
     if (!a_scroll && one_in_(chance_cursed)) {
@@ -203,7 +203,7 @@ static int decide_random_art_power(const bool a_cursed)
     return powers;
 }
 
-static void invest_powers(PlayerType *player_ptr, ObjectType *o_ptr, int *powers, bool *has_pval, const bool a_cursed)
+static void invest_powers(PlayerType *player_ptr, ItemEntity *o_ptr, int *powers, bool *has_pval, const bool a_cursed)
 {
     int max_type = o_ptr->is_weapon_ammo() ? 7 : 5;
     while ((*powers)--) {
@@ -250,7 +250,7 @@ static void invest_powers(PlayerType *player_ptr, ObjectType *o_ptr, int *powers
     };
 }
 
-static void strengthen_pval(ObjectType *o_ptr)
+static void strengthen_pval(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BLOWS)) {
         o_ptr->pval = randint1(2);
@@ -273,7 +273,7 @@ static void strengthen_pval(ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr ランダムアーティファクトを示すアイテムへの参照ポインタ
  */
-static void invest_positive_modified_value(ObjectType *o_ptr)
+static void invest_positive_modified_value(ItemEntity *o_ptr)
 {
     if (o_ptr->is_armour()) {
         o_ptr->to_a += randint1(o_ptr->to_a > 19 ? 1 : 20 - o_ptr->to_a);
@@ -296,7 +296,7 @@ static void invest_positive_modified_value(ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr ランダムアーティファクトを示すアイテムへの参照ポインタ
  */
-static void invest_negative_modified_value(ObjectType *o_ptr)
+static void invest_negative_modified_value(ItemEntity *o_ptr)
 {
     if (!o_ptr->is_armour()) {
         return;
@@ -321,7 +321,7 @@ static void invest_negative_modified_value(ObjectType *o_ptr)
     }
 }
 
-static void reset_flags_poison_needle(ObjectType *o_ptr)
+static void reset_flags_poison_needle(ItemEntity *o_ptr)
 {
     if ((o_ptr->tval != ItemKindType::SWORD) || (o_ptr->sval != SV_POISON_NEEDLE)) {
         return;
@@ -349,7 +349,7 @@ static void reset_flags_poison_needle(ObjectType *o_ptr)
     o_ptr->art_flags.reset(TR_BRAND_COLD);
 }
 
-static int decide_random_art_power_level(ObjectType *o_ptr, const bool a_cursed, const int total_flags)
+static int decide_random_art_power_level(ItemEntity *o_ptr, const bool a_cursed, const int total_flags)
 {
     if (o_ptr->is_weapon_ammo()) {
         if (a_cursed) {
@@ -382,7 +382,7 @@ static int decide_random_art_power_level(ObjectType *o_ptr, const bool a_cursed,
     return 3;
 }
 
-static void name_unnatural_random_artifact(PlayerType *player_ptr, ObjectType *o_ptr, const bool a_scroll, const int power_level, GAME_TEXT *new_name)
+static void name_unnatural_random_artifact(PlayerType *player_ptr, ItemEntity *o_ptr, const bool a_scroll, const int power_level, GAME_TEXT *new_name)
 {
     if (!a_scroll) {
         get_random_name(o_ptr, new_name, o_ptr->is_armour(), power_level);
@@ -410,7 +410,7 @@ static void name_unnatural_random_artifact(PlayerType *player_ptr, ObjectType *o
 }
 
 static void generate_unnatural_random_artifact(
-    PlayerType *player_ptr, ObjectType *o_ptr, const bool a_scroll, const int power_level, const int max_powers, const int total_flags)
+    PlayerType *player_ptr, ItemEntity *o_ptr, const bool a_scroll, const int power_level, const int max_powers, const int total_flags)
 {
     GAME_TEXT new_name[1024];
     strcpy(new_name, "");
@@ -430,7 +430,7 @@ static void generate_unnatural_random_artifact(
  * @param a_scroll アーティファクト生成の巻物上の処理。呪いのアーティファクトが生成対象外となる。
  * @return 常にTRUE(1)を返す
  */
-bool become_random_artifact(PlayerType *player_ptr, ObjectType *o_ptr, bool a_scroll)
+bool become_random_artifact(PlayerType *player_ptr, ItemEntity *o_ptr, bool a_scroll)
 {
     o_ptr->artifact_bias = 0;
     o_ptr->fixed_artifact_idx = FixedArtifactId::NONE;
index 7a9bcf4..72f84f0 100644 (file)
@@ -4,6 +4,6 @@
  * @brief ランダムアーティファクトの生成メインヘッダ / Artifact code
  */
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool become_random_artifact(PlayerType *player_ptr, ObjectType *o_ptr, bool a_scroll);
+bool become_random_artifact(PlayerType *player_ptr, ItemEntity *o_ptr, bool a_scroll);
index 799d08c..e3c457b 100644 (file)
@@ -12,7 +12,7 @@
 #include "system/player-type-definition.h"
 #include "util/bit-flags-calculator.h"
 
-static bool invest_misc_ranger(ObjectType *o_ptr)
+static bool invest_misc_ranger(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_CON)) {
         return false;
@@ -22,7 +22,7 @@ static bool invest_misc_ranger(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_strength(ObjectType *o_ptr)
+static bool invest_misc_strength(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_STR)) {
         return false;
@@ -32,7 +32,7 @@ static bool invest_misc_strength(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_wisdom(ObjectType *o_ptr)
+static bool invest_misc_wisdom(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_WIS)) {
         return false;
@@ -42,7 +42,7 @@ static bool invest_misc_wisdom(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_intelligence(ObjectType *o_ptr)
+static bool invest_misc_intelligence(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_INT)) {
         return false;
@@ -52,7 +52,7 @@ static bool invest_misc_intelligence(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_dexterity(ObjectType *o_ptr)
+static bool invest_misc_dexterity(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_DEX)) {
         return false;
@@ -62,7 +62,7 @@ static bool invest_misc_dexterity(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_constitution(ObjectType *o_ptr)
+static bool invest_misc_constitution(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_CON)) {
         return false;
@@ -72,7 +72,7 @@ static bool invest_misc_constitution(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_charisma(ObjectType *o_ptr)
+static bool invest_misc_charisma(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SUST_CHR)) {
         return false;
@@ -82,7 +82,7 @@ static bool invest_misc_charisma(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_chaos(ObjectType *o_ptr)
+static bool invest_misc_chaos(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_TELEPORT)) {
         return false;
@@ -92,7 +92,7 @@ static bool invest_misc_chaos(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool invest_misc_res_curse(ObjectType *o_ptr)
+static bool invest_misc_res_curse(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_RES_CURSE)) {
         return false;
@@ -107,7 +107,7 @@ static bool invest_misc_res_curse(ObjectType *o_ptr)
  * @param o_ptr 対象のオブジェクト構造体への参照ポインタ
  * @return 処理続行ならFALSE、打ち切るならTRUE
  */
-static bool switch_misc_bias(ObjectType *o_ptr)
+static bool switch_misc_bias(ItemEntity *o_ptr)
 {
     switch (o_ptr->artifact_bias) {
     case BIAS_RANGER:
@@ -137,7 +137,7 @@ static bool switch_misc_bias(ObjectType *o_ptr)
     }
 }
 
-static void invest_misc_hit_dice(ObjectType *o_ptr)
+static void invest_misc_hit_dice(ItemEntity *o_ptr)
 {
     o_ptr->art_flags.set(TR_SHOW_MODS);
     HIT_PROB bonus_h = 4 + (HIT_PROB)randint1(11);
@@ -151,7 +151,7 @@ static void invest_misc_hit_dice(ObjectType *o_ptr)
     o_ptr->to_d += bonus_d;
 }
 
-static void invest_misc_string_esp(ObjectType *o_ptr)
+static void invest_misc_string_esp(ItemEntity *o_ptr)
 {
     switch (randint1(3)) {
     case 1:
@@ -178,7 +178,7 @@ static void invest_misc_string_esp(ObjectType *o_ptr)
     }
 }
 
-static void switch_investment_weak_esps(ObjectType *o_ptr, const int *idx, const int n)
+static void switch_investment_weak_esps(ItemEntity *o_ptr, const int *idx, const int n)
 {
     switch (idx[n]) {
     case 1:
@@ -236,7 +236,7 @@ static void switch_investment_weak_esps(ObjectType *o_ptr, const int *idx, const
     }
 }
 
-static void invest_misc_weak_esps(ObjectType *o_ptr)
+static void invest_misc_weak_esps(ItemEntity *o_ptr)
 {
     int idx[3];
     idx[0] = randint1(10);
@@ -268,7 +268,7 @@ static void invest_misc_weak_esps(ObjectType *o_ptr)
  * @attention オブジェクトのtval、svalに依存したハードコーディング処理がある。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void random_misc(PlayerType *player_ptr, ObjectType *o_ptr)
+void random_misc(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (switch_misc_bias(o_ptr)) {
         return;
index ee97d74..b1c29e1 100644 (file)
@@ -4,6 +4,6 @@
  * @brief ランダムアーティファクト生成のその他特性バイアス付けヘッダ / Artifact code
  */
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void random_misc(PlayerType *player_ptr, ObjectType *o_ptr);
+void random_misc(PlayerType *player_ptr, ItemEntity *o_ptr);
index 36b6ec6..ba61537 100644 (file)
@@ -14,7 +14,7 @@
 #include "system/object-type-definition.h"
 #include "util/bit-flags-calculator.h"
 
-static bool random_art_bias_strength(ObjectType *o_ptr)
+static bool random_art_bias_strength(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_STR)) {
         return false;
@@ -24,7 +24,7 @@ static bool random_art_bias_strength(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_intelligence(ObjectType *o_ptr)
+static bool random_art_bias_intelligence(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_INT)) {
         return false;
@@ -34,7 +34,7 @@ static bool random_art_bias_intelligence(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_wisdom(ObjectType *o_ptr)
+static bool random_art_bias_wisdom(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_WIS)) {
         return false;
@@ -44,7 +44,7 @@ static bool random_art_bias_wisdom(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_dexterity(ObjectType *o_ptr)
+static bool random_art_bias_dexterity(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_DEX)) {
         return false;
@@ -54,7 +54,7 @@ static bool random_art_bias_dexterity(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_constitution(ObjectType *o_ptr)
+static bool random_art_bias_constitution(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_CON)) {
         return false;
@@ -64,7 +64,7 @@ static bool random_art_bias_constitution(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_charisma(ObjectType *o_ptr)
+static bool random_art_bias_charisma(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_CHR)) {
         return false;
@@ -74,7 +74,7 @@ static bool random_art_bias_charisma(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_magic_mastery(ObjectType *o_ptr)
+static bool random_art_bias_magic_mastery(ItemEntity *o_ptr)
 {
     if ((o_ptr->tval != ItemKindType::GLOVES) || o_ptr->art_flags.has(TR_MAGIC_MASTERY)) {
         return false;
@@ -84,7 +84,7 @@ static bool random_art_bias_magic_mastery(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_stealth(ObjectType *o_ptr)
+static bool random_art_bias_stealth(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_STEALTH)) {
         return false;
@@ -94,7 +94,7 @@ static bool random_art_bias_stealth(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_bias_search(ObjectType *o_ptr)
+static bool random_art_bias_search(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SEARCH)) {
         return false;
@@ -104,7 +104,7 @@ static bool random_art_bias_search(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool switch_random_art_bias(ObjectType *o_ptr)
+static bool switch_random_art_bias(ItemEntity *o_ptr)
 {
     switch (o_ptr->artifact_bias) {
     case BIAS_WARRIOR:
@@ -133,7 +133,7 @@ static bool switch_random_art_bias(ObjectType *o_ptr)
     }
 }
 
-static bool random_art_bias_decrease_mana(ObjectType *o_ptr)
+static bool random_art_bias_decrease_mana(ItemEntity *o_ptr)
 {
     if (((o_ptr->artifact_bias != BIAS_MAGE) && (o_ptr->artifact_bias != BIAS_PRIESTLY)) || (o_ptr->tval != ItemKindType::SOFT_ARMOR) || (o_ptr->sval != SV_ROBE) || o_ptr->art_flags.has(TR_DEC_MANA) || !one_in_(3)) {
         return false;
@@ -150,7 +150,7 @@ static bool random_art_bias_decrease_mana(ObjectType *o_ptr)
  * @attention オブジェクトのtval、svalに依存したハードコーディング処理がある。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void random_plus(ObjectType *o_ptr)
+void random_plus(ItemEntity *o_ptr)
 {
     if (switch_random_art_bias(o_ptr) || random_art_bias_decrease_mana(o_ptr)) {
         return;
index 00ed67d..25a43d9 100644 (file)
@@ -4,5 +4,5 @@
  * @brief ランダムアーティファクトのpval付加処理ヘッダ
  */
 
-class ObjectType;
-void random_plus(ObjectType *o_ptr);
+class ItemEntity;
+void random_plus(ItemEntity *o_ptr);
index b568e75..a4673fe 100644 (file)
@@ -17,7 +17,7 @@
  * @param tr_sh_flag 付与するフラグ (TR_SH_*)
  * @return 続くフラグ付与の処理を打ち切る場合 true を返す
  */
-static bool random_art_aura(ObjectType *o_ptr, tr_type tr_sh_flag)
+static bool random_art_aura(ItemEntity *o_ptr, tr_type tr_sh_flag)
 {
     if ((o_ptr->tval < ItemKindType::CLOAK) || (o_ptr->tval > ItemKindType::HARD_ARMOR) || o_ptr->art_flags.has(tr_sh_flag)) {
         return false;
@@ -35,7 +35,7 @@ static bool random_art_aura(ObjectType *o_ptr, tr_type tr_sh_flag)
  * @details フラグの付与には 1/chance_bias の確率を通過する必要がある.
  * 更に、1/chance_immunity の確率を通過しなければ他の免疫フラグは消去される.
  */
-static bool random_art_immunity(ObjectType *o_ptr, tr_type tr_im_flag)
+static bool random_art_immunity(ItemEntity *o_ptr, tr_type tr_im_flag)
 {
     constexpr auto chance_bias = 20;
     if (!one_in_(chance_bias) || o_ptr->art_flags.has(tr_im_flag)) {
@@ -62,7 +62,7 @@ static bool random_art_immunity(ObjectType *o_ptr, tr_type tr_im_flag)
  * @param skip true の場合このフラグは付与せず処理を終了し、続くフラグ付与の処理を継続する
  * @return 続くフラグ付与の処理を打ち切る場合 true を返す
  */
-static bool random_art_resistance(ObjectType *o_ptr, tr_type tr_res_flag, bool skip = false)
+static bool random_art_resistance(ItemEntity *o_ptr, tr_type tr_res_flag, bool skip = false)
 {
     if (skip || o_ptr->art_flags.has(tr_res_flag)) {
         return false;
@@ -72,7 +72,7 @@ static bool random_art_resistance(ObjectType *o_ptr, tr_type tr_res_flag, bool s
     return one_in_(2);
 }
 
-static bool switch_random_art_resistance(ObjectType *o_ptr)
+static bool switch_random_art_resistance(ItemEntity *o_ptr)
 {
     switch (o_ptr->artifact_bias) {
     case BIAS_ACID:
@@ -101,7 +101,7 @@ static bool switch_random_art_resistance(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_acid(ObjectType *o_ptr)
+static void set_weird_bias_acid(ItemEntity *o_ptr)
 {
     if (!one_in_(CHANCE_STRENGTHENING)) {
         random_resistance(o_ptr);
@@ -115,7 +115,7 @@ static void set_weird_bias_acid(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_elec(ObjectType *o_ptr)
+static void set_weird_bias_elec(ItemEntity *o_ptr)
 {
     if (!one_in_(CHANCE_STRENGTHENING)) {
         random_resistance(o_ptr);
@@ -129,7 +129,7 @@ static void set_weird_bias_elec(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_cold(ObjectType *o_ptr)
+static void set_weird_bias_cold(ItemEntity *o_ptr)
 {
     if (!one_in_(CHANCE_STRENGTHENING)) {
         random_resistance(o_ptr);
@@ -143,7 +143,7 @@ static void set_weird_bias_cold(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_fire(ObjectType *o_ptr)
+static void set_weird_bias_fire(ItemEntity *o_ptr)
 {
     if (!one_in_(CHANCE_STRENGTHENING)) {
         random_resistance(o_ptr);
@@ -156,7 +156,7 @@ static void set_weird_bias_fire(ObjectType *o_ptr)
     }
 }
 
-static void set_bias_pois(ObjectType *o_ptr)
+static void set_bias_pois(ItemEntity *o_ptr)
 {
     o_ptr->art_flags.set(TR_RES_POIS);
     if (!o_ptr->artifact_bias && !one_in_(4)) {
@@ -175,7 +175,7 @@ static void set_bias_pois(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_aura_elec(ObjectType *o_ptr)
+static void set_weird_bias_aura_elec(ItemEntity *o_ptr)
 {
     if (o_ptr->tval >= ItemKindType::CLOAK && o_ptr->tval <= ItemKindType::HARD_ARMOR) {
         o_ptr->art_flags.set(TR_SH_ELEC);
@@ -189,7 +189,7 @@ static void set_weird_bias_aura_elec(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_aura_fire(ObjectType *o_ptr)
+static void set_weird_bias_aura_fire(ItemEntity *o_ptr)
 {
     if (o_ptr->tval >= ItemKindType::CLOAK && o_ptr->tval <= ItemKindType::HARD_ARMOR) {
         o_ptr->art_flags.set(TR_SH_FIRE);
@@ -203,7 +203,7 @@ static void set_weird_bias_aura_fire(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_reflection(ObjectType *o_ptr)
+static void set_weird_bias_reflection(ItemEntity *o_ptr)
 {
     if (o_ptr->tval == ItemKindType::SHIELD || o_ptr->tval == ItemKindType::CLOAK || o_ptr->tval == ItemKindType::HELM || o_ptr->tval == ItemKindType::HARD_ARMOR) {
         o_ptr->art_flags.set(TR_REFLECT);
@@ -214,7 +214,7 @@ static void set_weird_bias_reflection(ObjectType *o_ptr)
 }
 
 /* 一定確率で再試行する */
-static void set_weird_bias_aura_cold(ObjectType *o_ptr)
+static void set_weird_bias_aura_cold(ItemEntity *o_ptr)
 {
     if (o_ptr->tval >= ItemKindType::CLOAK && o_ptr->tval <= ItemKindType::HARD_ARMOR) {
         o_ptr->art_flags.set(TR_SH_COLD);
@@ -236,7 +236,7 @@ static void set_weird_bias_aura_cold(ObjectType *o_ptr)
  * @attention オブジェクトのtval、svalに依存したハードコーディング処理がある。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void random_resistance(ObjectType *o_ptr)
+void random_resistance(ItemEntity *o_ptr)
 {
     if (switch_random_art_resistance(o_ptr)) {
         return;
index c16b6da..d3e9d94 100644 (file)
@@ -4,5 +4,5 @@
  * @brief ランダムアーティファクトの耐性付加処理ヘッダ
  */
 
-class ObjectType;
-void random_resistance(ObjectType *o_ptr);
+class ItemEntity;
+void random_resistance(ItemEntity *o_ptr);
index b065378..87d28e7 100644 (file)
@@ -11,7 +11,7 @@
 #include "system/object-type-definition.h"
 #include "util/bit-flags-calculator.h"
 
-static bool random_art_slay_bow(ObjectType *o_ptr)
+static bool random_art_slay_bow(ItemEntity *o_ptr)
 {
     if (o_ptr->tval != ItemKindType::BOW) {
         return false;
@@ -45,7 +45,7 @@ static bool random_art_slay_bow(ObjectType *o_ptr)
     }
 }
 
-static bool random_art_slay_chaos(ObjectType *o_ptr)
+static bool random_art_slay_chaos(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_CHAOTIC)) {
         return false;
@@ -55,7 +55,7 @@ static bool random_art_slay_chaos(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_brand_magical(ObjectType *o_ptr)
+static bool random_art_brand_magical(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BRAND_MAGIC)) {
         return false;
@@ -65,7 +65,7 @@ static bool random_art_brand_magical(ObjectType *o_ptr)
     return one_in_(3);
 }
 
-static bool random_art_slay_vampiric(ObjectType *o_ptr)
+static bool random_art_slay_vampiric(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_VAMPIRIC)) {
         return false;
@@ -75,7 +75,7 @@ static bool random_art_slay_vampiric(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_brand_acid(ObjectType *o_ptr)
+static bool random_art_slay_brand_acid(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BRAND_ACID)) {
         return false;
@@ -85,7 +85,7 @@ static bool random_art_slay_brand_acid(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_brand_elec(ObjectType *o_ptr)
+static bool random_art_slay_brand_elec(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BRAND_ELEC)) {
         return false;
@@ -95,7 +95,7 @@ static bool random_art_slay_brand_elec(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_brand_fire(ObjectType *o_ptr)
+static bool random_art_slay_brand_fire(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BRAND_FIRE)) {
         return false;
@@ -105,7 +105,7 @@ static bool random_art_slay_brand_fire(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_brand_cold(ObjectType *o_ptr)
+static bool random_art_slay_brand_cold(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BRAND_COLD)) {
         return false;
@@ -115,7 +115,7 @@ static bool random_art_slay_brand_cold(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_brand_pois(ObjectType *o_ptr)
+static bool random_art_slay_brand_pois(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_BRAND_POIS) || one_in_(2)) {
         return false;
@@ -125,7 +125,7 @@ static bool random_art_slay_brand_pois(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_animal(ObjectType *o_ptr)
+static bool random_art_slay_animal(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SLAY_ANIMAL)) {
         return false;
@@ -135,7 +135,7 @@ static bool random_art_slay_animal(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_evil(ObjectType *o_ptr)
+static bool random_art_slay_evil(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SLAY_EVIL)) {
         return false;
@@ -145,7 +145,7 @@ static bool random_art_slay_evil(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_undead(ObjectType *o_ptr)
+static bool random_art_slay_undead(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SLAY_UNDEAD)) {
         return false;
@@ -155,7 +155,7 @@ static bool random_art_slay_undead(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool random_art_slay_demon(ObjectType *o_ptr)
+static bool random_art_slay_demon(ItemEntity *o_ptr)
 {
     if (o_ptr->art_flags.has(TR_SLAY_DEMON)) {
         return false;
@@ -165,7 +165,7 @@ static bool random_art_slay_demon(ObjectType *o_ptr)
     return one_in_(2);
 }
 
-static bool switch_random_art_slay(ObjectType *o_ptr)
+static bool switch_random_art_slay(ItemEntity *o_ptr)
 {
     switch (o_ptr->artifact_bias) {
     case BIAS_CHAOS:
@@ -215,7 +215,7 @@ static bool switch_random_art_slay(ObjectType *o_ptr)
  * @attention オブジェクトのtval、svalに依存したハードコーディング処理がある。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void random_slay(ObjectType *o_ptr)
+void random_slay(ItemEntity *o_ptr)
 {
     if (random_art_slay_bow(o_ptr) || switch_random_art_slay(o_ptr)) {
         return;
index e923d5c..dbe3e92 100644 (file)
@@ -4,5 +4,5 @@
  * @brief ランダムアーティファクトのスレイ付加処理ヘッダ
  */
 
-class ObjectType;
-void random_slay(ObjectType *o_ptr);
+class ItemEntity;
+void random_slay(ItemEntity *o_ptr);
index 2ccc41d..9f9b54c 100644 (file)
@@ -39,7 +39,7 @@
  * @param o_ptr アイテムへの参照ポインタ
  * @return 特別なクラス、かつそのクラス特有のアイテムであればFALSE、それ以外はTRUE
  */
-static bool is_leave_special_item(PlayerType *player_ptr, ObjectType *o_ptr)
+static bool is_leave_special_item(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!leave_special) {
         return true;
@@ -71,7 +71,7 @@ static bool is_leave_special_item(PlayerType *player_ptr, ObjectType *o_ptr)
 /*!
  * @brief Automatically destroy items in this grid.
  */
-static bool is_opt_confirm_destroy(PlayerType *player_ptr, ObjectType *o_ptr)
+static bool is_opt_confirm_destroy(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!destroy_items) {
         return false;
@@ -124,7 +124,7 @@ static bool is_opt_confirm_destroy(PlayerType *player_ptr, ObjectType *o_ptr)
     return true;
 }
 
-void auto_destroy_item(PlayerType *player_ptr, ObjectType *o_ptr, int autopick_idx)
+void auto_destroy_item(PlayerType *player_ptr, ItemEntity *o_ptr, int autopick_idx)
 {
     bool destroy = false;
     if (is_opt_confirm_destroy(player_ptr, o_ptr)) {
index 6c23273..8d31f42 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void auto_destroy_item(PlayerType *player_ptr, ObjectType *o_ptr, int autopick_idx);
+void auto_destroy_item(PlayerType *player_ptr, ItemEntity *o_ptr, int autopick_idx);
index a758623..bf17a27 100644 (file)
@@ -324,7 +324,7 @@ bool autopick_new_entry(autopick_type *entry, concptr str, bool allow_default)
 /*!
  * @brief Get auto-picker entry from o_ptr.
  */
-void autopick_entry_from_object(PlayerType *player_ptr, autopick_type *entry, ObjectType *o_ptr)
+void autopick_entry_from_object(PlayerType *player_ptr, autopick_type *entry, ItemEntity *o_ptr)
 {
     /* Assume that object name is to be added */
     bool name = true;
@@ -730,7 +730,7 @@ bool entry_from_choosed_object(PlayerType *player_ptr, autopick_type *entry)
 {
     concptr q = _("どのアイテムを登録しますか? ", "Enter which item? ");
     concptr s = _("アイテムを持っていない。", "You have nothing to enter.");
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, nullptr, q, s, USE_INVEN | USE_FLOOR | USE_EQUIP);
     if (!o_ptr) {
         return false;
index 036c91b..7262e5d 100644 (file)
@@ -3,10 +3,10 @@
 #include "system/angband.h"
 
 struct autopick_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 bool autopick_new_entry(autopick_type *entry, concptr str, bool allow_default);
-void autopick_entry_from_object(PlayerType *player_ptr, autopick_type *entry, ObjectType *o_ptr);
+void autopick_entry_from_object(PlayerType *player_ptr, autopick_type *entry, ItemEntity *o_ptr);
 concptr autopick_line_from_entry(autopick_type *entry);
 concptr autopick_line_from_entry_kill(autopick_type *entry);
 bool entry_from_choosed_object(PlayerType *player_ptr, autopick_type *entry);
index c8fb145..89fb5b0 100644 (file)
@@ -33,7 +33,7 @@
  * A function for Auto-picker/destroyer
  * Examine whether the object matches to the list of keywords or not.
  */
-int find_autopick_list(PlayerType *player_ptr, ObjectType *o_ptr)
+int find_autopick_list(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     GAME_TEXT o_name[MAX_NLEN];
     if (o_ptr->tval == ItemKindType::GOLD) {
@@ -55,11 +55,11 @@ int find_autopick_list(PlayerType *player_ptr, ObjectType *o_ptr)
 /*!
  * @brief Choose an item for search
  */
-bool get_object_for_search(PlayerType *player_ptr, ObjectType **o_handle, concptr *search_strp)
+bool get_object_for_search(PlayerType *player_ptr, ItemEntity **o_handle, concptr *search_strp)
 {
     concptr q = _("どのアイテムを検索しますか? ", "Enter which item? ");
     concptr s = _("アイテムを持っていない。", "You have nothing to enter.");
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, nullptr, q, s, USE_INVEN | USE_FLOOR | USE_EQUIP);
     if (!o_ptr) {
         return false;
@@ -76,7 +76,7 @@ bool get_object_for_search(PlayerType *player_ptr, ObjectType **o_handle, concpt
 /*!
  * @brief Prepare for search by destroyed object
  */
-bool get_destroyed_object_for_search(PlayerType *player_ptr, ObjectType **o_handle, concptr *search_strp)
+bool get_destroyed_object_for_search(PlayerType *player_ptr, ItemEntity **o_handle, concptr *search_strp)
 {
     if (!autopick_last_destroyed_object.k_idx) {
         return false;
@@ -97,7 +97,7 @@ bool get_destroyed_object_for_search(PlayerType *player_ptr, ObjectType **o_hand
  * TERM_YELLOW : Overwrite mode
  * TERM_WHITE : Insert mode
  */
-byte get_string_for_search(PlayerType *player_ptr, ObjectType **o_handle, concptr *search_strp)
+byte get_string_for_search(PlayerType *player_ptr, ItemEntity **o_handle, concptr *search_strp)
 {
     byte color = TERM_YELLOW;
     char buf[MAX_NLEN + 20];
@@ -311,7 +311,7 @@ byte get_string_for_search(PlayerType *player_ptr, ObjectType **o_handle, concpt
 /*!
  * @brief Search next line matches for o_ptr
  */
-void search_for_object(PlayerType *player_ptr, text_body_type *tb, ObjectType *o_ptr, bool forward)
+void search_for_object(PlayerType *player_ptr, text_body_type *tb, ItemEntity *o_ptr, bool forward)
 {
     autopick_type an_entry, *entry = &an_entry;
     GAME_TEXT o_name[MAX_NLEN];
index be76c7b..dd6e0e9 100644 (file)
@@ -2,12 +2,12 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 struct text_body_type;
-int find_autopick_list(PlayerType *player_ptr, ObjectType *o_ptr);
-bool get_object_for_search(PlayerType *player_ptr, ObjectType **o_handle, concptr *search_strp);
-bool get_destroyed_object_for_search(PlayerType *player_ptr, ObjectType **o_handle, concptr *search_strp);
-byte get_string_for_search(PlayerType *player_ptr, ObjectType **o_handle, concptr *search_strp);
-void search_for_object(PlayerType *player_ptr, text_body_type *tb, ObjectType *o_ptr, bool forward);
+int find_autopick_list(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool get_object_for_search(PlayerType *player_ptr, ItemEntity **o_handle, concptr *search_strp);
+bool get_destroyed_object_for_search(PlayerType *player_ptr, ItemEntity **o_handle, concptr *search_strp);
+byte get_string_for_search(PlayerType *player_ptr, ItemEntity **o_handle, concptr *search_strp);
+void search_for_object(PlayerType *player_ptr, text_body_type *tb, ItemEntity *o_ptr, bool forward);
 void search_for_string(text_body_type *tb, concptr search_str, bool forward);
index 5cac53d..fedc734 100644 (file)
@@ -33,7 +33,7 @@
 /*!
  * @brief A function for Auto-picker/destroyer Examine whether the object matches to the entry
  */
-bool is_autopick_match(PlayerType *player_ptr, ObjectType *o_ptr, autopick_type *entry, concptr o_name)
+bool is_autopick_match(PlayerType *player_ptr, ItemEntity *o_ptr, autopick_type *entry, concptr o_name)
 {
     concptr ptr = entry->name.data();
     if (IS_FLG(FLG_UNAWARE) && o_ptr->is_aware()) {
index de672d6..d37da3d 100644 (file)
@@ -3,6 +3,6 @@
 #include "system/angband.h"
 
 struct autopick_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool is_autopick_match(PlayerType *player_ptr, ObjectType *o_ptr, autopick_type *entry, concptr o_name);
+bool is_autopick_match(PlayerType *player_ptr, ItemEntity *o_ptr, autopick_type *entry, concptr o_name);
index 1b2eea7..d3fc545 100644 (file)
@@ -109,7 +109,7 @@ static bool clear_auto_register(PlayerType *player_ptr)
 /*!
  * @brief Automatically register an auto-destroy preference line
  */
-bool autopick_autoregister(PlayerType *player_ptr, ObjectType *o_ptr)
+bool autopick_autoregister(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     autopick_type an_entry, *entry = &an_entry;
     int autopick_registered = find_autopick_list(player_ptr, o_ptr);
index 3eb03b8..f479c69 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool autopick_autoregister(PlayerType *player_ptr, ObjectType *o_ptr);
+bool autopick_autoregister(PlayerType *player_ptr, ItemEntity *o_ptr);
index 4db1096..e6835bd 100644 (file)
@@ -21,7 +21,7 @@ std::vector<autopick_type> autopick_list; /*!< 自動拾い/破壊設定構造
  * When always_pickup is 'yes', we disable auto-destroyer function of
  * auto-picker/destroyer, and do only easy-auto-destroyer.
  */
-ObjectType autopick_last_destroyed_object;
+ItemEntity autopick_last_destroyed_object;
 
 /*!
  * @brief Free memory of lines_list.
@@ -52,7 +52,7 @@ int get_com_id(char key)
 /*!
  * @brief Auto inscription
  */
-void auto_inscribe_item(PlayerType *player_ptr, ObjectType *o_ptr, int idx)
+void auto_inscribe_item(PlayerType *player_ptr, ItemEntity *o_ptr, int idx)
 {
     if (idx < 0 || autopick_list[idx].insc.empty()) {
         return;
index 4a3a20f..5343c37 100644 (file)
@@ -44,7 +44,7 @@ struct chain_str_type {
 /*
  * Data struct for text editor
  */
-class ObjectType;
+class ItemEntity;
 ;
 struct text_body_type {
     int wid, hgt;
@@ -56,7 +56,7 @@ struct text_body_type {
     int mx, my;
     byte mark;
 
-    ObjectType *search_o_ptr;
+    ItemEntity *search_o_ptr;
     concptr search_str;
     concptr last_destroyed;
 
@@ -78,12 +78,12 @@ struct text_body_type {
  *  List for auto-picker/destroyer entries
  */
 extern std::vector<autopick_type> autopick_list;
-extern ObjectType autopick_last_destroyed_object;
+extern ItemEntity autopick_last_destroyed_object;
 
 class PlayerType;
 void free_text_lines(std::vector<concptr> &lines_list);
 int get_com_id(char key);
-void auto_inscribe_item(PlayerType *player_ptr, ObjectType *o_ptr, int idx);
+void auto_inscribe_item(PlayerType *player_ptr, ItemEntity *o_ptr, int idx);
 int count_line(text_body_type *tb);
 
 /*!
index 6c60ebb..e5fe7a5 100644 (file)
@@ -39,7 +39,7 @@
  */
 static void autopick_delayed_alter_aux(PlayerType *player_ptr, INVENTORY_IDX item)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = ref_item(player_ptr, item);
 
     if (o_ptr->k_idx == 0 || !(o_ptr->marked & OM_AUTODESTROY)) {
@@ -88,7 +88,7 @@ void autopick_delayed_alter(PlayerType *player_ptr)
  */
 void autopick_alter_item(PlayerType *player_ptr, INVENTORY_IDX item, bool destroy)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = ref_item(player_ptr, item);
     int idx = find_autopick_list(player_ptr, o_ptr);
     auto_inscribe_item(player_ptr, o_ptr, idx);
index a66ab4c..bef0341 100644 (file)
@@ -54,7 +54,7 @@ void player_wipe_without_name(PlayerType *player_ptr)
     // TODO: キャラ作成からゲーム開始までに  current_floor_ptr を参照しなければならない処理は今後整理して外す。
     player_ptr->current_floor_ptr = &floor_info;
     //! @todo std::make_shared の配列対応版は C++20 から
-    player_ptr->inventory_list = std::shared_ptr<ObjectType[]>{ new ObjectType[INVEN_TOTAL] };
+    player_ptr->inventory_list = std::shared_ptr<ItemEntity[]>{ new ItemEntity[INVEN_TOTAL] };
     for (int i = 0; i < 4; i++) {
         strcpy(player_ptr->history[i], "");
     }
index c2c4142..5dc487a 100644 (file)
@@ -39,9 +39,9 @@
  */
 void wield_all(PlayerType *player_ptr)
 {
-    ObjectType ObjectType_body;
+    ItemEntity ObjectType_body;
     for (INVENTORY_IDX item = INVEN_PACK - 1; item >= 0; item--) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[item];
         if (!o_ptr->k_idx) {
             continue;
@@ -58,7 +58,7 @@ void wield_all(PlayerType *player_ptr)
             continue;
         }
 
-        ObjectType *i_ptr;
+        ItemEntity *i_ptr;
         i_ptr = &ObjectType_body;
         i_ptr->copy_from(o_ptr);
         i_ptr->number = 1;
@@ -82,7 +82,7 @@ void wield_all(PlayerType *player_ptr)
  * @details アイテムを既知のものとした上でwield_all()関数により装備させる。
  * @param o_ptr 処理したいオブジェクト構造体の参照ポインタ
  */
-void add_outfit(PlayerType *player_ptr, ObjectType *o_ptr)
+void add_outfit(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     object_aware(player_ptr, o_ptr);
     object_known(o_ptr);
@@ -91,7 +91,7 @@ void add_outfit(PlayerType *player_ptr, ObjectType *o_ptr)
     wield_all(player_ptr);
 }
 
-static void decide_initial_items(PlayerType *player_ptr, ObjectType *q_ptr)
+static void decide_initial_items(PlayerType *player_ptr, ItemEntity *q_ptr)
 {
     switch (player_ptr->prace) {
     case PlayerRaceType::VAMPIRE:
@@ -147,8 +147,8 @@ static void decide_initial_items(PlayerType *player_ptr, ObjectType *q_ptr)
  */
 void player_outfit(PlayerType *player_ptr)
 {
-    ObjectType *q_ptr;
-    ObjectType forge;
+    ItemEntity *q_ptr;
+    ItemEntity forge;
     q_ptr = &forge;
 
     decide_initial_items(player_ptr, q_ptr);
index b2287a9..4995f78 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void wield_all(PlayerType *player_ptr);
-void add_outfit(PlayerType *player_ptr, ObjectType *o_ptr);
+void add_outfit(PlayerType *player_ptr, ItemEntity *o_ptr);
 void player_outfit(PlayerType *player_ptr);
index faf9e6c..dd208b3 100644 (file)
@@ -369,7 +369,7 @@ void do_cmd_gain_hissatsu(PlayerType *player_ptr)
     OBJECT_IDX item;
     int i, j;
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     concptr q, s;
 
     bool gain = false;
index 886ed33..3f76257 100644 (file)
@@ -27,7 +27,7 @@
 void do_cmd_fire(PlayerType *player_ptr, SPELL_IDX snipe_type)
 {
     OBJECT_IDX item;
-    ObjectType *j_ptr, *ammo_ptr;
+    ItemEntity *j_ptr, *ammo_ptr;
     if (player_ptr->wild_mode) {
         return;
     }
index 6608eab..518ffb8 100644 (file)
@@ -587,7 +587,7 @@ void do_cmd_browse(PlayerType *player_ptr)
     SPELL_IDX spells[64];
     char temp[62 * 4];
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     concptr q, s;
 
@@ -741,7 +741,7 @@ void do_cmd_study(PlayerType *player_ptr)
     /* Spells of realm2 will have an increment of +32 */
     SPELL_IDX spell = -1;
     concptr p = spell_category_name(mp_ptr->spell_book);
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     concptr q, s;
 
     if (!player_ptr->realm1) {
@@ -961,7 +961,7 @@ bool do_cmd_cast(PlayerType *player_ptr)
     MANA_POINT need_mana;
 
     concptr prayer;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     const magic_type *s_ptr;
     concptr q, s;
 
index 5c902c2..98360bb 100644 (file)
@@ -165,10 +165,10 @@ static void bldg_process_command(PlayerType *player_ptr, building_type *bldg, in
         bcost = compare_weapons(player_ptr, bcost);
         break;
     case BACT_ENCHANT_WEAPON:
-        enchant_item(player_ptr, bcost, 1, 1, 0, FuncItemTester(&ObjectType::allow_enchant_melee_weapon));
+        enchant_item(player_ptr, bcost, 1, 1, 0, FuncItemTester(&ItemEntity::allow_enchant_melee_weapon));
         break;
     case BACT_ENCHANT_ARMOR:
-        enchant_item(player_ptr, bcost, 0, 0, 1, FuncItemTester(&ObjectType::is_armour));
+        enchant_item(player_ptr, bcost, 0, 0, 1, FuncItemTester(&ItemEntity::is_armour));
         break;
     case BACT_RECHARGE:
         building_recharge(player_ptr);
@@ -197,7 +197,7 @@ static void bldg_process_command(PlayerType *player_ptr, building_type *bldg, in
         paid = restore_all_status(player_ptr);
         break;
     case BACT_ENCHANT_ARROWS:
-        enchant_item(player_ptr, bcost, 1, 1, 0, FuncItemTester(&ObjectType::is_ammo));
+        enchant_item(player_ptr, bcost, 1, 1, 0, FuncItemTester(&ItemEntity::is_ammo));
         break;
     case BACT_ENCHANT_BOW:
         enchant_item(player_ptr, bcost, 1, 1, 0, TvalItemTester(ItemKindType::BOW));
index dbf9913..84e38f1 100644 (file)
@@ -41,13 +41,13 @@ struct destroy_type {
     QUANTITY amt;
     QUANTITY old_number;
     bool force;
-    ObjectType *o_ptr;
-    ObjectType *q_ptr;
+    ItemEntity *o_ptr;
+    ItemEntity *q_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     char out_val[MAX_NLEN + 40];
 };
 
-static destroy_type *initialize_destroy_type(destroy_type *destroy_ptr, ObjectType *o_ptr)
+static destroy_type *initialize_destroy_type(destroy_type *destroy_ptr, ItemEntity *o_ptr)
 {
     destroy_ptr->amt = 1;
     destroy_ptr->force = false;
@@ -222,7 +222,7 @@ void do_cmd_destroy(PlayerType *player_ptr)
 {
     PlayerClass(player_ptr).break_samurai_stance({ SamuraiStanceType::MUSOU });
 
-    ObjectType forge;
+    ItemEntity forge;
     destroy_type tmp_destroy;
     destroy_type *destroy_ptr = initialize_destroy_type(&tmp_destroy, &forge);
     if (command_arg > 0) {
index cae9645..b064551 100644 (file)
@@ -58,7 +58,7 @@
  * @param o_ptr 食べるオブジェクト
  * @return 鑑定されるならTRUE、されないならFALSE
  */
-bool exe_eat_food_type_object(PlayerType *player_ptr, ObjectType *o_ptr)
+bool exe_eat_food_type_object(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (o_ptr->tval != ItemKindType::FOOD) {
         return false;
@@ -151,7 +151,7 @@ bool exe_eat_food_type_object(PlayerType *player_ptr, ObjectType *o_ptr)
  * @param item オブジェクトのインベントリ番号
  * @return 食べようとしたらTRUE、しなかったらFALSE
  */
-bool exe_eat_charge_of_magic_device(PlayerType *player_ptr, ObjectType *o_ptr, INVENTORY_IDX item)
+bool exe_eat_charge_of_magic_device(PlayerType *player_ptr, ItemEntity *o_ptr, INVENTORY_IDX item)
 {
     if (o_ptr->tval != ItemKindType::STAFF && o_ptr->tval != ItemKindType::WAND) {
         return false;
@@ -185,8 +185,8 @@ bool exe_eat_charge_of_magic_device(PlayerType *player_ptr, ObjectType *o_ptr, I
 
         /* XXX Hack -- unstack if necessary */
         if (o_ptr->tval == ItemKindType::STAFF && (item >= 0) && (o_ptr->number > 1)) {
-            ObjectType forge;
-            ObjectType *q_ptr;
+            ItemEntity forge;
+            ItemEntity *q_ptr;
             q_ptr = &forge;
             q_ptr->copy_from(o_ptr);
 
@@ -295,7 +295,7 @@ void exe_eat_food(PlayerType *player_ptr, INVENTORY_IDX item)
 
     if (PlayerRace(player_ptr).equals(PlayerRaceType::SKELETON)) {
         if (!((o_ptr->sval == SV_FOOD_WAYBREAD) || (o_ptr->sval < SV_FOOD_BISCUIT))) {
-            ObjectType forge;
+            ItemEntity forge;
             auto *q_ptr = &forge;
 
             msg_print(_("食べ物がアゴを素通りして落ちた!", "The food falls through your jaws!"));
index d44ecdd..0c6da96 100644 (file)
 /*!
  * @brief 装備時にアイテムを呪う処理
  */
-static void do_curse_on_equip(OBJECT_IDX slot, ObjectType *o_ptr, PlayerType *player_ptr)
+static void do_curse_on_equip(OBJECT_IDX slot, ItemEntity *o_ptr, PlayerType *player_ptr)
 {
     if (set_anubis_and_chariot(player_ptr) && ((slot == INVEN_MAIN_HAND) || (slot == INVEN_SUB_HAND))) {
 
-        ObjectType *anubis = &(player_ptr->inventory_list[INVEN_MAIN_HAND]);
-        ObjectType *chariot = &(player_ptr->inventory_list[INVEN_SUB_HAND]);
+        ItemEntity *anubis = &(player_ptr->inventory_list[INVEN_MAIN_HAND]);
+        ItemEntity *chariot = &(player_ptr->inventory_list[INVEN_SUB_HAND]);
 
         anubis->curse_flags.set(CurseTraitType::PERSISTENT_CURSE);
         anubis->curse_flags.set(CurseTraitType::HEAVY_CURSE);
@@ -128,9 +128,9 @@ void do_cmd_equip(PlayerType *player_ptr)
 void do_cmd_wield(PlayerType *player_ptr)
 {
     OBJECT_IDX item, slot;
-    ObjectType forge;
-    ObjectType *q_ptr;
-    ObjectType *o_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
+    ItemEntity *o_ptr;
     concptr act;
     GAME_TEXT o_name[MAX_NLEN];
     OBJECT_IDX need_switch_wielding = 0;
@@ -155,7 +155,7 @@ void do_cmd_wield(PlayerType *player_ptr)
         if (has_melee_weapon(player_ptr, INVEN_MAIN_HAND) && has_melee_weapon(player_ptr, INVEN_SUB_HAND)) {
             q = _("どちらの武器と取り替えますか?", "Replace which weapon? ");
             s = _("おっと。", "Oops.");
-            if (!choose_object(player_ptr, &slot, q, s, (USE_EQUIP | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ObjectType::is_melee_weapon))) {
+            if (!choose_object(player_ptr, &slot, q, s, (USE_EQUIP | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ItemEntity::is_melee_weapon))) {
                 return;
             }
 
@@ -168,7 +168,7 @@ void do_cmd_wield(PlayerType *player_ptr)
                    ((o_ptr->tval == ItemKindType::CAPTURE) || (!o_ptr_mh->is_melee_weapon() && !o_ptr_sh->is_melee_weapon()))) {
             q = _("どちらの手に装備しますか?", "Equip which hand? ");
             s = _("おっと。", "Oops.");
-            if (!choose_object(player_ptr, &slot, q, s, (USE_EQUIP), FuncItemTester(&ObjectType::is_wieldable_in_etheir_hand))) {
+            if (!choose_object(player_ptr, &slot, q, s, (USE_EQUIP), FuncItemTester(&ItemEntity::is_wieldable_in_etheir_hand))) {
                 return;
             }
         }
@@ -189,7 +189,7 @@ void do_cmd_wield(PlayerType *player_ptr)
         } else if (o_ptr_mh->k_idx && o_ptr_sh->k_idx) {
             q = _("どちらの手に装備しますか?", "Equip which hand? ");
             s = _("おっと。", "Oops.");
-            if (!choose_object(player_ptr, &slot, q, s, (USE_EQUIP), FuncItemTester(&ObjectType::is_wieldable_in_etheir_hand))) {
+            if (!choose_object(player_ptr, &slot, q, s, (USE_EQUIP), FuncItemTester(&ItemEntity::is_wieldable_in_etheir_hand))) {
                 return;
             }
 
@@ -255,10 +255,10 @@ void do_cmd_wield(PlayerType *player_ptr)
 
     sound(SOUND_WIELD);
     if (need_switch_wielding && !player_ptr->inventory_list[need_switch_wielding].is_cursed()) {
-        ObjectType *slot_o_ptr = &player_ptr->inventory_list[slot];
-        ObjectType *switch_o_ptr = &player_ptr->inventory_list[need_switch_wielding];
-        ObjectType object_tmp;
-        ObjectType *otmp_ptr = &object_tmp;
+        ItemEntity *slot_o_ptr = &player_ptr->inventory_list[slot];
+        ItemEntity *switch_o_ptr = &player_ptr->inventory_list[need_switch_wielding];
+        ItemEntity object_tmp;
+        ItemEntity *otmp_ptr = &object_tmp;
         GAME_TEXT switch_name[MAX_NLEN];
         describe_flavor(player_ptr, switch_name, switch_o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
         otmp_ptr->copy_from(switch_o_ptr);
@@ -354,7 +354,7 @@ void do_cmd_wield(PlayerType *player_ptr)
 void do_cmd_takeoff(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     PlayerClass pc(player_ptr);
     pc.break_samurai_stance({ SamuraiStanceType::MUSOU });
 
index ef5761c..c49682d 100644 (file)
@@ -113,7 +113,7 @@ void do_cmd_drop(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
     int amt = 1;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     PlayerClass(player_ptr).break_samurai_stance({ SamuraiStanceType::MUSOU });
 
     concptr q = _("どのアイテムを落としますか? ", "Drop which item? ");
@@ -151,7 +151,7 @@ void do_cmd_drop(PlayerType *player_ptr)
 void do_cmd_observe(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     concptr q = _("どのアイテムを調べますか? ", "Examine which item? ");
     concptr s = _("調べられるアイテムがない。", "You have nothing to examine.");
@@ -179,7 +179,7 @@ void do_cmd_observe(PlayerType *player_ptr)
 void do_cmd_uninscribe(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     concptr q = _("どのアイテムの銘を消しますか? ", "Un-inscribe which item? ");
     concptr s = _("銘を消せるアイテムがない。", "You have nothing to un-inscribe.");
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT));
@@ -206,7 +206,7 @@ void do_cmd_uninscribe(PlayerType *player_ptr)
 void do_cmd_inscribe(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     char out_val[MAX_INSCRIPTION + 1] = "";
     concptr q = _("どのアイテムに銘を刻みますか? ", "Inscribe which item? ");
@@ -241,7 +241,7 @@ void do_cmd_inscribe(PlayerType *player_ptr)
 void do_cmd_use(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     if (player_ptr->wild_mode || cmd_limit_arena(player_ptr)) {
         return;
     }
@@ -308,7 +308,7 @@ void do_cmd_activate(PlayerType *player_ptr)
 
     concptr q = _("どのアイテムを始動させますか? ", "Activate which item? ");
     concptr s = _("始動できるアイテムを装備していない。", "You have nothing to activate.");
-    if (!choose_object(player_ptr, &item, q, s, (USE_EQUIP | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ObjectType::is_activatable))) {
+    if (!choose_object(player_ptr, &item, q, s, (USE_EQUIP | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ItemEntity::is_activatable))) {
         return;
     }
 
index ed5aae2..38e7dc0 100644 (file)
@@ -39,9 +39,9 @@ void do_cmd_read_scroll(PlayerType *player_ptr)
 
     concptr q = _("どの巻物を読みますか? ", "Read which scroll? ");
     concptr s = _("読める巻物がない。", "You have no scrolls to read.");
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     OBJECT_IDX item;
-    o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ObjectType::is_readable));
+    o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ItemEntity::is_readable));
     if (!o_ptr) {
         return;
     }
index 0d3aa3c..65d8eca 100644 (file)
 static void do_cmd_refill_lamp(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    ObjectType *j_ptr;
+    ItemEntity *o_ptr;
+    ItemEntity *j_ptr;
     concptr q = _("どの油つぼから注ぎますか? ", "Refill with which flask? ");
     concptr s = _("油つぼがない。", "You have no flasks of oil.");
-    o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ObjectType::can_refill_lantern));
+    o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ItemEntity::can_refill_lantern));
     if (!o_ptr) {
         return;
     }
@@ -67,11 +67,11 @@ static void do_cmd_refill_lamp(PlayerType *player_ptr)
 static void do_cmd_refill_torch(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    ObjectType *j_ptr;
+    ItemEntity *o_ptr;
+    ItemEntity *j_ptr;
     concptr q = _("どの松明で明かりを強めますか? ", "Refuel with which torch? ");
     concptr s = _("他に松明がない。", "You have no extra torches.");
-    o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ObjectType::can_refill_torch));
+    o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ItemEntity::can_refill_torch));
     if (!o_ptr) {
         return;
     }
@@ -106,7 +106,7 @@ static void do_cmd_refill_torch(PlayerType *player_ptr)
  */
 void do_cmd_refill(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->inventory_list[INVEN_LITE];
 
     PlayerClass(player_ptr).break_samurai_stance({ SamuraiStanceType::MUSOU });
index cdf36fe..c5db005 100644 (file)
@@ -49,7 +49,7 @@ bool ThrowCommand::do_cmd_throw(int mult, bool boomerang, OBJECT_IDX shuriken)
     PlayerClass pc(this->player_ptr);
     pc.break_samurai_stance({ SamuraiStanceType::MUSOU });
 
-    ObjectType tmp_object;
+    ItemEntity tmp_object;
     ObjectThrowEntity ote(this->player_ptr, &tmp_object, delay_factor, mult, boomerang, shuriken);
     if (!ote.check_can_throw()) {
         return false;
index 19dac4f..2f00d1a 100644 (file)
@@ -166,7 +166,7 @@ void do_cmd_visuals(PlayerType *player_ptr)
                 if (!k_ref.flavor) {
                     o_name = strip_name(k_ref.idx);
                 } else {
-                    ObjectType dummy;
+                    ItemEntity dummy;
                     dummy.prep(k_ref.idx);
                     describe_flavor(player_ptr, char_o_name, &dummy, OD_FORCE_FLAVOR);
                 }
index a7d444b..2ef6a08 100644 (file)
@@ -198,7 +198,7 @@ static void aura_shadow_by_monster_attack(PlayerType *player_ptr, MonsterAttackP
     }
 
     int dam = 1;
-    ObjectType *o_armed_ptr = &player_ptr->inventory_list[INVEN_MAIN_HAND];
+    ItemEntity *o_armed_ptr = &player_ptr->inventory_list[INVEN_MAIN_HAND];
     auto *r_ptr = &monraces_info[monap_ptr->m_ptr->r_idx];
     const EnumClassFlagGroup<MonsterResistanceType> resist_flags = { MonsterResistanceType::RESIST_ALL, MonsterResistanceType::RESIST_DARK };
 
index 91948de..ef6e231 100644 (file)
@@ -78,7 +78,7 @@
  * @param arrow_ptr 矢弾のオブジェクト構造体参照ポインタ
  * @return スナイパーの射撃属性、弓矢の属性を考慮する。デフォルトはGF_PLAYER_SHOOT。
  */
-AttributeFlags shot_attribute(PlayerType *player_ptr, ObjectType *bow_ptr, ObjectType *arrow_ptr, SPELL_IDX snipe_type)
+AttributeFlags shot_attribute(PlayerType *player_ptr, ItemEntity *bow_ptr, ItemEntity *arrow_ptr, SPELL_IDX snipe_type)
 {
     AttributeFlags attribute_flags{};
     attribute_flags.set(AttributeType::PLAYER_SHOOT);
@@ -151,7 +151,7 @@ AttributeFlags shot_attribute(PlayerType *player_ptr, ObjectType *bow_ptr, Objec
  * @return スレイ倍率をかけたダメージ量
  */
 static MULTIPLY calc_shot_damage_with_slay(
-    PlayerType *player_ptr, ObjectType *bow_ptr, ObjectType *arrow_ptr, int tdam, monster_type *monster_ptr, SPELL_IDX snipe_type)
+    PlayerType *player_ptr, ItemEntity *bow_ptr, ItemEntity *arrow_ptr, int tdam, monster_type *monster_ptr, SPELL_IDX snipe_type)
 {
     MULTIPLY mult = 10;
 
@@ -485,7 +485,7 @@ static MULTIPLY calc_shot_damage_with_slay(
  * Note that Bows of "Extra Shots" give an extra shot.
  * </pre>
  */
-void exe_fire(PlayerType *player_ptr, INVENTORY_IDX item, ObjectType *j_ptr, SPELL_IDX snipe_type)
+void exe_fire(PlayerType *player_ptr, INVENTORY_IDX item, ItemEntity *j_ptr, SPELL_IDX snipe_type)
 {
     DIRECTION dir;
     int i;
@@ -495,9 +495,9 @@ void exe_fire(PlayerType *player_ptr, INVENTORY_IDX item, ObjectType *j_ptr, SPE
     int cur_dis, visible;
     PERCENTAGE j;
 
-    ObjectType forge;
-    ObjectType *q_ptr;
-    ObjectType *o_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
+    ItemEntity *o_ptr;
 
     AttributeFlags attribute_flags{};
     attribute_flags.set(AttributeType::PLAYER_SHOOT);
index d23675a..df230f9 100644 (file)
@@ -3,7 +3,7 @@
 #include "system/angband.h"
 
 struct monster_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 bool test_hit_fire(PlayerType *player_ptr, int chance, monster_type *m_ptr, int vis, char *o_name);
 int critical_shot(PlayerType *player_ptr, WEIGHT weight, int plus_ammo, int plus_bow, int dam);
@@ -12,4 +12,4 @@ int bow_tmul(OBJECT_SUBTYPE_VALUE sval);
 int calc_crit_ratio_shot(PlayerType *player_ptr, int plus_ammo, int plus_bow);
 int calc_expect_crit_shot(PlayerType *player_ptr, WEIGHT weight, int plus_ammo, int plus_bow, int dam);
 int calc_expect_crit(PlayerType *player_ptr, WEIGHT weight, int plus, int dam, int16_t meichuu, bool dokubari, bool impact);
-void exe_fire(PlayerType *player_ptr, INVENTORY_IDX item, ObjectType *j_ptr, SPELL_IDX snipe_type);
+void exe_fire(PlayerType *player_ptr, INVENTORY_IDX item, ItemEntity *j_ptr, SPELL_IDX snipe_type);
index d767307..7ce3b2d 100644 (file)
@@ -150,7 +150,7 @@ MULTIPLY mult_brand(PlayerType *player_ptr, MULTIPLY mult, const TrFlags &flgs,
  * Note that most brands and slays are x3, except Slay Animal (x2),\n
  * Slay Evil (x2), and Kill dragon (x5).\n
  */
-int calc_attack_damage_with_slay(PlayerType *player_ptr, ObjectType *o_ptr, int tdam, monster_type *m_ptr, combat_options mode, bool thrown)
+int calc_attack_damage_with_slay(PlayerType *player_ptr, ItemEntity *o_ptr, int tdam, monster_type *m_ptr, combat_options mode, bool thrown)
 {
     auto flgs = object_flags(o_ptr);
     torch_flags(o_ptr, flgs); /* torches has secret flags */
@@ -218,7 +218,7 @@ int calc_attack_damage_with_slay(PlayerType *player_ptr, ObjectType *o_ptr, int
     return tdam * mult / 10;
 }
 
-AttributeFlags melee_attribute(PlayerType *player_ptr, ObjectType *o_ptr, combat_options mode)
+AttributeFlags melee_attribute(PlayerType *player_ptr, ItemEntity *o_ptr, combat_options mode)
 {
     AttributeFlags attribute_flags{};
     attribute_flags.set(AttributeType::PLAYER_MELEE);
index 03ef7ad..9ca9546 100644 (file)
@@ -7,9 +7,9 @@
 #include "object-enchant/tr-flags.h"
 
 struct monster_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 MULTIPLY mult_slaying(PlayerType *player_ptr, MULTIPLY mult, const TrFlags &flgs, monster_type *m_ptr);
 MULTIPLY mult_brand(PlayerType *player_ptr, MULTIPLY mult, const TrFlags &flgs, monster_type *m_ptr);
-int calc_attack_damage_with_slay(PlayerType *player_ptr, ObjectType *o_ptr, int tdam, monster_type *m_ptr, combat_options mode, bool thrown);
-AttributeFlags melee_attribute(PlayerType *player_ptr, ObjectType *o_ptr, combat_options mode);
+int calc_attack_damage_with_slay(PlayerType *player_ptr, ItemEntity *o_ptr, int tdam, monster_type *m_ptr, combat_options mode, bool thrown);
+AttributeFlags melee_attribute(PlayerType *player_ptr, ItemEntity *o_ptr, combat_options mode);
index 6c52654..9a4b3b8 100644 (file)
@@ -54,7 +54,7 @@ static void compact_objects_aux(FloorType *floor_ptr, OBJECT_IDX i1, OBJECT_IDX
  */
 void compact_objects(PlayerType *player_ptr, int size)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     if (size) {
         msg_print(_("アイテム情報を圧縮しています...", "Compacting objects..."));
         player_ptr->redraw |= PR_MAP;
index d4a6131..7de7377 100644 (file)
@@ -248,7 +248,7 @@ void QuestCompletionChecker::make_reward(const Pos2D pos)
 {
     auto dun_level = this->player_ptr->current_floor_ptr->dun_level;
     for (auto i = 0; i < (dun_level / 15) + 1; i++) {
-        ObjectType item;
+        ItemEntity item;
         while (true) {
             item.wipe();
             auto &r_ref = monraces_info[this->m_ptr->r_idx];
@@ -272,7 +272,7 @@ void QuestCompletionChecker::make_reward(const Pos2D pos)
  * 2. 固定アーティファクト以外の矢弾
  * 3. 穴掘りエゴの装備品
  */
-bool QuestCompletionChecker::check_quality(ObjectType &item)
+bool QuestCompletionChecker::check_quality(ItemEntity &item)
 {
     auto is_good_reward = !item.is_cursed();
     is_good_reward &= !item.is_ammo() || (item.is_ammo() && item.is_fixed_artifact());
index c6e8421..8e37971 100644 (file)
@@ -6,7 +6,7 @@
 #include <tuple>
 
 struct monster_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 struct quest_type;
 class QuestCompletionChecker {
@@ -31,5 +31,5 @@ private:
     int count_all_hostile_monsters();
     Pos2D make_stairs(const bool create_stairs);
     void make_reward(const Pos2D pos);
-    bool check_quality(ObjectType &item);
+    bool check_quality(ItemEntity &item);
 };
index 20ae68d..1861fa1 100644 (file)
@@ -271,7 +271,7 @@ void complete_quest(PlayerType *player_ptr, QuestId quest_num)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 入手したオブジェクトの構造体参照ポインタ
  */
-void check_find_art_quest_completion(PlayerType *player_ptr, ObjectType *o_ptr)
+void check_find_art_quest_completion(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     const auto &quest_list = QuestList::get_instance();
     /* Check if completed a quest */
index 2dfe1a4..98ef2e3 100644 (file)
@@ -161,12 +161,12 @@ extern char quest_text[10][80];
 extern int quest_text_line;
 extern QuestId leaving_quest;
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void determine_random_questor(PlayerType *player_ptr, quest_type *q_ptr);
 void record_quest_final_status(quest_type *q_ptr, PLAYER_LEVEL lev, QuestStatusType stat);
 void complete_quest(PlayerType *player_ptr, QuestId quest_num);
-void check_find_art_quest_completion(PlayerType *player_ptr, ObjectType *o_ptr);
+void check_find_art_quest_completion(PlayerType *player_ptr, ItemEntity *o_ptr);
 void quest_discovery(QuestId q_idx);
 QuestId quest_number(PlayerType *player_ptr, DEPTH level);
 QuestId random_quest_number(PlayerType *player_ptr, DEPTH level);
index 31393d3..9a67629 100644 (file)
@@ -669,8 +669,8 @@ static void postprocess_by_taking_photo(PlayerType *player_ptr, effect_monster_t
         return;
     }
 
-    ObjectType *q_ptr;
-    ObjectType forge;
+    ItemEntity *q_ptr;
+    ItemEntity forge;
     q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::STATUE, SV_PHOTO }));
     q_ptr->pval = em_ptr->photo;
index 8ef1448..4efcb70 100644 (file)
@@ -531,7 +531,7 @@ static void decide_item_feeling(flavor_type *flavor_ptr)
  * @param mode 表記に関するオプション指定
  * @return 現在クエスト達成目的のアイテムならばTRUEを返す
  */
-void describe_flavor(PlayerType *player_ptr, char *buf, ObjectType *o_ptr, BIT_FLAGS mode)
+void describe_flavor(PlayerType *player_ptr, char *buf, ItemEntity *o_ptr, BIT_FLAGS mode)
 {
     flavor_type tmp_flavor;
     flavor_type *flavor_ptr = initialize_flavor_type(&tmp_flavor, buf, o_ptr, mode);
index 7c2253d..306f8ce 100644 (file)
@@ -2,6 +2,6 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void describe_flavor(PlayerType *player_ptr, char *buf, ObjectType *o_ptr, BIT_FLAGS mode);
+void describe_flavor(PlayerType *player_ptr, char *buf, ItemEntity *o_ptr, BIT_FLAGS mode);
index 0de2a00..b33c108 100644 (file)
@@ -13,7 +13,7 @@
 #include "util/enum-converter.h"
 #include "util/quarks.h"
 
-flavor_type *initialize_flavor_type(flavor_type *flavor_ptr, char *buf, ObjectType *o_ptr, BIT_FLAGS mode)
+flavor_type *initialize_flavor_type(flavor_type *flavor_ptr, char *buf, ItemEntity *o_ptr, BIT_FLAGS mode)
 {
     flavor_ptr->buf = buf;
     flavor_ptr->o_ptr = o_ptr;
@@ -189,7 +189,7 @@ static bool has_flag_of(const std::vector<flag_insc_table> &fi_vec, const TrFlag
  * @param all TRUEならばベースアイテム上で明らかなフラグは省略する
  * @return ptrと同じアドレス
  */
-char *get_ability_abbreviation(char *short_flavor, ObjectType *o_ptr, bool kanji, bool all)
+char *get_ability_abbreviation(char *short_flavor, ItemEntity *o_ptr, bool kanji, bool all)
 {
     char *prev_ptr = short_flavor;
     auto flgs = object_flags(o_ptr);
@@ -336,7 +336,7 @@ char *get_ability_abbreviation(char *short_flavor, ObjectType *o_ptr, bool kanji
  * @param buff 特性短縮表記を格納する文字列ポインタ
  * @param o_ptr 特性短縮表記を得たいオブジェクト構造体の参照ポインタ
  */
-void get_inscription(char *buff, ObjectType *o_ptr)
+void get_inscription(char *buff, ItemEntity *o_ptr)
 {
     concptr insc = quark_str(o_ptr->inscription);
     char *ptr = buff;
@@ -408,7 +408,7 @@ void get_inscription(char *buff, ObjectType *o_ptr)
  * @details
  * cmd1.c で流用するために object_desc_japanese から移動した。
  */
-char *object_desc_count_japanese(char *t, ObjectType *o_ptr)
+char *object_desc_count_japanese(char *t, ItemEntity *o_ptr)
 {
     t = object_desc_num(t, o_ptr->number);
     switch (o_ptr->tval) {
index 7753abe..bd129cf 100644 (file)
@@ -6,10 +6,10 @@
 #include "object-enchant/tr-flags.h"
 
 class BaseitemInfo;
-class ObjectType;
+class ItemEntity;
 struct flavor_type {
     char *buf;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     BIT_FLAGS mode;
     concptr kindname;
     concptr basenm;
@@ -34,23 +34,23 @@ struct flavor_type {
     char tmp_val2[MAX_NLEN + 10];
     char fake_insc_buf[30];
     TrFlags tr_flags;
-    ObjectType *bow_ptr;
+    ItemEntity *bow_ptr;
     BaseitemInfo *k_ptr;
     BaseitemInfo *flavor_k_ptr;
     int avgdam;
 };
 
 class PlayerType;
-flavor_type *initialize_flavor_type(flavor_type *flavor_ptr, char *buf, ObjectType *o_ptr, BIT_FLAGS mode);
+flavor_type *initialize_flavor_type(flavor_type *flavor_ptr, char *buf, ItemEntity *o_ptr, BIT_FLAGS mode);
 char *object_desc_chr(char *t, char c);
 char *object_desc_str(char *t, concptr s);
 char *object_desc_num(char *t, uint n);
 char *object_desc_int(char *t, int v);
-char *get_ability_abbreviation(char *ptr, ObjectType *o_ptr, bool kanji, bool all);
-void get_inscription(char *buff, ObjectType *o_ptr);
+char *get_ability_abbreviation(char *ptr, ItemEntity *o_ptr, bool kanji, bool all);
+void get_inscription(char *buff, ItemEntity *o_ptr);
 bool has_lite_flag(const TrFlags &flags);
 bool has_dark_flag(const TrFlags &flags);
 
 #ifdef JP
-char *object_desc_count_japanese(char *t, ObjectType *o_ptr);
+char *object_desc_count_japanese(char *t, ItemEntity *o_ptr);
 #endif
index 46d66e5..cb8f70c 100644 (file)
@@ -62,10 +62,10 @@ qtwg_type *initialize_quest_generator_type(qtwg_type *qtwg_ptr, char *buf, int y
  * @param x 配置先X座標
  * @return エラーコード
  */
-static void drop_here(FloorType *floor_ptr, ObjectType *j_ptr, POSITION y, POSITION x)
+static void drop_here(FloorType *floor_ptr, ItemEntity *j_ptr, POSITION y, POSITION x)
 {
     OBJECT_IDX o_idx = o_pop(floor_ptr);
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &floor_ptr->o_list[o_idx];
     o_ptr->copy_from(j_ptr);
     o_ptr->iy = y;
@@ -87,7 +87,7 @@ static void generate_artifact(PlayerType *player_ptr, qtwg_type *qtwg_ptr, const
     }
 
     const auto k_idx = lookup_baseitem_id({ ItemKindType::SCROLL, SV_SCROLL_ACQUIREMENT });
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(k_idx);
     drop_here(player_ptr->current_floor_ptr, q_ptr, *qtwg_ptr->y, *qtwg_ptr->x);
@@ -179,7 +179,7 @@ static void parse_qtw_D(PlayerType *player_ptr, qtwg_type *qtwg_ptr, char *s)
             g_ptr->mimic = g_ptr->feat;
             g_ptr->feat = conv_dungeon_feat(floor_ptr, letter[idx].trap);
         } else if (object_index) {
-            ObjectType tmp_object;
+            ItemEntity tmp_object;
             auto *o_ptr = &tmp_object;
             o_ptr->prep(object_index);
             if (o_ptr->tval == ItemKindType::GOLD) {
index 15fd29a..5ba4992 100644 (file)
@@ -361,7 +361,7 @@ void wipe_generate_random_floor_flags(FloorType *floor_ptr)
 void clear_cave(PlayerType *player_ptr)
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
-    std::fill_n(floor_ptr->o_list.begin(), floor_ptr->o_max, ObjectType{});
+    std::fill_n(floor_ptr->o_list.begin(), floor_ptr->o_max, ItemEntity{});
     floor_ptr->o_max = 1;
     floor_ptr->o_cnt = 0;
 
index 0e99ef9..d51c698 100644 (file)
@@ -70,7 +70,7 @@ static errr get_obj_index_prep(void)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr デバッグ出力するオブジェクトの構造体参照ポインタ
  */
-static void object_mention(PlayerType *player_ptr, ObjectType *o_ptr)
+static void object_mention(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     object_aware(player_ptr, o_ptr);
     object_known(o_ptr);
@@ -98,7 +98,7 @@ static int get_base_floor(FloorType *floor_ptr, BIT_FLAGS mode, std::optional<in
     return floor_ptr->object_level;
 }
 
-static void set_ammo_quantity(ObjectType *j_ptr)
+static void set_ammo_quantity(ItemEntity *j_ptr)
 {
     auto is_ammo = j_ptr->tval == ItemKindType::SPIKE;
     is_ammo |= j_ptr->tval == ItemKindType::SHOT;
@@ -118,7 +118,7 @@ static void set_ammo_quantity(ObjectType *j_ptr)
  * @param rq_mon_level ランダムクエスト討伐対象のレベル。ランダムクエスト以外の生成であれば無効値
  * @return アイテムの生成成功可否
  */
-bool make_object(PlayerType *player_ptr, ObjectType *j_ptr, BIT_FLAGS mode, std::optional<int> rq_mon_level)
+bool make_object(PlayerType *player_ptr, ItemEntity *j_ptr, BIT_FLAGS mode, std::optional<int> rq_mon_level)
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
     auto prob = any_bits(mode, AM_GOOD) ? 10 : 1000;
@@ -163,7 +163,7 @@ bool make_object(PlayerType *player_ptr, ObjectType *j_ptr, BIT_FLAGS mode, std:
  * @details
  * The location must be a legal, clean, floor grid.
  */
-bool make_gold(PlayerType *player_ptr, ObjectType *j_ptr)
+bool make_gold(PlayerType *player_ptr, ItemEntity *j_ptr)
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
     int i = ((randint1(floor_ptr->object_level + 2) + 2) / 2) - 1;
@@ -202,7 +202,7 @@ void delete_all_items_from_floor(PlayerType *player_ptr, POSITION y, POSITION x)
 
     g_ptr = &floor_ptr->grid_array[y][x];
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         o_ptr->wipe();
         floor_ptr->o_cnt--;
@@ -268,7 +268,7 @@ void floor_item_optimize(PlayerType *player_ptr, INVENTORY_IDX item)
  */
 void delete_object_idx(PlayerType *player_ptr, OBJECT_IDX o_idx)
 {
-    ObjectType *j_ptr;
+    ItemEntity *j_ptr;
     auto *floor_ptr = player_ptr->current_floor_ptr;
     excise_object_idx(floor_ptr, o_idx);
     j_ptr = &floor_ptr->o_list[o_idx];
@@ -336,7 +336,7 @@ ObjectIndexList &get_o_idx_list_contains(FloorType *floor_ptr, OBJECT_IDX o_idx)
  * the object can combine, stack, or be placed.  Artifacts will try very\n
  * hard to be placed, including "teleporting" to a useful grid if needed.\n
  */
-OBJECT_IDX drop_near(PlayerType *player_ptr, ObjectType *j_ptr, PERCENTAGE chance, POSITION y, POSITION x)
+OBJECT_IDX drop_near(PlayerType *player_ptr, ItemEntity *j_ptr, PERCENTAGE chance, POSITION y, POSITION x)
 {
     int i, k, d, s;
     POSITION dy, dx;
@@ -394,7 +394,7 @@ OBJECT_IDX drop_near(PlayerType *player_ptr, ObjectType *j_ptr, PERCENTAGE chanc
 
             k = 0;
             for (const auto this_o_idx : g_ptr->o_idx_list) {
-                ObjectType *o_ptr;
+                ItemEntity *o_ptr;
                 o_ptr = &floor_ptr->o_list[this_o_idx];
                 if (object_similar(o_ptr, j_ptr)) {
                     comb = true;
@@ -514,7 +514,7 @@ OBJECT_IDX drop_near(PlayerType *player_ptr, ObjectType *j_ptr, PERCENTAGE chanc
 
     g_ptr = &floor_ptr->grid_array[by][bx];
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if (object_similar(o_ptr, j_ptr)) {
             object_absorb(o_ptr, j_ptr);
@@ -625,7 +625,7 @@ void floor_item_describe(PlayerType *player_ptr, INVENTORY_IDX item)
 /*
  * Choose an item and get auto-picker entry from it.
  */
-ObjectType *choose_object(PlayerType *player_ptr, OBJECT_IDX *idx, concptr q, concptr s, BIT_FLAGS option, const ItemTester &item_tester)
+ItemEntity *choose_object(PlayerType *player_ptr, OBJECT_IDX *idx, concptr q, concptr s, BIT_FLAGS option, const ItemTester &item_tester)
 {
     OBJECT_IDX item;
 
index 3f59fa9..2a78aac 100644 (file)
@@ -7,18 +7,18 @@
 class ObjectIndexList;
 
 class FloorType;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ItemTester;
-bool make_object(PlayerType *player_ptr, ObjectType *j_ptr, BIT_FLAGS mode, std::optional<int> rq_mon_level = std::nullopt);
-bool make_gold(PlayerType *player_ptr, ObjectType *j_ptr);
+bool make_object(PlayerType *player_ptr, ItemEntity *j_ptr, BIT_FLAGS mode, std::optional<int> rq_mon_level = std::nullopt);
+bool make_gold(PlayerType *player_ptr, ItemEntity *j_ptr);
 void delete_all_items_from_floor(PlayerType *player_ptr, POSITION y, POSITION x);
 void floor_item_increase(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER num);
 void floor_item_optimize(PlayerType *player_ptr, INVENTORY_IDX item);
 void delete_object_idx(PlayerType *player_ptr, OBJECT_IDX o_idx);
 void excise_object_idx(FloorType *floor_ptr, OBJECT_IDX o_idx);
 ObjectIndexList &get_o_idx_list_contains(FloorType *floor_ptr, OBJECT_IDX o_idx);
-OBJECT_IDX drop_near(PlayerType *player_ptr, ObjectType *o_ptr, PERCENTAGE chance, POSITION y, POSITION x);
+OBJECT_IDX drop_near(PlayerType *player_ptr, ItemEntity *o_ptr, PERCENTAGE chance, POSITION y, POSITION x);
 void floor_item_charges(FloorType *player_ptr, INVENTORY_IDX item);
 void floor_item_describe(PlayerType *player_ptr, INVENTORY_IDX item);
-ObjectType *choose_object(PlayerType *player_ptr, OBJECT_IDX *idx, concptr q, concptr s, BIT_FLAGS option, const ItemTester &item_tester = AllMatchItemTester());
+ItemEntity *choose_object(PlayerType *player_ptr, OBJECT_IDX *idx, concptr q, concptr s, BIT_FLAGS option, const ItemTester &item_tester = AllMatchItemTester());
index cb82cff..09ae7ca 100644 (file)
@@ -38,7 +38,7 @@ ITEM_NUMBER scan_floor_items(PlayerType *player_ptr, OBJECT_IDX *items, POSITION
 
     ITEM_NUMBER num = 0;
     for (const auto this_o_idx : floor_ptr->grid_array[y][x].o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if ((mode & SCAN_FLOOR_ITEM_TESTER) && !item_tester.okay(o_ptr)) {
             continue;
@@ -102,7 +102,7 @@ COMMAND_CODE show_floor_items(PlayerType *player_ptr, int target_item, POSITION
 {
     COMMAND_CODE i, m;
     int j, k, l;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     char tmp_val[80];
     COMMAND_CODE out_index[23];
index 228faf1..dc32cfd 100644 (file)
@@ -33,8 +33,8 @@ void place_gold(PlayerType *player_ptr, POSITION y, POSITION x)
         return;
     }
 
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     q_ptr = &forge;
     q_ptr->wipe();
     if (!make_gold(player_ptr, q_ptr)) {
@@ -46,7 +46,7 @@ void place_gold(PlayerType *player_ptr, POSITION y, POSITION x)
         return;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &floor_ptr->o_list[o_idx];
     o_ptr->copy_from(q_ptr);
 
@@ -75,8 +75,8 @@ void place_object(PlayerType *player_ptr, POSITION y, POSITION x, BIT_FLAGS mode
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
     auto *g_ptr = &floor_ptr->grid_array[y][x];
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     if (!in_bounds(floor_ptr, y, x) || !cave_drop_bold(floor_ptr, y, x) || !g_ptr->o_idx_list.empty()) {
         return;
     }
@@ -96,7 +96,7 @@ void place_object(PlayerType *player_ptr, POSITION y, POSITION x, BIT_FLAGS mode
         return;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &floor_ptr->o_list[o_idx];
     o_ptr->copy_from(q_ptr);
 
index 277cbf3..daf6abe 100644 (file)
@@ -76,7 +76,7 @@ bool cave_valid_bold(FloorType *floor_ptr, POSITION y, POSITION x)
     }
 
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if (o_ptr->is_artifact()) {
             return false;
index a9f1639..03963bd 100644 (file)
@@ -146,7 +146,7 @@ void process_player_hp_mp(PlayerType *player_ptr)
             }
         }
 
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[INVEN_LITE];
         auto flgs = object_flags(o_ptr);
 
index f6f33c2..d64ae1b 100644 (file)
@@ -66,7 +66,7 @@ static bool is_specific_curse(CurseTraitType flag)
     }
 }
 
-static void choise_cursed_item(CurseTraitType flag, ObjectType *o_ptr, int *choices, int *number, int item_num)
+static void choise_cursed_item(CurseTraitType flag, ItemEntity *o_ptr, int *choices, int *number, int item_num)
 {
     if (!is_specific_curse(flag)) {
         return;
@@ -144,7 +144,7 @@ static void choise_cursed_item(CurseTraitType flag, ObjectType *o_ptr, int *choi
  * @return 該当の呪いが一つでもあった場合にランダムに選ばれた装備品のオブジェクト構造体参照ポインタを返す。\n
  * 呪いがない場合nullptrを返す。
  */
-ObjectType *choose_cursed_obj_name(PlayerType *player_ptr, CurseTraitType flag)
+ItemEntity *choose_cursed_obj_name(PlayerType *player_ptr, CurseTraitType flag)
 {
     int choices[INVEN_TOTAL - INVEN_MAIN_HAND];
     int number = 0;
@@ -177,7 +177,7 @@ static void curse_teleport(PlayerType *player_ptr)
     }
 
     GAME_TEXT o_name[MAX_NLEN];
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     int i_keep = 0, count = 0;
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
@@ -255,7 +255,7 @@ static void multiply_low_curse(PlayerType *player_ptr)
         return;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_cursed_obj_name(player_ptr, CurseTraitType::ADD_L_CURSE);
     auto new_curse = get_curse(0, o_ptr);
     if (o_ptr->curse_flags.has(new_curse)) {
@@ -276,7 +276,7 @@ static void multiply_high_curse(PlayerType *player_ptr)
         return;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_cursed_obj_name(player_ptr, CurseTraitType::ADD_H_CURSE);
     auto new_curse = get_curse(1, o_ptr);
     if (o_ptr->curse_flags.has(new_curse)) {
@@ -297,7 +297,7 @@ static void persist_curse(PlayerType *player_ptr)
         return;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_cursed_obj_name(player_ptr, CurseTraitType::PERSISTENT_CURSE);
     if (o_ptr->curse_flags.has(CurseTraitType::HEAVY_CURSE)) {
         return;
index 0036ad8..ccc2482 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-ObjectType *choose_cursed_obj_name(PlayerType *player_ptr, BIT_FLAGS flag);
+ItemEntity *choose_cursed_obj_name(PlayerType *player_ptr, BIT_FLAGS flag);
 void execute_cursed_items_effect(PlayerType *player_ptr);
index 2240076..b1b20ca 100644 (file)
@@ -29,7 +29,7 @@ void inventory_damage(PlayerType *player_ptr, const ObjectBreaker &breaker, int
 {
     INVENTORY_IDX i;
     int j, amt;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
 
     if (check_multishadow(player_ptr) || player_ptr->current_floor_ptr->inside_arena) {
index 255fe85..d3bc344 100644 (file)
@@ -5,7 +5,7 @@
 /*
  * This seems like a pretty standard "typedef"
  */
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 
 void inventory_damage(PlayerType *player_ptr, const ObjectBreaker &breaker, int perc);
index 4ed943a..0b88334 100644 (file)
@@ -122,9 +122,9 @@ void inven_item_optimize(PlayerType *player_ptr, INVENTORY_IDX item)
  */
 void drop_from_inventory(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER amt)
 {
-    ObjectType forge;
-    ObjectType *q_ptr;
-    ObjectType *o_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     o_ptr = &player_ptr->inventory_list[item];
     if (amt <= 0) {
@@ -167,13 +167,13 @@ void combine_pack(PlayerType *player_ptr)
         combined = false;
 
         for (int i = INVEN_PACK; i > 0; i--) {
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
             o_ptr = &player_ptr->inventory_list[i];
             if (!o_ptr->k_idx) {
                 continue;
             }
             for (int j = 0; j < i; j++) {
-                ObjectType *j_ptr;
+                ItemEntity *j_ptr;
                 j_ptr = &player_ptr->inventory_list[j];
                 if (!j_ptr->k_idx) {
                     continue;
@@ -238,9 +238,9 @@ void reorder_pack(PlayerType *player_ptr)
 {
     int i, j, k;
     int32_t o_value;
-    ObjectType forge;
-    ObjectType *q_ptr;
-    ObjectType *o_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
+    ItemEntity *o_ptr;
     bool flag = false;
 
     for (i = 0; i < INVEN_PACK; i++) {
@@ -300,12 +300,12 @@ void reorder_pack(PlayerType *player_ptr)
  * Note that this code must remove any location/stack information\n
  * from the object once it is placed into the inventory.\n
  */
-int16_t store_item_to_inventory(PlayerType *player_ptr, ObjectType *o_ptr)
+int16_t store_item_to_inventory(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     INVENTORY_IDX i, j, k;
     INVENTORY_IDX n = -1;
 
-    ObjectType *j_ptr;
+    ItemEntity *j_ptr;
     for (j = 0; j < INVEN_PACK; j++) {
         j_ptr = &player_ptr->inventory_list[j];
         if (!j_ptr->k_idx) {
@@ -370,7 +370,7 @@ int16_t store_item_to_inventory(PlayerType *player_ptr, ObjectType *o_ptr)
  * @param o_ptr 拾いたいオブジェクトの構造体参照ポインタ
  * @return 溢れずに済むならTRUEを返す
  */
-bool check_store_item_to_inventory(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool check_store_item_to_inventory(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     if (player_ptr->inven_cnt < INVEN_PACK) {
         return true;
@@ -406,9 +406,9 @@ bool check_store_item_to_inventory(PlayerType *player_ptr, const ObjectType *o_p
 INVENTORY_IDX inven_takeoff(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER amt)
 {
     INVENTORY_IDX slot;
-    ObjectType forge;
-    ObjectType *q_ptr;
-    ObjectType *o_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
+    ItemEntity *o_ptr;
     concptr act;
     GAME_TEXT o_name[MAX_NLEN];
     o_ptr = &player_ptr->inventory_list[item];
index e176e66..246d5d9 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void vary_item(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER num);
 void inven_item_increase(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER num);
@@ -10,6 +10,6 @@ void inven_item_optimize(PlayerType *player_ptr, INVENTORY_IDX item);
 void drop_from_inventory(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER amt);
 void combine_pack(PlayerType *player_ptr);
 void reorder_pack(PlayerType *player_ptr);
-int16_t store_item_to_inventory(PlayerType *player_ptr, ObjectType *o_ptr);
-bool check_store_item_to_inventory(PlayerType *player_ptr, const ObjectType *o_ptr);
+int16_t store_item_to_inventory(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool check_store_item_to_inventory(PlayerType *player_ptr, const ItemEntity *o_ptr);
 INVENTORY_IDX inven_takeoff(PlayerType *player_ptr, INVENTORY_IDX item, ITEM_NUMBER amt);
index eab2751..abd7ee2 100644 (file)
@@ -204,7 +204,7 @@ bool get_item_allow(PlayerType *player_ptr, INVENTORY_IDX item)
         return true;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     if (item >= 0) {
         o_ptr = &player_ptr->inventory_list[item];
     } else {
@@ -286,7 +286,7 @@ bool verify(PlayerType *player_ptr, concptr prompt, INVENTORY_IDX item)
 {
     GAME_TEXT o_name[MAX_NLEN];
     char out_val[MAX_NLEN + 20];
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     if (item >= 0) {
         o_ptr = &player_ptr->inventory_list[item];
     } else {
index 03aae82..f916e98 100644 (file)
@@ -60,7 +60,7 @@ static bool check_item_tag_aux(PlayerType *player_ptr, item_selection_type *item
         return false;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     item_selection_ptr->k = 0 - (*item_selection_ptr->cp);
     o_ptr = &player_ptr->current_floor_ptr->o_list[item_selection_ptr->k];
     if (!item_tester.okay(o_ptr) && ((item_selection_ptr->mode & USE_FULL) == 0)) {
@@ -254,7 +254,7 @@ bool get_item(PlayerType *player_ptr, OBJECT_IDX *cp, concptr pmt, concptr str,
 
     if (item_selection_ptr->floor) {
         for (const auto this_o_idx : player_ptr->current_floor_ptr->grid_array[player_ptr->y][player_ptr->x].o_idx_list) {
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
             o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
             if ((item_tester.okay(o_ptr) || (item_selection_ptr->mode & USE_FULL)) && (o_ptr->marked & OM_FOUND)) {
                 item_selection_ptr->allow_floor = true;
@@ -500,7 +500,7 @@ bool get_item(PlayerType *player_ptr, OBJECT_IDX *cp, concptr pmt, concptr str,
         case '-': {
             if (item_selection_ptr->allow_floor) {
                 for (const auto this_o_idx : player_ptr->current_floor_ptr->grid_array[player_ptr->y][player_ptr->x].o_idx_list) {
-                    ObjectType *o_ptr;
+                    ItemEntity *o_ptr;
                     o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
                     if (!item_tester.okay(o_ptr) && !(item_selection_ptr->mode & USE_FULL)) {
                         continue;
index d841723..5c57e1d 100644 (file)
@@ -21,7 +21,7 @@ void pack_overflow(PlayerType *player_ptr)
     }
 
     GAME_TEXT o_name[MAX_NLEN];
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     update_creature(player_ptr);
     if (!player_ptr->inventory_list[INVEN_PACK].k_idx) {
         return;
index 26d1097..87a36ef 100644 (file)
@@ -86,7 +86,7 @@ static bool py_pickup_floor_aux(PlayerType *player_ptr)
 void py_pickup_floor(PlayerType *player_ptr, bool pickup)
 {
     GAME_TEXT o_name[MAX_NLEN];
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     int floor_num = 0;
     OBJECT_IDX floor_o_idx = 0;
     int can_pickup = 0;
@@ -193,7 +193,7 @@ void describe_pickup_item(PlayerType *player_ptr, OBJECT_IDX o_idx)
     GAME_TEXT o_name[MAX_NLEN];
 #endif
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->current_floor_ptr->o_list[o_idx];
 
 #ifdef JP
@@ -262,7 +262,7 @@ void carry(PlayerType *player_ptr, bool pickup)
 
     for (auto it = g_ptr->o_idx_list.begin(); it != g_ptr->o_idx_list.end();) {
         const OBJECT_IDX this_o_idx = *it++;
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
         GAME_TEXT o_name[MAX_NLEN];
         describe_flavor(player_ptr, o_name, o_ptr, 0);
index 6c956b0..b59ae24 100644 (file)
@@ -20,7 +20,7 @@
  * If player has inscribed the object with "!!", let him know when it's recharged. -LM-
  * @param o_ptr 対象オブジェクトの構造体参照ポインタ
  */
-static void recharged_notice(PlayerType *player_ptr, ObjectType *o_ptr)
+static void recharged_notice(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!o_ptr->inscription) {
         return;
index 6dc3f21..0f8a7a6 100644 (file)
@@ -19,7 +19,7 @@
  * @param art_ptr 記述内容を収めた構造体参照ポインタ
  * Fill in an object description structure for a given object
  */
-static void spoiler_print_randart(ObjectType *o_ptr, obj_desc_list *art_ptr)
+static void spoiler_print_randart(ItemEntity *o_ptr, obj_desc_list *art_ptr)
 {
     pval_info_type *pval_ptr = &art_ptr->pval_info;
     char buf[80];
@@ -52,7 +52,7 @@ static void spoiler_print_randart(ObjectType *o_ptr, obj_desc_list *art_ptr)
  * @param o_ptr ランダムアーティファクトのオブジェクト構造体参照ポインタ
  * @param tval 出力したいランダムアーティファクトの種類
  */
-static void spoil_random_artifact_aux(PlayerType *player_ptr, ObjectType *o_ptr, ItemKindType tval)
+static void spoil_random_artifact_aux(PlayerType *player_ptr, ItemEntity *o_ptr, ItemKindType tval)
 {
     obj_desc_list artifact;
     if (!o_ptr->is_known() || !o_ptr->art_name || o_ptr->tval != tval) {
@@ -71,7 +71,7 @@ static void spoil_random_artifact_aux(PlayerType *player_ptr, ObjectType *o_ptr,
 void spoil_random_artifact(PlayerType *player_ptr, concptr fname)
 {
     store_type *store_ptr;
-    ObjectType *q_ptr;
+    ItemEntity *q_ptr;
     char buf[1024];
     path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname);
     spoiler_file = angband_fopen(buf, "w");
index 5a906b9..f32bd65 100644 (file)
@@ -328,7 +328,7 @@ void InputKeyRequestor::sweep_confirmation_equipments()
     }
 }
 
-void InputKeyRequestor::confirm_command(ObjectType &o_ref, const int caret_command)
+void InputKeyRequestor::confirm_command(ItemEntity &o_ref, const int caret_command)
 {
     auto s = quark_str(o_ref.inscription);
     s = angband_strchr(s, '^');
index 5780c3e..ad8dd90 100644 (file)
@@ -17,7 +17,7 @@ extern TERM_LEN command_gap;
 extern int16_t command_wrk;
 extern int16_t command_new;
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class SpecialMenuContent;
 class InputKeyRequestor {
@@ -48,7 +48,7 @@ private:
     void change_shopping_command();
     int get_caret_command();
     void sweep_confirmation_equipments();
-    void confirm_command(ObjectType &o_ref, const int caret_command);
+    void confirm_command(ItemEntity &o_ref, const int caret_command);
 
     void make_commands_frame();
     std::string switch_special_menu_condition(const SpecialMenuContent &special_menu);
index ce82be9..353e06c 100644 (file)
@@ -63,7 +63,7 @@ static void print_flag(tr_type tr, const TrFlags &flags, FILE *fff)
  * @param tval アイテム主分類番号
  * @return 特殊なアイテムならTRUE
  */
-static bool determine_spcial_item_type(ObjectType *o_ptr, ItemKindType tval)
+static bool determine_spcial_item_type(ItemEntity *o_ptr, ItemKindType tval)
 {
     bool is_special_item_type = (o_ptr->is_wearable() && o_ptr->is_ego()) || ((tval == ItemKindType::AMULET) && (o_ptr->sval == SV_AMULET_RESISTANCE)) || ((tval == ItemKindType::RING) && (o_ptr->sval == SV_RING_LORDLY)) || ((tval == ItemKindType::SHIELD) && (o_ptr->sval == SV_DRAGON_SHIELD)) || ((tval == ItemKindType::HELM) && (o_ptr->sval == SV_DRAGON_HELM)) || ((tval == ItemKindType::GLOVES) && (o_ptr->sval == SV_SET_OF_DRAGON_GLOVES)) || ((tval == ItemKindType::BOOTS) && (o_ptr->sval == SV_PAIR_OF_DRAGON_GREAVE)) || o_ptr->is_artifact();
 
@@ -76,7 +76,7 @@ static bool determine_spcial_item_type(ObjectType *o_ptr, ItemKindType tval)
  * @param tval アイテム主分類番号
  * @return 必要があるならTRUE
  */
-static bool check_item_knowledge(ObjectType *o_ptr, ItemKindType tval)
+static bool check_item_knowledge(ItemEntity *o_ptr, ItemKindType tval)
 {
     if (o_ptr->k_idx == 0) {
         return false;
@@ -100,7 +100,7 @@ static bool check_item_knowledge(ObjectType *o_ptr, ItemKindType tval)
  * @param fff 一時ファイルへの参照ポインタ
  * @todo ここの関数から表示用の関数に移したい
  */
-static void display_identified_resistances_flag(ObjectType *o_ptr, FILE *fff)
+static void display_identified_resistances_flag(ItemEntity *o_ptr, FILE *fff)
 {
     auto flags = object_flags_known(o_ptr);
 
@@ -141,7 +141,7 @@ static void display_identified_resistances_flag(ObjectType *o_ptr, FILE *fff)
  * @param o_ptr アイテムへの参照ポインタ
  * @param where アイテムの場所 (手持ち、家等) を示す文字列への参照ポインタ
  */
-static void do_cmd_knowledge_inventory_aux(PlayerType *player_ptr, FILE *fff, ObjectType *o_ptr, char *where)
+static void do_cmd_knowledge_inventory_aux(PlayerType *player_ptr, FILE *fff, ItemEntity *o_ptr, char *where)
 {
     int i = 0;
     GAME_TEXT o_name[MAX_NLEN];
index e289875..b3185fa 100644 (file)
@@ -64,7 +64,7 @@ void do_cmd_knowledge_artifacts(PlayerType *player_ptr)
         for (POSITION x = 0; x < player_ptr->current_floor_ptr->width; x++) {
             auto *g_ptr = &player_ptr->current_floor_ptr->grid_array[y][x];
             for (const auto this_o_idx : g_ptr->o_idx_list) {
-                ObjectType *o_ptr;
+                ItemEntity *o_ptr;
                 o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
                 if (!o_ptr->is_fixed_artifact()) {
                     continue;
@@ -108,7 +108,7 @@ void do_cmd_knowledge_artifacts(PlayerType *player_ptr)
             continue;
         }
 
-        ObjectType item;
+        ItemEntity item;
         item.prep(bi_id);
         item.fixed_artifact_idx = a_idx;
         item.ident |= IDENT_STORE;
@@ -222,8 +222,8 @@ static void display_object_list(int col, int row, int per_page, IDX object_idx[]
  */
 static void desc_obj_fake(PlayerType *player_ptr, KIND_OBJECT_IDX k_idx)
 {
-    ObjectType *o_ptr;
-    ObjectType ObjectType_body;
+    ItemEntity *o_ptr;
+    ItemEntity ObjectType_body;
     o_ptr = &ObjectType_body;
     o_ptr->wipe();
     o_ptr->prep(k_idx);
index ff52298..38bbe2b 100644 (file)
@@ -102,7 +102,7 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
                 case QuestKindType::FIND_ARTIFACT:
                     if (q_ref.reward_artifact_idx != FixedArtifactId::NONE) {
                         const auto &a_ref = artifacts_info.at(q_ref.reward_artifact_idx);
-                        ObjectType item;
+                        ItemEntity item;
                         auto k_idx = lookup_baseitem_id(a_ref.bi_key);
                         item.prep(k_idx);
                         item.fixed_artifact_idx = q_ref.reward_artifact_idx;
index c2d8ade..3ddf618 100644 (file)
@@ -25,7 +25,7 @@ static errr rd_inventory(PlayerType *player_ptr)
     player_ptr->equip_cnt = 0;
 
     //! @todo std::make_shared の配列対応版は C++20 から
-    player_ptr->inventory_list = std::shared_ptr<ObjectType[]>{ new ObjectType[INVEN_TOTAL] };
+    player_ptr->inventory_list = std::shared_ptr<ItemEntity[]>{ new ItemEntity[INVEN_TOTAL] };
 
     int slot = 0;
     auto item_loader = ItemLoaderFactory::create_loader();
@@ -36,7 +36,7 @@ static errr rd_inventory(PlayerType *player_ptr)
             break;
         }
 
-        ObjectType item;
+        ItemEntity item;
         item_loader->rd_item(&item);
         if (!item.k_idx) {
             return 53;
index ef6042d..f9b1364 100644 (file)
@@ -6,7 +6,7 @@ class ItemLoaderBase {
 public:
     virtual ~ItemLoaderBase() = default;
 
-    virtual void rd_item(ObjectType *o_ptr) = 0;
+    virtual void rd_item(ItemEntity *o_ptr) = 0;
     void load_item(void);
     void load_artifact(void);
 
index 2ba5b02..e7f5469 100644 (file)
@@ -23,7 +23,7 @@
  * @brief アイテムオブジェクトを読み込む(v3.0.0 Savefile ver50まで)
  * @param o_ptr アイテムオブジェクト保存先ポインタ
  */
-void ItemLoader50::rd_item(ObjectType *o_ptr)
+void ItemLoader50::rd_item(ItemEntity *o_ptr)
 {
     if (h_older_than(1, 5, 0, 0)) {
         rd_item_old(o_ptr);
index 4ddc0e3..a0afea3 100644 (file)
@@ -2,9 +2,9 @@
 
 #include "load/item/item-loader-base.h"
 
-class ObjectType;
+class ItemEntity;
 class ItemLoader50 : public ItemLoaderBase {
 public:
     ItemLoader50() = default;
-    void rd_item(ObjectType *o_ptr) override;
+    void rd_item(ItemEntity *o_ptr) override;
 };
index 05229fe..3e4d2ff 100644 (file)
@@ -64,7 +64,7 @@ const int QUEST_ROYAL_CRYPT = 28; // 王家の墓.
  * @brief アイテムオブジェクト1件を読み込む / Read an object
  * @param o_ptr アイテムオブジェクト読み取り先ポインタ
  */
-void rd_item_old(ObjectType *o_ptr)
+void rd_item_old(ItemEntity *o_ptr)
 {
     o_ptr->k_idx = rd_s16b();
 
index 4b1e070..03025fc 100644 (file)
@@ -36,9 +36,9 @@ extern const int OLD_QUEST_WATER_CAVE;
 extern const int QUEST_OLD_CASTLE;
 extern const int QUEST_ROYAL_CRYPT;
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void rd_item_old(ObjectType *o_ptr);
+void rd_item_old(ItemEntity *o_ptr);
 void rd_monster_old(PlayerType *player_ptr, monster_type *m_ptr);
 void set_old_lore(monster_race *r_ptr, BIT_FLAGS f4, const MonsterRaceId r_idx);
 errr rd_dungeon_old(PlayerType *player_ptr);
index 100f21d..0717754 100644 (file)
@@ -27,7 +27,7 @@
  * Also note that it may not correctly "adapt" to "knowledge" bacoming
  * known, the player may have to pick stuff up and drop it again.
  */
-static void home_carry_load(PlayerType *player_ptr, store_type *store_ptr, ObjectType *o_ptr)
+static void home_carry_load(PlayerType *player_ptr, store_type *store_ptr, ItemEntity *o_ptr)
 {
     for (auto i = 0; i < store_ptr->stock_num; i++) {
         auto *j_ptr = &store_ptr->stock[i];
@@ -102,7 +102,7 @@ static void rd_store(PlayerType *player_ptr, int town_number, int store_number)
 
     auto item_loader = ItemLoaderFactory::create_loader();
     for (int j = 0; j < inven_num; j++) {
-        ObjectType item;
+        ItemEntity item;
         item_loader->rd_item(&item);
         auto stock_max = store_get_stock_max(i2enum<StoreSaleType>(store_number));
         if (store_ptr->stock_num >= stock_max) {
index dc32d87..96664e3 100644 (file)
@@ -48,7 +48,7 @@ bool exchange_cash(PlayerType *player_ptr)
 {
     bool change = false;
     GAME_TEXT o_name[MAX_NLEN];
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     for (INVENTORY_IDX i = 0; i <= INVEN_SUB_HAND; i++) {
         o_ptr = &player_ptr->inventory_list[i];
@@ -161,7 +161,7 @@ bool exchange_cash(PlayerType *player_ptr)
 
             char buf[MAX_NLEN + 20];
             INVENTORY_IDX item_new;
-            ObjectType forge;
+            ItemEntity forge;
 
             describe_flavor(player_ptr, o_name, o_ptr, 0);
             sprintf(buf, _("%sを渡しますか?", "Hand %s over? "), o_name);
index 829096d..22c3ac2 100644 (file)
@@ -36,7 +36,7 @@
  * @param from_ptr 修復材料オブジェクトの構造体の参照ポインタ。
  * @return 修復対象になるならTRUEを返す。
  */
-static void give_one_ability_of_object(ObjectType *to_ptr, ObjectType *from_ptr)
+static void give_one_ability_of_object(ItemEntity *to_ptr, ItemEntity *from_ptr)
 {
     auto to_flgs = object_flags(to_ptr);
     auto from_flgs = object_flags(from_ptr);
@@ -104,8 +104,8 @@ static PRICE repair_broken_weapon_aux(PlayerType *player_ptr, PRICE bcost)
     concptr s = _("修復できる折れた武器がありません。", "You have no broken weapon to repair.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_EQUIP), FuncItemTester(&ObjectType::is_broken_weapon));
+    ItemEntity *o_ptr;
+    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_EQUIP), FuncItemTester(&ItemEntity::is_broken_weapon));
     if (!o_ptr) {
         return 0;
     }
@@ -128,8 +128,8 @@ static PRICE repair_broken_weapon_aux(PlayerType *player_ptr, PRICE bcost)
     s = _("材料となる武器がありません。", "You have no material for the repair.");
 
     OBJECT_IDX mater;
-    ObjectType *mo_ptr;
-    mo_ptr = choose_object(player_ptr, &mater, q, s, (USE_INVEN | USE_EQUIP), FuncItemTester(&ObjectType::is_orthodox_melee_weapons));
+    ItemEntity *mo_ptr;
+    mo_ptr = choose_object(player_ptr, &mater, q, s, (USE_INVEN | USE_EQUIP), FuncItemTester(&ItemEntity::is_orthodox_melee_weapons));
     if (!mo_ptr) {
         return 0;
     }
index 468b077..99ba030 100644 (file)
@@ -117,7 +117,7 @@ static void show_weapon_dmg(int r, int c, int mindice, int maxdice, int blows, i
  * Only accurate for the current weapon, because it includes\n
  * the current number of blows for the player.\n
  */
-static void compare_weapon_aux(PlayerType *player_ptr, ObjectType *o_ptr, int col, int r)
+static void compare_weapon_aux(PlayerType *player_ptr, ItemEntity *o_ptr, int col, int r)
 {
     int blow = player_ptr->num_blow[0];
     bool force = false;
@@ -309,7 +309,7 @@ static void compare_weapon_aux(PlayerType *player_ptr, ObjectType *o_ptr, int co
  * Only accurate for the current weapon, because it includes
  * various info about the player's +to_dam and number of blows.
  */
-static void list_weapon(PlayerType *player_ptr, ObjectType *o_ptr, TERM_LEN row, TERM_LEN col)
+static void list_weapon(PlayerType *player_ptr, ItemEntity *o_ptr, TERM_LEN row, TERM_LEN col)
 {
     GAME_TEXT o_name[MAX_NLEN];
     GAME_TEXT tmp_str[80];
@@ -350,9 +350,9 @@ static void list_weapon(PlayerType *player_ptr, ObjectType *o_ptr, TERM_LEN row,
  */
 PRICE compare_weapons(PlayerType *player_ptr, PRICE bcost)
 {
-    ObjectType *o_ptr[2];
-    ObjectType orig_weapon;
-    ObjectType *i_ptr;
+    ItemEntity *o_ptr[2];
+    ItemEntity orig_weapon;
+    ItemEntity *i_ptr;
     TERM_LEN row = 2;
     TERM_LEN wid = 38, mgn = 2;
     bool old_character_xtra = w_ptr->character_xtra;
@@ -369,7 +369,7 @@ PRICE compare_weapons(PlayerType *player_ptr, PRICE bcost)
     concptr s = _("比べるものがありません。", "You have nothing to compare.");
 
     OBJECT_IDX item;
-    o_ptr[0] = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ObjectType::is_orthodox_melee_weapons));
+    o_ptr[0] = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ItemEntity::is_orthodox_melee_weapons));
     if (!o_ptr[0]) {
         screen_load();
         return 0;
@@ -424,7 +424,7 @@ PRICE compare_weapons(PlayerType *player_ptr, PRICE bcost)
         q = _("第二の武器は?", "What is your second weapon? ");
         s = _("比べるものがありません。", "You have nothing to compare.");
         OBJECT_IDX item2;
-        ObjectType *i2_ptr = choose_object(player_ptr, &item2, q, s, (USE_EQUIP | USE_INVEN | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ObjectType::is_orthodox_melee_weapons));
+        ItemEntity *i2_ptr = choose_object(player_ptr, &item2, q, s, (USE_EQUIP | USE_INVEN | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ItemEntity::is_orthodox_melee_weapons));
         if (!i2_ptr) {
             continue;
         }
index 2622c35..3099406 100644 (file)
@@ -33,7 +33,7 @@ bool enchant_item(PlayerType *player_ptr, PRICE cost, HIT_PROB to_hit, int to_da
     concptr s = _("改良できるものがありません。", "You have nothing to improve.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_EQUIP | IGNORE_BOTHHAND_SLOT), item_tester);
     if (!o_ptr) {
         return false;
index 123f209..3ef0346 100644 (file)
@@ -29,7 +29,7 @@ void init_towns(void)
             }
 
             store_ptr->stock_size = store_get_stock_max(sst);
-            store_ptr->stock = std::make_unique<ObjectType[]>(store_ptr->stock_size);
+            store_ptr->stock = std::make_unique<ItemEntity[]>(store_ptr->stock_size);
             if ((sst == StoreSaleType::BLACK) || (sst == StoreSaleType::HOME) || (sst == StoreSaleType::MUSEUM)) {
                 continue;
             }
index 1726aa5..8c91809 100644 (file)
@@ -41,8 +41,8 @@ void building_recharge(PlayerType *player_ptr)
     concptr s = _("魔力を充填すべきアイテムがない。", "You have nothing to recharge.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ObjectType::is_rechargeable));
+    ItemEntity *o_ptr;
+    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ItemEntity::is_rechargeable));
     if (!o_ptr) {
         return;
     }
@@ -185,7 +185,7 @@ void building_recharge_all(PlayerType *player_ptr)
     PRICE price = 0;
     PRICE total_cost = 0;
     for (INVENTORY_IDX i = 0; i < INVEN_PACK; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
 
         if ((o_ptr->tval < ItemKindType::STAFF) || (o_ptr->tval > ItemKindType::ROD)) {
@@ -242,7 +242,7 @@ void building_recharge_all(PlayerType *player_ptr)
     }
 
     for (INVENTORY_IDX i = 0; i < INVEN_PACK; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         BaseitemInfo *k_ptr;
         k_ptr = &baseitems_info[o_ptr->k_idx];
index 72a299d..07ffc78 100644 (file)
@@ -123,7 +123,7 @@ bool create_ammo(PlayerType *player_ptr)
             return true;
         }
 
-        ObjectType forge;
+        ItemEntity forge;
         auto *q_ptr = &forge;
         q_ptr->prep(lookup_baseitem_id({ ItemKindType::SHOT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, player_ptr->lev) + 1 }));
         q_ptr->number = (byte)rand_range(15, 30);
@@ -147,12 +147,12 @@ bool create_ammo(PlayerType *player_ptr)
         concptr q = _("どのアイテムから作りますか? ", "Convert which item? ");
         concptr s = _("材料を持っていない。", "You have no item to convert.");
         OBJECT_IDX item;
-        auto *q_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ObjectType::is_convertible));
+        auto *q_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ItemEntity::is_convertible));
         if (!q_ptr) {
             return false;
         }
 
-        ObjectType forge;
+        ItemEntity forge;
         q_ptr = &forge;
         q_ptr->prep(lookup_baseitem_id({ ItemKindType::ARROW, static_cast<short>(m_bonus(1, player_ptr->lev) + 1) }));
         q_ptr->number = (byte)rand_range(5, 10);
@@ -175,12 +175,12 @@ bool create_ammo(PlayerType *player_ptr)
         concptr q = _("どのアイテムから作りますか? ", "Convert which item? ");
         concptr s = _("材料を持っていない。", "You have no item to convert.");
         OBJECT_IDX item;
-        auto *q_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ObjectType::is_convertible));
+        auto *q_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ItemEntity::is_convertible));
         if (!q_ptr) {
             return false;
         }
 
-        ObjectType forge;
+        ItemEntity forge;
         q_ptr = &forge;
         q_ptr->prep(lookup_baseitem_id({ ItemKindType::BOLT, static_cast<short>(m_bonus(1, player_ptr->lev) + 1) }));
         q_ptr->number = (byte)rand_range(4, 8);
index 4480026..bd2134a 100644 (file)
@@ -11,7 +11,7 @@
 
 void acquire_chaos_weapon(PlayerType *player_ptr)
 {
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     auto dummy = ItemKindType::SWORD;
     OBJECT_SUBTYPE_VALUE dummy2;
index bdb5ca3..e9502c4 100644 (file)
@@ -9,7 +9,7 @@
 
 bool create_ration(PlayerType *player_ptr)
 {
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::FOOD, SV_FOOD_RATION }));
     (void)drop_near(player_ptr, q_ptr, -1, player_ptr->y, player_ptr->x);
index 287e899..388574e 100644 (file)
@@ -34,9 +34,9 @@ bool eat_magic(PlayerType *player_ptr, int power)
     concptr q = _("どのアイテムから魔力を吸収しますか?", "Drain which item? ");
     concptr s = _("魔力を吸収できるアイテムがありません。", "You have nothing to drain.");
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     OBJECT_IDX item;
-    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ObjectType::is_rechargeable));
+    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ItemEntity::is_rechargeable));
     if (!o_ptr) {
         return false;
     }
@@ -73,8 +73,8 @@ bool eat_magic(PlayerType *player_ptr, int power)
                 o_ptr->pval--;
 
                 if ((o_ptr->tval == ItemKindType::STAFF) && (item >= 0) && (o_ptr->number > 1)) {
-                    ObjectType forge;
-                    ObjectType *q_ptr;
+                    ItemEntity forge;
+                    ItemEntity *q_ptr;
                     q_ptr = &forge;
                     q_ptr->copy_from(o_ptr);
 
index 06aa778..2206439 100644 (file)
@@ -24,7 +24,7 @@ bool import_magic_device(PlayerType *player_ptr)
     concptr q = _("どのアイテムの魔力を取り込みますか? ", "Gain power of which item? ");
     concptr s = _("魔力を取り込めるアイテムがない。", "There's nothing with power to absorb.");
     OBJECT_IDX item;
-    auto *o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ObjectType::is_rechargeable));
+    auto *o_ptr = choose_object(player_ptr, &item, q, s, USE_INVEN | USE_FLOOR, FuncItemTester(&ItemEntity::is_rechargeable));
     if (!o_ptr) {
         return false;
     }
index a2ae29f..f95e5f6 100644 (file)
@@ -55,7 +55,7 @@ bool psychometry(PlayerType *player_ptr)
 {
     concptr q = _("どのアイテムを調べますか?", "Meditate on which item? ");
     concptr s = _("調べるアイテムがありません。", "You have nothing appropriate.");
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     OBJECT_IDX item;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT));
     if (!o_ptr) {
index d08b629..0be185b 100644 (file)
@@ -80,7 +80,7 @@ bool kawarimi(PlayerType *player_ptr, bool success)
         return false;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     if (player_ptr->is_dead) {
         return false;
index ce27285..549f651 100644 (file)
@@ -29,7 +29,7 @@ bool bless_weapon(PlayerType *player_ptr)
     concptr s = _("祝福できる武器がありません。", "You have no weapon to bless.");
 
     OBJECT_IDX item;
-    auto *o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT, FuncItemTester(&ObjectType::is_weapon));
+    auto *o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT, FuncItemTester(&ItemEntity::is_weapon));
     if (!o_ptr) {
         return false;
     }
index f049d6b..75f0ffb 100644 (file)
@@ -113,7 +113,7 @@ static void drain_essence(PlayerType *player_ptr)
     auto s = _("抽出できるアイテムがありません。", "You have nothing you can extract from.");
 
     OBJECT_IDX item;
-    auto o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ObjectType::is_weapon_armour_ammo));
+    auto o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), FuncItemTester(&ItemEntity::is_weapon_armour_ammo));
     if (!o_ptr) {
         return;
     }
@@ -308,7 +308,7 @@ static void add_essence(PlayerType *player_ptr, SmithCategoryType mode)
     bool flag;
     char choice;
     concptr q, s;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     char out_val[160];
     GAME_TEXT o_name[MAX_NLEN];
     int menu_line = (use_menu ? 1 : 0);
@@ -522,13 +522,13 @@ static void erase_essence(PlayerType *player_ptr)
 {
     OBJECT_IDX item;
     concptr q, s;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
 
     q = _("どのアイテムのエッセンスを消去しますか?", "Remove from which item? ");
     s = _("エッセンスを付加したアイテムがありません。", "You have nothing with added essence to remove.");
 
-    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ObjectType::is_smith));
+    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ItemEntity::is_smith));
     if (!o_ptr) {
         return;
     }
index b548721..2d38077 100644 (file)
@@ -6,7 +6,7 @@ enum class RaceBlowEffectType;
 enum class RaceBlowMethodType;
 class PlayerType;
 struct monster_type;
-class ObjectType;
+class ItemEntity;
 class MonsterAttackPlayer {
 public:
     MonsterAttackPlayer(PlayerType *player_ptr, short m_idx);
@@ -27,7 +27,7 @@ public:
     GAME_TEXT m_name[MAX_NLEN]{};
     int d_dice = 0;
     int d_side = 0;
-    ObjectType *o_ptr = nullptr;
+    ItemEntity *o_ptr = nullptr;
     bool obvious = false;
     int damage = 0;
     bool blinked = false;
index 3b33ab6..8430b55 100644 (file)
@@ -117,7 +117,7 @@ static void move_item_to_monster(PlayerType *player_ptr, MonsterAttackPlayer *mo
         return;
     }
 
-    ObjectType *j_ptr;
+    ItemEntity *j_ptr;
     j_ptr = &player_ptr->current_floor_ptr->o_list[o_idx];
     j_ptr->copy_from(monap_ptr->o_ptr);
     j_ptr->number = 1;
index c8c49be..85e77ef 100644 (file)
@@ -95,7 +95,7 @@ static void on_defeat_arena_monster(PlayerType *player_ptr, monster_death_type *
     const auto &arena = arena_info[player_ptr->arena_number];
     const auto tval = arena.key.tval();
     if (tval > ItemKindType::NONE) {
-        ObjectType forge;
+        ItemEntity forge;
         auto *q_ptr = &forge;
         q_ptr->prep(lookup_baseitem_id(arena.key));
         ItemMagicApplier(player_ptr, q_ptr, floor_ptr->object_level, AM_NO_FIXED_ART).execute();
@@ -143,7 +143,7 @@ static void drop_corpse(PlayerType *player_ptr, monster_death_type *md_ptr)
         }
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::CORPSE, (corpse ? SV_CORPSE : SV_SKELETON) }));
     ItemMagicApplier(player_ptr, q_ptr, floor_ptr->object_level, AM_NO_FIXED_ART).execute();
@@ -232,7 +232,7 @@ static void drop_artifacts(PlayerType *player_ptr, monster_death_type *md_ptr)
 
     KIND_OBJECT_IDX k_idx = drop_dungeon_final_artifact(player_ptr, md_ptr);
     if (k_idx != 0) {
-        ObjectType forge;
+        ItemEntity forge;
         auto *q_ptr = &forge;
         q_ptr->prep(k_idx);
         ItemMagicApplier(player_ptr, q_ptr, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART | AM_GOOD).execute();
@@ -305,7 +305,7 @@ static void drop_items_golds(PlayerType *player_ptr, monster_death_type *md_ptr,
     int dump_item = 0;
     int dump_gold = 0;
     for (int i = 0; i < drop_numbers; i++) {
-        ObjectType forge;
+        ItemEntity forge;
         auto *q_ptr = &forge;
         q_ptr->wipe();
         if (md_ptr->do_gold && (!md_ptr->do_item || (randint0(100) < 50))) {
index 3d4a5ff..e787b90 100644 (file)
@@ -126,7 +126,7 @@ static void update_object_flags(const TrFlags &flgs, EnumClassFlagGroup<MonsterK
  * @param o_name アイテム名
  * @param this_o_idx モンスターが乗ったオブジェクトID
  */
-static void monster_pickup_object(PlayerType *player_ptr, turn_flags *turn_flags_ptr, const MONSTER_IDX m_idx, ObjectType *o_ptr, const bool is_unpickable_object,
+static void monster_pickup_object(PlayerType *player_ptr, turn_flags *turn_flags_ptr, const MONSTER_IDX m_idx, ItemEntity *o_ptr, const bool is_unpickable_object,
     const POSITION ny, const POSITION nx, const GAME_TEXT *m_name, const GAME_TEXT *o_name, const OBJECT_IDX this_o_idx)
 {
     auto *m_ptr = &player_ptr->current_floor_ptr->m_list[m_idx];
@@ -218,9 +218,9 @@ void update_object_by_monster_movement(PlayerType *player_ptr, turn_flags *turn_
 void monster_drop_carried_objects(PlayerType *player_ptr, monster_type *m_ptr)
 {
     for (auto it = m_ptr->hold_o_idx_list.begin(); it != m_ptr->hold_o_idx_list.end();) {
-        ObjectType forge;
-        ObjectType *o_ptr;
-        ObjectType *q_ptr;
+        ItemEntity forge;
+        ItemEntity *o_ptr;
+        ItemEntity *q_ptr;
         const OBJECT_IDX this_o_idx = *it++;
         o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
         q_ptr = &forge;
index 13da712..d07f780 100644 (file)
@@ -234,7 +234,7 @@ static void warn_unique_generation(PlayerType *player_ptr, MonsterRaceId r_idx)
     }
 
     concptr color;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     if (r_ptr->level > player_ptr->lev + 30) {
         color = _("黒く", "black");
index 87cb4cc..4a17e7d 100644 (file)
@@ -126,7 +126,7 @@ static void on_dead_bloodletter(PlayerType *player_ptr, monster_death_type *md_p
         return;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::SWORD, SV_BLADE_OF_CHAOS }));
     ItemMagicApplier(player_ptr, q_ptr, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART | md_ptr->mo_mode).execute();
@@ -140,7 +140,7 @@ static void on_dead_raal(PlayerType *player_ptr, monster_death_type *md_ptr)
         return;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->wipe();
     if ((floor_ptr->dun_level > 49) && one_in_(5)) {
@@ -202,7 +202,7 @@ static void on_dead_serpent(PlayerType *player_ptr, monster_death_type *md_ptr)
         return;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::HAFTED, SV_GROND }));
     q_ptr->fixed_artifact_idx = FixedArtifactId::GROND;
@@ -221,7 +221,7 @@ static void on_dead_death_sword(PlayerType *player_ptr, monster_death_type *md_p
         return;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::SWORD, randint1(2) }));
     (void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
@@ -237,7 +237,7 @@ static void on_dead_can_angel(PlayerType *player_ptr, monster_death_type *md_ptr
         return;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(lookup_baseitem_id({ ItemKindType::CHEST, SV_CHEST_KANDUME }));
     ItemMagicApplier(player_ptr, q_ptr, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART).execute();
@@ -316,7 +316,7 @@ static void on_dead_dragon_centipede(PlayerType *player_ptr, monster_death_type
  * @return 生成したアイテムが装備品ならtrue、それ以外ならfalse
  * @todo 汎用的に使えそうだがどこかにいいファイルはないか?
  */
-static bool make_equipment(PlayerType *player_ptr, ObjectType *q_ptr, const BIT_FLAGS drop_mode, const bool is_object_hook_null)
+static bool make_equipment(PlayerType *player_ptr, ItemEntity *q_ptr, const BIT_FLAGS drop_mode, const bool is_object_hook_null)
 {
     q_ptr->wipe();
     (void)make_object(player_ptr, q_ptr, drop_mode);
@@ -361,7 +361,7 @@ static bool make_equipment(PlayerType *player_ptr, ObjectType *q_ptr, const BIT_
  */
 static void on_dead_random_artifact(PlayerType *player_ptr, monster_death_type *md_ptr, bool (*object_hook_pf)(KIND_OBJECT_IDX k_idx))
 {
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     auto is_object_hook_null = object_hook_pf == nullptr;
     auto drop_mode = md_ptr->mo_mode | AM_NO_FIXED_ART;
@@ -410,7 +410,7 @@ static void on_dead_manimani(PlayerType *player_ptr, monster_death_type *md_ptr)
 
 static void drop_specific_item_on_dead(PlayerType *player_ptr, monster_death_type *md_ptr, bool (*object_hook_pf)(KIND_OBJECT_IDX k_idx))
 {
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->wipe();
     get_obj_index_hook = object_hook_pf;
index 1bc19ff..ae4295c 100644 (file)
@@ -41,7 +41,7 @@ static void compact_monsters_aux(PlayerType *player_ptr, MONSTER_IDX i1, MONSTER
     g_ptr->m_idx = i2;
 
     for (const auto this_o_idx : m_ptr->hold_o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         o_ptr->held_m_idx = i2;
     }
index 3309401..afc2ef7 100644 (file)
@@ -524,7 +524,7 @@ int monspell_bluemage_damage(PlayerType *player_ptr, MonsterAbilityType ms_type,
 {
     int hp = player_ptr->chp;
     int shoot_dd = 1, shoot_ds = 1, shoot_base = 0;
-    ObjectType *o_ptr = nullptr;
+    ItemEntity *o_ptr = nullptr;
 
     if (has_melee_weapon(player_ptr, INVEN_MAIN_HAND)) {
         o_ptr = &player_ptr->inventory_list[INVEN_MAIN_HAND];
index b5e5fca..430a925 100644 (file)
@@ -271,7 +271,7 @@ void process_world_aux_mutation(PlayerType *player_ptr)
     }
 
     if (player_ptr->muta.has(PlayerMutationType::EAT_LIGHT) && one_in_(3000)) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
 
         msg_print(_("影につつまれた。", "A shadow passes over you."));
         msg_print(nullptr);
@@ -505,7 +505,7 @@ void process_world_aux_mutation(PlayerType *player_ptr)
 bool drop_weapons(PlayerType *player_ptr)
 {
     INVENTORY_IDX slot = 0;
-    ObjectType *o_ptr = nullptr;
+    ItemEntity *o_ptr = nullptr;
 
     if (player_ptr->wild_mode) {
         return false;
index edfafa5..ab1060a 100644 (file)
@@ -22,7 +22,7 @@
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  * @return 発動実行の是非を返す。
  */
-bool activate_dragon_breath(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_dragon_breath(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     DIRECTION dir;
     if (!get_aim_dir(player_ptr, &dir)) {
@@ -60,7 +60,7 @@ bool activate_dragon_breath(PlayerType *player_ptr, ObjectType *o_ptr)
     return true;
 }
 
-bool activate_breath_fire(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_breath_fire(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     DIRECTION dir;
     if (!get_aim_dir(player_ptr, &dir)) {
@@ -75,7 +75,7 @@ bool activate_breath_fire(PlayerType *player_ptr, ObjectType *o_ptr)
     return true;
 }
 
-bool activate_breath_cold(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_breath_cold(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     DIRECTION dir;
     if (!get_aim_dir(player_ptr, &dir)) {
index c7a44d3..47a1baf 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool activate_dragon_breath(PlayerType *player_ptr, ObjectType *o_ptr);
-bool activate_breath_fire(PlayerType *player_ptr, ObjectType *o_ptr);
-bool activate_breath_cold(PlayerType *player_ptr, ObjectType *o_ptr);
+bool activate_dragon_breath(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool activate_breath_fire(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool activate_breath_cold(PlayerType *player_ptr, ItemEntity *o_ptr);
index 8dc797d..99b6e32 100644 (file)
@@ -109,7 +109,7 @@ bool activate_scare(PlayerType *player_ptr)
     return true;
 }
 
-bool activate_aggravation(PlayerType *player_ptr, ObjectType *o_ptr, concptr name)
+bool activate_aggravation(PlayerType *player_ptr, ItemEntity *o_ptr, concptr name)
 {
     if (o_ptr->is_specific_artifact(FixedArtifactId::HYOUSIGI)) {
         msg_print(_("拍子木を打った。", "You beat your wooden clappers."));
@@ -399,13 +399,13 @@ bool activate_recall(PlayerType *player_ptr)
     return recall_player(player_ptr, randint0(21) + 15);
 }
 
-bool activate_tree_creation(PlayerType *player_ptr, ObjectType *o_ptr, concptr name)
+bool activate_tree_creation(PlayerType *player_ptr, ItemEntity *o_ptr, concptr name)
 {
     msg_format(_("%s%sから明るい緑の光があふれ出た...", "The %s%s wells with clear light..."), name, quark_str(o_ptr->art_name));
     return tree_creation(player_ptr, player_ptr->y, player_ptr->x);
 }
 
-bool activate_animate_dead(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_animate_dead(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     msg_print(_("黄金色の光が溢れ出た...", "It emitted a golden light..."));
     if (o_ptr->is_specific_artifact(FixedArtifactId::EXCALIBORG)) {
index 174c23e..3ea629e 100644 (file)
@@ -2,13 +2,13 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 bool activate_sunlight(PlayerType *player_ptr);
 bool activate_confusion(PlayerType *player_ptr);
 bool activate_banish_evil(PlayerType *player_ptr);
 bool activate_scare(PlayerType *player_ptr);
-bool activate_aggravation(PlayerType *player_ptr, ObjectType *o_ptr, concptr name);
+bool activate_aggravation(PlayerType *player_ptr, ItemEntity *o_ptr, concptr name);
 bool activate_stone_mud(PlayerType *player_ptr);
 bool activate_judgement(PlayerType *player_ptr, concptr name);
 bool activate_telekinesis(PlayerType *player_ptr, concptr name);
@@ -40,8 +40,8 @@ bool activate_protection_rune(PlayerType *player_ptr);
 bool activate_protection_elbereth(PlayerType *player_ptr);
 bool activate_light(PlayerType *player_ptr, concptr name);
 bool activate_recall(PlayerType *player_ptr);
-bool activate_tree_creation(PlayerType *player_ptr, ObjectType *o_ptr, concptr name);
-bool activate_animate_dead(PlayerType *player_ptr, ObjectType *o_ptr);
+bool activate_tree_creation(PlayerType *player_ptr, ItemEntity *o_ptr, concptr name);
+bool activate_animate_dead(PlayerType *player_ptr, ItemEntity *o_ptr);
 bool activate_detect_treasure(PlayerType *player_ptr);
 bool activate_create_ammo(PlayerType *player_ptr);
 bool activate_dispel_magic(PlayerType *player_ptr);
index c542bfb..ff25026 100644 (file)
@@ -41,7 +41,7 @@
 #include "timed-effect/player-acceleration.h"
 #include "view/display-messages.h"
 
-bool switch_activation(PlayerType *player_ptr, ObjectType **o_ptr_ptr, const activation_type *const act_ptr, concptr name)
+bool switch_activation(PlayerType *player_ptr, ItemEntity **o_ptr_ptr, const activation_type *const act_ptr, concptr name)
 {
     auto *o_ptr = (*o_ptr_ptr);
 
index 367d386..c303c88 100644 (file)
@@ -3,6 +3,6 @@
 #include "system/angband.h"
 
 struct activation_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool switch_activation(PlayerType *player_ptr, ObjectType **o_ptr_ptr, const activation_type *const act_ptr, concptr name);
+bool switch_activation(PlayerType *player_ptr, ItemEntity **o_ptr_ptr, const activation_type *const act_ptr, concptr name);
index d287bdd..2bc44d5 100644 (file)
@@ -3,11 +3,11 @@
 #include "system/angband.h"
 
 // Activation Execution.
-class ObjectType;
+class ItemEntity;
 struct ae_type {
     DIRECTION dir;
     bool success;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     DEPTH lev;
     int chance;
     int fail;
index a059d76..d3a3416 100644 (file)
@@ -8,7 +8,7 @@
  * @details 純粋仮想関数につき、必要なメンバ変数は派生クラスで設定すること
  */
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class EnchanterBase {
 public:
index 1639202..d834ce4 100644 (file)
@@ -28,7 +28,7 @@
 #include "object/tval-types.h"
 #include "system/object-type-definition.h"
 
-std::unique_ptr<EnchanterBase> EnchanterFactory::create_enchanter(PlayerType *player_ptr, ObjectType *o_ptr, int lev, int power)
+std::unique_ptr<EnchanterBase> EnchanterFactory::create_enchanter(PlayerType *player_ptr, ItemEntity *o_ptr, int lev, int power)
 {
     switch (o_ptr->tval) {
     case ItemKindType::SHOT:
index e755dfd..ab031f1 100644 (file)
@@ -3,11 +3,11 @@
 #include <memory>
 
 class EnchanterBase;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class EnchanterFactory {
 public:
-    static std::unique_ptr<EnchanterBase> create_enchanter(PlayerType *player_ptr, ObjectType *o_ptr, int lev, int power);
+    static std::unique_ptr<EnchanterBase> create_enchanter(PlayerType *player_ptr, ItemEntity *o_ptr, int lev, int power);
 
 private:
     EnchanterFactory() = delete;
index 7dd2c2f..f8887fc 100644 (file)
@@ -27,7 +27,7 @@
  * @param lev 生成基準階
  * @param mode 生成オプション
  */
-ItemMagicApplier::ItemMagicApplier(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH lev, BIT_FLAGS mode)
+ItemMagicApplier::ItemMagicApplier(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH lev, BIT_FLAGS mode)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
     , lev(lev)
index 031adb7..d721f4b 100644 (file)
@@ -3,16 +3,16 @@
 #include "system/angband.h"
 #include <tuple>
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ItemMagicApplier {
 public:
-    ItemMagicApplier(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH lev, BIT_FLAGS mode);
+    ItemMagicApplier(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH lev, BIT_FLAGS mode);
     void execute();
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     DEPTH lev;
     BIT_FLAGS mode;
 
index 29beec0..2d11216 100644 (file)
@@ -102,7 +102,7 @@ int m_bonus(int max, DEPTH level)
  * @details 重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_sustain(ObjectType *o_ptr)
+void one_sustain(ItemEntity *o_ptr)
 {
     switch (randint0(A_MAX)) {
     case 0:
@@ -131,7 +131,7 @@ void one_sustain(ObjectType *o_ptr)
  * @param o_ptr 強化を与えたいオブジェクトの構造体参照ポインタ
  * @return TR_ESP_NONLIVINGがついたならばTRUE
  */
-bool add_esp_strong(ObjectType *o_ptr)
+bool add_esp_strong(ItemEntity *o_ptr)
 {
     bool nonliv = false;
 
@@ -156,7 +156,7 @@ bool add_esp_strong(ObjectType *o_ptr)
  * @param o_ptr 強化を与えたいオブジェクトの構造体参照ポインタ
  * @param extra TRUEならばESPの最大付与数が増える(TRUE -> 3+1d6 / FALSE -> 1d3)
  */
-void add_esp_weak(ObjectType *o_ptr, bool extra)
+void add_esp_weak(ItemEntity *o_ptr, bool extra)
 {
     int i;
     tr_type weak_esp_list[] = {
@@ -191,7 +191,7 @@ void add_esp_weak(ObjectType *o_ptr, bool extra)
  * ESPまたは邪ESPは1d3の種族ESPを得る。
  * 無ESPは3+1d6の種族ESPを得る。
  */
-void add_high_telepathy(ObjectType *o_ptr)
+void add_high_telepathy(ItemEntity *o_ptr)
 {
     if (add_esp_strong(o_ptr)) {
         add_esp_weak(o_ptr, true);
@@ -207,7 +207,7 @@ void add_high_telepathy(ObjectType *o_ptr)
  * 鋭敏の帽子など。
  * ESP、邪ESP、無ESPまたは1d3の種族ESP。
  */
-void add_low_telepathy(ObjectType *o_ptr)
+void add_low_telepathy(ItemEntity *o_ptr)
 {
     if (one_in_(2)) {
         add_esp_strong(o_ptr);
@@ -221,7 +221,7 @@ void add_low_telepathy(ObjectType *o_ptr)
  * @details 候補は火炎、冷気、電撃、酸のいずれかであり、重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_ele_resistance(ObjectType *o_ptr)
+void one_ele_resistance(ItemEntity *o_ptr)
 {
     switch (randint0(4)) {
     case 0:
@@ -244,7 +244,7 @@ void one_ele_resistance(ObjectType *o_ptr)
  * @details 候補は1/7の確率で毒、6/7の確率で火炎、冷気、電撃、酸のいずれか(one_ele_resistance()のコール)であり、重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_dragon_ele_resistance(ObjectType *o_ptr)
+void one_dragon_ele_resistance(ItemEntity *o_ptr)
 {
     if (one_in_(7)) {
         o_ptr->art_flags.set(TR_RES_POIS);
@@ -258,7 +258,7 @@ void one_dragon_ele_resistance(ObjectType *o_ptr)
  * @details 重複の抑止はない。候補は毒、閃光、暗黒、破片、盲目、混乱、地獄、因果混乱、カオス、劣化、恐怖、時間逆転、水、呪力のいずれか。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_high_resistance(ObjectType *o_ptr)
+void one_high_resistance(ItemEntity *o_ptr)
 {
     switch (randint0(15)) {
     case 0:
@@ -313,7 +313,7 @@ void one_high_resistance(ObjectType *o_ptr)
  * @brief ドラゴン装備にランダムな耐性を与える
  * @param o_ptr 強化を与えたいオブジェクトの構造体参照ポインタ
  */
-void dragon_resist(ObjectType *o_ptr)
+void dragon_resist(ItemEntity *o_ptr)
 {
     do {
         if (one_in_(4)) {
@@ -330,7 +330,7 @@ void dragon_resist(ObjectType *o_ptr)
  * をコールする。重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_resistance(ObjectType *o_ptr)
+void one_resistance(ItemEntity *o_ptr)
 {
     if (one_in_(3)) {
         one_ele_resistance(o_ptr);
@@ -345,7 +345,7 @@ void one_resistance(ObjectType *o_ptr)
  * 重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_ability(ObjectType *o_ptr)
+void one_ability(ItemEntity *o_ptr)
 {
     switch (randint0(10)) {
     case 0:
@@ -385,7 +385,7 @@ void one_ability(ObjectType *o_ptr)
  * ドラゴン、人間、善良、ユニークESPのいずれかであり、重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_low_esp(ObjectType *o_ptr)
+void one_low_esp(ItemEntity *o_ptr)
 {
     switch (randint1(10)) {
     case 1:
@@ -427,7 +427,7 @@ void one_low_esp(ObjectType *o_ptr)
  * whileループによる構造で能力的に強力なものほど確率を落としている。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_activation(ObjectType *o_ptr)
+void one_activation(ItemEntity *o_ptr)
 {
     RandomArtActType type = RandomArtActType::NONE;
     PERCENTAGE chance = 0;
@@ -547,7 +547,7 @@ void one_activation(ObjectType *o_ptr)
  * ランダム付加そのものに重複の抑止はない。
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  */
-void one_lordly_high_resistance(ObjectType *o_ptr)
+void one_lordly_high_resistance(ItemEntity *o_ptr)
 {
     switch (randint0(13)) {
     case 0:
@@ -596,7 +596,7 @@ void one_lordly_high_resistance(ObjectType *o_ptr)
  * @brief オブジェクトの重量を軽くする
  * @param o_ptr オブジェクト情報への参照ポインタ
  */
-void make_weight_ligten(ObjectType *o_ptr)
+void make_weight_ligten(ItemEntity *o_ptr)
 {
     o_ptr->weight = (2 * baseitems_info[o_ptr->k_idx].weight / 3);
 }
@@ -605,7 +605,7 @@ void make_weight_ligten(ObjectType *o_ptr)
  * @brief オブジェクトの重量を重くする
  * @param o_ptr オブジェクト情報への参照ポインタ
  */
-void make_weight_heavy(ObjectType *o_ptr)
+void make_weight_heavy(ItemEntity *o_ptr)
 {
     o_ptr->weight = (4 * baseitems_info[o_ptr->k_idx].weight / 3);
 }
@@ -616,7 +616,7 @@ void make_weight_heavy(ObjectType *o_ptr)
  * @details
  * 1/4を加算。最低+5を保証。
  */
-void add_xtra_ac(ObjectType *o_ptr)
+void add_xtra_ac(ItemEntity *o_ptr)
 {
     o_ptr->ac += std::max<short>(5, o_ptr->ac / 4);
 }
index f186427..0de3219 100644 (file)
@@ -2,22 +2,22 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 int m_bonus(int max, DEPTH level);
-void one_sustain(ObjectType *o_ptr);
-bool add_esp_strong(ObjectType *o_ptr);
-void add_esp_weak(ObjectType *o_ptr, bool extra);
-void add_high_telepathy(ObjectType *o_ptr);
-void add_low_telepathy(ObjectType *o_ptr);
-void one_dragon_ele_resistance(ObjectType *o_ptr);
-void one_high_resistance(ObjectType *o_ptr);
-void one_ele_resistance(ObjectType *o_ptr);
-void dragon_resist(ObjectType *o_ptr);
-void one_resistance(ObjectType *o_ptr);
-void one_low_esp(ObjectType *o_ptr);
-void one_ability(ObjectType *o_ptr);
-void one_activation(ObjectType *o_ptr);
-void one_lordly_high_resistance(ObjectType *o_ptr);
-void make_weight_ligten(ObjectType *o_ptr);
-void make_weight_heavy(ObjectType *o_ptr);
-void add_xtra_ac(ObjectType *o_ptr);
+void one_sustain(ItemEntity *o_ptr);
+bool add_esp_strong(ItemEntity *o_ptr);
+void add_esp_weak(ItemEntity *o_ptr, bool extra);
+void add_high_telepathy(ItemEntity *o_ptr);
+void add_low_telepathy(ItemEntity *o_ptr);
+void one_dragon_ele_resistance(ItemEntity *o_ptr);
+void one_high_resistance(ItemEntity *o_ptr);
+void one_ele_resistance(ItemEntity *o_ptr);
+void dragon_resist(ItemEntity *o_ptr);
+void one_resistance(ItemEntity *o_ptr);
+void one_low_esp(ItemEntity *o_ptr);
+void one_ability(ItemEntity *o_ptr);
+void one_activation(ItemEntity *o_ptr);
+void one_lordly_high_resistance(ItemEntity *o_ptr);
+void make_weight_ligten(ItemEntity *o_ptr);
+void make_weight_heavy(ItemEntity *o_ptr);
+void add_xtra_ac(ItemEntity *o_ptr);
index 0e22667..aa0f1ad 100644 (file)
@@ -26,7 +26,7 @@ const EnumClassFlagGroup<CurseTraitType> TRC_HEAVY_MASK({ CurseTraitType::TY_CUR
  * @param o_ptr 呪いをかけられる装備オブジェクトの構造体参照ポインタ
  * @return 与える呪いのID
  */
-CurseTraitType get_curse(int power, ObjectType *o_ptr)
+CurseTraitType get_curse(int power, ItemEntity *o_ptr)
 {
     CurseTraitType new_curse;
 
index 14574ea..71813c8 100644 (file)
@@ -2,8 +2,8 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 enum class CurseTraitType;
-CurseTraitType get_curse(int power, ObjectType *o_ptr);
+CurseTraitType get_curse(int power, ItemEntity *o_ptr);
 void curse_equipment(PlayerType *player_ptr, PERCENTAGE chance, PERCENTAGE heavy_chance);
index 1013fab..3cd0ffd 100644 (file)
@@ -60,7 +60,7 @@ EgoType get_random_ego(byte slot, bool good)
  * @param o_ptr オブジェクト情報への参照ポインタ
  * @param gen_flags 生成フラグ(参照渡し)
  */
-static void ego_invest_curse(ObjectType *o_ptr, EnumClassFlagGroup<ItemGenerationTraitType> &gen_flags)
+static void ego_invest_curse(ItemEntity *o_ptr, EnumClassFlagGroup<ItemGenerationTraitType> &gen_flags)
 {
     if (gen_flags.has(ItemGenerationTraitType::CURSED)) {
         o_ptr->curse_flags.set(CurseTraitType::CURSED);
@@ -87,7 +87,7 @@ static void ego_invest_curse(ObjectType *o_ptr, EnumClassFlagGroup<ItemGeneratio
  * @param o_ptr オブジェクト情報への参照ポインタ
  * @param gen_flags 生成フラグ(参照渡し)
  */
-static void ego_invest_extra_abilities(ObjectType *o_ptr, EnumClassFlagGroup<ItemGenerationTraitType> &gen_flags)
+static void ego_invest_extra_abilities(ItemEntity *o_ptr, EnumClassFlagGroup<ItemGenerationTraitType> &gen_flags)
 {
     if (gen_flags.has(ItemGenerationTraitType::ONE_SUSTAIN)) {
         one_sustain(o_ptr);
@@ -158,7 +158,7 @@ static void ego_invest_extra_abilities(ObjectType *o_ptr, EnumClassFlagGroup<Ite
  * @param e_ptr エゴアイテム情報への参照ポインタ
  * @param gen_flags 生成フラグ(参照渡し)
  */
-static void ego_interpret_extra_abilities(ObjectType *o_ptr, ego_item_type *e_ptr, EnumClassFlagGroup<ItemGenerationTraitType> &gen_flags)
+static void ego_interpret_extra_abilities(ItemEntity *o_ptr, ego_item_type *e_ptr, EnumClassFlagGroup<ItemGenerationTraitType> &gen_flags)
 {
     for (auto &xtra : e_ptr->xtra_flags) {
         if (xtra.mul == 0 || xtra.dev == 0) {
@@ -208,7 +208,7 @@ static int randint1_signed(const int n)
  * @param flag フラグ
  * @return 持つならtrue、持たないならfalse
  */
-static bool ego_has_flag(ObjectType *o_ptr, ego_item_type *e_ptr, tr_type flag)
+static bool ego_has_flag(ItemEntity *o_ptr, ego_item_type *e_ptr, tr_type flag)
 {
     if (o_ptr->art_flags.has(flag)) {
         return true;
@@ -226,7 +226,7 @@ static bool ego_has_flag(ObjectType *o_ptr, ego_item_type *e_ptr, tr_type flag)
  * @param e_ptr エゴアイテム情報への参照ポインタ
  * @param lev 生成階
  */
-void ego_invest_extra_attack(ObjectType *o_ptr, ego_item_type *e_ptr, DEPTH lev)
+void ego_invest_extra_attack(ItemEntity *o_ptr, ego_item_type *e_ptr, DEPTH lev)
 {
     if (!o_ptr->is_weapon()) {
         o_ptr->pval = e_ptr->max_pval >= 0 ? 1 : randint1_signed(e_ptr->max_pval);
@@ -266,7 +266,7 @@ void ego_invest_extra_attack(ObjectType *o_ptr, ego_item_type *e_ptr, DEPTH lev)
  * @param o_ptr オブジェクト情報への参照ポインタ
  * @param lev 生成階
  */
-void apply_ego(ObjectType *o_ptr, DEPTH lev)
+void apply_ego(ItemEntity *o_ptr, DEPTH lev)
 {
     auto e_ptr = &egos_info[o_ptr->ego_idx];
     auto gen_flags = e_ptr->gen_flags;
index 12d6a32..25ee3f7 100644 (file)
@@ -272,7 +272,7 @@ struct ego_item_type {
 
 extern std::map<EgoType, ego_item_type> egos_info;
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 EgoType get_random_ego(byte slot, bool good);
-void apply_ego(ObjectType *o_ptr, DEPTH lev);
+void apply_ego(ItemEntity *o_ptr, DEPTH lev);
index 6b80daf..e46c9d4 100644 (file)
@@ -23,7 +23,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-AmuletEnchanter::AmuletEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+AmuletEnchanter::AmuletEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
     , level(level)
index 6930150..e908561 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/enchanter-base.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class AmuletEnchanter : public EnchanterBase {
 public:
-    AmuletEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    AmuletEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     virtual ~AmuletEnchanter() = default;
     void apply_magic() override;
 
@@ -19,7 +19,7 @@ protected:
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     DEPTH level;
     int power;
 };
index 32c23bc..cfc719d 100644 (file)
@@ -6,7 +6,7 @@
 #include "system/object-type-definition.h"
 #include "system/player-type-definition.h"
 
-LiteEnchanter::LiteEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, int power)
+LiteEnchanter::LiteEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, int power)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
     , power(power)
index 38d3229..1836f09 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/enchanter-base.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class LiteEnchanter : public EnchanterBase {
 public:
-    LiteEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, int power);
+    LiteEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, int power);
     void apply_magic() override;
 
 protected:
@@ -18,7 +18,7 @@ protected:
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     int power;
 
     void add_dark_flag();
index eaefd40..543cbac 100644 (file)
@@ -37,7 +37,7 @@
  * @param power 生成ランク
  * @details power > 2はデバッグ専用.
  */
-OtherItemsEnchanter::OtherItemsEnchanter(PlayerType *player_ptr, ObjectType *o_ptr)
+OtherItemsEnchanter::OtherItemsEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
 {
index 14fa362..1826d9b 100644 (file)
@@ -2,11 +2,11 @@
 
 #include "object-enchant/enchanter-base.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class OtherItemsEnchanter : public EnchanterBase {
 public:
-    OtherItemsEnchanter(PlayerType *player_ptr, ObjectType *o_ptr);
+    OtherItemsEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr);
     void apply_magic() override;
 
     void sval_enchant() override{};
@@ -16,7 +16,7 @@ public:
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     void enchant_wand_staff();
     void generate_figurine();
index c1947f0..1eb8920 100644 (file)
@@ -23,7 +23,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-RingEnchanter::RingEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+RingEnchanter::RingEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
     , level(level)
index 8caf23a..024087a 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/enchanter-base.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class RingEnchanter : public EnchanterBase {
 public:
-    RingEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    RingEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     virtual ~RingEnchanter() = default;
     void apply_magic() override;
 
@@ -19,7 +19,7 @@ protected:
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     DEPTH level;
     int power;
 };
index 6f3bbeb..ff7c3de 100644 (file)
@@ -14,7 +14,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-AbstractProtectorEnchanter::AbstractProtectorEnchanter(ObjectType *o_ptr, DEPTH level, int power)
+AbstractProtectorEnchanter::AbstractProtectorEnchanter(ItemEntity *o_ptr, DEPTH level, int power)
     : o_ptr(o_ptr)
     , power(power)
 {
index f9ad9a6..5626ae4 100644 (file)
@@ -3,13 +3,13 @@
 #include "object-enchant/enchanter-base.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class AbstractProtectorEnchanter : public EnchanterBase {
 public:
     virtual ~AbstractProtectorEnchanter() = default;
 
 protected:
-    AbstractProtectorEnchanter(ObjectType *o_ptr, DEPTH level, int power);
-    ObjectType *o_ptr;
+    AbstractProtectorEnchanter(ItemEntity *o_ptr, DEPTH level, int power);
+    ItemEntity *o_ptr;
     int power;
 };
index 17a5d49..13bc9e3 100644 (file)
@@ -20,7 +20,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-ArmorEnchanter::ArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+ArmorEnchanter::ArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index 8fab837..e3ea538 100644 (file)
@@ -3,14 +3,14 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ArmorEnchanter : public AbstractProtectorEnchanter {
 public:
     virtual ~ArmorEnchanter() = default;
 
 protected:
-    ArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    ArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
 
     PlayerType *player_ptr;
 
index 17003ac..49f1219 100644 (file)
@@ -20,7 +20,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-BootsEnchanter::BootsEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+BootsEnchanter::BootsEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index b04f535..8cd63e7 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class BootsEnchanter : public AbstractProtectorEnchanter {
 public:
-    BootsEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    BootsEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index dc2a171..f4d5deb 100644 (file)
@@ -18,7 +18,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-CloakEnchanter::CloakEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+CloakEnchanter::CloakEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index 3ae975b..b0a8eff 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class CloakEnchanter : public AbstractProtectorEnchanter {
 public:
-    CloakEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    CloakEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index 23ee590..12e42f2 100644 (file)
@@ -18,7 +18,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-CrownEnchanter::CrownEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+CrownEnchanter::CrownEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index 4a11dfc..8ab327f 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class CrownEnchanter : public AbstractProtectorEnchanter {
 public:
-    CrownEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    CrownEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index 6c9d215..c4c724a 100644 (file)
@@ -17,7 +17,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-DragonArmorEnchanter::DragonArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+DragonArmorEnchanter::DragonArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index 1f5d297..45ba86d 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class DragonArmorEnchanter : public AbstractProtectorEnchanter {
 public:
-    DragonArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    DragonArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index de1dd90..72d8126 100644 (file)
@@ -20,7 +20,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-GlovesEnchanter::GlovesEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+GlovesEnchanter::GlovesEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index 6bd2e87..012b5a6 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class GlovesEnchanter : public AbstractProtectorEnchanter {
 public:
-    GlovesEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    GlovesEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index c150391..0da2d59 100644 (file)
@@ -13,7 +13,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-HardArmorEnchanter::HardArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+HardArmorEnchanter::HardArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : ArmorEnchanter{ player_ptr, o_ptr, level, power }
 {
 }
index c8ab6c1..dff2e0c 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/apply-magic-armor.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class HardArmorEnchanter : public ArmorEnchanter {
 public:
-    HardArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    HardArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index 22a6ec3..476e9aa 100644 (file)
@@ -20,7 +20,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-HelmEnchanter::HelmEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+HelmEnchanter::HelmEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index c3d97c7..50c1bb2 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class HelmEnchanter : public AbstractProtectorEnchanter {
 public:
-    HelmEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    HelmEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index 87ccbda..f6661c1 100644 (file)
@@ -20,7 +20,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-ShieldEnchanter::ShieldEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+ShieldEnchanter::ShieldEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractProtectorEnchanter{ o_ptr, level, power }
     , player_ptr(player_ptr)
 {
index 2926982..01c233c 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/abstract-protector-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ShieldEnchanter : public AbstractProtectorEnchanter {
 public:
-    ShieldEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    ShieldEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index 3152eb1..5710295 100644 (file)
@@ -19,7 +19,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-SoftArmorEnchanter::SoftArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+SoftArmorEnchanter::SoftArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : ArmorEnchanter{ player_ptr, o_ptr, level, power }
 {
 }
index 4b210b2..998c44e 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/protector/apply-magic-armor.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class SoftArmorEnchanter : public ArmorEnchanter {
 public:
-    SoftArmorEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    SoftArmorEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index aeef385..ee0a7a2 100644 (file)
@@ -56,7 +56,7 @@ static void print_vorpal_message(player_attack_type *pa_ptr, const int magnifica
  * @brief チェンソーのノイズ音を表示する
  * @param o_ptr チェンソーへの参照ポインタ
  */
-static void print_chainsword_noise(ObjectType *o_ptr)
+static void print_chainsword_noise(ItemEntity *o_ptr)
 {
     if (!o_ptr->is_specific_artifact(FixedArtifactId::CHAINSWORD) || one_in_(2)) {
         return;
index 5d2f7c2..eccaf8d 100644 (file)
@@ -4,7 +4,7 @@
 #include "sv-definition/sv-weapon-types.h"
 #include "system/object-type-definition.h"
 
-AbstractWeaponEnchanter::AbstractWeaponEnchanter(ObjectType *o_ptr, DEPTH level, int power)
+AbstractWeaponEnchanter::AbstractWeaponEnchanter(ItemEntity *o_ptr, DEPTH level, int power)
     : o_ptr(o_ptr)
     , level(level)
     , power(power)
index b5c284b..397ddf9 100644 (file)
@@ -3,14 +3,14 @@
 #include "object-enchant/enchanter-base.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class AbstractWeaponEnchanter : public EnchanterBase {
 public:
     virtual ~AbstractWeaponEnchanter() = default;
 
 protected:
-    AbstractWeaponEnchanter(ObjectType *o_ptr, DEPTH level, int power);
-    ObjectType *o_ptr;
+    AbstractWeaponEnchanter(ItemEntity *o_ptr, DEPTH level, int power);
+    ItemEntity *o_ptr;
     DEPTH level;
     int power;
     bool should_skip = false;
index 797cb1c..72f17ff 100644 (file)
@@ -18,7 +18,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-ArrowEnchanter::ArrowEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+ArrowEnchanter::ArrowEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractWeaponEnchanter(o_ptr, level, power)
     , player_ptr(player_ptr)
 {
index c5e95c4..80091f6 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/weapon/abstract-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ArrowEnchanter : public AbstractWeaponEnchanter {
 public:
-    ArrowEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    ArrowEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index ea7e5cb..10483e2 100644 (file)
@@ -16,7 +16,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-BowEnchanter::BowEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+BowEnchanter::BowEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractWeaponEnchanter(o_ptr, level, power)
     , player_ptr(player_ptr)
 {
index 2e517f0..3042e6f 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/weapon/abstract-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class BowEnchanter : public AbstractWeaponEnchanter {
 public:
-    BowEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    BowEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index 9bdec38..128d521 100644 (file)
@@ -16,7 +16,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-DiggingEnchanter::DiggingEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+DiggingEnchanter::DiggingEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractWeaponEnchanter(o_ptr, level, power)
     , player_ptr(player_ptr)
 {
index 322761f..a3a50cf 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/weapon/abstract-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class DiggingEnchanter : public AbstractWeaponEnchanter {
 public:
-    DiggingEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    DiggingEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
     void apply_magic() override;
 
 protected:
index aa5db76..d4e4d53 100644 (file)
@@ -18,7 +18,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-HaftedEnchanter::HaftedEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+HaftedEnchanter::HaftedEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : MeleeWeaponEnchanter(player_ptr, o_ptr, level, power)
 {
 }
index 8c283fe..0e80dac 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/weapon/melee-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class HaftedEnchanter : public MeleeWeaponEnchanter {
 public:
-    HaftedEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    HaftedEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
 
     void apply_magic() override;
 
index 148a585..f4f6754 100644 (file)
@@ -17,7 +17,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-PolearmEnchanter::PolearmEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+PolearmEnchanter::PolearmEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : MeleeWeaponEnchanter(player_ptr, o_ptr, level, power)
 {
 }
index 1ea4011..5c229bc 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/weapon/melee-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class PolearmEnchanter : public MeleeWeaponEnchanter {
 public:
-    PolearmEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    PolearmEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
 
     void apply_magic() override;
 
index f79838d..c8dae93 100644 (file)
@@ -19,7 +19,7 @@
  * @param level 生成基準階
  * @param power 生成ランク
  */
-SwordEnchanter::SwordEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+SwordEnchanter::SwordEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : MeleeWeaponEnchanter(player_ptr, o_ptr, level, power)
 {
 }
index 8605359..a24db23 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/weapon/melee-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class SwordEnchanter : public MeleeWeaponEnchanter {
 public:
-    SwordEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    SwordEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
 
     void apply_magic() override;
 
index 2a0075c..7bf0562 100644 (file)
@@ -8,7 +8,7 @@
 #include "artifact/random-art-generator.h"
 #include "system/object-type-definition.h"
 
-MeleeWeaponEnchanter::MeleeWeaponEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power)
+MeleeWeaponEnchanter::MeleeWeaponEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power)
     : AbstractWeaponEnchanter(o_ptr, level, power)
     , player_ptr(player_ptr)
 {
index e5e4755..52e09ef 100644 (file)
@@ -3,7 +3,7 @@
 #include "object-enchant/weapon/abstract-weapon-enchanter.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class MeleeWeaponEnchanter : public AbstractWeaponEnchanter {
 public:
@@ -12,7 +12,7 @@ public:
     void apply_magic() override;
 
 protected:
-    MeleeWeaponEnchanter(PlayerType *player_ptr, ObjectType *o_ptr, DEPTH level, int power);
+    MeleeWeaponEnchanter(PlayerType *player_ptr, ItemEntity *o_ptr, DEPTH level, int power);
 
     PlayerType *player_ptr;
 
index 90b5c45..9b3721e 100644 (file)
@@ -11,7 +11,7 @@
  * @param o_ptr 判定するオブジェクトの構造体参照ポインタ
  * @return オブジェクトが防具として装備できるならTRUEを返す。
  */
-bool item_tester_hook_wear(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool item_tester_hook_wear(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     if ((o_ptr->tval == ItemKindType::SOFT_ARMOR) && (o_ptr->sval == SV_ABUNAI_MIZUGI)) {
         if (player_ptr->psex == SEX_MALE) {
index 8d4c8b0..a2cd8ed 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool item_tester_hook_wear(PlayerType *player_ptr, const ObjectType *o_ptr);
+bool item_tester_hook_wear(PlayerType *player_ptr, const ItemEntity *o_ptr);
index a50f9ab..c4763ca 100644 (file)
@@ -23,7 +23,7 @@
  * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ
  * @return 食べることが可能ならばTRUEを返す
  */
-bool item_tester_hook_eatable(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool item_tester_hook_eatable(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     if (o_ptr->tval == ItemKindType::FOOD) {
         return true;
@@ -50,7 +50,7 @@ bool item_tester_hook_eatable(PlayerType *player_ptr, const ObjectType *o_ptr)
  * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ
  * @return 飲むことが可能ならばTRUEを返す
  */
-bool item_tester_hook_quaff(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool item_tester_hook_quaff(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     if (o_ptr->tval == ItemKindType::POTION) {
         return true;
@@ -69,7 +69,7 @@ bool item_tester_hook_quaff(PlayerType *player_ptr, const ObjectType *o_ptr)
  * @param o_ptr 破壊可能かを確認したいオブジェクトの構造体参照ポインタ
  * @return オブジェクトが破壊可能ならばTRUEを返す
  */
-bool can_player_destroy_object(PlayerType *player_ptr, ObjectType *o_ptr)
+bool can_player_destroy_object(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     /* Artifacts cannot be destroyed */
     if (!o_ptr->is_artifact()) {
index 87c5bf7..ff25fb9 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool item_tester_hook_eatable(PlayerType *player_ptr, const ObjectType *o_ptr);
-bool item_tester_hook_quaff(PlayerType *player_ptr, const ObjectType *o_ptr);
-bool can_player_destroy_object(PlayerType *player_ptr, ObjectType *o_ptr);
+bool item_tester_hook_eatable(PlayerType *player_ptr, const ItemEntity *o_ptr);
+bool item_tester_hook_quaff(PlayerType *player_ptr, const ItemEntity *o_ptr);
+bool can_player_destroy_object(PlayerType *player_ptr, ItemEntity *o_ptr);
index 6b7b1ee..1242a1d 100644 (file)
@@ -18,7 +18,7 @@
  * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ
  * @return 利用可能ならばTRUEを返す
  */
-bool item_tester_hook_use(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool item_tester_hook_use(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     if (o_ptr->tval == player_ptr->tval_ammo) {
         return true;
@@ -56,7 +56,7 @@ bool item_tester_hook_use(PlayerType *player_ptr, const ObjectType *o_ptr)
  * @param o_ptr 判定したいオブ会ジェクトの構造体参照ポインタ
  * @return 学習できる魔道書ならばTRUEを返す
  */
-bool item_tester_learn_spell(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool item_tester_learn_spell(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     int32_t choices = realm_choices2[enum2i(player_ptr->pclass)];
     PlayerClass pc(player_ptr);
@@ -86,7 +86,7 @@ bool item_tester_learn_spell(PlayerType *player_ptr, const ObjectType *o_ptr)
  * @param o_ptr 判定したいオブジェクトの構造体参照ポインタ
  * @return オブジェクトが高位の魔法書ならばTRUEを返す
  */
-bool item_tester_high_level_book(const ObjectType *o_ptr)
+bool item_tester_high_level_book(const ItemEntity *o_ptr)
 {
     if ((o_ptr->tval == ItemKindType::LIFE_BOOK) || (o_ptr->tval == ItemKindType::SORCERY_BOOK) || (o_ptr->tval == ItemKindType::NATURE_BOOK) || (o_ptr->tval == ItemKindType::CHAOS_BOOK) || (o_ptr->tval == ItemKindType::DEATH_BOOK) || (o_ptr->tval == ItemKindType::TRUMP_BOOK) || (o_ptr->tval == ItemKindType::CRAFT_BOOK) || (o_ptr->tval == ItemKindType::DEMON_BOOK) || (o_ptr->tval == ItemKindType::CRUSADE_BOOK) || (o_ptr->tval == ItemKindType::MUSIC_BOOK) || (o_ptr->tval == ItemKindType::HEX_BOOK)) {
         if (o_ptr->sval > 1) {
index b8a2778..a6c7326 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool item_tester_hook_use(PlayerType *player_ptr, const ObjectType *o_ptr);
-bool item_tester_learn_spell(PlayerType *player_ptr, const ObjectType *o_ptr);
-bool item_tester_high_level_book(const ObjectType *o_ptr);
+bool item_tester_hook_use(PlayerType *player_ptr, const ItemEntity *o_ptr);
+bool item_tester_learn_spell(PlayerType *player_ptr, const ItemEntity *o_ptr);
+bool item_tester_high_level_book(const ItemEntity *o_ptr);
index 2c0b9ae..66d00c7 100644 (file)
@@ -10,7 +10,7 @@
  * @param o_ptr 判定するアイテムの情報参照ポインタ
  * @return 並ならばTRUEを返す
  */
-bool object_is_nameless_weapon_armour(const ObjectType *o_ptr)
+bool object_is_nameless_weapon_armour(const ItemEntity *o_ptr)
 {
     /* Require weapon or armour */
     if (!o_ptr->is_weapon_armour_ammo()) {
@@ -30,7 +30,7 @@ bool object_is_nameless_weapon_armour(const ObjectType *o_ptr)
  * @param o_ptr 判定するアイテムの情報参照ポインタ
  * @return 実際に未鑑定ならばTRUEを返す
  */
-bool object_is_not_identified(const ObjectType *o_ptr)
+bool object_is_not_identified(const ItemEntity *o_ptr)
 {
     return !o_ptr->is_known();
 }
@@ -40,7 +40,7 @@ bool object_is_not_identified(const ObjectType *o_ptr)
  * @param o_ptr 判定するアイテムの情報参照ポインタ
  * @return 実際に未鑑定の武器防具ならばTRUEを返す
  */
-bool object_is_not_identified_weapon_armor(const ObjectType *o_ptr)
+bool object_is_not_identified_weapon_armor(const ItemEntity *o_ptr)
 {
     if (!object_is_not_identified(o_ptr)) {
         return false;
@@ -54,7 +54,7 @@ bool object_is_not_identified_weapon_armor(const ObjectType *o_ptr)
  * @param o_ptr 判定するアイテムの情報参照ポインタ
  * @return 実際に未*鑑定*ならばTRUEを返す
  */
-bool object_is_not_fully_identified(const ObjectType *o_ptr)
+bool object_is_not_fully_identified(const ItemEntity *o_ptr)
 {
     return !o_ptr->is_known() || !o_ptr->is_fully_known();
 }
@@ -64,7 +64,7 @@ bool object_is_not_fully_identified(const ObjectType *o_ptr)
  * @param o_ptr 判定するアイテムの情報参照ポインタ
  * @return 実際に未*鑑定*の武器防具ならばTRUEを返す
  */
-bool object_is_not_fully_identified_weapon_armour(const ObjectType *o_ptr)
+bool object_is_not_fully_identified_weapon_armour(const ItemEntity *o_ptr)
 {
     if (!object_is_not_fully_identified(o_ptr)) {
         return false;
index 2a2b88f..2578cff 100644 (file)
@@ -1,8 +1,8 @@
 #pragma once
 
-class ObjectType;
-bool object_is_nameless_weapon_armour(const ObjectType *o_ptr);
-bool object_is_not_identified(const ObjectType *o_ptr);
-bool object_is_not_identified_weapon_armor(const ObjectType *o_ptr);
-bool object_is_not_fully_identified(const ObjectType *o_ptr);
-bool object_is_not_fully_identified_weapon_armour(const ObjectType *o_ptr);
+class ItemEntity;
+bool object_is_nameless_weapon_armour(const ItemEntity *o_ptr);
+bool object_is_not_identified(const ItemEntity *o_ptr);
+bool object_is_not_identified_weapon_armor(const ItemEntity *o_ptr);
+bool object_is_not_fully_identified(const ItemEntity *o_ptr);
+bool object_is_not_fully_identified_weapon_armour(const ItemEntity *o_ptr);
index 916abf0..d2a919e 100644 (file)
@@ -19,7 +19,7 @@
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  * @return オブジェクトが報酬対象になるならTRUEを返す
  */
-bool object_is_bounty(PlayerType *player_ptr, ObjectType *o_ptr)
+bool object_is_bounty(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (o_ptr->tval != ItemKindType::CORPSE) {
         return false;
@@ -46,7 +46,7 @@ bool object_is_bounty(PlayerType *player_ptr, ObjectType *o_ptr)
  * @param o_ptr 特性短縮表記を得たいオブジェクト構造体の参照ポインタ
  * @return 現在クエスト達成目的のアイテムならばTRUEを返す。
  */
-bool object_is_quest_target(QuestId quest_idx, ObjectType *o_ptr)
+bool object_is_quest_target(QuestId quest_idx, ItemEntity *o_ptr)
 {
     if (!inside_quest(quest_idx)) {
         return false;
index 01787fa..6fa8b78 100644 (file)
@@ -3,7 +3,7 @@
 #include "dungeon/quest.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool object_is_bounty(PlayerType *player_ptr, ObjectType *o_ptr);
-bool object_is_quest_target(QuestId quest_idx, ObjectType *o_ptr);
+bool object_is_bounty(PlayerType *player_ptr, ItemEntity *o_ptr);
+bool object_is_quest_target(QuestId quest_idx, ItemEntity *o_ptr);
index 5447eaa..09660e1 100644 (file)
@@ -14,7 +14,7 @@
  * @param o_ptr 対象のオブジェクト構造体ポインタ
  * @return オブジェクトが適正武器ならばTRUEを返す
  */
-bool object_is_favorite(PlayerType *player_ptr, const ObjectType *o_ptr)
+bool object_is_favorite(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     /* Only melee weapons match */
     if (!(o_ptr->tval == ItemKindType::POLEARM || o_ptr->tval == ItemKindType::SWORD || o_ptr->tval == ItemKindType::DIGGING || o_ptr->tval == ItemKindType::HAFTED)) {
index 478933a..a17f156 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool object_is_favorite(PlayerType *player_ptr, const ObjectType *o_ptr);
+bool object_is_favorite(PlayerType *player_ptr, const ItemEntity *o_ptr);
index dcf1f13..3149971 100644 (file)
@@ -48,7 +48,7 @@ QuaffEffects::QuaffEffects(PlayerType *player_ptr)
 {
 }
 
-bool QuaffEffects::influence(const ObjectType &o_ref)
+bool QuaffEffects::influence(const ItemEntity &o_ref)
 {
     if (o_ref.tval != ItemKindType::POTION) {
         return false;
index 8fda61e..068c350 100644 (file)
@@ -1,12 +1,12 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class QuaffEffects {
 public:
     QuaffEffects(PlayerType *player_ptr);
 
-    bool influence(const ObjectType &o_ref);
+    bool influence(const ItemEntity &o_ref);
 
 private:
     PlayerType *player_ptr;
index 15daf77..e4589bd 100644 (file)
@@ -111,7 +111,7 @@ bool ObjectQuaffEntity::can_quaff()
     return ItemUseChecker(this->player_ptr).check_stun(_("朦朧としていて瓶の蓋を開けられなかった!", "You are too stunned to quaff it!"));
 }
 
-ObjectType ObjectQuaffEntity::copy_object(const INVENTORY_IDX item)
+ItemEntity ObjectQuaffEntity::copy_object(const INVENTORY_IDX item)
 {
     auto *tmp_o_ptr = ref_item(this->player_ptr, item);
     auto o_val = *tmp_o_ptr;
@@ -119,7 +119,7 @@ ObjectType ObjectQuaffEntity::copy_object(const INVENTORY_IDX item)
     return o_val;
 }
 
-void ObjectQuaffEntity::moisten(const ObjectType &o_ref)
+void ObjectQuaffEntity::moisten(const ItemEntity &o_ref)
 {
     switch (PlayerRace(this->player_ptr).food()) {
     case PlayerRaceFoodType::WATER:
@@ -148,7 +148,7 @@ void ObjectQuaffEntity::moisten(const ObjectType &o_ref)
     }
 }
 
-void ObjectQuaffEntity::change_virtue_as_quaff(const ObjectType &o_ref)
+void ObjectQuaffEntity::change_virtue_as_quaff(const ItemEntity &o_ref)
 {
     if (o_ref.is_aware()) {
         return;
index 069aab2..9daa7d6 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ObjectQuaffEntity {
 public:
@@ -16,7 +16,7 @@ private:
 
     bool can_influence();
     bool can_quaff();
-    ObjectType copy_object(const INVENTORY_IDX item);
-    void moisten(const ObjectType &o_ref);
-    void change_virtue_as_quaff(const ObjectType &o_ref);
+    ItemEntity copy_object(const INVENTORY_IDX item);
+    void moisten(const ItemEntity &o_ref);
+    void change_virtue_as_quaff(const ItemEntity &o_ref);
 };
index 95af4d3..a24d7ea 100644 (file)
@@ -15,7 +15,7 @@
 #include "term/screen-processor.h"
 #include "util/angband-files.h"
 
-ParchmentReadExecutor::ParchmentReadExecutor(PlayerType *player_ptr, ObjectType *o_ptr)
+ParchmentReadExecutor::ParchmentReadExecutor(PlayerType *player_ptr, ItemEntity *o_ptr)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
 {
index 3cd1618..b9b3bb4 100644 (file)
@@ -3,14 +3,14 @@
 #include "object-use/read/read-executor-base.h"
 
 class PlayerType;
-class ObjectType;
+class ItemEntity;
 class ParchmentReadExecutor : public ReadExecutorBase {
 public:
-    ParchmentReadExecutor(PlayerType *player_ptr, ObjectType *o_ptr);
+    ParchmentReadExecutor(PlayerType *player_ptr, ItemEntity *o_ptr);
     bool read() override;
     bool is_identified() const override;
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 };
index 2a54ada..54c783e 100644 (file)
@@ -90,7 +90,7 @@ bool ObjectReadEntity::can_read() const
     return ItemUseChecker(this->player_ptr).check_stun(_("朦朧としていて読めなかった!", "You too stunned to read it!"));
 }
 
-void ObjectReadEntity::change_virtue_as_read(ObjectType &o_ref)
+void ObjectReadEntity::change_virtue_as_read(ItemEntity &o_ref)
 {
     if (o_ref.is_aware()) {
         return;
@@ -101,7 +101,7 @@ void ObjectReadEntity::change_virtue_as_read(ObjectType &o_ref)
     chg_virtue(this->player_ptr, V_KNOWLEDGE, -1);
 }
 
-void ObjectReadEntity::gain_exp_from_item_use(ObjectType *o_ptr, bool is_identified)
+void ObjectReadEntity::gain_exp_from_item_use(ItemEntity *o_ptr, bool is_identified)
 {
     if (!is_identified || o_ptr->is_aware()) {
         return;
index c82a88b..c8e4f53 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ObjectReadEntity {
 public:
@@ -16,6 +16,6 @@ private:
     INVENTORY_IDX item;
 
     bool can_read() const;
-    void change_virtue_as_read(ObjectType &o_ref);
-    void gain_exp_from_item_use(ObjectType *o_ptr, bool is_identified);
+    void change_virtue_as_read(ItemEntity &o_ref);
+    void gain_exp_from_item_use(ItemEntity *o_ptr, bool is_identified);
 };
index f4b3b30..36f8b85 100644 (file)
@@ -7,7 +7,7 @@
 #include "object/tval-types.h"
 #include "system/object-type-definition.h"
 
-std::unique_ptr<ReadExecutorBase> ReadExecutorFactory::create(PlayerType *player_ptr, ObjectType *o_ptr, bool known)
+std::unique_ptr<ReadExecutorBase> ReadExecutorFactory::create(PlayerType *player_ptr, ItemEntity *o_ptr, bool known)
 {
     if (o_ptr->tval == ItemKindType::SCROLL) {
         return std::make_unique<ScrollReadExecutor>(player_ptr, o_ptr, known);
index 0fded1b..8dff9f7 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-use/read/read-executor-base.h"
 #include <memory>
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ReadExecutorFactory {
 public:
-    static std::unique_ptr<ReadExecutorBase> create(PlayerType *player_ptr, ObjectType *o_ptr, bool known);
+    static std::unique_ptr<ReadExecutorBase> create(PlayerType *player_ptr, ItemEntity *o_ptr, bool known);
 
 private:
     ReadExecutorFactory() = delete;
index 28141da..2cde811 100644 (file)
@@ -44,7 +44,7 @@
 #include "util/bit-flags-calculator.h"
 #include "view/display-messages.h"
 
-ScrollReadExecutor::ScrollReadExecutor(PlayerType *player_ptr, ObjectType *o_ptr, bool known)
+ScrollReadExecutor::ScrollReadExecutor(PlayerType *player_ptr, ItemEntity *o_ptr, bool known)
     : player_ptr(player_ptr)
     , o_ptr(o_ptr)
     , known(known)
index ea60627..e3e9421 100644 (file)
@@ -3,16 +3,16 @@
 #include "object-use/read/read-executor-base.h"
 
 class PlayerType;
-class ObjectType;
+class ItemEntity;
 class ScrollReadExecutor : public ReadExecutorBase {
 public:
-    ScrollReadExecutor(PlayerType *player_ptr, ObjectType *o_ptr, bool known);
+    ScrollReadExecutor(PlayerType *player_ptr, ItemEntity *o_ptr, bool known);
     bool is_identified() const override;
     bool read() override;
 
 private:
     PlayerType *player_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     bool known;
     bool ident = false;
 };
index 469a852..4395d91 100644 (file)
@@ -70,7 +70,7 @@
 #include "view/object-describer.h"
 #include "wizard/wizard-messages.h"
 
-ObjectThrowEntity::ObjectThrowEntity(PlayerType *player_ptr, ObjectType *q_ptr, const int delay_factor_val, const int mult, const bool boomerang, const OBJECT_IDX shuriken)
+ObjectThrowEntity::ObjectThrowEntity(PlayerType *player_ptr, ItemEntity *q_ptr, const int delay_factor_val, const int mult, const bool boomerang, const OBJECT_IDX shuriken)
     : q_ptr(q_ptr)
     , player_ptr(player_ptr)
     , shuriken(shuriken)
@@ -357,7 +357,7 @@ bool ObjectThrowEntity::check_throw_boomerang()
         concptr q, s;
         q = _("どの武器を投げますか? ", "Throw which item? ");
         s = _("投げる武器がない。", "You have nothing to throw.");
-        this->o_ptr = choose_object(this->player_ptr, &this->item, q, s, USE_EQUIP, FuncItemTester(&ObjectType::is_throwable));
+        this->o_ptr = choose_object(this->player_ptr, &this->item, q, s, USE_EQUIP, FuncItemTester(&ItemEntity::is_throwable));
         if (!this->o_ptr) {
             flush();
             return false;
index 727d497..27b6211 100644 (file)
 
 struct grid_type;
 struct monster_type;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ObjectThrowEntity {
 public:
     ObjectThrowEntity() = default;
     ObjectThrowEntity(
-        PlayerType *player_ptr, ObjectType *q_ptr, const int delay_factor_val, const int mult, const bool boomerang, const OBJECT_IDX shuriken);
+        PlayerType *player_ptr, ItemEntity *q_ptr, const int delay_factor_val, const int mult, const bool boomerang, const OBJECT_IDX shuriken);
     virtual ~ObjectThrowEntity() = default;
 
-    ObjectType *q_ptr;
+    ItemEntity *q_ptr;
     OBJECT_IDX item{};
     POSITION y{};
     POSITION x{};
@@ -59,7 +59,7 @@ private:
     int tdis{};
     int cur_dis{};
     int visible{};
-    ObjectType *o_ptr{};
+    ItemEntity *o_ptr{};
     bool hit_wall = false;
     bool return_when_thrown = false;
     GAME_TEXT o_name[MAX_NLEN]{};
index b987d27..8d83c08 100644 (file)
@@ -125,7 +125,7 @@ void ObjectUseEntity::execute()
 
     o_ptr->pval--;
     if ((this->item >= 0) && (o_ptr->number > 1)) {
-        ObjectType forge;
+        ItemEntity forge;
         auto *q_ptr = &forge;
         q_ptr->copy_from(o_ptr);
         q_ptr->number = 1;
index 457e6e7..28bde1c 100644 (file)
@@ -25,27 +25,27 @@ TvalItemTester::TvalItemTester(ItemKindType tval)
  * @param test_func そのオブジェクトが条件に合うならtrueを返すメンバ関数を指定する
  */
 FuncItemTester::FuncItemTester(TestMemberFunctionPtr test_func)
-    : test_func([f = test_func](PlayerType *, const ObjectType *o_ptr) { return (o_ptr->*f)(); })
+    : test_func([f = test_func](PlayerType *, const ItemEntity *o_ptr) { return (o_ptr->*f)(); })
 {
 }
 
 /**
  * @brief Construct a new Func Item Tester:: Func Item Tester object
  *
- * @param test_func 引数に ObjectType へのポインタを取り、そのオブジェクトが条件に合うならtrueを返す関数を指定する
+ * @param test_func 引数に ItemEntity へのポインタを取り、そのオブジェクトが条件に合うならtrueを返す関数を指定する
  */
-FuncItemTester::FuncItemTester(std::function<bool(const ObjectType *)> test_func)
-    : test_func([f = std::move(test_func)](PlayerType *, const ObjectType *o_ptr) { return f(o_ptr); })
+FuncItemTester::FuncItemTester(std::function<bool(const ItemEntity *)> test_func)
+    : test_func([f = std::move(test_func)](PlayerType *, const ItemEntity *o_ptr) { return f(o_ptr); })
 {
 }
 
 /*!
  * @brief Construct a new Func Item Tester:: Func Item Tester object
  *
- * @param test_func 引数に PlayerType へのポインタと ObjectType へのポインタを取り、そのオブジェクトが条件に合うならtrueを返す関数を指定する
+ * @param test_func 引数に PlayerType へのポインタと ItemEntity へのポインタを取り、そのオブジェクトが条件に合うならtrueを返す関数を指定する
  * @param player_ptr test_func の PlayerType へのポインタの引数に対して渡すポインタを指定する
  */
-FuncItemTester::FuncItemTester(std::function<bool(PlayerType *, const ObjectType *)> test_func, PlayerType *player_ptr)
+FuncItemTester::FuncItemTester(std::function<bool(PlayerType *, const ItemEntity *)> test_func, PlayerType *player_ptr)
     : test_func(std::move(test_func))
     , player_ptr(player_ptr)
 {
@@ -54,11 +54,11 @@ FuncItemTester::FuncItemTester(std::function<bool(PlayerType *, const ObjectType
 /*!
  * @brief Construct a new Func Item Tester:: Func Item Tester object
  *
- * @param test_func 引数に PlayerType へのポインタと ObjectType へのポインタと StoreSaleType を取り、そのオブジェクトが条件に合うならtrueを返す関数を指定する
+ * @param test_func 引数に PlayerType へのポインタと ItemEntity へのポインタと StoreSaleType を取り、そのオブジェクトが条件に合うならtrueを返す関数を指定する
  * @param player_ptr test_func の PlayerType へのポインタの引数に対して渡すポインタを指定する
  */
-FuncItemTester::FuncItemTester(std::function<bool(PlayerType *, const ObjectType *, StoreSaleType)> test_func, PlayerType *player_ptr, StoreSaleType store_num)
-    : test_func([test_func = std::move(test_func), store_num](PlayerType *player_ptr, const ObjectType *o_ptr) { return test_func(player_ptr, o_ptr, store_num); })
+FuncItemTester::FuncItemTester(std::function<bool(PlayerType *, const ItemEntity *, StoreSaleType)> test_func, PlayerType *player_ptr, StoreSaleType store_num)
+    : test_func([test_func = std::move(test_func), store_num](PlayerType *player_ptr, const ItemEntity *o_ptr) { return test_func(player_ptr, o_ptr, store_num); })
     , player_ptr(player_ptr)
 {
 }
@@ -70,7 +70,7 @@ FuncItemTester::FuncItemTester(std::function<bool(PlayerType *, const ObjectType
  * @return アイテムが条件を満たしているならtrueを返す
  * @details 最初にk_idxが無効でないか等の共通の判定を行った後に子クラスで実装される okay_impl 関数の結果を返す
  */
-bool ItemTester::okay(const ObjectType *o_ptr) const
+bool ItemTester::okay(const ItemEntity *o_ptr) const
 {
     if (o_ptr->k_idx == 0) {
         return false;
@@ -85,12 +85,12 @@ bool ItemTester::okay(const ObjectType *o_ptr) const
     return this->okay_impl(o_ptr);
 }
 
-bool TvalItemTester::okay_impl(const ObjectType *o_ptr) const
+bool TvalItemTester::okay_impl(const ItemEntity *o_ptr) const
 {
     return this->tval == o_ptr->tval;
 }
 
-bool FuncItemTester::okay_impl(const ObjectType *o_ptr) const
+bool FuncItemTester::okay_impl(const ItemEntity *o_ptr) const
 {
     return this->test_func(this->player_ptr, o_ptr);
 }
index b851af1..c9a8e83 100644 (file)
@@ -6,7 +6,7 @@
 #include <memory>
 
 enum class StoreSaleType;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 
 /*!
@@ -15,14 +15,14 @@ class PlayerType;
 class ItemTester {
 public:
     virtual ~ItemTester() = default;
-    bool okay(const ObjectType *o_ptr) const;
+    bool okay(const ItemEntity *o_ptr) const;
     virtual std::unique_ptr<ItemTester> clone() const = 0;
 
 protected:
     ItemTester() = default;
 
 private:
-    virtual bool okay_impl(const ObjectType *o_ptr) const = 0;
+    virtual bool okay_impl(const ItemEntity *o_ptr) const = 0;
 };
 
 /**
@@ -47,7 +47,7 @@ public:
     AllMatchItemTester() = default;
 
 private:
-    virtual bool okay_impl(const ObjectType *) const
+    virtual bool okay_impl(const ItemEntity *) const
     {
         return true;
     }
@@ -61,7 +61,7 @@ public:
     explicit TvalItemTester(ItemKindType tval);
 
 private:
-    virtual bool okay_impl(const ObjectType *o_ptr) const;
+    virtual bool okay_impl(const ItemEntity *o_ptr) const;
 
     ItemKindType tval;
 };
@@ -71,15 +71,15 @@ private:
  */
 class FuncItemTester : public CloneableItemTester<FuncItemTester> {
 public:
-    using TestMemberFunctionPtr = bool (ObjectType::*)() const;
+    using TestMemberFunctionPtr = bool (ItemEntity::*)() const;
     explicit FuncItemTester(TestMemberFunctionPtr test_func);
-    explicit FuncItemTester(std::function<bool(const ObjectType *)> test_func);
-    explicit FuncItemTester(std::function<bool(PlayerType *, const ObjectType *)> test_func, PlayerType *player_ptr);
-    explicit FuncItemTester(std::function<bool(PlayerType *, const ObjectType *, StoreSaleType)> test_func, PlayerType *player_ptr, StoreSaleType store_num);
+    explicit FuncItemTester(std::function<bool(const ItemEntity *)> test_func);
+    explicit FuncItemTester(std::function<bool(PlayerType *, const ItemEntity *)> test_func, PlayerType *player_ptr);
+    explicit FuncItemTester(std::function<bool(PlayerType *, const ItemEntity *, StoreSaleType)> test_func, PlayerType *player_ptr, StoreSaleType store_num);
 
 private:
-    virtual bool okay_impl(const ObjectType *o_ptr) const;
+    virtual bool okay_impl(const ItemEntity *o_ptr) const;
 
-    std::function<bool(PlayerType *, const ObjectType *)> test_func;
+    std::function<bool(PlayerType *, const ItemEntity *)> test_func;
     PlayerType *player_ptr;
 };
index f3cad27..4f767de 100644 (file)
@@ -45,7 +45,7 @@ void reduce_lite_life(PlayerType *player_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 現在光源として使っているオブジェクトの構造体参照ポインタ
  */
-void notice_lite_change(PlayerType *player_ptr, ObjectType *o_ptr)
+void notice_lite_change(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if ((o_ptr->fuel < 100) || (!(o_ptr->fuel % 100))) {
         player_ptr->window_flags |= (PW_EQUIP);
index 38f6e45..da790e2 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void reduce_lite_life(PlayerType *player_ptr);
-void notice_lite_change(PlayerType *player_ptr, ObjectType *o_ptr);
+void notice_lite_change(PlayerType *player_ptr, ItemEntity *o_ptr);
index 9b43b73..3fe8181 100644 (file)
@@ -51,7 +51,7 @@ BreakerCold::BreakerCold()
  * Does a given class of objects (usually) hate acid?
  * Note that acid can either melt or corrode something.
  */
-bool BreakerAcid::hates(ObjectType *o_ptr) const
+bool BreakerAcid::hates(ItemEntity *o_ptr) const
 {
     /* Analyze the type */
     switch (o_ptr->tval) {
@@ -105,7 +105,7 @@ bool BreakerAcid::hates(ObjectType *o_ptr) const
  * @param o_ptr アイテムの情報参照ポインタ
  * @return 破損するならばTRUEを返す
  */
-bool BreakerElec::hates(ObjectType *o_ptr) const
+bool BreakerElec::hates(ItemEntity *o_ptr) const
 {
     switch (o_ptr->tval) {
     case ItemKindType::RING:
@@ -129,7 +129,7 @@ bool BreakerElec::hates(ObjectType *o_ptr) const
  * Hafted/Polearm weapons have wooden shafts.
  * Arrows/Bows are mostly wooden.
  */
-bool BreakerFire::hates(ObjectType *o_ptr) const
+bool BreakerFire::hates(ItemEntity *o_ptr) const
 {
     /* Analyze the type */
     switch (o_ptr->tval) {
@@ -187,7 +187,7 @@ bool BreakerFire::hates(ObjectType *o_ptr) const
  * @param o_ptr アイテムの情報参照ポインタ
  * @return 破損するならばTRUEを返す
  */
-bool BreakerCold::hates(ObjectType *o_ptr) const
+bool BreakerCold::hates(ItemEntity *o_ptr) const
 {
     switch (o_ptr->tval) {
     case ItemKindType::POTION:
@@ -210,7 +210,7 @@ bool BreakerCold::hates(ObjectType *o_ptr) const
  * @return 破損するならばTRUEを返す
  * @todo 統合を検討
  */
-bool ObjectBreaker::can_destroy(ObjectType *o_ptr) const
+bool ObjectBreaker::can_destroy(ItemEntity *o_ptr) const
 {
     if (!this->hates(o_ptr)) {
         return false;
@@ -396,7 +396,7 @@ bool potion_smash_effect(PlayerType *player_ptr, MONSTER_IDX who, POSITION y, PO
  * @details
  * Note that artifacts never break, see the "drop_near()" function.
  */
-PERCENTAGE breakage_chance(PlayerType *player_ptr, ObjectType *o_ptr, bool has_archer_bonus, SPELL_IDX snipe_type)
+PERCENTAGE breakage_chance(PlayerType *player_ptr, ItemEntity *o_ptr, bool has_archer_bonus, SPELL_IDX snipe_type)
 {
     /* Examine the snipe type */
     if (snipe_type) {
index 62bf887..053407f 100644 (file)
@@ -3,11 +3,11 @@
 #include "object-enchant/tr-types.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 
 bool potion_smash_effect(PlayerType *player_ptr, MONSTER_IDX who, POSITION y, POSITION x, KIND_OBJECT_IDX k_idx);
-PERCENTAGE breakage_chance(PlayerType *player_ptr, ObjectType *o_ptr, bool has_archer_bonus, SPELL_IDX snipe_type);
+PERCENTAGE breakage_chance(PlayerType *player_ptr, ItemEntity *o_ptr, bool has_archer_bonus, SPELL_IDX snipe_type);
 
 class ObjectBreaker {
 protected:
@@ -15,8 +15,8 @@ protected:
 
 public:
     virtual ~ObjectBreaker() = default;
-    bool can_destroy(ObjectType *o_ptr) const;
-    virtual bool hates(ObjectType *o_ptr) const = 0;
+    bool can_destroy(ItemEntity *o_ptr) const;
+    virtual bool hates(ItemEntity *o_ptr) const = 0;
 
 private:
     tr_type ignore_flg;
@@ -26,26 +26,26 @@ class BreakerAcid : public ObjectBreaker {
 public:
     BreakerAcid();
     virtual ~BreakerAcid() = default;
-    bool hates(ObjectType *o_ptr) const;
+    bool hates(ItemEntity *o_ptr) const;
 };
 
 class BreakerElec : public ObjectBreaker {
 public:
     BreakerElec();
     virtual ~BreakerElec() = default;
-    bool hates(ObjectType *o_ptr) const;
+    bool hates(ItemEntity *o_ptr) const;
 };
 
 class BreakerFire : public ObjectBreaker {
 public:
     BreakerFire();
     virtual ~BreakerFire() = default;
-    bool hates(ObjectType *o_ptr) const;
+    bool hates(ItemEntity *o_ptr) const;
 };
 
 class BreakerCold : public ObjectBreaker {
 public:
     BreakerCold();
     virtual ~BreakerCold() = default;
-    bool hates(ObjectType *o_ptr) const;
+    bool hates(ItemEntity *o_ptr) const;
 };
index 29dfd9a..9671aff 100644 (file)
@@ -16,7 +16,7 @@
  * @param o_ptr フラグ取得元のオブジェクト構造体ポインタ
  * @param flgs フラグ情報を受け取る配列
  */
-static void object_flags_lite(const ObjectType *o_ptr, TrFlags &flgs)
+static void object_flags_lite(const ItemEntity *o_ptr, TrFlags &flgs)
 {
     if (!o_ptr->is_ego()) {
         return;
@@ -47,7 +47,7 @@ static void object_flags_lite(const ObjectType *o_ptr, TrFlags &flgs)
  * @param o_ptr フラグ取得元のオブジェクト構造体ポインタ
  * @param flgs フラグ情報を受け取る配列
  */
-TrFlags object_flags(const ObjectType *o_ptr)
+TrFlags object_flags(const ItemEntity *o_ptr)
 {
     auto *k_ptr = &baseitems_info[o_ptr->k_idx];
 
@@ -80,7 +80,7 @@ TrFlags object_flags(const ObjectType *o_ptr)
  * @param o_ptr フラグ取得元のオブジェクト構造体ポインタ
  * @param flgs フラグ情報を受け取る配列
  */
-TrFlags object_flags_known(const ObjectType *o_ptr)
+TrFlags object_flags_known(const ItemEntity *o_ptr)
 {
     bool spoil = false;
     auto *k_ptr = &baseitems_info[o_ptr->k_idx];
index 7c7cb2b..228959a 100644 (file)
@@ -5,6 +5,6 @@
 
 #include "object-enchant/tr-flags.h"
 
-class ObjectType;
-TrFlags object_flags(const ObjectType *o_ptr);
-TrFlags object_flags_known(const ObjectType *o_ptr);
+class ItemEntity;
+TrFlags object_flags(const ItemEntity *o_ptr);
+TrFlags object_flags_known(const ItemEntity *o_ptr);
index fad960f..c665929 100644 (file)
@@ -9,7 +9,7 @@ class FloorType;
 /**
  * @brief アイテムリスト(床上スタック/モンスター所持)を管理するクラス
  *
- * @details ObjectType 自体を保持するのではなく、フロア全体の ObjectType 配列上のアイテムの要素番号を保持する
+ * @details ItemEntity 自体を保持するのではなく、フロア全体の ItemEntity 配列上のアイテムの要素番号を保持する
  */
 class ObjectIndexList {
 public:
index 312b537..73926b5 100644 (file)
@@ -39,7 +39,7 @@
  * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ
  * @return concptr 発動名称を返す文字列ポインタ
  */
-static concptr item_activation_dragon_breath(ObjectType *o_ptr)
+static concptr item_activation_dragon_breath(ItemEntity *o_ptr)
 {
     static char desc[256];
     int n = 0;
@@ -67,7 +67,7 @@ static concptr item_activation_dragon_breath(ObjectType *o_ptr)
  * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ
  * @return concptr 発動名称を返す文字列ポインタ
  */
-static concptr item_activation_aux(ObjectType *o_ptr)
+static concptr item_activation_aux(ItemEntity *o_ptr)
 {
     static char activation_detail[512];
     char timeout[64];
@@ -176,7 +176,7 @@ static concptr item_activation_aux(ObjectType *o_ptr)
  * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ
  * @return concptr 発動名称を返す文字列ポインタ
  */
-concptr activation_explanation(ObjectType *o_ptr)
+concptr activation_explanation(ItemEntity *o_ptr)
 {
     auto flgs = object_flags(o_ptr);
     if (flgs.has_not(TR_ACTIVATE)) {
@@ -216,7 +216,7 @@ char index_to_label(int i)
  * @param o_ptr 名称を取得する元のオブジェクト構造体参照ポインタ
  * @return 対応する装備部位ID
  */
-int16_t wield_slot(PlayerType *player_ptr, const ObjectType *o_ptr)
+int16_t wield_slot(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::DIGGING:
@@ -310,7 +310,7 @@ bool check_book_realm(PlayerType *player_ptr, const ItemKindType book_tval, cons
     return (get_realm1_book(player_ptr) == book_tval) || (get_realm2_book(player_ptr) == book_tval);
 }
 
-ObjectType *ref_item(PlayerType *player_ptr, INVENTORY_IDX item)
+ItemEntity *ref_item(PlayerType *player_ptr, INVENTORY_IDX item)
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
     return item >= 0 ? &player_ptr->inventory_list[item] : &(floor_ptr->o_list[0 - item]);
index 3fa39a2..cea1385 100644 (file)
@@ -5,10 +5,10 @@
 
 #define OBJ_GOLD_LIST 480 /* First "gold" entry */
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-concptr activation_explanation(ObjectType *o_ptr);
+concptr activation_explanation(ItemEntity *o_ptr);
 char index_to_label(int i);
-int16_t wield_slot(PlayerType *player_ptr, const ObjectType *o_ptr);
+int16_t wield_slot(PlayerType *player_ptr, const ItemEntity *o_ptr);
 bool check_book_realm(PlayerType *player_ptr, const ItemKindType book_tval, const OBJECT_SUBTYPE_VALUE book_sval);
-ObjectType *ref_item(PlayerType *player_ptr, INVENTORY_IDX item);
+ItemEntity *ref_item(PlayerType *player_ptr, INVENTORY_IDX item);
index c914a51..fb83359 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * @brief How object is marked (flags in ObjectType.mark)
+ * @brief How an entity of an item is marked (flags in ItemEntity::marked)
  * @date 2020/05/28
  * @author Hourier
  * @details
index bc84e26..edb300f 100644 (file)
@@ -29,7 +29,7 @@
  * are being dropped, it makes for a neater message to leave the original\n
  * stack's pval alone. -LM-\n
  */
-void distribute_charges(ObjectType *o_ptr, ObjectType *q_ptr, int amt)
+void distribute_charges(ItemEntity *o_ptr, ItemEntity *q_ptr, int amt)
 {
     if ((o_ptr->tval != ItemKindType::WAND) && (o_ptr->tval != ItemKindType::ROD)) {
         return;
@@ -64,7 +64,7 @@ void distribute_charges(ObjectType *o_ptr, ObjectType *q_ptr, int amt)
  * charges of the stack needs to be reduced, unless all the items are\n
  * being destroyed. -LM-\n
  */
-void reduce_charges(ObjectType *o_ptr, int amt)
+void reduce_charges(ItemEntity *o_ptr, int amt)
 {
     if (((o_ptr->tval == ItemKindType::WAND) || (o_ptr->tval == ItemKindType::ROD)) && (amt < o_ptr->number)) {
         o_ptr->pval -= o_ptr->pval * amt / o_ptr->number;
@@ -78,7 +78,7 @@ void reduce_charges(ObjectType *o_ptr, int amt)
  * @param j_ptr 検証したいオブジェクトの構造体参照ポインタ2
  * @return 重ね合わせ可能なアイテム数
  */
-int object_similar_part(const ObjectType *o_ptr, const ObjectType *j_ptr)
+int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
 {
     const int max_stack_size = 99;
     int max_num = max_stack_size;
@@ -234,7 +234,7 @@ int object_similar_part(const ObjectType *o_ptr, const ObjectType *j_ptr)
  * @param j_ptr 検証したいオブジェクトの構造体参照ポインタ2
  * @return 重ね合わせ可能ならばTRUEを返す。
  */
-bool object_similar(const ObjectType *o_ptr, const ObjectType *j_ptr)
+bool object_similar(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
 {
     int total = o_ptr->number + j_ptr->number;
     int max_num = object_similar_part(o_ptr, j_ptr);
@@ -254,7 +254,7 @@ bool object_similar(const ObjectType *o_ptr, const ObjectType *j_ptr)
  * @param o_ptr 重ね合わせ先のオブジェクトの構造体参照ポインタ
  * @param j_ptr 重ね合わせ元のオブジェクトの構造体参照ポインタ
  */
-void object_absorb(ObjectType *o_ptr, ObjectType *j_ptr)
+void object_absorb(ItemEntity *o_ptr, ItemEntity *j_ptr)
 {
     int max_num = object_similar_part(o_ptr, j_ptr);
     int total = o_ptr->number + j_ptr->number;
index 356580d..34a0e50 100644 (file)
@@ -1,8 +1,8 @@
 #pragma once
 
-class ObjectType;
-void distribute_charges(ObjectType *o_ptr, ObjectType *q_ptr, int amt);
-void reduce_charges(ObjectType *o_ptr, int amt);
-int object_similar_part(const ObjectType *o_ptr, const ObjectType *j_ptr);
-bool object_similar(const ObjectType *o_ptr, const ObjectType *j_ptr);
-void object_absorb(ObjectType *o_ptr, ObjectType *j_ptr);
+class ItemEntity;
+void distribute_charges(ItemEntity *o_ptr, ItemEntity *q_ptr, int amt);
+void reduce_charges(ItemEntity *o_ptr, int amt);
+int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr);
+bool object_similar(const ItemEntity *o_ptr, const ItemEntity *j_ptr);
+void object_absorb(ItemEntity *o_ptr, ItemEntity *j_ptr);
index b61416f..feb5f25 100644 (file)
@@ -18,7 +18,7 @@
  * @param plusses フラグに与える価格の基本重み
  * @return オブジェクトのフラグ価格
  */
-PRICE flag_cost(const ObjectType *o_ptr, int plusses)
+PRICE flag_cost(const ItemEntity *o_ptr, int plusses)
 {
     PRICE total = 0;
     auto *k_ptr = &baseitems_info[o_ptr->k_idx];
index b100ebf..2847fbe 100644 (file)
@@ -2,6 +2,6 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-int32_t flag_cost(const ObjectType *o_ptr, int plusses);
+int32_t flag_cost(const ItemEntity *o_ptr, int plusses);
index 9289636..42585a4 100644 (file)
@@ -34,7 +34,7 @@
  *\n
  * Every wearable item with a "pval" bonus is worth extra (see below).\n
  */
-PRICE object_value_real(const ObjectType *o_ptr)
+PRICE object_value_real(const ItemEntity *o_ptr)
 {
     auto *k_ptr = &baseitems_info[o_ptr->k_idx];
 
index c2eca37..05ece9d 100644 (file)
@@ -2,6 +2,6 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-PRICE object_value_real(const ObjectType *o_ptr);
+PRICE object_value_real(const ItemEntity *o_ptr);
index dfb797c..2ed1514 100644 (file)
@@ -46,7 +46,7 @@
  * Calculate spell damages
  * @return 警告を行う
  */
-ObjectType *choose_warning_item(PlayerType *player_ptr)
+ItemEntity *choose_warning_item(PlayerType *player_ptr)
 {
     int choices[INVEN_TOTAL - INVEN_MAIN_HAND];
 
index 72a8414..0ef31bf 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-ObjectType *choose_warning_item(PlayerType *player_ptr);
+ItemEntity *choose_warning_item(PlayerType *player_ptr);
 bool process_warning(PlayerType *player_ptr, POSITION xx, POSITION yy);
index e60bfbd..8596bd7 100644 (file)
@@ -33,7 +33,7 @@
  * @param mode 表示オプション
  * @return 特筆すべき情報が一つでもあった場合TRUE、一つもなく表示がキャンセルされた場合FALSEを返す。
  */
-bool screen_object(PlayerType *player_ptr, ObjectType *o_ptr, BIT_FLAGS mode)
+bool screen_object(PlayerType *player_ptr, ItemEntity *o_ptr, BIT_FLAGS mode)
 {
     char temp[70 * 20];
     concptr info[128];
index 6c8efa7..7f3a255 100644 (file)
@@ -4,6 +4,6 @@
 
 #define SCROBJ_FAKE_OBJECT 0x00000001
 #define SCROBJ_FORCE_DETAIL 0x00000002
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool screen_object(PlayerType *player_ptr, ObjectType *o_ptr, BIT_FLAGS mode);
+bool screen_object(PlayerType *player_ptr, ItemEntity *o_ptr, BIT_FLAGS mode);
index dd873ca..8e91dfa 100644 (file)
@@ -28,7 +28,7 @@
  *\n
  * This routine also removes any inscriptions generated by "feelings".\n
  */
-void object_known(ObjectType *o_ptr)
+void object_known(ItemEntity *o_ptr)
 {
     o_ptr->feeling = FEEL_NONE;
     o_ptr->ident &= ~(IDENT_SENSE);
@@ -42,7 +42,7 @@ void object_known(ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr *鑑定*済にするオブジェクトの構造体参照ポインタ
  */
-void object_aware(PlayerType *player_ptr, const ObjectType *o_ptr)
+void object_aware(PlayerType *player_ptr, const ItemEntity *o_ptr)
 {
     const bool is_already_awared = o_ptr->is_aware();
 
@@ -68,8 +68,8 @@ void object_aware(PlayerType *player_ptr, const ObjectType *o_ptr)
     }
 
     // playrecordに識別したアイテムを記録
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     GAME_TEXT o_name[MAX_NLEN];
 
     q_ptr = &forge;
@@ -86,7 +86,7 @@ void object_aware(PlayerType *player_ptr, const ObjectType *o_ptr)
  * Something has been "sampled"
  * @param o_ptr 試行済にするオブジェクトの構造体参照ポインタ
  */
-void object_tried(const ObjectType *o_ptr)
+void object_tried(const ItemEntity *o_ptr)
 {
     baseitems_info[o_ptr->k_idx].tried = true;
 }
index 2ab86bc..8aec9d5 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void object_known(ObjectType *o_ptr);
-void object_aware(PlayerType *player_ptr, const ObjectType *o_ptr);
-void object_tried(const ObjectType *o_ptr);
+void object_known(ItemEntity *o_ptr);
+void object_aware(PlayerType *player_ptr, const ItemEntity *o_ptr);
+void object_tried(const ItemEntity *o_ptr);
index 57e7537..98ee8bd 100644 (file)
@@ -139,7 +139,7 @@ void sense_inventory1(PlayerType *player_ptr)
 {
     PLAYER_LEVEL plev = player_ptr->lev;
     bool heavy = false;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     if (player_ptr->effects()->confusion()->is_confused()) {
         return;
     }
@@ -329,7 +329,7 @@ void sense_inventory1(PlayerType *player_ptr)
 void sense_inventory2(PlayerType *player_ptr)
 {
     PLAYER_LEVEL plev = player_ptr->lev;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     if (player_ptr->effects()->confusion()->is_confused()) {
         return;
@@ -439,7 +439,7 @@ void sense_inventory2(PlayerType *player_ptr)
  * @param o_ptr 擬似鑑定を行うオブジェクトの参照ポインタ。
  * @return 擬似鑑定結果のIDを返す。
  */
-item_feel_type pseudo_value_check_heavy(ObjectType *o_ptr)
+item_feel_type pseudo_value_check_heavy(ItemEntity *o_ptr)
 {
     if (o_ptr->is_artifact()) {
         if (o_ptr->is_cursed() || o_ptr->is_broken()) {
@@ -485,7 +485,7 @@ item_feel_type pseudo_value_check_heavy(ObjectType *o_ptr)
  * @param o_ptr 擬似鑑定を行うオブジェクトの参照ポインタ。
  * @return 擬似鑑定結果のIDを返す。
  */
-item_feel_type pseudo_value_check_light(ObjectType *o_ptr)
+item_feel_type pseudo_value_check_light(ItemEntity *o_ptr)
 {
     if (o_ptr->is_cursed()) {
         return FEEL_CURSED;
index 33fb4af..fe2b418 100644 (file)
@@ -2,9 +2,9 @@
 
 #include "object-enchant/item-feeling.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void sense_inventory1(PlayerType *player_ptr);
 void sense_inventory2(PlayerType *player_ptr);
-item_feel_type pseudo_value_check_heavy(ObjectType *o_ptr);
-item_feel_type pseudo_value_check_light(ObjectType *o_ptr);
+item_feel_type pseudo_value_check_heavy(ItemEntity *o_ptr);
+item_feel_type pseudo_value_check_light(ItemEntity *o_ptr);
index e97ce41..2c3d2ac 100644 (file)
@@ -88,7 +88,7 @@ using dam_func = int (*)(PlayerType *player_ptr, int dam, concptr kb_str, bool a
  */
 static bool acid_minus_ac(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr = nullptr;
+    ItemEntity *o_ptr = nullptr;
     switch (randint1(7)) {
     case 1:
         o_ptr = &player_ptr->inventory_list[INVEN_MAIN_HAND];
index 702db17..30cafd4 100644 (file)
@@ -85,7 +85,7 @@ static void discover_hidden_things(PlayerType *player_ptr, POSITION y, POSITION
     }
 
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if (o_ptr->tval != ItemKindType::CHEST) {
             continue;
index e3adca8..1c724b1 100644 (file)
@@ -237,7 +237,7 @@ concptr PlayerSkill::skill_rank_str(PlayerSkillRank rank)
     return _("[不明]", "[Unknown]");
 }
 
-void PlayerSkill::gain_melee_weapon_exp(const ObjectType *o_ptr)
+void PlayerSkill::gain_melee_weapon_exp(const ItemEntity *o_ptr)
 {
     const GainAmountList gain_amount_list{ { 80, 10, 1, (one_in_(2) ? 1 : 0) } };
     constexpr GainAmountList others_gain_amount_list{ { 8, 1, 0, 0 } };
@@ -251,7 +251,7 @@ void PlayerSkill::gain_melee_weapon_exp(const ObjectType *o_ptr)
     }
 }
 
-void PlayerSkill::gain_range_weapon_exp(const ObjectType *o_ptr)
+void PlayerSkill::gain_range_weapon_exp(const ItemEntity *o_ptr)
 {
     constexpr GainAmountList gain_amount_list{ { 80, 25, 10, 2 } };
     constexpr GainAmountList others_gain_amount_list{ { 8, 2, 0, 0 } };
index 19de3c2..b617511 100644 (file)
@@ -43,7 +43,7 @@ struct skill_table {
 extern std::vector<skill_table> class_skills_info;
 
 struct monster_race;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 
 class PlayerSkill {
@@ -59,8 +59,8 @@ public:
     static concptr skill_name(PlayerSkillKindType skill);
     static concptr skill_rank_str(PlayerSkillRank rank);
 
-    void gain_melee_weapon_exp(const ObjectType *o_ptr);
-    void gain_range_weapon_exp(const ObjectType *o_ptr);
+    void gain_melee_weapon_exp(const ItemEntity *o_ptr);
+    void gain_range_weapon_exp(const ItemEntity *o_ptr);
     void gain_martial_arts_skill_exp();
     void gain_two_weapon_skill_exp();
     void gain_riding_skill_exp_on_melee_attack(const monster_race *r_ptr);
index a7a55ff..a137c54 100644 (file)
@@ -121,7 +121,7 @@ BIT_FLAGS convert_inventory_slot_type_to_flag_cause(inventory_slot_type inventor
  */
 BIT_FLAGS check_equipment_flags(PlayerType *player_ptr, tr_type tr_flag)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     BIT_FLAGS result = 0L;
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
@@ -713,7 +713,7 @@ BIT_FLAGS has_invuln_arrow(PlayerType *player_ptr)
 
 void check_no_flowed(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     bool has_sw = false, has_kabe = false;
 
     player_ptr->no_flowed = false;
@@ -793,7 +793,7 @@ BIT_FLAGS has_see_nocto(PlayerType *player_ptr)
 BIT_FLAGS has_warning(PlayerType *player_ptr)
 {
     BIT_FLAGS result = 0L;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
@@ -1057,7 +1057,7 @@ BIT_FLAGS has_regenerate(PlayerType *player_ptr)
 
 void update_curses(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     player_ptr->cursed.clear();
     player_ptr->cursed_special.clear();
 
@@ -1171,7 +1171,7 @@ BIT_FLAGS has_earthquake(PlayerType *player_ptr)
 
 void update_extra_blows(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     player_ptr->extra_blows[0] = player_ptr->extra_blows[1] = 0;
 
     const melee_type melee_type = player_melee_type(player_ptr);
@@ -1478,7 +1478,7 @@ BIT_FLAGS has_resist_curse(PlayerType *player_ptr)
  */
 BIT_FLAGS has_vuln_curse(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     BIT_FLAGS result = 0L;
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
@@ -1503,7 +1503,7 @@ BIT_FLAGS has_vuln_curse(PlayerType *player_ptr)
  */
 BIT_FLAGS has_heavy_vuln_curse(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     BIT_FLAGS result = 0L;
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
index 96f2d13..0d97b44 100644 (file)
@@ -195,7 +195,7 @@ static void delayed_visual_update(PlayerType *player_ptr)
  * @param o_ptr 判定する射撃武器のアイテム情報参照ポインタ
  * @return 重すぎるならばTRUE
  */
-static bool is_heavy_shoot(PlayerType *player_ptr, ObjectType *o_ptr)
+static bool is_heavy_shoot(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     return calc_bow_weight_limit(player_ptr) < (o_ptr->weight / 10);
 }
@@ -209,7 +209,7 @@ WEIGHT calc_inventory_weight(PlayerType *player_ptr)
 {
     WEIGHT weight = 0;
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     for (int i = 0; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
@@ -262,7 +262,7 @@ static void update_ability_scores(PlayerType *player_ptr)
 static void update_bonuses(PlayerType *player_ptr)
 {
     auto empty_hands_status = empty_hands(player_ptr, true);
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     /* Save the old vision stuff */
     BIT_FLAGS old_telepathy = player_ptr->telepathy;
@@ -819,7 +819,7 @@ static void update_max_mana(PlayerType *player_ptr)
 
     if (any_bits(mp_ptr->spell_xtra, extra_magic_glove_reduce_mana)) {
         player_ptr->cumber_glove = false;
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[INVEN_ARMS];
         auto flgs = object_flags(o_ptr);
         if (o_ptr->k_idx && flgs.has_not(TR_FREE_ACT) && flgs.has_not(TR_DEC_MANA) && flgs.has_not(TR_EASY_SPELL) && !((flgs.has(TR_MAGIC_MASTERY)) && (o_ptr->pval > 0)) && !((flgs.has(TR_DEX)) && (o_ptr->pval > 0))) {
@@ -1010,12 +1010,12 @@ static void update_max_mana(PlayerType *player_ptr)
  * @param o_ptr 計算する射撃武器のアイテム情報参照ポインタ
  * @return 射撃倍率の値(100で1.00倍)
  */
-int16_t calc_num_fire(PlayerType *player_ptr, ObjectType *o_ptr)
+int16_t calc_num_fire(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     int extra_shots = 0;
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *q_ptr;
+        ItemEntity *q_ptr;
         q_ptr = &player_ptr->inventory_list[i];
         if (!q_ptr->k_idx) {
             continue;
@@ -1137,7 +1137,7 @@ static ACTION_SKILL_POWER calc_device_ability(PlayerType *player_ptr)
     pow += ((c_ptr->x_dev * player_ptr->lev / 10) + (ap_ptr->a_dev * player_ptr->lev / 50));
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
             continue;
@@ -1266,7 +1266,7 @@ static ACTION_SKILL_POWER calc_search(PlayerType *player_ptr)
     pow += (c_ptr->x_srh * player_ptr->lev / 10);
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
             continue;
@@ -1317,7 +1317,7 @@ static ACTION_SKILL_POWER calc_search_freq(PlayerType *player_ptr)
     pow += (c_ptr->x_fos * player_ptr->lev / 10);
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
             continue;
@@ -1435,7 +1435,7 @@ static ACTION_SKILL_POWER calc_to_hit_throw(PlayerType *player_ptr)
  */
 static ACTION_SKILL_POWER calc_skill_dig(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     ACTION_SKILL_POWER pow;
 
@@ -1502,7 +1502,7 @@ static bool is_heavy_wield(PlayerType *player_ptr, int i)
 
 static int16_t calc_num_blow(PlayerType *player_ptr, int i)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     int16_t num_blow = 1;
 
     o_ptr = &player_ptr->inventory_list[INVEN_MAIN_HAND + i];
@@ -1679,7 +1679,7 @@ static int16_t calc_to_magic_chance(PlayerType *player_ptr)
     }
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
             continue;
@@ -1704,7 +1704,7 @@ static ARMOUR_CLASS calc_base_ac(PlayerType *player_ptr)
     }
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
             continue;
@@ -1754,7 +1754,7 @@ static ARMOUR_CLASS calc_to_ac(PlayerType *player_ptr, bool is_real_value)
     }
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         auto flags = object_flags(o_ptr);
         if (!o_ptr->k_idx) {
@@ -2467,7 +2467,7 @@ static int16_t calc_to_hit_bow(PlayerType *player_ptr, bool is_real_value)
     pow += ((int)(adj_str_th[player_ptr->stat_index[A_STR]]) - 128);
 
     {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[INVEN_BOW];
         if (o_ptr->k_idx) {
             if (o_ptr->curse_flags.has(CurseTraitType::LOW_MELEE)) {
@@ -2536,7 +2536,7 @@ static int16_t calc_to_hit_bow(PlayerType *player_ptr, bool is_real_value)
 
 static int16_t calc_to_damage_misc(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     int16_t to_dam = 0;
 
@@ -2567,7 +2567,7 @@ static int16_t calc_to_damage_misc(PlayerType *player_ptr)
 
 static int16_t calc_to_hit_misc(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
 
     int16_t to_hit = 0;
 
@@ -2740,7 +2740,7 @@ void update_creature(PlayerType *player_ptr)
  */
 bool player_has_no_spellbooks(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     for (int i = 0; i < INVEN_PACK; i++) {
         o_ptr = &player_ptr->inventory_list[i];
         if (o_ptr->k_idx && check_book_realm(player_ptr, o_ptr->tval, o_ptr->sval)) {
index cd6e117..a51cc8a 100644 (file)
@@ -7,14 +7,14 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 
 WEIGHT calc_weapon_weight_limit(PlayerType *player_ptr);
 WEIGHT calc_bow_weight_limit(PlayerType *player_ptr);
 WEIGHT calc_inventory_weight(PlayerType *player_ptr);
 
-int16_t calc_num_fire(PlayerType *player_ptr, ObjectType *o_ptr);
+int16_t calc_num_fire(PlayerType *player_ptr, ItemEntity *o_ptr);
 WEIGHT calc_weight_limit(PlayerType *player_ptr);
 void update_creature(PlayerType *player_ptr);
 bool player_has_no_spellbooks(PlayerType *player_ptr);
index 1f69d09..398fe77 100644 (file)
@@ -255,7 +255,7 @@ void print_tomb(PlayerType *player_ptr)
  */
 static void inventory_aware(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     for (int i = 0; i < INVEN_TOTAL; i++) {
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
@@ -273,7 +273,7 @@ static void inventory_aware(PlayerType *player_ptr)
  */
 static void home_aware(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     store_type *store_ptr;
     for (int i = 1; i < max_towns; i++) {
         store_ptr = &town_info[i].store[enum2i(StoreSaleType::HOME)];
@@ -336,7 +336,7 @@ static void show_dead_home_items(PlayerType *player_ptr)
             for (int j = 0; (j < 12) && (i < store_ptr->stock_num); j++, i++) {
                 GAME_TEXT o_name[MAX_NLEN];
                 char tmp_val[80];
-                ObjectType *o_ptr;
+                ItemEntity *o_ptr;
                 o_ptr = &store_ptr->stock[i];
                 sprintf(tmp_val, "%c) ", I2A(j));
                 prt(tmp_val, j + 2, 4);
index 5dfa9cb..3fff497 100644 (file)
@@ -81,7 +81,7 @@ void known_obj_immunity(PlayerType *player_ptr, TrFlags &flags)
     flags.clear();
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         if (!o_ptr->k_idx) {
             continue;
index f982d9b..3217c53 100644 (file)
@@ -66,7 +66,7 @@ void calc_android_exp(PlayerType *player_ptr)
 
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
         auto *o_ptr = &player_ptr->inventory_list[i];
-        ObjectType forge;
+        ItemEntity forge;
         auto *q_ptr = &forge;
         uint32_t value, exp;
         DEPTH level = std::max(baseitems_info[o_ptr->k_idx].level - 8, 1);
index a8539e6..c4174af 100644 (file)
@@ -63,7 +63,7 @@
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @return 呪縛可能な武器ならばTRUEを返す
  */
-static bool item_tester_hook_weapon_except_bow(const ObjectType *o_ptr)
+static bool item_tester_hook_weapon_except_bow(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::SWORD:
@@ -185,7 +185,7 @@ concptr do_hex_spell(PlayerType *player_ptr, spell_hex_type spell, SpellProcessT
             OBJECT_IDX item;
             concptr q, s;
             GAME_TEXT o_name[MAX_NLEN];
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
 
             q = _("どれを呪いますか?", "Which weapon do you curse?");
             s = _("武器を装備していない。", "You're not wielding a weapon.");
@@ -544,12 +544,12 @@ concptr do_hex_spell(PlayerType *player_ptr, spell_hex_type spell, SpellProcessT
             OBJECT_IDX item;
             concptr q, s;
             GAME_TEXT o_name[MAX_NLEN];
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
 
             q = _("どれを呪いますか?", "Which piece of armour do you curse?");
             s = _("防具を装備していない。", "You're not wearing any armor.");
 
-            o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&ObjectType::is_armour));
+            o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&ItemEntity::is_armour));
             if (!o_ptr) {
                 return "";
             }
@@ -767,12 +767,12 @@ concptr do_hex_spell(PlayerType *player_ptr, spell_hex_type spell, SpellProcessT
         if (cast) {
             OBJECT_IDX item;
             concptr s, q;
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
 
             q = _("どの装備品から吸収しますか?", "Which cursed equipment do you drain mana from?");
             s = _("呪われたアイテムを装備していない。", "You have no cursed equipment.");
 
-            o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&ObjectType::is_cursed));
+            o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&ItemEntity::is_cursed));
             if (!o_ptr) {
                 return "";
             }
index 351badd..11bbcb0 100644 (file)
@@ -735,7 +735,7 @@ concptr do_hissatsu_spell(PlayerType *player_ptr, SPELL_IDX spell, SpellProcessT
 
         if (cast) {
             int total_damage = 0, basedam, i;
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
             if (!get_aim_dir(player_ptr, &dir)) {
                 return nullptr;
             }
@@ -1037,7 +1037,7 @@ concptr do_hissatsu_spell(PlayerType *player_ptr, SPELL_IDX spell, SpellProcessT
         if (cast) {
             int total_damage = 0, basedam, i;
             POSITION y, x;
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
 
             if (!get_direction(player_ptr, &dir, false, false)) {
                 return nullptr;
index 18a14e6..16ea469 100644 (file)
@@ -143,7 +143,7 @@ concptr do_nature_spell(PlayerType *player_ptr, SPELL_IDX spell, SpellProcessTyp
 
         {
             if (cast) {
-                ObjectType forge, *q_ptr = &forge;
+                ItemEntity forge, *q_ptr = &forge;
                 msg_print(_("食料を生成した。", "A food ration is produced."));
 
                 /* Create the food ration */
index 7257163..9e0921b 100644 (file)
@@ -8,7 +8,7 @@
 #include "util/enum-converter.h"
 #include "util/quarks.h"
 
-static void write_item_flags(ObjectType *o_ptr, BIT_FLAGS *flags)
+static void write_item_flags(ItemEntity *o_ptr, BIT_FLAGS *flags)
 {
     if (o_ptr->pval) {
         set_bits(*flags, SaveDataItemFlagType::PVAL);
@@ -125,7 +125,7 @@ static void write_item_flags(ObjectType *o_ptr, BIT_FLAGS *flags)
     wr_u32b(*flags);
 }
 
-static void write_item_info(ObjectType *o_ptr, const BIT_FLAGS flags)
+static void write_item_info(ItemEntity *o_ptr, const BIT_FLAGS flags)
 {
     wr_s16b((int16_t)o_ptr->weight);
     if (any_bits(flags, SaveDataItemFlagType::FIXED_ARTIFACT_IDX)) {
@@ -238,7 +238,7 @@ static void write_item_info(ObjectType *o_ptr, const BIT_FLAGS flags)
  * @brief アイテムオブジェクトを書き込む / Write an "item" record
  * @param o_ptr アイテムオブジェクト保存元ポインタ
  */
-void wr_item(ObjectType *o_ptr)
+void wr_item(ItemEntity *o_ptr)
 {
     BIT_FLAGS flags = 0x00000000;
     write_item_flags(o_ptr, &flags);
index deed483..493974e 100644 (file)
@@ -2,6 +2,6 @@
 
 #include "system/angband.h"
 
-class ObjectType;
-void wr_item(ObjectType *o_ptr);
+class ItemEntity;
+void wr_item(ItemEntity *o_ptr);
 void wr_perception(KIND_OBJECT_IDX k_idx);
index 3eef347..9099b97 100644 (file)
@@ -156,7 +156,7 @@ std::vector<SmithEssenceType> Smith::get_need_essences(SmithEffectType effect)
  * @param o_ptr 鍛冶効果を付与するアイテムへのポインタ。nullptrの場合はデフォルトの消費量が返される。
  * @return 鍛冶効果を付与する時のエッセンス消費量
  */
-int Smith::get_essence_consumption(SmithEffectType effect, const ObjectType *o_ptr)
+int Smith::get_essence_consumption(SmithEffectType effect, const ItemEntity *o_ptr)
 {
     auto info = find_smith_info(effect);
     if (!info.has_value()) {
@@ -190,7 +190,7 @@ std::unique_ptr<ItemTester> Smith::get_item_tester(SmithEffectType effect)
         return std::make_unique<TvalItemTester>(ItemKindType::NONE);
     }
 
-    auto tester_func = [i = info.value()](const ObjectType *o_ptr) {
+    auto tester_func = [i = info.value()](const ItemEntity *o_ptr) {
         return i->can_give_smith_effect(o_ptr);
     };
     return std::make_unique<FuncItemTester>(tester_func);
@@ -219,7 +219,7 @@ TrFlags Smith::get_effect_tr_flags(SmithEffectType effect)
  * @return アイテムに付与されている発動効果の発動ID(random_art_activation_type型)
  * 付与されている発動効果が無い場合は std::nullopt
  */
-std::optional<RandomArtActType> Smith::object_activation(const ObjectType *o_ptr)
+std::optional<RandomArtActType> Smith::object_activation(const ItemEntity *o_ptr)
 {
     return o_ptr->smith_act_idx;
 }
@@ -231,7 +231,7 @@ std::optional<RandomArtActType> Smith::object_activation(const ObjectType *o_ptr
  * @return アイテムに付与されている鍛冶効果を保持する std::optional オブジェクト返す。
  * 鍛冶効果が付与できないアイテムか、何も付与されていなければ std::nullopt を返す。
  */
-std::optional<SmithEffectType> Smith::object_effect(const ObjectType *o_ptr)
+std::optional<SmithEffectType> Smith::object_effect(const ItemEntity *o_ptr)
 {
     return o_ptr->smith_effect;
 }
@@ -262,7 +262,7 @@ std::vector<SmithEffectType> Smith::get_effect_list(SmithCategoryType category)
  * @param o_ptr 鍛冶効果を付与するアイテムへのポインタ。nullptrの場合はデフォルトの消費量での回数が返される。
  * @return エッセンスを付与できる回数を返す
  */
-int Smith::get_addable_count(SmithEffectType effect, const ObjectType *o_ptr) const
+int Smith::get_addable_count(SmithEffectType effect, const ItemEntity *o_ptr) const
 {
     auto info = find_smith_info(effect);
     if (!info.has_value()) {
@@ -301,7 +301,7 @@ int Smith::get_essence_num_of_posessions(SmithEssenceType essence) const
  * @param o_ptr エッセンスの抽出を行うアイテムへのポインタ
  * @return 抽出したエッセンスと抽出した量のタプルのリストを返す
  */
-Smith::DrainEssenceResult Smith::drain_essence(ObjectType *o_ptr)
+Smith::DrainEssenceResult Smith::drain_essence(ItemEntity *o_ptr)
 {
     // 抽出量を揃えるためKILLフラグのみ付いている場合はSLAYフラグも付ける
     auto old_flgs = object_flags(o_ptr);
@@ -351,7 +351,7 @@ Smith::DrainEssenceResult Smith::drain_essence(ObjectType *o_ptr)
     const auto is_artifact = o_ptr->is_artifact();
 
     // アイテムをエッセンス抽出後の状態にする
-    const ObjectType old_o = *o_ptr;
+    const ItemEntity old_o = *o_ptr;
     o_ptr->prep(o_ptr->k_idx);
 
     o_ptr->iy = old_o.iy;
@@ -437,7 +437,7 @@ Smith::DrainEssenceResult Smith::drain_essence(ObjectType *o_ptr)
  * @param number エッセンス付与数
  * @return 鍛冶効果の付与に成功したら ture、失敗したら false を返す
  */
-bool Smith::add_essence(SmithEffectType effect, ObjectType *o_ptr, int number)
+bool Smith::add_essence(SmithEffectType effect, ItemEntity *o_ptr, int number)
 {
     auto info = find_smith_info(effect);
     if (!info.has_value()) {
@@ -457,7 +457,7 @@ bool Smith::add_essence(SmithEffectType effect, ObjectType *o_ptr, int number)
  *
  * @param o_ptr 鍛冶効果を消去するアイテムへのポインタ
  */
-void Smith::erase_essence(ObjectType *o_ptr) const
+void Smith::erase_essence(ItemEntity *o_ptr) const
 {
     o_ptr->smith_act_idx = std::nullopt;
 
index ea72c5a..bfda79a 100644 (file)
@@ -8,7 +8,7 @@
 #include <optional>
 #include <unordered_map>
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 class ISmithInfo;
 struct essence_drain_type;
@@ -36,17 +36,17 @@ public:
     static concptr get_effect_name(SmithEffectType effect);
     static std::string get_need_essences_desc(SmithEffectType effect);
     static std::vector<SmithEssenceType> get_need_essences(SmithEffectType effect);
-    static int get_essence_consumption(SmithEffectType effect, const ObjectType *o_ptr = nullptr);
+    static int get_essence_consumption(SmithEffectType effect, const ItemEntity *o_ptr = nullptr);
     static std::unique_ptr<ItemTester> get_item_tester(SmithEffectType effect);
     static TrFlags get_effect_tr_flags(SmithEffectType effect);
-    static std::optional<RandomArtActType> object_activation(const ObjectType *o_ptr);
-    static std::optional<SmithEffectType> object_effect(const ObjectType *o_ptr);
+    static std::optional<RandomArtActType> object_activation(const ItemEntity *o_ptr);
+    static std::optional<SmithEffectType> object_effect(const ItemEntity *o_ptr);
 
     int get_essence_num_of_posessions(SmithEssenceType essence) const;
-    DrainEssenceResult drain_essence(ObjectType *o_ptr);
-    bool add_essence(SmithEffectType effect, ObjectType *o_ptr, int consumption);
-    void erase_essence(ObjectType *o_ptr) const;
-    int get_addable_count(SmithEffectType smith_effect, const ObjectType *o_ptr = nullptr) const;
+    DrainEssenceResult drain_essence(ItemEntity *o_ptr);
+    bool add_essence(SmithEffectType effect, ItemEntity *o_ptr, int consumption);
+    void erase_essence(ItemEntity *o_ptr) const;
+    int get_addable_count(SmithEffectType smith_effect, const ItemEntity *o_ptr = nullptr) const;
 
     static constexpr int ESSENCE_AMOUNT_MAX = 20000;
 
index d40fed7..853887a 100644 (file)
@@ -27,14 +27,14 @@ BasicSmithInfo::BasicSmithInfo(SmithEffectType effect, concptr name, SmithCatego
 {
 }
 
-bool BasicSmithInfo::add_essence(PlayerType *, ObjectType *o_ptr, int) const
+bool BasicSmithInfo::add_essence(PlayerType *, ItemEntity *o_ptr, int) const
 {
     o_ptr->smith_effect = effect;
 
     return true;
 }
 
-void BasicSmithInfo::erase_essence(ObjectType *o_ptr) const
+void BasicSmithInfo::erase_essence(ItemEntity *o_ptr) const
 {
     o_ptr->smith_effect = std::nullopt;
     auto flgs = object_flags(o_ptr);
@@ -48,7 +48,7 @@ TrFlags BasicSmithInfo::tr_flags() const
     return this->add_flags;
 }
 
-bool BasicSmithInfo::can_give_smith_effect(const ObjectType *o_ptr) const
+bool BasicSmithInfo::can_give_smith_effect(const ItemEntity *o_ptr) const
 {
     /*!
      * @note 固定orランダムアーティファクトもしくはすでに鍛冶済みでないかを最初にチェックし、
@@ -62,7 +62,7 @@ bool BasicSmithInfo::can_give_smith_effect(const ObjectType *o_ptr) const
     return this->can_give_smith_effect_impl(o_ptr);
 }
 
-bool BasicSmithInfo::can_give_smith_effect_impl(const ObjectType *o_ptr) const
+bool BasicSmithInfo::can_give_smith_effect_impl(const ItemEntity *o_ptr) const
 {
     if (this->effect == SmithEffectType::XTRA_MIGHT || this->effect == SmithEffectType::XTRA_SHOTS) {
         return o_ptr->tval == ItemKindType::BOW;
@@ -89,19 +89,19 @@ ActivationSmithInfo::ActivationSmithInfo(SmithEffectType effect, concptr name, S
 {
 }
 
-bool ActivationSmithInfo::add_essence(PlayerType *, ObjectType *o_ptr, int) const
+bool ActivationSmithInfo::add_essence(PlayerType *, ItemEntity *o_ptr, int) const
 {
     o_ptr->smith_act_idx = this->act_idx;
 
     return true;
 }
 
-void ActivationSmithInfo::erase_essence(ObjectType *o_ptr) const
+void ActivationSmithInfo::erase_essence(ItemEntity *o_ptr) const
 {
     o_ptr->smith_act_idx = std::nullopt;
 }
 
-bool ActivationSmithInfo::can_give_smith_effect(const ObjectType *o_ptr) const
+bool ActivationSmithInfo::can_give_smith_effect(const ItemEntity *o_ptr) const
 {
     if (o_ptr->is_artifact() || o_ptr->smith_act_idx.has_value()) {
         return false;
@@ -115,7 +115,7 @@ EnchantWeaponSmithInfo::EnchantWeaponSmithInfo(SmithEffectType effect, concptr n
 {
 }
 
-bool EnchantWeaponSmithInfo::add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int) const
+bool EnchantWeaponSmithInfo::add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int) const
 {
     const auto max_val = player_ptr->lev / 5 + 5;
     if ((o_ptr->to_h >= max_val) && (o_ptr->to_d >= max_val)) {
@@ -132,7 +132,7 @@ bool EnchantWeaponSmithInfo::add_essence(PlayerType *player_ptr, ObjectType *o_p
     return true;
 }
 
-bool EnchantWeaponSmithInfo::can_give_smith_effect(const ObjectType *o_ptr) const
+bool EnchantWeaponSmithInfo::can_give_smith_effect(const ItemEntity *o_ptr) const
 {
     return o_ptr->allow_enchant_weapon();
 }
@@ -142,7 +142,7 @@ EnchantArmourSmithInfo::EnchantArmourSmithInfo(SmithEffectType effect, concptr n
 {
 }
 
-bool EnchantArmourSmithInfo::add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int) const
+bool EnchantArmourSmithInfo::add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int) const
 {
     const auto max_val = player_ptr->lev / 5 + 5;
     if (o_ptr->to_a >= max_val) {
@@ -154,7 +154,7 @@ bool EnchantArmourSmithInfo::add_essence(PlayerType *player_ptr, ObjectType *o_p
     return true;
 }
 
-bool EnchantArmourSmithInfo::can_give_smith_effect(const ObjectType *o_ptr) const
+bool EnchantArmourSmithInfo::can_give_smith_effect(const ItemEntity *o_ptr) const
 {
     return o_ptr->is_armour();
 }
@@ -164,7 +164,7 @@ SustainSmithInfo::SustainSmithInfo(SmithEffectType effect, concptr name, SmithCa
 {
 }
 
-bool SustainSmithInfo::add_essence(PlayerType *, ObjectType *o_ptr, int) const
+bool SustainSmithInfo::add_essence(PlayerType *, ItemEntity *o_ptr, int) const
 {
     o_ptr->art_flags.set(TR_IGNORE_ACID);
     o_ptr->art_flags.set(TR_IGNORE_ELEC);
@@ -174,7 +174,7 @@ bool SustainSmithInfo::add_essence(PlayerType *, ObjectType *o_ptr, int) const
     return true;
 }
 
-bool SustainSmithInfo::can_give_smith_effect(const ObjectType *o_ptr) const
+bool SustainSmithInfo::can_give_smith_effect(const ItemEntity *o_ptr) const
 {
     return o_ptr->is_weapon_armour_ammo();
 }
@@ -184,7 +184,7 @@ SlayingGlovesSmithInfo::SlayingGlovesSmithInfo(SmithEffectType effect, concptr n
 {
 }
 
-bool SlayingGlovesSmithInfo::add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const
+bool SlayingGlovesSmithInfo::add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const
 {
     BasicSmithInfo::add_essence(player_ptr, o_ptr, number);
 
@@ -198,7 +198,7 @@ bool SlayingGlovesSmithInfo::add_essence(PlayerType *player_ptr, ObjectType *o_p
     return true;
 }
 
-void SlayingGlovesSmithInfo::erase_essence(ObjectType *o_ptr) const
+void SlayingGlovesSmithInfo::erase_essence(ItemEntity *o_ptr) const
 {
     BasicSmithInfo::erase_essence(o_ptr);
 
@@ -214,7 +214,7 @@ void SlayingGlovesSmithInfo::erase_essence(ObjectType *o_ptr) const
     }
 }
 
-bool SlayingGlovesSmithInfo::can_give_smith_effect_impl(const ObjectType *o_ptr) const
+bool SlayingGlovesSmithInfo::can_give_smith_effect_impl(const ItemEntity *o_ptr) const
 {
     return o_ptr->tval == ItemKindType::GLOVES;
 }
index 639e862..19c6c63 100644 (file)
@@ -13,7 +13,7 @@ enum class SmithEssenceType : int16_t;
 enum class RandomArtActType : short;
 
 class PlayerType;
-class ObjectType;
+class ItemEntity;
 
 /*!
  * @brief 鍛冶効果の情報の基底クラス
@@ -29,14 +29,14 @@ public:
      * @param number 付与を行うエッセンスの個数
      * @return 鍛冶効果の付与に成功した場合は true、失敗した場合は false
      */
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const = 0;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const = 0;
 
     /*!
      * @brief 鍛冶効果を消去する
      *
      * @param o_ptr 鍛冶効果の消去を行うアイテム構造体へのポインタ
      */
-    virtual void erase_essence(ObjectType *o_ptr) const = 0;
+    virtual void erase_essence(ItemEntity *o_ptr) const = 0;
 
     /*!
      * @brief 鍛冶効果により与えられる特性フラグ(tr_type)のFlagGroupオブジェクトを取得する
@@ -52,7 +52,7 @@ public:
      * @param o_ptr 鍛冶を行うアイテム構造体へのポインタ
      * @return 鍛冶を行えるなら true、そうでなければ false
      */
-    virtual bool can_give_smith_effect(const ObjectType *o_ptr) const = 0;
+    virtual bool can_give_smith_effect(const ItemEntity *o_ptr) const = 0;
 
     SmithEffectType effect; //!< 鍛冶で与える効果の種類
     concptr name; //!< 鍛冶で与える能力の名称
@@ -71,13 +71,13 @@ protected:
 class BasicSmithInfo : public ISmithInfo {
 public:
     BasicSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector<SmithEssenceType> need_essences, int consumption, TrFlags add_flags);
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const override;
-    virtual void erase_essence(ObjectType *o_ptr) const override;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const override;
+    virtual void erase_essence(ItemEntity *o_ptr) const override;
     virtual TrFlags tr_flags() const override;
-    virtual bool can_give_smith_effect(const ObjectType *o_ptr) const final override;
+    virtual bool can_give_smith_effect(const ItemEntity *o_ptr) const final override;
 
 private:
-    virtual bool can_give_smith_effect_impl(const ObjectType *o_ptr) const;
+    virtual bool can_give_smith_effect_impl(const ItemEntity *o_ptr) const;
     TrFlags add_flags; //!< 鍛冶で能力を与えることにより付与されるアイテム特性フラグ
 };
 
@@ -88,9 +88,9 @@ private:
 class ActivationSmithInfo : public ISmithInfo {
 public:
     ActivationSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector<SmithEssenceType> need_essences, int consumption, RandomArtActType act_idx);
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const override;
-    virtual void erase_essence(ObjectType *) const override;
-    virtual bool can_give_smith_effect(const ObjectType *o_ptr) const override;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const override;
+    virtual void erase_essence(ItemEntity *) const override;
+    virtual bool can_give_smith_effect(const ItemEntity *o_ptr) const override;
 
 private:
     RandomArtActType act_idx; //!< 発動能力ID
@@ -103,9 +103,9 @@ private:
 class EnchantWeaponSmithInfo : public ISmithInfo {
 public:
     EnchantWeaponSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector<SmithEssenceType> need_essences, int consumption);
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const override;
-    virtual void erase_essence(ObjectType *) const override {}
-    virtual bool can_give_smith_effect(const ObjectType *o_ptr) const override;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const override;
+    virtual void erase_essence(ItemEntity *) const override {}
+    virtual bool can_give_smith_effect(const ItemEntity *o_ptr) const override;
 };
 
 /*!
@@ -115,9 +115,9 @@ public:
 class EnchantArmourSmithInfo : public ISmithInfo {
 public:
     EnchantArmourSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector<SmithEssenceType> need_essences, int consumption);
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const override;
-    virtual void erase_essence(ObjectType *) const override {}
-    virtual bool can_give_smith_effect(const ObjectType *o_ptr) const override;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const override;
+    virtual void erase_essence(ItemEntity *) const override {}
+    virtual bool can_give_smith_effect(const ItemEntity *o_ptr) const override;
 };
 
 /*!
@@ -127,9 +127,9 @@ public:
 class SustainSmithInfo : public ISmithInfo {
 public:
     SustainSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector<SmithEssenceType> need_essences, int consumption);
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const override;
-    virtual void erase_essence(ObjectType *) const override {}
-    virtual bool can_give_smith_effect(const ObjectType *o_ptr) const override;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const override;
+    virtual void erase_essence(ItemEntity *) const override {}
+    virtual bool can_give_smith_effect(const ItemEntity *o_ptr) const override;
 };
 
 /*!
@@ -139,9 +139,9 @@ public:
 class SlayingGlovesSmithInfo : public BasicSmithInfo {
 public:
     SlayingGlovesSmithInfo(SmithEffectType effect, concptr name, SmithCategoryType category, std::vector<SmithEssenceType> need_essences, int consumption);
-    virtual bool add_essence(PlayerType *player_ptr, ObjectType *o_ptr, int number) const override;
-    virtual void erase_essence(ObjectType *) const override;
+    virtual bool add_essence(PlayerType *player_ptr, ItemEntity *o_ptr, int number) const override;
+    virtual void erase_essence(ItemEntity *) const override;
 
 private:
-    virtual bool can_give_smith_effect_impl(const ObjectType *o_ptr) const override;
+    virtual bool can_give_smith_effect_impl(const ItemEntity *o_ptr) const override;
 };
index ac5429c..171c1ba 100644 (file)
@@ -16,7 +16,7 @@
  * @details スレイ2d2種、及びone_resistance()による耐性1d2種、pval2種を得る。
  * @param o_ptr 対象のオブジェクト構造体 (ブラッディムーン)のポインタ
  */
-void get_bloody_moon_flags(ObjectType *o_ptr)
+void get_bloody_moon_flags(ItemEntity *o_ptr)
 {
     o_ptr->art_flags = artifacts_info.at(FixedArtifactId::BLOOD).flags;
 
@@ -55,7 +55,7 @@ void get_bloody_moon_flags(ObjectType *o_ptr)
  * @param o_ptr ブラッディ・ムーンへの参照ポインタ
  * @return オブジェクト情報に異常がない限りTRUE
  */
-bool activate_bloody_moon(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_bloody_moon(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!o_ptr->is_specific_artifact(FixedArtifactId::BLOOD)) {
         return false;
index 61085a6..59ac646 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-void get_bloody_moon_flags(ObjectType *o_ptr);
-bool activate_bloody_moon(PlayerType *player_ptr, ObjectType *o_ptr);
+void get_bloody_moon_flags(ItemEntity *o_ptr);
+bool activate_bloody_moon(PlayerType *player_ptr, ItemEntity *o_ptr);
index 3c52f14..d721e64 100644 (file)
@@ -8,7 +8,7 @@
  * @param o_ptr 判定する射撃武器のアイテム情報参照ポインタ
  * @return 対応する矢/弾薬のベースアイテムID
  */
-ItemKindType bow_tval_ammo(ObjectType *o_ptr)
+ItemKindType bow_tval_ammo(ItemEntity *o_ptr)
 {
     switch (o_ptr->sval) {
     case SV_SLING:
index 21d47a3..1b4e4d9 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
 enum class ItemKindType : short;
-class ObjectType;
-ItemKindType bow_tval_ammo(ObjectType *o_ptr);
+class ItemEntity;
+ItemKindType bow_tval_ammo(ItemEntity *o_ptr);
index 0ead824..01cdc1e 100644 (file)
@@ -61,8 +61,8 @@ void Chest::chest_death(bool scatter, POSITION y, POSITION x, OBJECT_IDX o_idx)
     bool small;
     BIT_FLAGS mode = AM_GOOD | AM_FORBID_CHEST;
 
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
 
     auto *floor_ptr = this->player_ptr->current_floor_ptr;
     auto *o_ptr = &floor_ptr->o_list[o_idx];
index 5dae48c..cb60804 100644 (file)
@@ -56,7 +56,7 @@ static bool fire_crimson(PlayerType *player_ptr)
     return true;
 }
 
-bool activate_crimson(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_crimson(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!o_ptr->is_specific_artifact(FixedArtifactId::CRIMSON)) {
         return false;
index 0a145b4..6274ca0 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool activate_crimson(PlayerType *player_ptr, ObjectType *o_ptr);
+bool activate_crimson(PlayerType *player_ptr, ItemEntity *o_ptr);
index fa40533..fbe59f4 100644 (file)
@@ -7,7 +7,7 @@
 #include "system/player-type-definition.h"
 #include "view/display-messages.h"
 
-bool activate_muramasa(PlayerType *player_ptr, ObjectType *o_ptr)
+bool activate_muramasa(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (!o_ptr->is_specific_artifact(FixedArtifactId::MURAMASA)) {
         return false;
index 4b45658..2601915 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool activate_muramasa(PlayerType *player_ptr, ObjectType *o_ptr);
+bool activate_muramasa(PlayerType *player_ptr, ItemEntity *o_ptr);
index 5f6d2fc..dd4c9db 100644 (file)
@@ -25,7 +25,7 @@
  * @param o_ptr オブジェクトの構造体参照ポインタ
  * @return 残量アリの松明ならtrue
  */
-bool is_active_torch(ObjectType *o_ptr)
+bool is_active_torch(ItemEntity *o_ptr)
 {
     return (o_ptr->tval == ItemKindType::LITE) && (o_ptr->sval == SV_LITE_TORCH) && (o_ptr->fuel > 0);
 }
@@ -36,7 +36,7 @@ bool is_active_torch(ObjectType *o_ptr)
  * @param o_ptr 投擲するオブジェクトの構造体参照ポインタ
  * @param flgs 特別に追加するフラグを返す参照ポインタ
  */
-void torch_flags(ObjectType *o_ptr, TrFlags &flgs)
+void torch_flags(ItemEntity *o_ptr, TrFlags &flgs)
 {
     if (!is_active_torch(o_ptr)) {
         return;
@@ -54,7 +54,7 @@ void torch_flags(ObjectType *o_ptr, TrFlags &flgs)
  * @param dd 特別なダイス数を返す参照ポインタ
  * @param ds 特別なダイス面数を返す参照ポインタ
  */
-void torch_dice(ObjectType *o_ptr, DICE_NUMBER *dd, DICE_SID *ds)
+void torch_dice(ItemEntity *o_ptr, DICE_NUMBER *dd, DICE_SID *ds)
 {
     if (!is_active_torch(o_ptr)) {
         return;
@@ -69,7 +69,7 @@ void torch_dice(ObjectType *o_ptr, DICE_NUMBER *dd, DICE_SID *ds)
  * Torches have special abilities when they are flaming.
  * @param o_ptr 投擲するオブジェクトの構造体参照ポインタ
  */
-void torch_lost_fuel(ObjectType *o_ptr)
+void torch_lost_fuel(ItemEntity *o_ptr)
 {
     if (!is_active_torch(o_ptr)) {
         return;
@@ -90,7 +90,7 @@ void update_lite_radius(PlayerType *player_ptr)
 {
     player_ptr->cur_lite = 0;
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         auto flgs = object_flags(o_ptr);
 
index 2670a5e..fbe7229 100644 (file)
@@ -4,11 +4,11 @@
 
 #include "object-enchant/tr-flags.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool is_active_torch(ObjectType *o_ptr);
-void torch_flags(ObjectType *o_ptr, TrFlags &flgs);
-void torch_dice(ObjectType *o_ptr, DICE_NUMBER *dd, DICE_SID *ds);
-void torch_lost_fuel(ObjectType *o_ptr);
+bool is_active_torch(ItemEntity *o_ptr);
+void torch_flags(ItemEntity *o_ptr, TrFlags &flgs);
+void torch_dice(ItemEntity *o_ptr, DICE_NUMBER *dd, DICE_SID *ds);
+void torch_lost_fuel(ItemEntity *o_ptr);
 void update_lite_radius(PlayerType *player_ptr);
 void update_lite(PlayerType *player_ptr);
index 5c50083..8281608 100644 (file)
@@ -53,8 +53,8 @@ bool recharge(PlayerType *player_ptr, int power)
     concptr s = _("魔力を充填すべきアイテムがない。", "You have nothing to recharge.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ObjectType::is_rechargeable));
+    ItemEntity *o_ptr;
+    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ItemEntity::is_rechargeable));
     if (!o_ptr) {
         return false;
     }
index 2ed9d36..22b1dd4 100644 (file)
@@ -29,7 +29,7 @@ bool artifact_scroll(PlayerType *player_ptr)
 {
     concptr q = _("どのアイテムを強化しますか? ", "Enchant which item? ");
     concptr s = _("強化できるアイテムがない。", "You have nothing to enchant.");
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     OBJECT_IDX item;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), FuncItemTester(object_is_nameless_weapon_armour));
     if (!o_ptr) {
@@ -125,11 +125,11 @@ bool mundane_spell(PlayerType *player_ptr, bool only_equip)
 {
     std::unique_ptr<ItemTester> item_tester = std::make_unique<AllMatchItemTester>();
     if (only_equip) {
-        item_tester = std::make_unique<FuncItemTester>(&ObjectType::is_weapon_armour_ammo);
+        item_tester = std::make_unique<FuncItemTester>(&ItemEntity::is_weapon_armour_ammo);
     }
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     concptr q = _("どのアイテムを凡庸化しますか?", "Mundanify which item? ");
     concptr s = _("凡庸化できるアイテムがない。", "You have nothing to mundanify.");
 
index 0a5c2b2..725acb0 100644 (file)
@@ -50,7 +50,7 @@ bool apply_disenchant(PlayerType *player_ptr, BIT_FLAGS mode)
         break;
     }
 
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->inventory_list[t];
     if (!o_ptr->k_idx) {
         return false;
index d5fe229..ec4ff20 100644 (file)
@@ -39,7 +39,7 @@
 void fetch_item(PlayerType *player_ptr, DIRECTION dir, WEIGHT wgt, bool require_los)
 {
     grid_type *g_ptr;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
 
     if (!player_ptr->current_floor_ptr->grid_array[player_ptr->y][player_ptr->x].o_idx_list.empty()) {
index 3d425ff..fec4585 100644 (file)
@@ -341,7 +341,7 @@ bool destroy_area(PlayerType *player_ptr, POSITION y1, POSITION x1, POSITION r,
             if (preserve_mode || in_generate) {
                 /* Scan all objects in the grid */
                 for (const auto this_o_idx : g_ptr->o_idx_list) {
-                    ObjectType *o_ptr;
+                    ItemEntity *o_ptr;
                     o_ptr = &floor_ptr->o_list[this_o_idx];
 
                     /* Hack -- Preserve unknown artifacts */
index 20dc6e0..c7282b1 100644 (file)
@@ -56,7 +56,7 @@ void identify_pack(PlayerType *player_ptr)
  * @param o_ptr 鑑定されるアイテムの情報参照ポインタ
  * @return 実際に鑑定できたらTRUEを返す
  */
-bool identify_item(PlayerType *player_ptr, ObjectType *o_ptr)
+bool identify_item(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     GAME_TEXT o_name[MAX_NLEN];
     describe_flavor(player_ptr, o_name, o_ptr, 0);
@@ -113,7 +113,7 @@ bool ident_spell(PlayerType *player_ptr, bool only_equip)
         q = _("どのアイテムを鑑定しますか? ", "Identify which item? ");
     } else {
         if (only_equip) {
-            item_tester = std::make_unique<FuncItemTester>(&ObjectType::is_weapon_armour_ammo);
+            item_tester = std::make_unique<FuncItemTester>(&ItemEntity::is_weapon_armour_ammo);
         } else {
             item_tester = std::make_unique<AllMatchItemTester>();
         }
@@ -122,7 +122,7 @@ bool ident_spell(PlayerType *player_ptr, bool only_equip)
 
     concptr s = _("鑑定するべきアイテムがない。", "You have nothing to identify.");
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), *item_tester);
     if (!o_ptr) {
         return false;
@@ -163,7 +163,7 @@ bool identify_fully(PlayerType *player_ptr, bool only_equip)
         q = _("どのアイテムを*鑑定*しますか? ", "*Identify* which item? ");
     } else {
         if (only_equip) {
-            item_tester = std::make_unique<FuncItemTester>(&ObjectType::is_weapon_armour_ammo);
+            item_tester = std::make_unique<FuncItemTester>(&ItemEntity::is_weapon_armour_ammo);
         } else {
             item_tester = std::make_unique<AllMatchItemTester>();
         }
@@ -173,7 +173,7 @@ bool identify_fully(PlayerType *player_ptr, bool only_equip)
     concptr s = _("*鑑定*するべきアイテムがない。", "You have nothing to *identify*.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), *item_tester);
     if (!o_ptr) {
         return false;
index 0044262..9982962 100644 (file)
@@ -2,9 +2,9 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void identify_pack(PlayerType *player_ptr);
-bool identify_item(PlayerType *player_ptr, ObjectType *o_ptr);
+bool identify_item(PlayerType *player_ptr, ItemEntity *o_ptr);
 bool ident_spell(PlayerType *player_ptr, bool only_equip);
 bool identify_fully(PlayerType *player_ptr, bool only_equip);
index 7f46c65..98b1081 100644 (file)
@@ -554,7 +554,7 @@ void teleport_away_followable(PlayerType *player_ptr, MONSTER_IDX m_idx)
     if (player_ptr->muta.has(PlayerMutationType::VTELEPORT) || PlayerClass(player_ptr).equals(PlayerClassType::IMITATOR)) {
         follow = true;
     } else {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         INVENTORY_IDX i;
 
         for (i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
index 6dc2ff2..69332c5 100644 (file)
@@ -22,7 +22,7 @@ bool rustproof(PlayerType *player_ptr)
     concptr q = _("どの防具に錆止めをしますか?", "Rustproof which piece of armour? ");
     concptr s = _("錆止めできるものがありません。", "You have nothing to rustproof.");
     OBJECT_IDX item;
-    auto *o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT, FuncItemTester(&ObjectType::is_armour));
+    auto *o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT, FuncItemTester(&ItemEntity::is_armour));
     if (o_ptr == nullptr) {
         return false;
     }
index 599b1e1..0974afb 100644 (file)
@@ -30,7 +30,7 @@ bool alchemy(PlayerType *player_ptr)
     concptr q = _("どのアイテムを金に変えますか?", "Turn which item to gold? ");
     concptr s = _("金に変えられる物がありません。", "You have nothing to turn to gold.");
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR));
     if (!o_ptr) {
         return false;
index 42a3d9d..a6d275b 100644 (file)
@@ -151,7 +151,7 @@ void generate_amusement(PlayerType *player_ptr, int num, bool known)
             }
         }
 
-        ObjectType item;
+        ItemEntity item;
         item.prep(k_idx);
         if (opt_a_idx.has_value()) {
             item.fixed_artifact_idx = opt_a_idx.value();
@@ -195,8 +195,8 @@ void generate_amusement(PlayerType *player_ptr, int num, bool known)
  */
 void acquirement(PlayerType *player_ptr, POSITION y1, POSITION x1, int num, bool great, bool special, bool known)
 {
-    ObjectType *i_ptr;
-    ObjectType ObjectType_body;
+    ItemEntity *i_ptr;
+    ItemEntity ObjectType_body;
     BIT_FLAGS mode = AM_GOOD | (great || special ? AM_GREAT : AM_NONE) | (special ? AM_SPECIAL : AM_NONE);
 
     /* Acquirement */
@@ -227,7 +227,7 @@ void acquirement(PlayerType *player_ptr, POSITION y1, POSITION x1, int num, bool
 bool curse_armor(PlayerType *player_ptr)
 {
     /* Curse the body armor */
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->inventory_list[INVEN_BODY];
 
     if (!o_ptr->k_idx) {
@@ -283,7 +283,7 @@ bool curse_armor(PlayerType *player_ptr)
  * @return 何も持っていない場合を除き、常にTRUEを返す
  * @todo 元のreturnは間違っているが、修正後の↓文がどれくらい正しいかは要チェック
  */
-bool curse_weapon_object(PlayerType *player_ptr, bool force, ObjectType *o_ptr)
+bool curse_weapon_object(PlayerType *player_ptr, bool force, ItemEntity *o_ptr)
 {
     if (!o_ptr->k_idx) {
         return false;
@@ -380,7 +380,7 @@ void brand_bolts(PlayerType *player_ptr)
  * Break the curse of an item
  * @param o_ptr 呪い装備情報の参照ポインタ
  */
-static void break_curse(ObjectType *o_ptr)
+static void break_curse(ItemEntity *o_ptr)
 {
     BIT_FLAGS is_curse_broken = o_ptr->is_cursed() && o_ptr->curse_flags.has_not(CurseTraitType::PERMA_CURSE) && o_ptr->curse_flags.has_not(CurseTraitType::HEAVY_CURSE) && (randint0(100) < 25);
     if (!is_curse_broken) {
@@ -417,7 +417,7 @@ static void break_curse(ObjectType *o_ptr)
  * the larger the pile, the lower the chance of success.
  * </pre>
  */
-bool enchant_equipment(PlayerType *player_ptr, ObjectType *o_ptr, int n, int eflag)
+bool enchant_equipment(PlayerType *player_ptr, ItemEntity *o_ptr, int n, int eflag)
 {
     /* Large piles resist enchantment */
     int prob = o_ptr->number * 100;
@@ -530,18 +530,18 @@ bool enchant_equipment(PlayerType *player_ptr, ObjectType *o_ptr, int n, int efl
 bool enchant_spell(PlayerType *player_ptr, HIT_PROB num_hit, int num_dam, ARMOUR_CLASS num_ac)
 {
     /* Assume enchant weapon */
-    FuncItemTester item_tester(&ObjectType::allow_enchant_weapon);
+    FuncItemTester item_tester(&ItemEntity::allow_enchant_weapon);
 
     /* Enchant armor if requested */
     if (num_ac) {
-        item_tester = FuncItemTester(&ObjectType::is_armour);
+        item_tester = FuncItemTester(&ItemEntity::is_armour);
     }
 
     concptr q = _("どのアイテムを強化しますか? ", "Enchant which item? ");
     concptr s = _("強化できるアイテムがない。", "You have nothing to enchant.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), item_tester);
     if (!o_ptr) {
         return false;
@@ -597,8 +597,8 @@ void brand_weapon(PlayerType *player_ptr, int brand_type)
     concptr s = _("強化できる武器がない。", "You have nothing to enchant.");
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | IGNORE_BOTHHAND_SLOT, FuncItemTester(&ObjectType::allow_enchant_melee_weapon));
+    ItemEntity *o_ptr;
+    o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | IGNORE_BOTHHAND_SLOT, FuncItemTester(&ItemEntity::allow_enchant_melee_weapon));
     if (!o_ptr) {
         return;
     }
index 1062fd0..8e71d04 100644 (file)
@@ -2,12 +2,12 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 void generate_amusement(PlayerType *player_ptr, int num, bool known);
 void acquirement(PlayerType *player_ptr, POSITION y1, POSITION x1, int num, bool great, bool special, bool known);
 bool curse_armor(PlayerType *player_ptr);
-bool curse_weapon_object(PlayerType *player_ptr, bool force, ObjectType *o_ptr);
+bool curse_weapon_object(PlayerType *player_ptr, bool force, ItemEntity *o_ptr);
 void brand_bolts(PlayerType *player_ptr);
 
 /*
@@ -17,6 +17,6 @@ void brand_bolts(PlayerType *player_ptr);
 #define ENCH_TODAM 0x02 /*!< 装備強化処理: ダメージ強化 / Enchant to damage */
 #define ENCH_TOAC 0x04 /*!< 装備強化処理: AC強化 / Enchant to AC */
 #define ENCH_FORCE 0x08 /*!< 装備強化処理: 無条件に成功させる / Force enchantment */
-bool enchant_equipment(PlayerType *player_ptr, ObjectType *o_ptr, int n, int eflag);
+bool enchant_equipment(PlayerType *player_ptr, ItemEntity *o_ptr, int n, int eflag);
 bool enchant_spell(PlayerType *player_ptr, HIT_PROB num_hit, int num_dam, ARMOUR_CLASS num_ac);
 void brand_weapon(PlayerType *player_ptr, int brand_type);
index 35d4ed2..bb93472 100644 (file)
@@ -560,7 +560,7 @@ bool fishing(PlayerType *player_ptr)
  * @details
  * 脱いで落とした装備にtimeoutを設定するために装備品のアドレスを返す。
  */
-bool cosmic_cast_off(PlayerType *player_ptr, ObjectType **o_ptr_ptr)
+bool cosmic_cast_off(PlayerType *player_ptr, ItemEntity **o_ptr_ptr)
 {
     auto *o_ptr = (*o_ptr_ptr);
 
@@ -576,7 +576,7 @@ bool cosmic_cast_off(PlayerType *player_ptr, ObjectType **o_ptr_ptr)
         return false;
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     (&forge)->copy_from(o_ptr);
     inven_item_increase(player_ptr, slot, (0 - o_ptr->number));
     inven_item_optimize(player_ptr, slot);
index c727a09..98631d1 100644 (file)
@@ -3,7 +3,7 @@
 #include "spell/spells-util.h"
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 struct monster_type;
 bool heal_monster(PlayerType *player_ptr, DIRECTION dir, int dam);
@@ -30,6 +30,6 @@ bool restore_mana(PlayerType *player_ptr, bool magic_eater);
 bool restore_all_status(PlayerType *player_ptr);
 
 bool fishing(PlayerType *player_ptr);
-bool cosmic_cast_off(PlayerType *player_ptr, ObjectType **o_ptr_ptr);
+bool cosmic_cast_off(PlayerType *player_ptr, ItemEntity **o_ptr_ptr);
 void apply_nexus(monster_type *m_ptr, PlayerType *player_ptr);
 void status_shuffle(PlayerType *player_ptr);
index 685c0e0..68e79fa 100644 (file)
@@ -219,8 +219,8 @@ bool cast_summon_greater_demon(PlayerType *player_ptr)
     concptr q = _("どの死体を捧げますか? ", "Sacrifice which corpse? ");
     concptr s = _("捧げられる死体を持っていない。", "You have nothing to sacrifice.");
     OBJECT_IDX item;
-    ObjectType *o_ptr;
-    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ObjectType::is_offerable));
+    ItemEntity *o_ptr;
+    o_ptr = choose_object(player_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), FuncItemTester(&ItemEntity::is_offerable));
     if (!o_ptr) {
         return false;
     }
index cefda3a..a903e06 100644 (file)
@@ -4,7 +4,7 @@
 
 enum summon_type : int;
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 bool trump_summoning(PlayerType *player_ptr, int num, bool pet, POSITION y, POSITION x, DEPTH lev, summon_type type, BIT_FLAGS mode);
 bool cast_summon_demon(PlayerType *player_ptr, int power);
index 63d1c26..881bb05 100644 (file)
@@ -17,7 +17,7 @@
  * Based on a suggestion by "Lee Vogt" <lvogt@cig.mcel.mot.com>
  * </pre>
  */
-bool black_market_crap(PlayerType *player_ptr, ObjectType *o_ptr)
+bool black_market_crap(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (o_ptr->is_ego()) {
         return false;
index 84aa7db..1ea403a 100644 (file)
@@ -1,5 +1,5 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool black_market_crap(PlayerType *player_ptr, ObjectType *o_ptr);
+bool black_market_crap(PlayerType *player_ptr, ItemEntity *o_ptr);
index 880a6f0..8ba5445 100644 (file)
@@ -170,8 +170,8 @@ void do_cmd_store(PlayerType *player_ptr)
                 leave_store = true;
             } else {
                 int item_pos;
-                ObjectType forge;
-                ObjectType *q_ptr;
+                ItemEntity forge;
+                ItemEntity *q_ptr;
                 GAME_TEXT o_name[MAX_NLEN];
                 msg_print(_("ザックからアイテムがあふれてしまった!", "Your pack overflows!"));
                 q_ptr = &forge;
index f97982a..5ed01c4 100644 (file)
@@ -24,7 +24,7 @@
  * known, the player may have to pick stuff up and drop it again.
  * </pre>
  */
-int home_carry(PlayerType *player_ptr, ObjectType *o_ptr, StoreSaleType store_num)
+int home_carry(PlayerType *player_ptr, ItemEntity *o_ptr, StoreSaleType store_num)
 {
     bool old_stack_force_notes = stack_force_notes;
     bool old_stack_force_costs = stack_force_costs;
@@ -34,7 +34,7 @@ int home_carry(PlayerType *player_ptr, ObjectType *o_ptr, StoreSaleType store_nu
     }
 
     for (int slot = 0; slot < st_ptr->stock_num; slot++) {
-        ObjectType *j_ptr;
+        ItemEntity *j_ptr;
         j_ptr = &st_ptr->stock[slot];
         if (object_similar(j_ptr, o_ptr)) {
             object_absorb(j_ptr, o_ptr);
@@ -86,7 +86,7 @@ int home_carry(PlayerType *player_ptr, ObjectType *o_ptr, StoreSaleType store_nu
     return slot;
 }
 
-static bool exe_combine_store_items(ObjectType *o_ptr, ObjectType *j_ptr, const int max_num, const int i, bool *combined)
+static bool exe_combine_store_items(ItemEntity *o_ptr, ItemEntity *j_ptr, const int max_num, const int i, bool *combined)
 {
     if (o_ptr->number + j_ptr->number > max_num) {
         return false;
@@ -104,10 +104,10 @@ static bool exe_combine_store_items(ObjectType *o_ptr, ObjectType *j_ptr, const
     return true;
 }
 
-static void sweep_reorder_store_item(ObjectType *o_ptr, const int i, bool *combined)
+static void sweep_reorder_store_item(ItemEntity *o_ptr, const int i, bool *combined)
 {
     for (int j = 0; j < i; j++) {
-        ObjectType *j_ptr;
+        ItemEntity *j_ptr;
         j_ptr = &st_ptr->stock[j];
         if (!j_ptr->k_idx) {
             continue;
@@ -141,7 +141,7 @@ static void sweep_reorder_store_item(ObjectType *o_ptr, const int i, bool *combi
 static void exe_reorder_store_item(PlayerType *player_ptr, bool *flag)
 {
     for (int i = 0; i < st_ptr->stock_num; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &st_ptr->stock[i];
         if (!o_ptr->k_idx) {
             continue;
@@ -160,8 +160,8 @@ static void exe_reorder_store_item(PlayerType *player_ptr, bool *flag)
         }
 
         *flag = true;
-        ObjectType *j_ptr;
-        ObjectType forge;
+        ItemEntity *j_ptr;
+        ItemEntity forge;
         j_ptr = &forge;
         j_ptr->copy_from(&st_ptr->stock[i]);
         for (int k = i; k > j; k--) {
@@ -194,7 +194,7 @@ bool combine_and_reorder_home(PlayerType *player_ptr, const StoreSaleType store_
     while (combined) {
         combined = false;
         for (int i = st_ptr->stock_num - 1; i > 0; i--) {
-            ObjectType *o_ptr;
+            ItemEntity *o_ptr;
             o_ptr = &st_ptr->stock[i];
             if (!o_ptr->k_idx) {
                 continue;
index 5d89af0..7694b94 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
 enum class StoreSaleType;
-int home_carry(PlayerType *player_ptr, ObjectType *o_ptr, StoreSaleType store_num);
+int home_carry(PlayerType *player_ptr, ItemEntity *o_ptr, StoreSaleType store_num);
 bool combine_and_reorder_home(PlayerType *player_ptr, const StoreSaleType store_num);
index 8277d75..d0257a1 100644 (file)
@@ -34,7 +34,7 @@ void museum_remove_object(PlayerType *player_ptr)
     }
 
     item = item + store_top;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &st_ptr->stock[item];
 
     GAME_TEXT o_name[MAX_NLEN];
index 3c258dd..b4270b9 100644 (file)
@@ -31,7 +31,7 @@
  * "greed" value is always something (?).
  * </pre>
  */
-PRICE price_item(PlayerType *player_ptr, ObjectType *o_ptr, int greed, bool flip, StoreSaleType store_num)
+PRICE price_item(PlayerType *player_ptr, ItemEntity *o_ptr, int greed, bool flip, StoreSaleType store_num)
 {
     auto price = o_ptr->get_price();
     if (price <= 0) {
index 7a9b436..7333ef8 100644 (file)
@@ -5,6 +5,6 @@
 #define LOW_PRICE_THRESHOLD 10L
 
 enum class StoreSaleType;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-PRICE price_item(PlayerType *player_ptr, ObjectType *o_ptr, int greed, bool flip, StoreSaleType store_num);
+PRICE price_item(PlayerType *player_ptr, ItemEntity *o_ptr, int greed, bool flip, StoreSaleType store_num);
index 2f75d16..4268435 100644 (file)
@@ -46,7 +46,7 @@
  * @return プレイヤーの価格に対して店主が不服ならばTRUEを返す /
  * Return TRUE if purchase is NOT successful
  */
-static std::optional<PRICE> prompt_to_buy(PlayerType *player_ptr, ObjectType *o_ptr, StoreSaleType store_num)
+static std::optional<PRICE> prompt_to_buy(PlayerType *player_ptr, ItemEntity *o_ptr, StoreSaleType store_num)
 {
     auto price_ask = price_item(player_ptr, o_ptr, ot_ptr->inflate, false, store_num);
 
@@ -97,7 +97,7 @@ static bool show_store_select_item(COMMAND_CODE *item, const int i, StoreSaleTyp
  * @param i お店のストック数(アドレス渡し)
  * @param 取得元インベントリ番号
  */
-static void take_item_from_home(PlayerType *player_ptr, ObjectType *o_ptr, ObjectType *j_ptr, const COMMAND_CODE item)
+static void take_item_from_home(PlayerType *player_ptr, ItemEntity *o_ptr, ItemEntity *j_ptr, const COMMAND_CODE item)
 {
     const int amt = j_ptr->number;
     distribute_charges(o_ptr, j_ptr, amt);
@@ -206,11 +206,11 @@ void store_purchase(PlayerType *player_ptr, StoreSaleType store_num)
     }
 
     item = item + store_top;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &st_ptr->stock[item];
 
     ITEM_NUMBER amt = 1;
-    ObjectType forge;
+    ItemEntity forge;
     auto *j_ptr = &forge;
     j_ptr->copy_from(o_ptr);
 
index 64497a7..d11a179 100644 (file)
@@ -112,7 +112,7 @@ void display_rumor(PlayerType *player_ptr, bool ex)
         const auto &artifact_name = tokens[1];
         const auto &[a_idx, a_ptr] = get_artifact_definition(artifact_name);
         const auto k_idx = lookup_baseitem_id(a_ptr->bi_key);
-        ObjectType item;
+        ItemEntity item;
         item.prep(k_idx);
         item.fixed_artifact_idx = a_idx;
         item.ident = IDENT_STORE;
index 4a10deb..c7d614e 100644 (file)
@@ -48,7 +48,7 @@
  * @param o_ptr オブジェクトの構造体参照ポインタ
  * @return 売るなら(true,売値)、売らないなら(false,0)のタプル
  */
-static std::optional<PRICE> prompt_to_sell(PlayerType *player_ptr, ObjectType *o_ptr, StoreSaleType store_num)
+static std::optional<PRICE> prompt_to_sell(PlayerType *player_ptr, ItemEntity *o_ptr, StoreSaleType store_num)
 {
     auto price_ask = price_item(player_ptr, o_ptr, ot_ptr->inflate, true, store_num);
 
@@ -91,7 +91,7 @@ void store_sell(PlayerType *player_ptr, StoreSaleType store_num)
     }
 
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s_none, USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT, FuncItemTester(store_will_buy, player_ptr, store_num));
     if (!o_ptr) {
         return;
@@ -110,7 +110,7 @@ void store_sell(PlayerType *player_ptr, StoreSaleType store_num)
         }
     }
 
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->copy_from(o_ptr);
     q_ptr->number = amt;
index 0aa96c2..3008057 100644 (file)
  * @param o_ptr 判定したいオブジェクト構造体の参照ポインタ
  * @return アイテムが祝福されたアイテムならばTRUEを返す
  */
-static bool is_blessed_item(const ObjectType *o_ptr)
+static bool is_blessed_item(const ItemEntity *o_ptr)
 {
     auto flgs = object_flags(o_ptr);
     return flgs.has(TR_BLESSED);
 }
 
-static bool check_store_general(const ObjectType *o_ptr)
+static bool check_store_general(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::ROD:
@@ -55,7 +55,7 @@ static bool check_store_general(const ObjectType *o_ptr)
     }
 }
 
-static bool check_store_armoury(const ObjectType *o_ptr)
+static bool check_store_armoury(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::BOOTS:
@@ -73,7 +73,7 @@ static bool check_store_armoury(const ObjectType *o_ptr)
     }
 }
 
-static bool check_store_weapon(const ObjectType *o_ptr)
+static bool check_store_weapon(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::SHOT:
@@ -92,7 +92,7 @@ static bool check_store_weapon(const ObjectType *o_ptr)
     }
 }
 
-static bool check_store_temple(const ObjectType *o_ptr)
+static bool check_store_temple(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::LIFE_BOOK:
@@ -123,7 +123,7 @@ static bool check_store_temple(const ObjectType *o_ptr)
     }
 }
 
-static bool check_store_alchemist(const ObjectType *o_ptr)
+static bool check_store_alchemist(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::SCROLL:
@@ -134,7 +134,7 @@ static bool check_store_alchemist(const ObjectType *o_ptr)
     }
 }
 
-static bool check_store_magic(const ObjectType *o_ptr)
+static bool check_store_magic(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::SORCERY_BOOK:
@@ -163,7 +163,7 @@ static bool check_store_magic(const ObjectType *o_ptr)
     }
 }
 
-static bool check_store_book(const ObjectType *o_ptr)
+static bool check_store_book(const ItemEntity *o_ptr)
 {
     switch (o_ptr->tval) {
     case ItemKindType::SORCERY_BOOK:
@@ -184,7 +184,7 @@ static bool check_store_book(const ObjectType *o_ptr)
     }
 }
 
-static bool switch_store_check(const ObjectType *o_ptr, StoreSaleType store_num)
+static bool switch_store_check(const ItemEntity *o_ptr, StoreSaleType store_num)
 {
     switch (store_num) {
     case StoreSaleType::GENERAL:
@@ -215,7 +215,7 @@ static bool switch_store_check(const ObjectType *o_ptr, StoreSaleType store_num)
  * Note that a shop-keeper must refuse to buy "worthless" items
  */
 
-bool store_will_buy(PlayerType *, const ObjectType *o_ptr, StoreSaleType store_num)
+bool store_will_buy(PlayerType *, const ItemEntity *o_ptr, StoreSaleType store_num)
 {
     if ((store_num == StoreSaleType::HOME) || (store_num == StoreSaleType::MUSEUM)) {
         return true;
@@ -246,7 +246,7 @@ static int mass_lite_produce(const PRICE cost)
     return size;
 }
 
-static int mass_scroll_produce(ObjectType *o_ptr, const PRICE cost)
+static int mass_scroll_produce(ItemEntity *o_ptr, const PRICE cost)
 {
     int size = 1;
     if (cost <= 60L) {
@@ -282,7 +282,7 @@ static int mass_book_produce(const PRICE cost)
     return size;
 }
 
-static int mass_equipment_produce(ObjectType *o_ptr, const PRICE cost)
+static int mass_equipment_produce(ItemEntity *o_ptr, const PRICE cost)
 {
     int size = 1;
     if (o_ptr->is_artifact() || o_ptr->is_ego()) {
@@ -348,7 +348,7 @@ static int mass_magic_produce(const PRICE cost, StoreSaleType store_num)
     return size;
 }
 
-static int switch_mass_production(ObjectType *o_ptr, const PRICE cost, StoreSaleType store_num)
+static int switch_mass_production(ItemEntity *o_ptr, const PRICE cost, StoreSaleType store_num)
 {
     switch (o_ptr->tval) {
     case ItemKindType::FOOD:
@@ -440,7 +440,7 @@ static byte decide_discount_rate(const PRICE cost)
  * Some objects can be sold at a "discount" (in small piles)
  * </pre>
  */
-void mass_produce(PlayerType *, ObjectType *o_ptr, StoreSaleType store_num)
+void mass_produce(PlayerType *, ItemEntity *o_ptr, StoreSaleType store_num)
 {
     const auto cost = o_ptr->get_price();
     int size = switch_mass_production(o_ptr, cost, store_num);
index edf948b..cc91671 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 enum class StoreSaleType;
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool store_will_buy(PlayerType *, const ObjectType *o_ptr, StoreSaleType store_num);
-void mass_produce(PlayerType *, ObjectType *o_ptr, StoreSaleType store_num);
+bool store_will_buy(PlayerType *, const ItemEntity *o_ptr, StoreSaleType store_num);
+void mass_produce(PlayerType *, ItemEntity *o_ptr, StoreSaleType store_num);
index 4801960..e7a118a 100644 (file)
@@ -27,7 +27,7 @@ store_type *st_ptr = nullptr;
  */
 void store_item_increase(INVENTORY_IDX item, ITEM_NUMBER num)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &st_ptr->stock[item];
     int cnt = o_ptr->number + num;
     if (cnt > 255) {
@@ -47,7 +47,7 @@ void store_item_increase(INVENTORY_IDX item, ITEM_NUMBER num)
  */
 void store_item_optimize(INVENTORY_IDX item)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &st_ptr->stock[item];
     if ((o_ptr->k_idx == 0) || (o_ptr->number != 0)) {
         return;
@@ -96,7 +96,7 @@ void store_delete(void)
  * @details
  * 回数の違う杖と魔法棒がスロットを圧迫するのでスロット数制限をかける
  */
-std::vector<PARAMETER_VALUE> store_same_magic_device_pvals(ObjectType *j_ptr)
+std::vector<PARAMETER_VALUE> store_same_magic_device_pvals(ItemEntity *j_ptr)
 {
     auto list = std::vector<PARAMETER_VALUE>();
     for (INVENTORY_IDX i = 0; i < st_ptr->stock_num; i++) {
@@ -126,7 +126,7 @@ std::vector<PARAMETER_VALUE> store_same_magic_device_pvals(ObjectType *j_ptr)
  * See "object_similar()" for the same function for the "player"
  * </pre>
  */
-bool store_object_similar(ObjectType *o_ptr, ObjectType *j_ptr)
+bool store_object_similar(ItemEntity *o_ptr, ItemEntity *j_ptr)
 {
     if (o_ptr == j_ptr) {
         return false;
@@ -210,7 +210,7 @@ bool store_object_similar(ObjectType *o_ptr, ObjectType *j_ptr)
  * See "object_similar()" for the same function for the "player"
  * </pre>
  */
-static void store_object_absorb(ObjectType *o_ptr, ObjectType *j_ptr)
+static void store_object_absorb(ItemEntity *o_ptr, ItemEntity *j_ptr)
 {
     int max_num = (o_ptr->tval == ItemKindType::ROD) ? std::min(99, MAX_SHORT / baseitems_info[o_ptr->k_idx].pval) : 99;
     int total = o_ptr->number + j_ptr->number;
@@ -234,7 +234,7 @@ static void store_object_absorb(ObjectType *o_ptr, ObjectType *j_ptr)
  * known, the player may have to pick stuff up and drop it again.
  * </pre>
  */
-int store_carry(ObjectType *o_ptr)
+int store_carry(ItemEntity *o_ptr)
 {
     const auto value = o_ptr->get_price();
     if (value <= 0) {
@@ -246,7 +246,7 @@ int store_carry(ObjectType *o_ptr)
     o_ptr->feeling = FEEL_NONE;
     int slot;
     for (slot = 0; slot < st_ptr->stock_num; slot++) {
-        ObjectType *j_ptr;
+        ItemEntity *j_ptr;
         j_ptr = &st_ptr->stock[slot];
         if (store_object_similar(j_ptr, o_ptr)) {
             store_object_absorb(j_ptr, o_ptr);
@@ -259,7 +259,7 @@ int store_carry(ObjectType *o_ptr)
     }
 
     for (slot = 0; slot < st_ptr->stock_num; slot++) {
-        ObjectType *j_ptr;
+        ItemEntity *j_ptr;
         j_ptr = &st_ptr->stock[slot];
         if (o_ptr->tval > j_ptr->tval) {
             break;
index cdc88e5..6936bc4 100644 (file)
@@ -32,7 +32,7 @@ using store_k_idx = std::vector<KIND_OBJECT_IDX>;
 /*!
  * @brief 店舗の情報構造体
  */
-class ObjectType;
+class ItemEntity;
 struct store_type {
     byte type{}; //!< Store type
     byte owner{}; //!< Owner index
@@ -46,7 +46,7 @@ struct store_type {
     store_k_idx table{}; //!< Table -- Legal item kinds
     int16_t stock_num{}; //!< Stock -- Number of entries
     int16_t stock_size{}; //!< Stock -- Total Size of Array
-    std::unique_ptr<ObjectType[]> stock; //!< Stock -- Actual stock items
+    std::unique_ptr<ItemEntity[]> stock; //!< Stock -- Actual stock items
 
     store_type() = default;
     store_type(const store_type &) = delete;
@@ -57,8 +57,8 @@ extern store_type *st_ptr;
 
 class PlayerType;
 void store_delete(void);
-std::vector<PARAMETER_VALUE> store_same_magic_device_pvals(ObjectType *j_ptr);
+std::vector<PARAMETER_VALUE> store_same_magic_device_pvals(ItemEntity *j_ptr);
 void store_item_increase(INVENTORY_IDX item, ITEM_NUMBER num);
 void store_item_optimize(INVENTORY_IDX item);
-int store_carry(ObjectType *o_ptr);
-bool store_object_similar(ObjectType *o_ptr, ObjectType *j_ptr);
+int store_carry(ItemEntity *o_ptr);
+bool store_object_similar(ItemEntity *o_ptr, ItemEntity *j_ptr);
index fc6fe21..06ef9d1 100644 (file)
@@ -102,9 +102,9 @@ static int check_free_space(StoreSaleType store_num)
  *  1 : Cannot be combined but there are empty spaces.
  * </pre>
  */
-int store_check_num(ObjectType *o_ptr, StoreSaleType store_num)
+int store_check_num(ItemEntity *o_ptr, StoreSaleType store_num)
 {
-    ObjectType *j_ptr;
+    ItemEntity *j_ptr;
     if ((store_num == StoreSaleType::HOME) || (store_num == StoreSaleType::MUSEUM)) {
         bool old_stack_force_notes = stack_force_notes;
         bool old_stack_force_costs = stack_force_costs;
@@ -231,7 +231,7 @@ void store_examine(PlayerType *player_ptr, StoreSaleType store_num)
         return;
     }
     item = item + store_top;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &st_ptr->stock[item];
     if (!o_ptr->is_fully_known()) {
         msg_print(_("このアイテムについて特に知っていることはない。", "You have no special knowledge about that item."));
@@ -290,7 +290,7 @@ void store_shuffle(PlayerType *player_ptr, StoreSaleType store_num)
     st_ptr->good_buy = 0;
     st_ptr->bad_buy = 0;
     for (int i = 0; i < st_ptr->stock_num; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &st_ptr->stock[i];
         if (o_ptr->is_artifact()) {
             continue;
@@ -340,8 +340,8 @@ static void store_create(PlayerType *player_ptr, KIND_OBJECT_IDX fix_k_idx, Stor
             level = rand_range(1, ow_ptr->level);
         }
 
-        ObjectType forge;
-        ObjectType *q_ptr;
+        ItemEntity forge;
+        ItemEntity *q_ptr;
         q_ptr = &forge;
         q_ptr->prep(k_idx);
         ItemMagicApplier(player_ptr, q_ptr, level, AM_NO_FIXED_ART).execute();
index 55588f1..b822602 100644 (file)
@@ -28,5 +28,5 @@ void store_shuffle(PlayerType *player_ptr, StoreSaleType which);
 void store_maintenance(PlayerType *player_ptr, int town_num, StoreSaleType store_num, int chance);
 void store_init(int town_num, StoreSaleType store_num);
 void store_examine(PlayerType *player_ptr, StoreSaleType store_num);
-int store_check_num(ObjectType *o_ptr, StoreSaleType store_num);
+int store_check_num(ItemEntity *o_ptr, StoreSaleType store_num);
 int get_stock(COMMAND_CODE *com_val, concptr pmt, int i, int j, StoreSaleType store_num);
index e6d263c..903e389 100644 (file)
@@ -35,7 +35,7 @@ constexpr auto REDRAW_MAX = 2298;
 
 struct grid_type;
 struct monster_type;
-class ObjectType;
+class ItemEntity;
 class FloorType {
 public:
     FloorType() = default;
@@ -51,7 +51,7 @@ public:
 
     GAME_TURN generated_turn = 0; /* Turn when level began */
 
-    std::vector<ObjectType> o_list; /*!< The array of dungeon items [max_o_idx] */
+    std::vector<ItemEntity> o_list; /*!< The array of dungeon items [max_o_idx] */
     OBJECT_IDX o_max = 0; /* Number of allocated objects */
     OBJECT_IDX o_cnt = 0; /* Number of live objects */
 
index 453fa61..fa8999b 100644 (file)
@@ -32,7 +32,7 @@
 #include <set>
 #include <unordered_map>
 
-ObjectType::ObjectType()
+ItemEntity::ItemEntity()
     : fixed_artifact_idx(FixedArtifactId::NONE)
 {
 }
@@ -41,7 +41,7 @@ ObjectType::ObjectType()
  * @brief オブジェクトを初期化する
  * Wipe an object clean.
  */
-void ObjectType::wipe()
+void ItemEntity::wipe()
 {
     *this = {};
 }
@@ -51,7 +51,7 @@ void ObjectType::wipe()
  * Wipe an object clean.
  * @param j_ptr 複製元のオブジェクトの構造体参照ポインタ
  */
-void ObjectType::copy_from(const ObjectType *j_ptr)
+void ItemEntity::copy_from(const ItemEntity *j_ptr)
 {
     *this = *j_ptr;
 }
@@ -62,7 +62,7 @@ void ObjectType::copy_from(const ObjectType *j_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param k_idx 新たに作成したいベースアイテム情報のID
  */
-void ObjectType::prep(KIND_OBJECT_IDX ko_idx)
+void ItemEntity::prep(KIND_OBJECT_IDX ko_idx)
 {
     auto *k_ptr = &baseitems_info[ko_idx];
     auto old_stack_idx = this->stack_idx;
@@ -112,7 +112,7 @@ void ObjectType::prep(KIND_OBJECT_IDX ko_idx)
  * @brief オブジェクトが武器として装備できるかどうかを返す / Check if an object is weapon (including bows)
  * @return 武器として使えるならばtrueを返す
  */
-bool ObjectType::is_weapon() const
+bool ItemEntity::is_weapon() const
 {
     return (TV_WEAPON_BEGIN <= this->tval) && (this->tval <= TV_WEAPON_END);
 }
@@ -122,7 +122,7 @@ bool ObjectType::is_weapon() const
  * Rare weapons/aromors including Blade of Chaos, Dragon armors, etc.
  * @return 武器や矢弾として使えるならばtrueを返す
  */
-bool ObjectType::is_weapon_ammo() const
+bool ItemEntity::is_weapon_ammo() const
 {
     return (TV_MISSILE_BEGIN <= this->tval) && (this->tval <= TV_WEAPON_END);
 }
@@ -131,7 +131,7 @@ bool ObjectType::is_weapon_ammo() const
  * @brief オブジェクトが武器、防具、矢弾として使用できるかを返す / Check if an object is weapon, armour or ammo
  * @return 武器、防具、矢弾として使えるならばtrueを返す
  */
-bool ObjectType::is_weapon_armour_ammo() const
+bool ItemEntity::is_weapon_armour_ammo() const
 {
     return this->is_weapon_ammo() || this->is_armour();
 }
@@ -140,7 +140,7 @@ bool ObjectType::is_weapon_armour_ammo() const
  * @brief オブジェクトが近接武器として装備できるかを返す / Melee weapons
  * @return 近接武器として使えるならばtrueを返す
  */
-bool ObjectType::is_melee_weapon() const
+bool ItemEntity::is_melee_weapon() const
 {
     return (ItemKindType::DIGGING <= this->tval) && (this->tval <= ItemKindType::SWORD);
 }
@@ -149,7 +149,7 @@ bool ObjectType::is_melee_weapon() const
  * @brief エッセンスの付加可能な武器や矢弾かを返す
  * @return エッセンスの付加可能な武器か矢弾ならばtrueを返す。
  */
-bool ObjectType::is_melee_ammo() const
+bool ItemEntity::is_melee_ammo() const
 {
     switch (this->tval) {
     case ItemKindType::HAFTED:
@@ -170,16 +170,16 @@ bool ObjectType::is_melee_ammo() const
  * @brief オブジェクトが装備可能であるかを返す / Wearable including all weapon, all armour, bow, light source, amulet, and ring
  * @return 装備可能ならばTRUEを返す
  */
-bool ObjectType::is_wearable() const
+bool ItemEntity::is_wearable() const
 {
     return (TV_WEARABLE_BEGIN <= this->tval) && (this->tval <= TV_WEARABLE_END);
 }
 
 /*!
- * @brief オブジェクトが装備品であるかを返す(ObjectType::is_wearableに矢弾を含む) / Equipment including all wearable objects and ammo
+ * @brief オブジェクトが装備品であるかを返す(ItemEntity::is_wearableに矢弾を含む) / Equipment including all wearable objects and ammo
  * @return 装備品ならばtrueを返す
  */
-bool ObjectType::is_equipment() const
+bool ItemEntity::is_equipment() const
 {
     return (TV_EQUIP_BEGIN <= this->tval) && (this->tval <= TV_EQUIP_END);
 }
@@ -188,7 +188,7 @@ bool ObjectType::is_equipment() const
  * @brief 武器匠の「武器」鑑定対象になるかを判定する。/ Hook to specify "weapon"
  * @return 対象になるならtrueを返す。
  */
-bool ObjectType::is_orthodox_melee_weapons() const
+bool ItemEntity::is_orthodox_melee_weapons() const
 {
     switch (this->tval) {
     case ItemKindType::HAFTED:
@@ -206,7 +206,7 @@ bool ObjectType::is_orthodox_melee_weapons() const
  * @brief 修復対象となる壊れた武器かを判定する。 / Hook to specify "broken weapon"
  * @return 修復対象になるならTRUEを返す。
  */
-bool ObjectType::is_broken_weapon() const
+bool ItemEntity::is_broken_weapon() const
 {
     if (this->tval != ItemKindType::SWORD) {
         return false;
@@ -225,7 +225,7 @@ bool ObjectType::is_broken_weapon() const
  * @brief オブジェクトが投射可能な武器かどうかを返す。
  * @return 投射可能な武器ならばtrue
  */
-bool ObjectType::is_throwable() const
+bool ItemEntity::is_throwable() const
 {
     switch (this->tval) {
     case ItemKindType::DIGGING:
@@ -242,7 +242,7 @@ bool ObjectType::is_throwable() const
  * @brief オブジェクトがどちらの手にも装備できる武器かどうかの判定
  * @return 左右両方の手で装備できるならばtrueを返す。
  */
-bool ObjectType::is_wieldable_in_etheir_hand() const
+bool ItemEntity::is_wieldable_in_etheir_hand() const
 {
     switch (this->tval) {
     case ItemKindType::DIGGING:
@@ -262,7 +262,7 @@ bool ObjectType::is_wieldable_in_etheir_hand() const
  * @brief オブジェクトが強化不能武器であるかを返す / Poison needle can not be enchanted
  * @return 強化不能ならばtrueを返す
  */
-bool ObjectType::refuse_enchant_weapon() const
+bool ItemEntity::refuse_enchant_weapon() const
 {
     return (this->tval == ItemKindType::SWORD) && (this->sval == SV_POISON_NEEDLE);
 }
@@ -272,7 +272,7 @@ bool ObjectType::refuse_enchant_weapon() const
  * Check if an object is weapon (including bows and ammo) and allows enchantment
  * @return 強化可能ならばtrueを返す
  */
-bool ObjectType::allow_enchant_weapon() const
+bool ItemEntity::allow_enchant_weapon() const
 {
     return this->is_weapon_ammo() && !this->refuse_enchant_weapon();
 }
@@ -282,7 +282,7 @@ bool ObjectType::allow_enchant_weapon() const
  * Check if an object is melee weapon and allows enchantment
  * @return 強化可能な近接武器ならばtrueを返す
  */
-bool ObjectType::allow_enchant_melee_weapon() const
+bool ItemEntity::allow_enchant_melee_weapon() const
 {
     return this->is_melee_weapon() && !this->refuse_enchant_weapon();
 }
@@ -292,7 +292,7 @@ bool ObjectType::allow_enchant_melee_weapon() const
  * Check if an object is melee weapon and allows wielding with two-hands
  * @return 両手持ち可能ならばTRUEを返す
  */
-bool ObjectType::allow_two_hands_wielding() const
+bool ItemEntity::allow_two_hands_wielding() const
 {
     return this->is_melee_weapon() && ((this->weight > 99) || (this->tval == ItemKindType::POLEARM));
 }
@@ -301,7 +301,7 @@ bool ObjectType::allow_two_hands_wielding() const
  * @brief オブジェクトが矢弾として使用できるかどうかを返す / Check if an object is ammo
  * @return 矢弾として使えるならばtrueを返す
  */
-bool ObjectType::is_ammo() const
+bool ItemEntity::is_ammo() const
 {
     return (TV_MISSILE_BEGIN <= this->tval) && (this->tval <= TV_MISSILE_END);
 }
@@ -311,14 +311,14 @@ bool ObjectType::is_ammo() const
  * Hook to determine if an object is contertible in an arrow/bolt
  * @return 材料にできるならtrueを返す
  */
-bool ObjectType::is_convertible() const
+bool ItemEntity::is_convertible() const
 {
     auto is_convertible = ((this->tval == ItemKindType::JUNK) || (this->tval == ItemKindType::SKELETON));
     is_convertible |= ((this->tval == ItemKindType::CORPSE) && (this->sval == SV_SKELETON));
     return is_convertible;
 }
 
-bool ObjectType::is_lance() const
+bool ItemEntity::is_lance() const
 {
     auto is_lance = this->tval == ItemKindType::POLEARM;
     is_lance &= (this->sval == SV_LANCE) || (this->sval == SV_HEAVY_LANCE);
@@ -329,7 +329,7 @@ bool ObjectType::is_lance() const
  * @brief オブジェクトが防具として装備できるかどうかを返す / Check if an object is armour
  * @return 防具として装備できるならばtrueを返す
  */
-bool ObjectType::is_armour() const
+bool ItemEntity::is_armour() const
 {
     return (TV_ARMOR_BEGIN <= this->tval) && (this->tval <= TV_ARMOR_END);
 }
@@ -339,7 +339,7 @@ bool ObjectType::is_armour() const
  * Rare weapons/aromors including Blade of Chaos, Dragon armors, etc.
  * @return レアアイテムならばTRUEを返す
  */
-bool ObjectType::is_rare() const
+bool ItemEntity::is_rare() const
 {
     static const std::unordered_map<ItemKindType, const std::set<OBJECT_SUBTYPE_VALUE>> rare_table = {
         { ItemKindType::HAFTED, { SV_MACE_OF_DISRUPTION, SV_WIZSTAFF } },
@@ -367,7 +367,7 @@ bool ObjectType::is_rare() const
  * @brief オブジェクトがエゴアイテムかどうかを返す
  * @return エゴアイテムならばtrueを返す
  */
-bool ObjectType::is_ego() const
+bool ItemEntity::is_ego() const
 {
     return this->ego_idx != EgoType::NONE;
 }
@@ -377,7 +377,7 @@ bool ObjectType::is_ego() const
  * Check if an object is made by a smith's special ability
  * @return エッセンス付加済みならばTRUEを返す
  */
-bool ObjectType::is_smith() const
+bool ItemEntity::is_smith() const
 {
     return Smith::object_effect(this).has_value() || Smith::object_activation(this).has_value();
 }
@@ -387,7 +387,7 @@ bool ObjectType::is_smith() const
  * Check if an object is artifact
  * @return アーティファクトならばtrueを返す
  */
-bool ObjectType::is_artifact() const
+bool ItemEntity::is_artifact() const
 {
     return this->is_fixed_artifact() || (this->art_name != 0);
 }
@@ -397,7 +397,7 @@ bool ObjectType::is_artifact() const
  * Check if an object is fixed artifact
  * @return 固定アーティファクトならばtrueを返す
  */
-bool ObjectType::is_fixed_artifact() const
+bool ItemEntity::is_fixed_artifact() const
 {
     return !this->is_specific_artifact(FixedArtifactId::NONE);
 }
@@ -407,7 +407,7 @@ bool ObjectType::is_fixed_artifact() const
  * Check if an object is random artifact
  * @return ランダムアーティファクトならばtrueを返す
  */
-bool ObjectType::is_random_artifact() const
+bool ItemEntity::is_random_artifact() const
 {
     return this->is_artifact() && !this->is_fixed_artifact();
 }
@@ -417,27 +417,27 @@ bool ObjectType::is_random_artifact() const
  * Check if an object is neither artifact, ego, nor 'smith' object
  * @return 通常のアイテムならばtrueを返す
  */
-bool ObjectType::is_nameless() const
+bool ItemEntity::is_nameless() const
 {
     return !this->is_artifact() && !this->is_ego() && !this->is_smith();
 }
 
-bool ObjectType::is_valid() const
+bool ItemEntity::is_valid() const
 {
     return this->k_idx != 0;
 }
 
-bool ObjectType::is_broken() const
+bool ItemEntity::is_broken() const
 {
     return any_bits(this->ident, IDENT_BROKEN);
 }
 
-bool ObjectType::is_cursed() const
+bool ItemEntity::is_cursed() const
 {
     return this->curse_flags.any();
 }
 
-bool ObjectType::is_held_by_monster() const
+bool ItemEntity::is_held_by_monster() const
 {
     return this->held_m_idx != 0;
 }
@@ -447,12 +447,12 @@ bool ObjectType::is_held_by_monster() const
  * Test One -- Check for special "known" tag
  * Test Two -- Check for "Easy Know" + "Aware"
  */
-bool ObjectType::is_known() const
+bool ItemEntity::is_known() const
 {
     return any_bits(this->ident, IDENT_KNOWN) || (baseitems_info[this->k_idx].easy_know && baseitems_info[this->k_idx].aware);
 }
 
-bool ObjectType::is_fully_known() const
+bool ItemEntity::is_fully_known() const
 {
     return any_bits(this->ident, IDENT_FULL_KNOWN);
 }
@@ -461,7 +461,7 @@ bool ObjectType::is_fully_known() const
  * @brief 与えられたオブジェクトのベースアイテムが鑑定済かを返す / Determine if a given inventory item is "aware"
  * @return 鑑定済ならtrue
  */
-bool ObjectType::is_aware() const
+bool ItemEntity::is_aware() const
 {
     return baseitems_info[this->k_idx].aware;
 }
@@ -469,7 +469,7 @@ bool ObjectType::is_aware() const
 /*
  * Determine if a given inventory item is "tried"
  */
-bool ObjectType::is_tried() const
+bool ItemEntity::is_tried() const
 {
     return baseitems_info[this->k_idx].tried;
 }
@@ -478,7 +478,7 @@ bool ObjectType::is_tried() const
  * @brief オブジェクトが薬であるかを返す
  * @return オブジェクトが薬ならばtrueを返す
  */
-bool ObjectType::is_potion() const
+bool ItemEntity::is_potion() const
 {
     return baseitems_info[this->k_idx].bi_key.tval() == ItemKindType::POTION;
 }
@@ -488,7 +488,7 @@ bool ObjectType::is_potion() const
  * Hook to determine if an object is readable
  * @return 読むことが可能ならばtrueを返す
  */
-bool ObjectType::is_readable() const
+bool ItemEntity::is_readable() const
 {
     auto can_read = this->tval == ItemKindType::SCROLL;
     can_read |= this->tval == ItemKindType::PARCHMENT;
@@ -502,7 +502,7 @@ bool ObjectType::is_readable() const
  * An "item_tester_hook" for refilling lanterns
  * @return オブジェクトがランタンの燃料になるならばTRUEを返す
  */
-bool ObjectType::can_refill_lantern() const
+bool ItemEntity::can_refill_lantern() const
 {
     return (this->tval == ItemKindType::FLASK) || ((this->tval == ItemKindType::LITE) && (this->sval == SV_LITE_LANTERN));
 }
@@ -512,7 +512,7 @@ bool ObjectType::can_refill_lantern() const
  * An "item_tester_hook" for refilling torches
  * @return オブジェクトが松明に束ねられるならばTRUEを返す
  */
-bool ObjectType::can_refill_torch() const
+bool ItemEntity::can_refill_torch() const
 {
     return (this->tval == ItemKindType::LITE) && (this->sval == SV_LITE_TORCH);
 }
@@ -522,7 +522,7 @@ bool ObjectType::can_refill_torch() const
  * Hook for "get_item()".  Determine if something is rechargable.
  * @return 魔力充填が可能ならばTRUEを返す
  */
-bool ObjectType::is_rechargeable() const
+bool ItemEntity::is_rechargeable() const
 {
     switch (this->tval) {
     case ItemKindType::STAFF:
@@ -538,7 +538,7 @@ bool ObjectType::is_rechargeable() const
  * @brief 悪魔領域のグレーターデーモン召喚に利用可能な死体かどうかを返す。 / An "item_tester_hook" for offer
  * @return 生贄に使用可能な死体ならばTRUEを返す。
  */
-bool ObjectType::is_offerable() const
+bool ItemEntity::is_offerable() const
 {
     if ((this->tval != ItemKindType::CORPSE) || (this->sval != SV_CORPSE)) {
         return false;
@@ -552,7 +552,7 @@ bool ObjectType::is_offerable() const
  * Hook to determine if an object is activatable
  * @return 魔道具として発動可能ならばTRUEを返す
  */
-bool ObjectType::is_activatable() const
+bool ItemEntity::is_activatable() const
 {
     if (!this->is_known()) {
         return false;
@@ -566,7 +566,7 @@ bool ObjectType::is_activatable() const
  * @brief オブジェクトが燃料として使えるかを判定する
  * @return 燃料か否か
  */
-bool ObjectType::is_fuel() const
+bool ItemEntity::is_fuel() const
 {
     auto is_fuel = (this->tval == ItemKindType::LITE) && ((this->sval == SV_LITE_TORCH) || (this->sval == SV_LITE_LANTERN));
     is_fuel |= (this->tval == ItemKindType::FLASK) && (this->sval == SV_FLASK_OIL);
@@ -577,7 +577,7 @@ bool ObjectType::is_fuel() const
  * @brief オブジェクトが魔法書かどうかを判定する
  * @return 魔法書か否か
  */
-bool ObjectType::is_book() const
+bool ItemEntity::is_book() const
 {
     switch (this->tval) {
     case ItemKindType::LIFE_BOOK:
@@ -604,7 +604,7 @@ bool ObjectType::is_book() const
  * @return 同一修正か
  * @details 鍛冶師が篭手に殺戮エッセンスを付加した場合のみこの判定に意味がある
  */
-bool ObjectType::is_glove_same_temper(const ObjectType *j_ptr) const
+bool ItemEntity::is_glove_same_temper(const ItemEntity *j_ptr) const
 {
     if (!this->is_smith() || !j_ptr->is_smith()) {
         return false;
@@ -626,7 +626,7 @@ bool ObjectType::is_glove_same_temper(const ObjectType *j_ptr) const
  * @return 重ねられるか
  * @details 個別のアイテムによっては別途条件があるが、それはこの関数では判定しない
  */
-bool ObjectType::can_pile(const ObjectType *j_ptr) const
+bool ItemEntity::can_pile(const ItemEntity *j_ptr) const
 {
     if (this->is_known() != j_ptr->is_known()) {
         return false;
@@ -695,7 +695,7 @@ bool ObjectType::can_pile(const ObjectType *j_ptr) const
  * モンスターの死体は、元モンスターの色を返す
  * 異常アイテム (「何か」)の場合、ベースアイテム定義に基づき黒を返す
  */
-TERM_COLOR ObjectType::get_color() const
+TERM_COLOR ItemEntity::get_color() const
 {
     const auto &base_item = baseitems_info[this->k_idx];
     const auto flavor = base_item.flavor;
@@ -719,7 +719,7 @@ TERM_COLOR ObjectType::get_color() const
  * 未鑑定名のあるアイテム (薬等)は、未鑑定名の割り当てられたシンボル
  * @todo 色と違って変える必要はない……はず?
  */
-char ObjectType::get_symbol() const
+char ItemEntity::get_symbol() const
 {
     const auto &base_item = baseitems_info[this->k_idx];
     const auto flavor = base_item.flavor;
@@ -730,7 +730,7 @@ char ObjectType::get_symbol() const
  * @brief オブジェクト価格算出のメインルーチン
  * @return オブジェクトの判明している現価格
  */
-int ObjectType::get_price() const
+int ItemEntity::get_price() const
 {
     int value;
     const auto is_worthless = this->is_broken() || this->is_cursed();
@@ -759,7 +759,7 @@ int ObjectType::get_price() const
  * @brief 未鑑定なベースアイテムの基本価格を返す
  * @return オブジェクトの未鑑定価格
  */
-int ObjectType::get_baseitem_price() const
+int ItemEntity::get_baseitem_price() const
 {
     if (this->is_aware()) {
         return baseitems_info[this->k_idx].cost;
@@ -789,7 +789,7 @@ int ObjectType::get_baseitem_price() const
     }
 }
 
-int ObjectType::calc_figurine_value() const
+int ItemEntity::calc_figurine_value() const
 {
     auto figure_r_idx = i2enum<MonsterRaceId>(this->pval);
     auto level = monraces_info[figure_r_idx].level;
@@ -812,7 +812,7 @@ int ObjectType::calc_figurine_value() const
     return 14000 + (level - 50) * 2000;
 }
 
-int ObjectType::calc_capture_value() const
+int ItemEntity::calc_capture_value() const
 {
     auto capture_r_idx = i2enum<MonsterRaceId>(this->pval);
     if (!MonsterRace(capture_r_idx).is_valid()) {
@@ -822,7 +822,7 @@ int ObjectType::calc_capture_value() const
     return (monraces_info[capture_r_idx].level) * 50 + 1000;
 }
 
-bool ObjectType::is_specific_artifact(FixedArtifactId id) const
+bool ItemEntity::is_specific_artifact(FixedArtifactId id) const
 {
     return this->fixed_artifact_idx == id;
 }
index 02acec4..31d0248 100644 (file)
@@ -20,9 +20,9 @@ enum class ItemKindType : short;
 enum class SmithEffectType : int16_t;
 enum class RandomArtActType : short;
 
-class ObjectType {
+class ItemEntity {
 public:
-    ObjectType();
+    ItemEntity();
     KIND_OBJECT_IDX k_idx{}; /*!< Kind index (zero if "dead") */
     POSITION iy{}; /*!< Y-position on map, or zero */
     POSITION ix{}; /*!< X-position on map, or zero */
@@ -69,7 +69,7 @@ public:
     int artifact_bias{}; /*!< ランダムアーティファクト生成時のバイアスID */
 
     void wipe();
-    void copy_from(const ObjectType *j_ptr);
+    void copy_from(const ItemEntity *j_ptr);
     void prep(KIND_OBJECT_IDX ko_idx);
     bool is_weapon() const;
     bool is_weapon_ammo() const;
@@ -114,8 +114,8 @@ public:
     bool is_activatable() const;
     bool is_fuel() const;
     bool is_book() const;
-    bool is_glove_same_temper(const ObjectType *j_ptr) const;
-    bool can_pile(const ObjectType *j_ptr) const;
+    bool is_glove_same_temper(const ItemEntity *j_ptr) const;
+    bool can_pile(const ItemEntity *j_ptr) const;
     TERM_COLOR get_color() const;
     char get_symbol() const;
     int get_price() const;
index d159316..ed277f0 100644 (file)
@@ -22,7 +22,7 @@ enum class MonsterAbilityType;
 enum class MonsterRaceId : int16_t;
 
 class FloorType;
-class ObjectType;
+class ItemEntity;
 class TimedEffects;
 class PlayerType {
 public:
@@ -225,7 +225,7 @@ public:
     byte feeling{}; /* Most recent dungeon feeling */
     int32_t feeling_turn{}; /* The turn of the last dungeon feeling */
 
-    std::shared_ptr<ObjectType[]> inventory_list{}; /* The player's inventory */
+    std::shared_ptr<ItemEntity[]> inventory_list{}; /* The player's inventory */
     int16_t inven_cnt{}; /* Number of items in inventory */
     int16_t equip_cnt{}; /* Number of items in equipment */
 
index 39ab6b8..954b9f1 100644 (file)
@@ -250,7 +250,7 @@ static uint16_t describe_monster_item(PlayerType *player_ptr, eg_type *eg_ptr)
 {
     for (const auto this_o_idx : eg_ptr->m_ptr->hold_o_idx_list) {
         GAME_TEXT o_name[MAX_NLEN];
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
         describe_flavor(player_ptr, o_name, o_ptr, 0);
 #ifdef JP
@@ -321,7 +321,7 @@ static int16_t describe_footing(PlayerType *player_ptr, eg_type *eg_ptr)
     }
 
     GAME_TEXT o_name[MAX_NLEN];
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->current_floor_ptr->o_list[eg_ptr->floor_list[0]];
     describe_flavor(player_ptr, o_name, o_ptr, 0);
 #ifdef JP
@@ -408,7 +408,7 @@ static int16_t loop_describing_grid(PlayerType *player_ptr, eg_type *eg_ptr)
     }
 }
 
-static int16_t describe_footing_sight(PlayerType *player_ptr, eg_type *eg_ptr, ObjectType *o_ptr)
+static int16_t describe_footing_sight(PlayerType *player_ptr, eg_type *eg_ptr, ItemEntity *o_ptr)
 {
     if ((o_ptr->marked & OM_FOUND) == 0) {
         return CONTINUOUS_DESCRIPTION;
@@ -450,7 +450,7 @@ static int16_t describe_footing_sight(PlayerType *player_ptr, eg_type *eg_ptr, O
 static int16_t sweep_footing_items(PlayerType *player_ptr, eg_type *eg_ptr)
 {
     for (const auto this_o_idx : eg_ptr->g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
         int16_t ret = describe_footing_sight(player_ptr, eg_ptr, o_ptr);
         if (within_char_util(ret)) {
index 35d1518..de8ed74 100644 (file)
@@ -95,7 +95,7 @@ static bool target_set_accept(PlayerType *player_ptr, POSITION y, POSITION x)
     }
 
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if (o_ptr->marked & OM_FOUND) {
             return true;
index ff150da..fe42f49 100644 (file)
@@ -22,7 +22,7 @@
  * @param j_ptr 比較対象オブジェクトの構造体参照ポインタ2
  * @return o_ptrの方が上位ならばTRUEを返す。
  */
-bool object_sort_comp(PlayerType *player_ptr, ObjectType *o_ptr, int32_t o_value, ObjectType *j_ptr)
+bool object_sort_comp(PlayerType *player_ptr, ItemEntity *o_ptr, int32_t o_value, ItemEntity *j_ptr)
 {
     int o_type, j_type;
     if (!j_ptr->k_idx) {
index 555ced2..1838e8b 100644 (file)
@@ -2,6 +2,6 @@
 
 #include "system/angband.h"
 
-class ObjectType;
+class ItemEntity;
 class PlayerType;
-bool object_sort_comp(PlayerType *player_ptr, ObjectType *o_ptr, int32_t o_value, ObjectType *j_ptr);
+bool object_sort_comp(PlayerType *player_ptr, ItemEntity *o_ptr, int32_t o_value, ItemEntity *j_ptr);
index d8b03dd..a40b18f 100644 (file)
@@ -28,7 +28,7 @@ COMMAND_CODE show_inventory(PlayerType *player_ptr, int target_item, BIT_FLAGS m
 {
     COMMAND_CODE i;
     int k, l, z = 0;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     GAME_TEXT o_name[MAX_NLEN];
     char tmp_val[80];
     COMMAND_CODE out_index[23];
index 7d35463..c3b5e12 100644 (file)
@@ -261,7 +261,7 @@ void map_info(PlayerType *player_ptr, POSITION y, POSITION x, TERM_COLOR *ap, ch
     }
 
     for (const auto this_o_idx : g_ptr->o_idx_list) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[this_o_idx];
         if (!(o_ptr->marked & OM_FOUND)) {
             continue;
index 98e3e37..c28c2f9 100644 (file)
@@ -181,7 +181,7 @@ static void process_stats(PlayerType *player_ptr, int row, int stat_col)
  * @param stat 能力値番号
  * @param flags 装備品に立っているフラグ
  */
-static void compensate_stat_by_weapon(char *c, TERM_COLOR *a, ObjectType *o_ptr, tr_type tr_flag, const TrFlags &flags)
+static void compensate_stat_by_weapon(char *c, TERM_COLOR *a, ItemEntity *o_ptr, tr_type tr_flag, const TrFlags &flags)
 {
     *c = '*';
 
@@ -214,7 +214,7 @@ static void compensate_stat_by_weapon(char *c, TERM_COLOR *a, ObjectType *o_ptr,
 static void display_equipments_compensation(PlayerType *player_ptr, int row, int *col)
 {
     for (int i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &player_ptr->inventory_list[i];
         auto flags = object_flags_known(o_ptr);
         for (int stat = 0; stat < A_MAX; stat++) {
index 55ecf7a..ba32aef 100644 (file)
@@ -42,7 +42,7 @@ void store_prt_gold(PlayerType *player_ptr)
  */
 void display_entry(PlayerType *player_ptr, int pos, StoreSaleType store_num)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &st_ptr->stock[pos];
     int i = (pos % store_bottom);
 
index a4ba8de..c6dc9fe 100644 (file)
@@ -78,8 +78,8 @@ void inven_item_describe(PlayerType *player_ptr, INVENTORY_IDX item)
  */
 void display_koff(PlayerType *player_ptr, KIND_OBJECT_IDX k_idx)
 {
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     int sval;
     int16_t use_realm;
     GAME_TEXT o_name[MAX_NLEN];
index 7bf0e5a..2c49a9d 100644 (file)
@@ -39,7 +39,7 @@ static TERM_COLOR likert_color = TERM_WHITE;
  * @param shots 射撃回数
  * @param shot_frac 射撃速度
  */
-static void calc_shot_params(PlayerType *player_ptr, ObjectType *o_ptr, int *shots, int *shot_frac)
+static void calc_shot_params(PlayerType *player_ptr, ItemEntity *o_ptr, int *shots, int *shot_frac)
 {
     if (o_ptr->k_idx == 0) {
         return;
@@ -79,7 +79,7 @@ static void calc_shot_params(PlayerType *player_ptr, ObjectType *o_ptr, int *sho
  * @param o_ptr 装備中の武器への参照ポインタ
  * @return 利き手ならTRUE、反対の手ならFALSE
  */
-static bool calc_weapon_damage_limit(PlayerType *player_ptr, int hand, int *damage, int *basedam, ObjectType *o_ptr)
+static bool calc_weapon_damage_limit(PlayerType *player_ptr, int hand, int *damage, int *basedam, ItemEntity *o_ptr)
 {
     PLAYER_LEVEL level = player_ptr->lev;
     if (hand > 0) {
@@ -119,7 +119,7 @@ static bool calc_weapon_damage_limit(PlayerType *player_ptr, int hand, int *dama
  * @param basedam 素手における直接攻撃のダメージ
  * @return 素手ならFALSE、武器を持っていればTRUE
  */
-static bool calc_weapon_one_hand(ObjectType *o_ptr, int hand, int *damage, int *basedam)
+static bool calc_weapon_one_hand(ItemEntity *o_ptr, int hand, int *damage, int *basedam)
 {
     if (o_ptr->k_idx == 0) {
         return false;
@@ -147,7 +147,7 @@ static bool calc_weapon_one_hand(ObjectType *o_ptr, int hand, int *damage, int *
  * @return 強化後の素手ダメージ
  * @todo ヴォーパル計算処理が building-craft-weapon::compare_weapon_aux() と多重実装.
  */
-static int strengthen_basedam(PlayerType *player_ptr, ObjectType *o_ptr, int basedam, const TrFlags &flgs)
+static int strengthen_basedam(PlayerType *player_ptr, ItemEntity *o_ptr, int basedam, const TrFlags &flgs)
 {
     const auto is_vorpal_blade = o_ptr->is_specific_artifact(FixedArtifactId::VORPAL_BLADE);
     const auto is_chainsword = o_ptr->is_specific_artifact(FixedArtifactId::CHAINSWORD);
@@ -267,7 +267,7 @@ static concptr likert(int x, int y)
  */
 static void calc_two_hands(PlayerType *player_ptr, int *damage, int *to_h)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->inventory_list[INVEN_BOW];
 
     for (int i = 0; i < 2; i++) {
@@ -411,7 +411,7 @@ static void display_first_page(PlayerType *player_ptr, int xthb, int *damage, in
  */
 void display_player_various(PlayerType *player_ptr)
 {
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = &player_ptr->inventory_list[INVEN_BOW];
     int tmp = player_ptr->to_h_b + o_ptr->to_h;
     int xthb = player_ptr->skill_thb + (tmp * BTH_PLUS_ADJ);
index ce97eef..6c32453 100644 (file)
@@ -615,7 +615,7 @@ static void display_floor_item_list(PlayerType *player_ptr, const int y, const i
     // (y,x) のアイテムを1行に1個ずつ書く。
     TERM_LEN term_y = 1;
     for (const auto o_idx : g_ptr->o_idx_list) {
-        ObjectType *const o_ptr = &floor_ptr->o_list[o_idx];
+        ItemEntity *const o_ptr = &floor_ptr->o_list[o_idx];
 
         // 未発見アイテムおよび金は対象外。
         if (none_bits(o_ptr->marked, OM_FOUND) || o_ptr->tval == ItemKindType::GOLD) {
index 5fd9d38..bc44bf0 100644 (file)
@@ -28,7 +28,7 @@ COMMAND_CODE show_equipment(PlayerType *player_ptr, int target_item, BIT_FLAGS m
 {
     COMMAND_CODE i;
     int j, k, l;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     char tmp_val[80];
     GAME_TEXT o_name[MAX_NLEN];
     COMMAND_CODE out_index[23];
index 0918788..894d24b 100644 (file)
@@ -33,7 +33,7 @@ POSITION panel_col_prt;
 POSITION panel_row_prt;
 
 int match_autopick;
-ObjectType *autopick_obj; /*!< 各種自動拾い処理時に使うオブジェクトポインタ */
+ItemEntity *autopick_obj; /*!< 各種自動拾い処理時に使うオブジェクトポインタ */
 int feat_priority; /*!< マップ縮小表示時に表示すべき地形の優先度を保管する */
 
 static concptr simplify_list[][2] = {
@@ -118,7 +118,7 @@ void print_map(PlayerType *player_ptr)
     (void)term_set_cursor(v);
 }
 
-static void display_shortened_item_name(PlayerType *player_ptr, ObjectType *o_ptr, int y)
+static void display_shortened_item_name(PlayerType *player_ptr, ItemEntity *o_ptr, int y)
 {
     char buf[MAX_NLEN];
     describe_flavor(player_ptr, buf, o_ptr, (OD_NO_FLAVOR | OD_OMIT_PREFIX | OD_NAME_ONLY));
@@ -226,7 +226,7 @@ void display_map(PlayerType *player_ptr, int *cy, int *cx)
     vector<vector<char>> mc(hgt + 2, vector<char>(wid + 2, ' '));
     vector<vector<byte>> mp(hgt + 2, vector<byte>(wid + 2, 0));
     vector<vector<int>> match_autopick_yx(hgt + 2, vector<int>(wid + 2, -1));
-    vector<vector<ObjectType *>> object_autopick_yx(hgt + 2, vector<ObjectType *>(wid + 2, nullptr));
+    vector<vector<ItemEntity *>> object_autopick_yx(hgt + 2, vector<ItemEntity *>(wid + 2, nullptr));
 
     vector<vector<TERM_COLOR>> bigma(floor_ptr->height + 2, vector<TERM_COLOR>(floor_ptr->width + 2, TERM_WHITE));
     vector<vector<char>> bigmc(floor_ptr->height + 2, vector<char>(floor_ptr->width + 2, ' '));
index f621d32..3196536 100644 (file)
@@ -5,8 +5,8 @@
 #define ROW_MAP 0
 #define COL_MAP 12
 
-class ObjectType;
-extern ObjectType *autopick_obj;
+class ItemEntity;
+extern ItemEntity *autopick_obj;
 extern POSITION panel_row_min;
 extern POSITION panel_row_max;
 extern POSITION panel_col_min;
index 98d2507..b7c65e6 100644 (file)
@@ -51,7 +51,7 @@ static concptr *spoiler_flag_aux(const TrFlags &art_flags, const flag_desc *flag
  * @param o_ptr 記述を得たいオブジェクトの参照ポインタ
  * @param desc_ptr 記述内容を返すための文字列参照ポインタ
  */
-static void analyze_general(PlayerType *player_ptr, ObjectType *o_ptr, char *desc_ptr)
+static void analyze_general(PlayerType *player_ptr, ItemEntity *o_ptr, char *desc_ptr)
 {
     describe_flavor(player_ptr, desc_ptr, o_ptr, OD_NAME_AND_ENCHANT | OD_STORE | OD_DEBUG);
 }
@@ -63,7 +63,7 @@ static void analyze_general(PlayerType *player_ptr, ObjectType *o_ptr, char *des
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param pi_ptr pval修正構造体の参照ポインタ
  */
-static void analyze_pval(ObjectType *o_ptr, pval_info_type *pi_ptr)
+static void analyze_pval(ItemEntity *o_ptr, pval_info_type *pi_ptr)
 {
     concptr *affects_list;
     if (!o_ptr->pval) {
@@ -90,7 +90,7 @@ static void analyze_pval(ObjectType *o_ptr, pval_info_type *pi_ptr)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param slay_list 種族スレイ構造体の参照ポインタ
  */
-static void analyze_slay(ObjectType *o_ptr, concptr *slay_list)
+static void analyze_slay(ItemEntity *o_ptr, concptr *slay_list)
 {
     auto flgs = object_flags(o_ptr);
     slay_list = spoiler_flag_aux(flgs, slay_flags_desc, slay_list, N_ELEMENTS(slay_flags_desc));
@@ -103,7 +103,7 @@ static void analyze_slay(ObjectType *o_ptr, concptr *slay_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param brand_list 属性ブランド構造体の参照ポインタ
  */
-static void analyze_brand(ObjectType *o_ptr, concptr *brand_list)
+static void analyze_brand(ItemEntity *o_ptr, concptr *brand_list)
 {
     auto flgs = object_flags(o_ptr);
     brand_list = spoiler_flag_aux(flgs, brand_flags_desc, brand_list, N_ELEMENTS(brand_flags_desc));
@@ -116,7 +116,7 @@ static void analyze_brand(ObjectType *o_ptr, concptr *brand_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param resist_list 通常耐性構造体の参照ポインタ
  */
-static void analyze_resist(ObjectType *o_ptr, concptr *resist_list)
+static void analyze_resist(ItemEntity *o_ptr, concptr *resist_list)
 {
     auto flgs = object_flags(o_ptr);
     resist_list = spoiler_flag_aux(flgs, resist_flags_desc, resist_list, N_ELEMENTS(resist_flags_desc));
@@ -129,7 +129,7 @@ static void analyze_resist(ObjectType *o_ptr, concptr *resist_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param immune_list 免疫構造体の参照ポインタ
  */
-static void analyze_immune(ObjectType *o_ptr, concptr *immune_list)
+static void analyze_immune(ItemEntity *o_ptr, concptr *immune_list)
 {
     auto flgs = object_flags(o_ptr);
     immune_list = spoiler_flag_aux(flgs, immune_flags_desc, immune_list, N_ELEMENTS(immune_flags_desc));
@@ -142,7 +142,7 @@ static void analyze_immune(ObjectType *o_ptr, concptr *immune_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param immune_list 弱点構造体の参照ポインタ
  */
-static void analyze_vulnerable(ObjectType *o_ptr, concptr *vulnerable_list)
+static void analyze_vulnerable(ItemEntity *o_ptr, concptr *vulnerable_list)
 {
     auto flgs = object_flags(o_ptr);
     vulnerable_list = spoiler_flag_aux(flgs, vulnerable_flags_desc, vulnerable_list, N_ELEMENTS(vulnerable_flags_desc));
@@ -155,7 +155,7 @@ static void analyze_vulnerable(ObjectType *o_ptr, concptr *vulnerable_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param sustain_list 維持特性構造体の参照ポインタ
  */
-static void analyze_sustains(ObjectType *o_ptr, concptr *sustain_list)
+static void analyze_sustains(ItemEntity *o_ptr, concptr *sustain_list)
 {
     auto flgs = object_flags(o_ptr);
     if (flgs.has_all_of(EnumRange(TR_SUST_STR, TR_SUST_CHR))) {
@@ -174,7 +174,7 @@ static void analyze_sustains(ObjectType *o_ptr, concptr *sustain_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param misc_list その他の特性構造体の参照ポインタ
  */
-static void analyze_misc_magic(ObjectType *o_ptr, concptr *misc_list)
+static void analyze_misc_magic(ItemEntity *o_ptr, concptr *misc_list)
 {
     char desc[256];
 
@@ -257,7 +257,7 @@ static void analyze_misc_magic(ObjectType *o_ptr, concptr *misc_list)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param addition 追加ランダム耐性構造体の参照ポインタ
  */
-static void analyze_addition(ObjectType *o_ptr, char *addition)
+static void analyze_addition(ItemEntity *o_ptr, char *addition)
 {
     const auto &a_ref = artifacts_info.at(o_ptr->fixed_artifact_idx);
     strcpy(addition, "");
@@ -293,7 +293,7 @@ static void analyze_addition(ObjectType *o_ptr, char *addition)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param misc_desc 基本情報を収める文字列参照ポインタ
  */
-static void analyze_misc(ObjectType *o_ptr, char *misc_desc)
+static void analyze_misc(ItemEntity *o_ptr, char *misc_desc)
 {
     const auto &a_ref = artifacts_info.at(o_ptr->fixed_artifact_idx);
     sprintf(misc_desc, _("レベル %d, 希少度 %u, %d.%d kg, $%ld", "Level %d, Rarity %u, %d.%d lbs, %ld Gold"), (int)a_ref.level, a_ref.rarity,
@@ -308,7 +308,7 @@ static void analyze_misc(ObjectType *o_ptr, char *misc_desc)
  * @param o_ptr オブジェクト構造体の参照ポインタ
  * @param desc_ptr 全アーティファクト情報を収める文字列参照ポインタ
  */
-void object_analyze(PlayerType *player_ptr, ObjectType *o_ptr, obj_desc_list *desc_ptr)
+void object_analyze(PlayerType *player_ptr, ItemEntity *o_ptr, obj_desc_list *desc_ptr)
 {
     analyze_general(player_ptr, o_ptr, desc_ptr->description);
     analyze_pval(o_ptr, &desc_ptr->pval_info);
@@ -331,7 +331,7 @@ void object_analyze(PlayerType *player_ptr, ObjectType *o_ptr, obj_desc_list *de
  * @param o_ptr ランダムアーティファクトのオブジェクト構造体参照ポインタ
  * @param desc_ptr 記述内容を収める構造体参照ポインタ
  */
-void random_artifact_analyze(PlayerType *player_ptr, ObjectType *o_ptr, obj_desc_list *desc_ptr)
+void random_artifact_analyze(PlayerType *player_ptr, ItemEntity *o_ptr, obj_desc_list *desc_ptr)
 {
     analyze_general(player_ptr, o_ptr, desc_ptr->description);
     analyze_pval(o_ptr, &desc_ptr->pval_info);
index fd7cd0f..4c5ad17 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
-class ObjectType;
+class ItemEntity;
 struct obj_desc_list;
 class PlayerType;
-void object_analyze(PlayerType *player_ptr, ObjectType *o_ptr, obj_desc_list *desc_ptr);
-void random_artifact_analyze(PlayerType *player_ptr, ObjectType *o_ptr, obj_desc_list *desc_ptr);
+void object_analyze(PlayerType *player_ptr, ItemEntity *o_ptr, obj_desc_list *desc_ptr);
+void random_artifact_analyze(PlayerType *player_ptr, ItemEntity *o_ptr, obj_desc_list *desc_ptr);
index a287cd3..7fce99f 100644 (file)
@@ -85,7 +85,7 @@ static void print_header(void)
  * @param fixed_artifact_idx 生成するアーティファクトID
  * @return 生成が成功した場合TRUEを返す
  */
-static bool make_fake_artifact(ObjectType *o_ptr, FixedArtifactId fixed_artifact_idx)
+static bool make_fake_artifact(ItemEntity *o_ptr, FixedArtifactId fixed_artifact_idx)
 {
     auto &a_ref = artifacts_info.at(fixed_artifact_idx);
     if (a_ref.name.empty()) {
@@ -170,7 +170,7 @@ SpoilerOutputResultType spoil_fixed_artifact(concptr fname)
                     continue;
                 }
 
-                ObjectType item;
+                ItemEntity item;
                 if (!make_fake_artifact(&item, a_idx)) {
                     continue;
                 }
index 5c709b5..4482298 100644 (file)
@@ -29,7 +29,7 @@
  */
 static void kind_info(PlayerType *player_ptr, char *buf, char *dam, char *wgt, char *chance, DEPTH *lev, PRICE *val, KIND_OBJECT_IDX k)
 {
-    ObjectType forge;
+    ItemEntity forge;
     auto *q_ptr = &forge;
     q_ptr->prep(k);
     q_ptr->ident |= IDENT_KNOWN;
index 858986c..092f8e1 100644 (file)
@@ -321,7 +321,7 @@ static void prt_binary(BIT_FLAGS flags, const int row, int col)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 詳細を表示するアイテム情報の参照ポインタ
  */
-static void wiz_display_item(PlayerType *player_ptr, ObjectType *o_ptr)
+static void wiz_display_item(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     auto flgs = object_flags(o_ptr);
     auto get_seq_32bits = [](const TrFlags &flgs, uint start) {
@@ -399,7 +399,7 @@ static void wiz_display_item(PlayerType *player_ptr, ObjectType *o_ptr)
  * counter flags to prevent weirdness.  We use the items to collect
  * statistics on item creation relative to the initial item.
  */
-static void wiz_statistics(PlayerType *player_ptr, ObjectType *o_ptr)
+static void wiz_statistics(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     concptr q = "Rolls: %ld  Correct: %ld  Matches: %ld  Better: %ld  Worse: %ld  Other: %ld";
     concptr p = "Enter number of items to roll: ";
@@ -455,7 +455,7 @@ static void wiz_statistics(PlayerType *player_ptr, ObjectType *o_ptr)
                 term_fresh();
             }
 
-            ObjectType forge;
+            ItemEntity forge;
             auto *q_ptr = &forge;
             q_ptr->wipe();
             make_object(player_ptr, q_ptr, mode);
@@ -494,14 +494,14 @@ static void wiz_statistics(PlayerType *player_ptr, ObjectType *o_ptr)
  * Apply magic to an item or turn it into an artifact. -Bernd-
  * @param o_ptr 再生成の対象となるアイテム情報の参照ポインタ
  */
-static void wiz_reroll_item(PlayerType *player_ptr, ObjectType *o_ptr)
+static void wiz_reroll_item(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (o_ptr->is_artifact()) {
         return;
     }
 
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     q_ptr = &forge;
     q_ptr->copy_from(o_ptr);
 
@@ -587,7 +587,7 @@ static void wiz_reroll_item(PlayerType *player_ptr, ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 調整するアイテムの参照ポインタ
  */
-static void wiz_tweak_item(PlayerType *player_ptr, ObjectType *o_ptr)
+static void wiz_tweak_item(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     if (o_ptr->is_artifact()) {
         return;
@@ -634,7 +634,7 @@ static void wiz_tweak_item(PlayerType *player_ptr, ObjectType *o_ptr)
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param o_ptr 変更するアイテム情報構造体の参照ポインタ
  */
-static void wiz_quantity_item(ObjectType *o_ptr)
+static void wiz_quantity_item(ItemEntity *o_ptr)
 {
     if (o_ptr->is_artifact()) {
         return;
@@ -675,7 +675,7 @@ void wiz_modify_item(PlayerType *player_ptr)
     concptr q = "Play with which object? ";
     concptr s = "You have nothing to play with.";
     OBJECT_IDX item;
-    ObjectType *o_ptr;
+    ItemEntity *o_ptr;
     o_ptr = choose_object(player_ptr, &item, q, s, USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT);
     if (!o_ptr) {
         return;
@@ -683,8 +683,8 @@ void wiz_modify_item(PlayerType *player_ptr)
 
     screen_save();
 
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     q_ptr = &forge;
     q_ptr->copy_from(o_ptr);
     char ch;
@@ -733,7 +733,7 @@ void wiz_modify_item(PlayerType *player_ptr)
 /*!
  * @brief オブジェクトの装備スロットがエゴが有効なスロットかどうか判定
  */
-static int is_slot_able_to_be_ego(PlayerType *player_ptr, ObjectType *o_ptr)
+static int is_slot_able_to_be_ego(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     int slot = wield_slot(player_ptr, o_ptr);
 
@@ -787,7 +787,7 @@ WishResultType do_cmd_wishing(PlayerType *player_ptr, int prob, bool allow_art,
 
     char buf[MAX_NLEN] = "\0";
     char *str = buf;
-    ObjectType forge;
+    ItemEntity forge;
     auto *o_ptr = &forge;
     char o_name[MAX_NLEN];
 
index 05f3c39..3231b9d 100644 (file)
@@ -250,7 +250,7 @@ void wiz_create_item(PlayerType *player_ptr)
         }
     }
 
-    ObjectType item;
+    ItemEntity item;
     item.prep(bi_id);
     ItemMagicApplier(player_ptr, &item, player_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART).execute();
     (void)drop_near(player_ptr, &item, -1, player_ptr->y, player_ptr->x);
@@ -266,7 +266,7 @@ void wiz_create_item(PlayerType *player_ptr)
 static std::string wiz_make_named_artifact_desc(PlayerType *player_ptr, FixedArtifactId a_idx)
 {
     const auto &a_ref = artifacts_info.at(a_idx);
-    ObjectType item;
+    ItemEntity item;
     item.prep(lookup_baseitem_id(a_ref.bi_key));
     item.fixed_artifact_idx = a_idx;
     object_known(&item);
@@ -677,8 +677,8 @@ void wiz_jump_to_dungeon(PlayerType *player_ptr)
  */
 void wiz_learn_items_all(PlayerType *player_ptr)
 {
-    ObjectType forge;
-    ObjectType *q_ptr;
+    ItemEntity forge;
+    ItemEntity *q_ptr;
     for (const auto &k_ref : baseitems_info) {
         if (k_ref.idx > 0 && k_ref.level <= command_arg) {
             q_ptr = &forge;
index 9bd0791..f553042 100644 (file)
@@ -203,7 +203,7 @@ static SpoilerOutputResultType spoil_player_spell(concptr fname)
         auto magic_ptr = &class_magics_info[c];
         concptr book_name = "なし";
         if (magic_ptr->spell_book != ItemKindType::NONE) {
-            ObjectType book;
+            ItemEntity book;
             auto o_ptr = &book;
             o_ptr->prep(lookup_baseitem_id({ magic_ptr->spell_book, 0 }));
             describe_flavor(&dummy_p, title, o_ptr, OD_NAME_ONLY);
index 58779c8..2e7d131 100644 (file)
@@ -32,7 +32,7 @@ OBJECT_IDX o_pop(FloorType *floor_ptr)
     }
 
     for (OBJECT_IDX i = 1; i < floor_ptr->o_max; i++) {
-        ObjectType *o_ptr;
+        ItemEntity *o_ptr;
         o_ptr = &floor_ptr->o_list[i];
         if (o_ptr->k_idx) {
             continue;