OSDN Git Service

[Refactor] object_is_aware() を object_type のメンバ関数化
authorHabu <habu1010+github@gmail.com>
Fri, 3 Sep 2021 02:43:15 +0000 (11:43 +0900)
committerHabu <habu1010+github@gmail.com>
Fri, 3 Sep 2021 02:44:30 +0000 (11:44 +0900)
18 files changed:
src/autopick/autopick-destroyer.cpp
src/autopick/autopick-entry.cpp
src/autopick/autopick-matcher.cpp
src/cmd-item/cmd-eat.cpp
src/cmd-item/cmd-read.cpp
src/cmd-item/cmd-usestaff.cpp
src/cmd-item/cmd-zaprod.cpp
src/cmd-item/cmd-zapwand.cpp
src/flavor/named-item-describer.cpp
src/object-use/quaff-execution.cpp
src/object-use/read-execution.cpp
src/object/object-flags.cpp
src/object/object-value.cpp
src/perception/object-perception.cpp
src/perception/object-perception.h
src/system/object-type-definition.cpp
src/system/object-type-definition.h
src/util/object-sort.cpp

index f851055..2b539b1 100644 (file)
@@ -51,7 +51,7 @@ static bool is_leave_special_item(player_type *player_ptr, object_type *o_ptr)
         if (o_ptr->tval == TV_LITE && o_ptr->name2 == EGO_LITE_DARKNESS && o_ptr->is_known())
             return false;
     } else if (player_ptr->pclass == CLASS_BEASTMASTER || player_ptr->pclass == CLASS_CAVALRY) {
-        if (o_ptr->tval == TV_WAND && o_ptr->sval == SV_WAND_HEAL_MONSTER && object_is_aware(o_ptr))
+        if (o_ptr->tval == TV_WAND && o_ptr->sval == SV_WAND_HEAL_MONSTER && o_ptr->is_aware())
             return false;
     }
 
index c7b6f41..3e256f7 100644 (file)
@@ -301,7 +301,7 @@ void autopick_entry_from_object(player_type *player_ptr, autopick_type *entry, o
     // エゴ銘が邪魔かもしれないので、デフォルトで「^」は付けない.
     // We can always use the ^ mark in English.
     bool is_hat_added = _(false, true);
-    if (!object_is_aware(o_ptr)) {
+    if (!o_ptr->is_aware()) {
         ADD_FLG(FLG_UNAWARE);
         is_hat_added = true;
     } else if (!o_ptr->is_known()) {
index 683d489..789c349 100644 (file)
@@ -38,7 +38,7 @@
 bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_type *entry, concptr o_name)
 {
     concptr ptr = entry->name;
-    if (IS_FLG(FLG_UNAWARE) && object_is_aware(o_ptr))
+    if (IS_FLG(FLG_UNAWARE) && o_ptr->is_aware())
         return false;
 
     if (IS_FLG(FLG_UNIDENTIFIED) && (o_ptr->is_known() || (o_ptr->ident & IDENT_SENSE)))
index ae079b7..7e11394 100644 (file)
@@ -284,7 +284,7 @@ void exe_eat_food(player_type *creature_ptr, INVENTORY_IDX item)
     BIT_FLAGS inventory_flags = (PU_COMBINE | PU_REORDER | (creature_ptr->update & PU_AUTODESTROY));
     creature_ptr->update &= ~(PU_COMBINE | PU_REORDER | PU_AUTODESTROY);
 
-    if (!(object_is_aware(o_ptr))) {
+    if (!(o_ptr->is_aware())) {
         chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
         chg_virtue(creature_ptr, V_PATIENCE, -1);
         chg_virtue(creature_ptr, V_CHANCE, 1);
@@ -295,7 +295,7 @@ void exe_eat_food(player_type *creature_ptr, INVENTORY_IDX item)
         object_tried(o_ptr);
 
     /* The player is now aware of the object */
-    if (ident && !object_is_aware(o_ptr)) {
+    if (ident && !o_ptr->is_aware()) {
         object_aware(creature_ptr, o_ptr);
         gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
     }
index 1cf5067..4f5a8dc 100644 (file)
@@ -16,6 +16,7 @@
 #include "player/attack-defense-types.h"
 #include "player/special-defense-types.h"
 #include "status/action-setter.h"
+#include "system/object-type-definition.h"
 #include "system/player-type-definition.h"
 
 /*!
@@ -41,5 +42,5 @@ void do_cmd_read_scroll(player_type *creature_ptr)
     if (!o_ptr)
         return;
 
-    exe_read(creature_ptr, item, object_is_aware(o_ptr));
+    exe_read(creature_ptr, item, o_ptr->is_aware());
 }
index d202b89..706a3a3 100644 (file)
@@ -363,9 +363,9 @@ void exe_use_staff(player_type *creature_ptr, INVENTORY_IDX item)
 
     sound(SOUND_ZAP);
 
-    ident = staff_effect(creature_ptr, o_ptr->sval, &use_charge, false, false, object_is_aware(o_ptr));
+    ident = staff_effect(creature_ptr, o_ptr->sval, &use_charge, false, false, o_ptr->is_aware());
 
-    if (!(object_is_aware(o_ptr))) {
+    if (!(o_ptr->is_aware())) {
         chg_virtue(creature_ptr, V_PATIENCE, -1);
         chg_virtue(creature_ptr, V_CHANCE, 1);
         chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
@@ -383,7 +383,7 @@ void exe_use_staff(player_type *creature_ptr, INVENTORY_IDX item)
     object_tried(o_ptr);
 
     /* An identification was made */
-    if (ident && !object_is_aware(o_ptr)) {
+    if (ident && !o_ptr->is_aware()) {
         object_aware(creature_ptr, o_ptr);
         gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
     }
index ada9370..9f7a406 100644 (file)
@@ -309,7 +309,7 @@ void exe_zap_rod(player_type *creature_ptr, INVENTORY_IDX item)
 
     /* Get a direction (unless KNOWN not to need it) */
     if (((o_ptr->sval >= SV_ROD_MIN_DIRECTION) && (o_ptr->sval != SV_ROD_HAVOC) && (o_ptr->sval != SV_ROD_AGGRAVATE) && (o_ptr->sval != SV_ROD_PESTICIDE))
-        || !object_is_aware(o_ptr)) {
+        || !o_ptr->is_aware()) {
         /* Get a direction, allow cancel */
         if (!get_aim_dir(creature_ptr, &dir))
             return;
@@ -388,7 +388,7 @@ void exe_zap_rod(player_type *creature_ptr, INVENTORY_IDX item)
         o_ptr->timeout += k_ptr->pval;
     creature_ptr->update |= (PU_COMBINE | PU_REORDER);
 
-    if (!(object_is_aware(o_ptr))) {
+    if (!(o_ptr->is_aware())) {
         chg_virtue(creature_ptr, V_PATIENCE, -1);
         chg_virtue(creature_ptr, V_CHANCE, 1);
         chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
@@ -398,7 +398,7 @@ void exe_zap_rod(player_type *creature_ptr, INVENTORY_IDX item)
     object_tried(o_ptr);
 
     /* Successfully determined the object function */
-    if (ident && !object_is_aware(o_ptr)) {
+    if (ident && !o_ptr->is_aware()) {
         object_aware(creature_ptr, o_ptr);
         gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
     }
index 06ce7e3..6ec94e6 100644 (file)
@@ -349,7 +349,7 @@ void exe_aim_wand(player_type *creature_ptr, INVENTORY_IDX item)
     }
 
     /* Allow direction to be cancelled for free */
-    if (object_is_aware(o_ptr) && (o_ptr->sval == SV_WAND_HEAL_MONSTER || o_ptr->sval == SV_WAND_HASTE_MONSTER))
+    if (o_ptr->is_aware() && (o_ptr->sval == SV_WAND_HEAL_MONSTER || o_ptr->sval == SV_WAND_HASTE_MONSTER))
         target_pet = true;
     if (!get_aim_dir(creature_ptr, &dir)) {
         target_pet = old_target_pet;
@@ -415,7 +415,7 @@ void exe_aim_wand(player_type *creature_ptr, INVENTORY_IDX item)
     BIT_FLAGS inventory_flags = (PU_COMBINE | PU_REORDER | (creature_ptr->update & PU_AUTODESTROY));
     reset_bits(creature_ptr->update, PU_COMBINE | PU_REORDER | PU_AUTODESTROY);
 
-    if (!(object_is_aware(o_ptr))) {
+    if (!(o_ptr->is_aware())) {
         chg_virtue(creature_ptr, V_PATIENCE, -1);
         chg_virtue(creature_ptr, V_CHANCE, 1);
         chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
@@ -425,7 +425,7 @@ void exe_aim_wand(player_type *creature_ptr, INVENTORY_IDX item)
     object_tried(o_ptr);
 
     /* Apply identification */
-    if (ident && !object_is_aware(o_ptr)) {
+    if (ident && !o_ptr->is_aware()) {
         object_aware(creature_ptr, o_ptr);
         gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
     }
index 473fff1..debc31b 100644 (file)
@@ -26,7 +26,7 @@
 static void check_object_known_aware(flavor_type *flavor_ptr)
 {
     object_flags(flavor_ptr->o_ptr, flavor_ptr->tr_flags);
-    if (object_is_aware(flavor_ptr->o_ptr))
+    if (flavor_ptr->o_ptr->is_aware())
         flavor_ptr->aware = true;
 
     if (flavor_ptr->o_ptr->is_known())
index 5181dad..8c3caaa 100644 (file)
@@ -572,7 +572,7 @@ void exe_quaff_potion(player_type *creature_ptr, INVENTORY_IDX item)
     }
     creature_ptr->update |= (PU_COMBINE | PU_REORDER);
 
-    if (!(object_is_aware(q_ptr))) {
+    if (!(q_ptr->is_aware())) {
         chg_virtue(creature_ptr, V_PATIENCE, -1);
         chg_virtue(creature_ptr, V_CHANCE, 1);
         chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
@@ -582,7 +582,7 @@ void exe_quaff_potion(player_type *creature_ptr, INVENTORY_IDX item)
     object_tried(q_ptr);
 
     /* An identification was made */
-    if (ident && !object_is_aware(q_ptr)) {
+    if (ident && !q_ptr->is_aware()) {
         object_aware(creature_ptr, q_ptr);
         gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
     }
index adc6a5d..79e3ccb 100644 (file)
@@ -501,14 +501,14 @@ void exe_read(player_type *creature_ptr, INVENTORY_IDX item, bool known)
     BIT_FLAGS inventory_flags = PU_COMBINE | PU_REORDER | (creature_ptr->update & PU_AUTODESTROY);
     creature_ptr->update &= ~(PU_COMBINE | PU_REORDER | PU_AUTODESTROY);
 
-    if (!(object_is_aware(o_ptr))) {
+    if (!(o_ptr->is_aware())) {
         chg_virtue(creature_ptr, V_PATIENCE, -1);
         chg_virtue(creature_ptr, V_CHANCE, 1);
         chg_virtue(creature_ptr, V_KNOWLEDGE, -1);
     }
 
     object_tried(o_ptr);
-    if (ident && !object_is_aware(o_ptr)) {
+    if (ident && !o_ptr->is_aware()) {
         object_aware(creature_ptr, o_ptr);
         gain_exp(creature_ptr, (lev + (creature_ptr->lev >> 1)) / creature_ptr->lev);
     }
index c8fabdc..4d1607b 100644 (file)
@@ -105,7 +105,7 @@ void object_flags_known(const object_type *o_ptr, TrFlags &flgs)
         flgs[i] = 0;
     }
 
-    if (!object_is_aware(o_ptr))
+    if (!o_ptr->is_aware())
         return;
 
     /* Base object */
index 0624861..57fdc96 100644 (file)
@@ -25,7 +25,7 @@
  */
 static PRICE object_value_base(const object_type *o_ptr)
 {
-    if (object_is_aware(o_ptr))
+    if (o_ptr->is_aware())
         return (k_info[o_ptr->k_idx].cost);
 
     switch (o_ptr->tval) {
index b924e84..4ab396d 100644 (file)
@@ -44,7 +44,7 @@ void object_known(object_type *o_ptr)
  */
 void object_aware(player_type *owner_ptr, object_type *o_ptr)
 {
-    const bool is_already_awared = object_is_aware(o_ptr);
+    const bool is_already_awared = o_ptr->is_aware();
 
     k_info[o_ptr->k_idx].aware = true;
 
@@ -85,16 +85,6 @@ void object_aware(player_type *owner_ptr, object_type *o_ptr)
 void object_tried(object_type *o_ptr) { k_info[o_ptr->k_idx].tried = true; }
 
 /*
- * @brief 与えられたオブジェクトのベースアイテムが鑑定済かを返す / Determine if a given inventory item is "aware"
- * @param o_ptr オブジェクトへの参照ポインタ
- * @return 鑑定済ならTRUE
- */
-bool object_is_aware(const object_type *o_ptr)
-{
-    return k_info[(o_ptr)->k_idx].aware;
-}
-
-/*
  * Determine if a given inventory item is "tried"
  */
 bool object_is_tried(const object_type *o_ptr)
index bca746a..030dcff 100644 (file)
@@ -6,7 +6,4 @@ void object_known(object_type *o_ptr);
 void object_aware(player_type *owner_ptr, object_type *o_ptr);
 void object_tried(object_type *o_ptr);
 
-bool object_is_aware(const object_type *o_ptr);
 bool object_is_tried(const object_type *o_ptr);
-bool object_is_known(const object_type *o_ptr);
-bool object_is_fully_known(const object_type *o_ptr);
index 79cb87c..970ef0b 100644 (file)
@@ -466,3 +466,12 @@ bool object_type::is_fully_known() const
 {
     return (this->ident & IDENT_FULL_KNOWN) != 0;
 }
+
+/*!
+ * @brief 与えられたオブジェクトのベースアイテムが鑑定済かを返す / Determine if a given inventory item is "aware"
+ * @return 鑑定済ならtrue
+ */
+bool object_type::is_aware() const
+{
+    return k_info[this->k_idx].aware;
+}
index 950aeb3..aedc7c1 100644 (file)
@@ -89,4 +89,5 @@ typedef struct object_type {
     bool is_held_by_monster() const;
     bool is_known() const;
     bool is_fully_known() const;
+    bool is_aware() const;
 } object_type;
index d658c70..8937509 100644 (file)
@@ -43,9 +43,9 @@ bool object_sort_comp(player_type *player_ptr, object_type *o_ptr, int32_t o_val
     if (o_ptr->tval < j_ptr->tval)
         return false;
 
-    if (!object_is_aware(o_ptr))
+    if (!o_ptr->is_aware())
         return false;
-    if (!object_is_aware(j_ptr))
+    if (!j_ptr->is_aware())
         return true;
 
     if (o_ptr->sval < j_ptr->sval)