OSDN Git Service

[Refactor] object_is_known()/fully_known() を object_type のメンバ関数化
authorHabu <habu1010+github@gmail.com>
Fri, 3 Sep 2021 02:36:55 +0000 (11:36 +0900)
committerHabu <habu1010+github@gmail.com>
Fri, 3 Sep 2021 02:36:55 +0000 (11:36 +0900)
44 files changed:
src/action/open-close-execution.cpp
src/action/open-util.cpp
src/autopick/autopick-destroyer.cpp
src/autopick/autopick-entry.cpp
src/autopick/autopick-matcher.cpp
src/autopick/autopick-registry.cpp
src/cmd-item/cmd-equipment.cpp
src/cmd-item/cmd-item.cpp
src/cmd-item/cmd-smith.cpp
src/flavor/flavor-describer.cpp
src/flavor/flavor-util.cpp
src/flavor/named-item-describer.cpp
src/floor/floor-events.cpp
src/floor/floor-object.cpp
src/floor/floor-util.cpp
src/inventory/inventory-curse.cpp
src/io-dump/random-art-info-dumper.cpp
src/knowledge/knowledge-inventory.cpp
src/knowledge/knowledge-items.cpp
src/market/building-recharger.cpp
src/mind/mind-magic-eater.cpp
src/mind/mind-mindcrafter.cpp
src/object-hook/hook-expendable.cpp
src/object-hook/hook-magic.cpp
src/object-hook/hook-perception.cpp
src/object/object-flags.cpp
src/object/object-stack.cpp
src/object/object-value.cpp
src/perception/object-perception.cpp
src/perception/simple-perception.cpp
src/player/player-move.cpp
src/player/player-status.cpp
src/spell-kind/spells-floor.cpp
src/spell-kind/spells-perception.cpp
src/status/base-status.cpp
src/store/store.cpp
src/system/object-type-definition.cpp
src/system/object-type-definition.h
src/util/object-sort.cpp
src/view/display-characteristic.cpp
src/view/display-player-middle.cpp
src/view/object-describer.cpp
src/view/status-first-page.cpp
src/window/display-sub-window-items.cpp

index 98b7638..3178cc1 100644 (file)
@@ -202,7 +202,7 @@ bool exe_disarm_chest(player_type *creature_ptr, POSITION y, POSITION x, OBJECT_
     if (j < 2)
         j = 2;
 
-    if (!object_is_known(o_ptr)) {
+    if (!o_ptr->is_known()) {
         msg_print(_("トラップが見あたらない。", "I don't see any traps."));
     } else if (o_ptr->pval <= 0) {
         msg_print(_("箱にはトラップが仕掛けられていない。", "The chest is not trapped."));
index 52decde..206b23b 100644 (file)
@@ -59,7 +59,7 @@ int count_chests(player_type *creature_ptr, POSITION *y, POSITION *x, bool trapp
         if (o_ptr->pval == 0)
             continue;
 
-        if (trapped && (!object_is_known(o_ptr) || !chest_traps[o_ptr->pval]))
+        if (trapped && (!o_ptr->is_known() || !chest_traps[o_ptr->pval]))
             continue;
 
         ++count;
index 7326575..f851055 100644 (file)
@@ -48,7 +48,7 @@ static bool is_leave_special_item(player_type *player_ptr, object_type *o_ptr)
         if (o_ptr->tval == TV_SKELETON || (o_ptr->tval == TV_CORPSE && o_ptr->sval == SV_SKELETON))
             return false;
     } else if (player_ptr->pclass == CLASS_NINJA) {
-        if (o_ptr->tval == TV_LITE && o_ptr->name2 == EGO_LITE_DARKNESS && object_is_known(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))
index a0baaf5..c7b6f41 100644 (file)
@@ -304,7 +304,7 @@ void autopick_entry_from_object(player_type *player_ptr, autopick_type *entry, o
     if (!object_is_aware(o_ptr)) {
         ADD_FLG(FLG_UNAWARE);
         is_hat_added = true;
-    } else if (!object_is_known(o_ptr)) {
+    } else if (!o_ptr->is_known()) {
         if (!(o_ptr->ident & IDENT_SENSE)) {
             ADD_FLG(FLG_UNIDENTIFIED);
             is_hat_added = true;
index d47f5fa..683d489 100644 (file)
@@ -41,13 +41,13 @@ bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_typ
     if (IS_FLG(FLG_UNAWARE) && object_is_aware(o_ptr))
         return false;
 
-    if (IS_FLG(FLG_UNIDENTIFIED) && (object_is_known(o_ptr) || (o_ptr->ident & IDENT_SENSE)))
+    if (IS_FLG(FLG_UNIDENTIFIED) && (o_ptr->is_known() || (o_ptr->ident & IDENT_SENSE)))
         return false;
 
-    if (IS_FLG(FLG_IDENTIFIED) && !object_is_known(o_ptr))
+    if (IS_FLG(FLG_IDENTIFIED) && !o_ptr->is_known())
         return false;
 
-    if (IS_FLG(FLG_STAR_IDENTIFIED) && (!object_is_known(o_ptr) || !object_is_fully_known(o_ptr)))
+    if (IS_FLG(FLG_STAR_IDENTIFIED) && (!o_ptr->is_known() || !o_ptr->is_fully_known()))
         return false;
 
     if (IS_FLG(FLG_BOOSTED)) {
@@ -58,7 +58,7 @@ bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_typ
         if ((o_ptr->dd == k_ptr->dd) && (o_ptr->ds == k_ptr->ds))
             return false;
 
-        if (!object_is_known(o_ptr) && object_is_quest_target(player_ptr->current_floor_ptr->inside_quest, o_ptr)) {
+        if (!o_ptr->is_known() && object_is_quest_target(player_ptr->current_floor_ptr->inside_quest, o_ptr)) {
             return false;
         }
     }
@@ -69,7 +69,7 @@ bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_typ
     }
 
     if (IS_FLG(FLG_MORE_BONUS)) {
-        if (!object_is_known(o_ptr))
+        if (!o_ptr->is_known())
             return false;
 
         if (o_ptr->pval) {
@@ -85,21 +85,21 @@ bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_typ
         return false;
 
     if (IS_FLG(FLG_ARTIFACT)) {
-        if (!object_is_known(o_ptr) || !o_ptr->is_artifact())
+        if (!o_ptr->is_known() || !o_ptr->is_artifact())
             return false;
     }
 
     if (IS_FLG(FLG_EGO)) {
         if (!o_ptr->is_ego())
             return false;
-        if (!object_is_known(o_ptr) && !((o_ptr->ident & IDENT_SENSE) && o_ptr->feeling == FEEL_EXCELLENT))
+        if (!o_ptr->is_known() && !((o_ptr->ident & IDENT_SENSE) && o_ptr->feeling == FEEL_EXCELLENT))
             return false;
     }
 
     if (IS_FLG(FLG_GOOD)) {
         if (!o_ptr->is_equipment())
             return false;
-        if (object_is_known(o_ptr)) {
+        if (o_ptr->is_known()) {
             if (!o_ptr->is_nameless())
                 return false;
 
@@ -121,7 +121,7 @@ bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_typ
     if (IS_FLG(FLG_NAMELESS)) {
         if (!o_ptr->is_equipment())
             return false;
-        if (object_is_known(o_ptr)) {
+        if (o_ptr->is_known()) {
             if (!o_ptr->is_nameless())
                 return false;
         } else if (o_ptr->ident & IDENT_SENSE) {
@@ -143,7 +143,7 @@ bool is_autopick_match(player_type *player_ptr, object_type *o_ptr, autopick_typ
     if (IS_FLG(FLG_AVERAGE)) {
         if (!o_ptr->is_equipment())
             return false;
-        if (object_is_known(o_ptr)) {
+        if (o_ptr->is_known()) {
             if (!o_ptr->is_nameless())
                 return false;
 
index d65308d..1174ec9 100644 (file)
@@ -127,8 +127,7 @@ bool autopick_autoregister(player_type *player_ptr, object_type *o_ptr)
         return false;
     }
 
-    if ((object_is_known(o_ptr) && o_ptr->is_artifact())
-        || ((o_ptr->ident & IDENT_SENSE) && (o_ptr->feeling == FEEL_TERRIBLE || o_ptr->feeling == FEEL_SPECIAL))) {
+    if ((o_ptr->is_known() && o_ptr->is_artifact()) || ((o_ptr->ident & IDENT_SENSE) && (o_ptr->feeling == FEEL_TERRIBLE || o_ptr->feeling == FEEL_SPECIAL))) {
         GAME_TEXT o_name[MAX_NLEN];
         describe_flavor(player_ptr, o_name, o_ptr, 0);
         msg_format(_("%sは破壊不能だ。", "You cannot auto-destroy %s."), o_name);
index 13f3c69..d3628f5 100644 (file)
@@ -185,7 +185,7 @@ void do_cmd_wield(player_type *creature_ptr)
     }
 
     if (confirm_wear
-        && ((o_ptr->is_cursed() && object_is_known(o_ptr))
+        && ((o_ptr->is_cursed() && o_ptr->is_known())
             || ((o_ptr->ident & IDENT_SENSE) && (FEEL_BROKEN <= o_ptr->feeling) && (o_ptr->feeling <= FEEL_CURSED)))) {
         char dummy[MAX_NLEN + 80];
         describe_flavor(creature_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
@@ -195,7 +195,8 @@ void do_cmd_wield(player_type *creature_ptr)
             return;
     }
 
-    if ((o_ptr->name1 == ART_STONEMASK) && object_is_known(o_ptr) && (creature_ptr->prace != player_race_type::VAMPIRE) && (creature_ptr->prace != player_race_type::ANDROID)) {
+    if ((o_ptr->name1 == ART_STONEMASK) && o_ptr->is_known() && (creature_ptr->prace != player_race_type::VAMPIRE)
+        && (creature_ptr->prace != player_race_type::ANDROID)) {
         char dummy[MAX_NLEN + 100];
         describe_flavor(creature_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
         sprintf(dummy,
index 0058183..b41c6a0 100644 (file)
@@ -153,7 +153,7 @@ void do_cmd_observe(player_type *creature_ptr)
     if (!o_ptr)
         return;
 
-    if (!object_is_fully_known(o_ptr)) {
+    if (!o_ptr->is_fully_known()) {
         msg_print(_("このアイテムについて特に知っていることはない。", "You have no special knowledge about that item."));
         return;
     }
index d5a5170..545d2ea 100644 (file)
@@ -250,7 +250,7 @@ static void drain_essence(player_type *creature_ptr)
     if (!o_ptr)
         return;
 
-    if (object_is_known(o_ptr) && !o_ptr->is_nameless()) {
+    if (o_ptr->is_known() && !o_ptr->is_nameless()) {
         GAME_TEXT o_name[MAX_NLEN];
         describe_flavor(creature_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
         if (!get_check(format(_("本当に%sから抽出してよろしいですか?", "Really extract from %s? "), o_name)))
index 9028e31..e79e5a2 100644 (file)
@@ -248,7 +248,7 @@ static void describe_bow_power(player_type *player_ptr, flavor_type *flavor_ptr)
 {
     flavor_ptr->avgdam = flavor_ptr->o_ptr->dd * (flavor_ptr->o_ptr->ds + 1) * 10 / 2;
     int tmul = bow_tmul(flavor_ptr->bow_ptr->sval);
-    if (object_is_known(flavor_ptr->bow_ptr))
+    if (flavor_ptr->bow_ptr->is_known())
         flavor_ptr->avgdam += (flavor_ptr->bow_ptr->to_d * 10);
 
     if (flavor_ptr->known)
index 8ee00ab..ac7f660 100644 (file)
@@ -320,7 +320,7 @@ void get_inscription(char *buff, object_type *o_ptr)
 {
     concptr insc = quark_str(o_ptr->inscription);
     char *ptr = buff;
-    if (!object_is_fully_known(o_ptr)) {
+    if (!o_ptr->is_fully_known()) {
         while (*insc) {
             if (*insc == '#')
                 break;
index cdbb550..473fff1 100644 (file)
@@ -29,7 +29,7 @@ static void check_object_known_aware(flavor_type *flavor_ptr)
     if (object_is_aware(flavor_ptr->o_ptr))
         flavor_ptr->aware = true;
 
-    if (object_is_known(flavor_ptr->o_ptr))
+    if (flavor_ptr->o_ptr->is_known())
         flavor_ptr->known = true;
 
     if (flavor_ptr->aware && ((flavor_ptr->mode & OD_NO_FLAVOR) || plain_descriptions))
index bec1bee..86fb89b 100644 (file)
@@ -145,7 +145,7 @@ static byte get_dungeon_feeling(player_type *subject_ptr)
         object_type *o_ptr = &floor_ptr->o_list[i];
         object_kind *k_ptr = &k_info[o_ptr->k_idx];
         int delta = 0;
-        if (!o_ptr->is_valid() || (object_is_known(o_ptr) && ((o_ptr->marked & OM_TOUCHED) != 0)) || ((o_ptr->ident & IDENT_SENSE) != 0))
+        if (!o_ptr->is_valid() || (o_ptr->is_known() && ((o_ptr->marked & OM_TOUCHED) != 0)) || ((o_ptr->ident & IDENT_SENSE) != 0))
             continue;
 
         if (o_ptr->is_ego()) {
index 0b46acf..c8c4577 100644 (file)
@@ -451,7 +451,7 @@ OBJECT_IDX drop_near(player_type *owner_ptr, object_type *j_ptr, PERCENTAGE chan
                 msg_print(_("(床スペースがない)", "(no floor space)"));
 
             if (preserve_mode) {
-                if (j_ptr->is_fixed_artifact() && !object_is_known(j_ptr)) {
+                if (j_ptr->is_fixed_artifact() && !j_ptr->is_known()) {
                     a_info[j_ptr->name1].cur_num = 0;
                 }
             }
@@ -542,7 +542,7 @@ void floor_item_charges(floor_type *floor_ptr, INVENTORY_IDX item)
     object_type *o_ptr = &floor_ptr->o_list[item];
     if ((o_ptr->tval != TV_STAFF) && (o_ptr->tval != TV_WAND))
         return;
-    if (!object_is_known(o_ptr))
+    if (!o_ptr->is_known())
         return;
 
 #ifdef JP
index a14008d..bdda069 100644 (file)
@@ -126,7 +126,7 @@ void wipe_o_list(floor_type *floor_ptr)
             continue;
 
         if (!current_world_ptr->character_dungeon || preserve_mode) {
-            if (o_ptr->is_fixed_artifact() && !object_is_known(o_ptr)) {
+            if (o_ptr->is_fixed_artifact() && !o_ptr->is_known()) {
                 a_info[o_ptr->name1].cur_num = 0;
             }
         }
index dc9fb1b..fa72a08 100644 (file)
@@ -408,7 +408,7 @@ void execute_cursed_items_effect(player_type *creature_ptr)
     if (o_ptr->name1 != ART_JUDGE)
         return;
 
-    if (object_is_known(o_ptr))
+    if (o_ptr->is_known())
         msg_print(_("『審判の宝石』はあなたの体力を吸収した!", "The Jewel of Judgement drains life from you!"));
     else
         msg_print(_("なにかがあなたの体力を吸収した!", "Something drains life from you!"));
index 92f9fad..ec74ac0 100644 (file)
@@ -24,7 +24,7 @@ static void spoiler_print_randart(object_type *o_ptr, obj_desc_list *art_ptr)
     pval_info_type *pval_ptr = &art_ptr->pval_info;
     char buf[80];
     fprintf(spoiler_file, "%s\n", art_ptr->description);
-    if (!object_is_fully_known(o_ptr)) {
+    if (!o_ptr->is_fully_known()) {
         fprintf(spoiler_file, _("%s不明\n", "%sUnknown\n"), spoiler_indent);
     } else {
         if (pval_ptr->pval_desc[0]) {
@@ -55,7 +55,7 @@ static void spoiler_print_randart(object_type *o_ptr, obj_desc_list *art_ptr)
 static void spoil_random_artifact_aux(player_type *player_ptr, object_type *o_ptr, int i)
 {
     obj_desc_list artifact;
-    if (!object_is_known(o_ptr) || !o_ptr->art_name || o_ptr->tval != group_artifact[i].tval)
+    if (!o_ptr->is_known() || !o_ptr->art_name || o_ptr->tval != group_artifact[i].tval)
         return;
 
     random_artifact_analyze(player_ptr, o_ptr, &artifact);
index 621119d..818a95b 100644 (file)
@@ -86,7 +86,7 @@ static bool check_item_knowledge(object_type *o_ptr, tval_type tval)
         return false;
     if (o_ptr->tval != tval)
         return false;
-    if (!object_is_known(o_ptr))
+    if (!o_ptr->is_known())
         return false;
     if (!determine_spcial_item_type(o_ptr, tval))
         return false;
@@ -166,7 +166,7 @@ static void do_cmd_knowledge_inventory_aux(player_type *creature_ptr, FILE *fff,
 
     fprintf(fff, "%s %s", where, o_name);
 
-    if (!object_is_fully_known(o_ptr)) {
+    if (!o_ptr->is_fully_known()) {
         fputs(_("-------不明--------------- -------不明---------\n", "-------unknown------------ -------unknown------\n"), fff);
         return;
     }
index fbdc9c4..d082c3d 100644 (file)
@@ -69,7 +69,7 @@ void do_cmd_knowledge_artifacts(player_type *player_ptr)
                 o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
                 if (!o_ptr->is_fixed_artifact())
                     continue;
-                if (object_is_known(o_ptr))
+                if (o_ptr->is_known())
                     continue;
 
                 okay[o_ptr->name1] = false;
@@ -83,7 +83,7 @@ void do_cmd_knowledge_artifacts(player_type *player_ptr)
             continue;
         if (!o_ptr->is_fixed_artifact())
             continue;
-        if (object_is_known(o_ptr))
+        if (o_ptr->is_known())
             continue;
 
         okay[o_ptr->name1] = false;
index 53032a3..7d45ddf 100644 (file)
@@ -55,7 +55,7 @@ void building_recharge(player_type *player_ptr)
      */
     /* The item must be "known" */
     char tmp_str[MAX_NLEN];
-    if (!object_is_known(o_ptr)) {
+    if (!o_ptr->is_known()) {
         msg_format(_("充填する前に鑑定されている必要があります!", "The item must be identified first!"));
         msg_print(NULL);
 
@@ -187,7 +187,7 @@ void building_recharge_all(player_type *player_ptr)
 
         if (o_ptr->tval < TV_STAFF || o_ptr->tval > TV_ROD)
             continue;
-        if (!object_is_known(o_ptr))
+        if (!o_ptr->is_known())
             total_cost += 50;
 
         DEPTH lev = k_info[o_ptr->k_idx].level;
@@ -243,7 +243,7 @@ void building_recharge_all(player_type *player_ptr)
         if (o_ptr->tval < TV_STAFF || o_ptr->tval > TV_ROD)
             continue;
 
-        if (!object_is_known(o_ptr)) {
+        if (!o_ptr->is_known()) {
             identify_item(player_ptr, o_ptr);
             autopick_alter_item(player_ptr, i, false);
         }
index 8bc4345..76991f6 100644 (file)
@@ -31,7 +31,7 @@ bool import_magic_device(player_type *user_ptr)
         return false;
     }
 
-    if (!object_is_known(o_ptr)) {
+    if (!o_ptr->is_known()) {
         msg_print(_("鑑定されていないと取り込めない。", "You need to identify before absorbing."));
         return false;
     }
index d165f6b..e77677b 100644 (file)
@@ -61,7 +61,7 @@ bool psychometry(player_type *caster_ptr)
     if (!o_ptr)
         return false;
 
-    if (object_is_known(o_ptr)) {
+    if (o_ptr->is_known()) {
         msg_print(_("何も新しいことは判らなかった。", "You cannot find out anything more about that."));
         return true;
     }
index 43a76ae..1454341 100644 (file)
@@ -111,7 +111,7 @@ bool can_player_destroy_object(player_type *player_ptr, object_type *o_ptr)
     if (!o_ptr->is_artifact())
         return true;
 
-    if (!object_is_known(o_ptr)) {
+    if (!o_ptr->is_known()) {
         byte feel = FEEL_SPECIAL;
         if (o_ptr->is_cursed() || o_ptr->is_broken())
             feel = FEEL_TERRIBLE;
index 0deadd1..a5a7a39 100644 (file)
@@ -20,7 +20,7 @@
 bool object_is_activatable(const object_type *o_ptr)
 {
     TrFlags flags;
-    if (!object_is_known(o_ptr))
+    if (!o_ptr->is_known())
         return false;
 
     object_flags(o_ptr, flags);
@@ -56,7 +56,7 @@ bool item_tester_hook_use(player_type *player_ptr, const object_type *o_ptr)
     default: {
         int i;
 
-        if (!object_is_known(o_ptr))
+        if (!o_ptr->is_known())
             return false;
         for (i = INVEN_MAIN_HAND; i < INVEN_TOTAL; i++) {
             if (&player_ptr->inventory_list[i] == o_ptr) {
index 90c10d3..fbe9c5a 100644 (file)
@@ -18,7 +18,7 @@ bool object_is_nameless_weapon_armour(const object_type *o_ptr)
         return false;
 
     /* Require nameless object if the object is well known */
-    if (object_is_known(o_ptr) && !o_ptr->is_nameless())
+    if (o_ptr->is_known() && !o_ptr->is_nameless())
         return false;
 
     return true;
@@ -31,7 +31,7 @@ bool object_is_nameless_weapon_armour(const object_type *o_ptr)
  */
 bool object_is_not_identified(const object_type *o_ptr)
 {
-    return !object_is_known(o_ptr);
+    return !o_ptr->is_known();
 }
 
 /*!
@@ -54,7 +54,7 @@ bool object_is_not_identified_weapon_armor(const object_type *o_ptr)
  */
 bool object_is_not_fully_identified(const object_type *o_ptr)
 {
-    return !object_is_known(o_ptr) || !object_is_fully_known(o_ptr);
+    return !o_ptr->is_known() || !o_ptr->is_fully_known();
 }
 
 /*!
index 8d62756..c8fabdc 100644 (file)
@@ -113,7 +113,7 @@ void object_flags_known(const object_type *o_ptr, TrFlags &flgs)
         flgs[i] = k_ptr->flags[i];
     }
 
-    if (!object_is_known(o_ptr))
+    if (!o_ptr->is_known())
         return;
 
     if (o_ptr->is_ego()) {
@@ -132,7 +132,7 @@ void object_flags_known(const object_type *o_ptr, TrFlags &flgs)
         }
     }
 
-    if (spoil || object_is_fully_known(o_ptr)) {
+    if (spoil || o_ptr->is_fully_known()) {
         if (o_ptr->is_fixed_artifact()) {
             artifact_type *a_ptr = &a_info[o_ptr->name1];
 
index 9ab8d2f..481af45 100644 (file)
@@ -105,7 +105,7 @@ int object_similar_part(const object_type *o_ptr, const object_type *j_ptr)
         break;
     }
     case TV_STAFF: {
-        if ((!(o_ptr->ident & (IDENT_EMPTY)) && !object_is_known(o_ptr)) || (!(j_ptr->ident & (IDENT_EMPTY)) && !object_is_known(j_ptr)))
+        if ((!(o_ptr->ident & (IDENT_EMPTY)) && !o_ptr->is_known()) || (!(j_ptr->ident & (IDENT_EMPTY)) && !j_ptr->is_known()))
             return 0;
 
         if (o_ptr->pval != j_ptr->pval)
@@ -114,7 +114,7 @@ int object_similar_part(const object_type *o_ptr, const object_type *j_ptr)
         break;
     }
     case TV_WAND: {
-        if ((!(o_ptr->ident & (IDENT_EMPTY)) && !object_is_known(o_ptr)) || (!(j_ptr->ident & (IDENT_EMPTY)) && !object_is_known(j_ptr)))
+        if ((!(o_ptr->ident & (IDENT_EMPTY)) && !o_ptr->is_known()) || (!(j_ptr->ident & (IDENT_EMPTY)) && !j_ptr->is_known()))
             return 0;
 
         break;
@@ -141,14 +141,14 @@ int object_similar_part(const object_type *o_ptr, const object_type *j_ptr)
     case TV_AMULET:
     case TV_LITE:
     case TV_WHISTLE: {
-        if (!object_is_known(o_ptr) || !object_is_known(j_ptr))
+        if (!o_ptr->is_known() || !j_ptr->is_known())
             return 0;
     }
         /* Fall through */
     case TV_BOLT:
     case TV_ARROW:
     case TV_SHOT: {
-        if (object_is_known(o_ptr) != object_is_known(j_ptr))
+        if (o_ptr->is_known() != j_ptr->is_known())
             return 0;
         if (o_ptr->feeling != j_ptr->feeling)
             return 0;
@@ -181,7 +181,7 @@ int object_similar_part(const object_type *o_ptr, const object_type *j_ptr)
         break;
     }
     default: {
-        if (!object_is_known(o_ptr) || !object_is_known(j_ptr))
+        if (!o_ptr->is_known() || !j_ptr->is_known())
             return 0;
 
         break;
@@ -240,7 +240,7 @@ void object_absorb(object_type *o_ptr, object_type *j_ptr)
     int diff = (total > max_num) ? total - max_num : 0;
 
     o_ptr->number = (total > max_num) ? max_num : total;
-    if (object_is_known(j_ptr))
+    if (j_ptr->is_known())
         object_known(o_ptr);
 
     if (((o_ptr->ident & IDENT_STORE) || (j_ptr->ident & IDENT_STORE)) && (!((o_ptr->ident & IDENT_STORE) && (j_ptr->ident & IDENT_STORE)))) {
@@ -250,7 +250,7 @@ void object_absorb(object_type *o_ptr, object_type *j_ptr)
             o_ptr->ident &= 0xEF;
     }
 
-    if (object_is_fully_known(j_ptr))
+    if (j_ptr->is_fully_known())
         o_ptr->ident |= (IDENT_FULL_KNOWN);
     if (j_ptr->inscription)
         o_ptr->inscription = j_ptr->inscription;
index 7a5ad4b..0624861 100644 (file)
@@ -89,7 +89,7 @@ PRICE object_value(const object_type *o_ptr)
 {
     PRICE value;
 
-    if (object_is_known(o_ptr)) {
+    if (o_ptr->is_known()) {
         if (o_ptr->is_broken())
             return (0L);
         if (o_ptr->is_cursed())
index a0fac9b..b924e84 100644 (file)
@@ -101,18 +101,3 @@ bool object_is_tried(const object_type *o_ptr)
 {
     return k_info[(o_ptr)->k_idx].tried;
 }
-
-/*
- * Determine if a given inventory item is "known"
- * Test One -- Check for special "known" tag
- * Test Two -- Check for "Easy Know" + "Aware"
- */
-bool object_is_known(const object_type *o_ptr)
-{
-    return ((o_ptr->ident & IDENT_KNOWN) != 0) || (k_info[(o_ptr)->k_idx].easy_know && k_info[(o_ptr)->k_idx].aware);
-}
-
-bool object_is_fully_known(const object_type *o_ptr)
-{
-    return (o_ptr->ident & IDENT_FULL_KNOWN) != 0;
-}
index e5ccb57..9ccc8f9 100644 (file)
@@ -40,7 +40,7 @@ static void sense_inventory_aux(player_type *creature_ptr, INVENTORY_IDX slot, b
     GAME_TEXT o_name[MAX_NLEN];
     if (o_ptr->ident & (IDENT_SENSE))
         return;
-    if (object_is_known(o_ptr))
+    if (o_ptr->is_known())
         return;
 
     item_feel_type feel = (heavy ? pseudo_value_check_heavy(o_ptr) : pseudo_value_check_light(o_ptr));
index 1921d1f..d18ea91 100644 (file)
@@ -83,7 +83,7 @@ static void discover_hidden_things(player_type *creature_ptr, POSITION y, POSITI
             continue;
         if (!chest_traps[o_ptr->pval])
             continue;
-        if (!object_is_known(o_ptr)) {
+        if (!o_ptr->is_known()) {
             msg_print(_("箱に仕掛けられたトラップを発見した!", "You have discovered a trap on the chest!"));
             object_known(o_ptr);
             disturb(creature_ptr, false, false);
index 3340604..ccdddea 100644 (file)
@@ -1652,15 +1652,15 @@ static ARMOUR_CLASS calc_to_ac(player_type *creature_ptr, bool is_real_value)
         object_flags(o_ptr, flags);
         if (!o_ptr->k_idx)
             continue;
-        if (is_real_value || object_is_known(o_ptr))
+        if (is_real_value || o_ptr->is_known())
             ac += o_ptr->to_a;
 
         if (o_ptr->curse_flags.has(TRC::LOW_AC)) {
             if (o_ptr->curse_flags.has(TRC::HEAVY_CURSE)) {
-                if (is_real_value || object_is_fully_known(o_ptr))
+                if (is_real_value || o_ptr->is_fully_known())
                     ac -= 30;
             } else {
-                if (is_real_value || object_is_fully_known(o_ptr))
+                if (is_real_value || o_ptr->is_fully_known())
                     ac -= 10;
             }
         }
@@ -2028,7 +2028,7 @@ static int16_t calc_to_damage(player_type *creature_ptr, INVENTORY_IDX slot, boo
             || (i == INVEN_SUB_HAND && has_melee_weapon(creature_ptr, i)) || i == INVEN_BOW)
             continue;
 
-        if (!object_is_known(o_ptr) && !is_real_value)
+        if (!o_ptr->is_known() && !is_real_value)
             continue;
         bonus_to_d = o_ptr->to_d;
 
@@ -2187,7 +2187,7 @@ static int16_t calc_to_hit(player_type *creature_ptr, INVENTORY_IDX slot, bool i
         }
 
         /* Low melee penalty */
-        if ((object_is_fully_known(o_ptr) || is_real_value) && o_ptr->curse_flags.has(TRC::LOW_MELEE)) {
+        if ((o_ptr->is_fully_known() || is_real_value) && o_ptr->curse_flags.has(TRC::LOW_MELEE)) {
             if (o_ptr->curse_flags.has(TRC::HEAVY_CURSE)) {
                 hit -= 15;
             } else {
@@ -2262,7 +2262,7 @@ static int16_t calc_to_hit(player_type *creature_ptr, INVENTORY_IDX slot, bool i
             continue;
 
         /* Fake value does not include unknown objects' value */
-        if (!object_is_known(o_ptr) && !is_real_value)
+        if (!o_ptr->is_known() && !is_real_value)
             continue;
 
         int bonus_to_h = o_ptr->to_h;
@@ -2406,7 +2406,7 @@ static int16_t calc_to_hit_bow(player_type *creature_ptr, bool is_real_value)
                 bonus_to_h = (o_ptr->to_h + 1) / 2;
         }
 
-        if (is_real_value || object_is_known(o_ptr))
+        if (is_real_value || o_ptr->is_known())
             pow += (int16_t)bonus_to_h;
     }
 
index 485ac21..ea2bd58 100644 (file)
@@ -336,7 +336,7 @@ bool destroy_area(player_type *caster_ptr, POSITION y1, POSITION x1, POSITION r,
                     o_ptr = &floor_ptr->o_list[this_o_idx];
 
                     /* Hack -- Preserve unknown artifacts */
-                    if (o_ptr->is_fixed_artifact() && (!object_is_known(o_ptr) || in_generate)) {
+                    if (o_ptr->is_fixed_artifact() && (!o_ptr->is_known() || in_generate)) {
                         /* Mega-Hack -- Preserve the artifact */
                         a_info[o_ptr->name1].cur_num = 0;
 
index 64fdf80..cdf051d 100644 (file)
@@ -65,7 +65,7 @@ bool identify_item(player_type *owner_ptr, object_type *o_ptr)
     if (any_bits(o_ptr->ident, IDENT_KNOWN))
         old_known = true;
 
-    if (!object_is_fully_known(o_ptr)) {
+    if (!o_ptr->is_fully_known()) {
         if (o_ptr->is_artifact() || one_in_(5))
             chg_virtue(owner_ptr, V_KNOWLEDGE, 1);
     }
index 48cff7c..eef1d9e 100644 (file)
@@ -269,7 +269,7 @@ bool lose_all_info(player_type *creature_ptr)
     chg_virtue(creature_ptr, V_ENLIGHTEN, -5);
     for (int i = 0; i < INVEN_TOTAL; i++) {
         object_type *o_ptr = &creature_ptr->inventory_list[i];
-        if ((o_ptr->k_idx == 0) || object_is_fully_known(o_ptr))
+        if ((o_ptr->k_idx == 0) || o_ptr->is_fully_known())
             continue;
 
         o_ptr->feeling = FEEL_NONE;
index 5c8ef1f..9317167 100644 (file)
@@ -223,7 +223,7 @@ void store_examine(player_type *player_ptr)
     item = item + store_top;
     object_type *o_ptr;
     o_ptr = &st_ptr->stock[item];
-    if (!object_is_fully_known(o_ptr)) {
+    if (!o_ptr->is_fully_known()) {
         msg_print(_("このアイテムについて特に知っていることはない。", "You have no special knowledge about that item."));
         return;
     }
index aaa87a9..79cb87c 100644 (file)
@@ -451,3 +451,18 @@ bool object_type::is_held_by_monster() const
 {
     return this->held_m_idx != 0;
 }
+
+/*
+ * Determine if a given inventory item is "known"
+ * Test One -- Check for special "known" tag
+ * Test Two -- Check for "Easy Know" + "Aware"
+ */
+bool object_type::is_known() const
+{
+    return ((this->ident & IDENT_KNOWN) != 0) || (k_info[this->k_idx].easy_know && k_info[this->k_idx].aware);
+}
+
+bool object_type::is_fully_known() const
+{
+    return (this->ident & IDENT_FULL_KNOWN) != 0;
+}
index 3118ec1..950aeb3 100644 (file)
@@ -87,4 +87,6 @@ typedef struct object_type {
     bool is_broken() const;
     bool is_cursed() const;
     bool is_held_by_monster() const;
+    bool is_known() const;
+    bool is_fully_known() const;
 } object_type;
index b1552a7..d658c70 100644 (file)
@@ -53,9 +53,9 @@ bool object_sort_comp(player_type *player_ptr, object_type *o_ptr, int32_t o_val
     if (o_ptr->sval > j_ptr->sval)
         return false;
 
-    if (!object_is_known(o_ptr))
+    if (!o_ptr->is_known())
         return false;
-    if (!object_is_known(j_ptr))
+    if (!j_ptr->is_known())
         return true;
 
     if (o_ptr->is_fixed_artifact())
index fdeba01..49082be 100644 (file)
@@ -108,7 +108,7 @@ static void process_cursed_equipment_characteristics(player_type *creature_ptr,
     for (int i = INVEN_MAIN_HAND; i < max_i; i++) {
         TrFlags flags;
         auto *o_ptr = &creature_ptr->inventory_list[i];
-        auto is_known = object_is_known(o_ptr);
+        auto is_known = o_ptr->is_known();
         auto is_sensed = is_known || o_ptr->ident & IDENT_SENSE;
         object_flags_known(o_ptr, flags);
 
index f050ea1..0c7e00d 100644 (file)
@@ -37,9 +37,9 @@ static void display_player_melee_bonus(player_type *creature_ptr, int hand, int
     HIT_POINT show_todam = creature_ptr->dis_to_d[hand];
     object_type *o_ptr = &creature_ptr->inventory_list[INVEN_MAIN_HAND + hand];
 
-    if (object_is_known(o_ptr))
+    if (o_ptr->is_known())
         show_tohit += o_ptr->to_h;
-    if (object_is_known(o_ptr))
+    if (o_ptr->is_known())
         show_todam += o_ptr->to_d;
 
     show_tohit += creature_ptr->skill_thn / BTH_PLUS_ADJ;
@@ -94,9 +94,9 @@ static void display_hit_damage(player_type *creature_ptr)
     object_type *o_ptr = &creature_ptr->inventory_list[INVEN_BOW];
     HIT_PROB show_tohit = creature_ptr->dis_to_h_b;
     HIT_POINT show_todam = 0;
-    if (object_is_known(o_ptr))
+    if (o_ptr->is_known())
         show_tohit += o_ptr->to_h;
-    if (object_is_known(o_ptr))
+    if (o_ptr->is_known())
         show_todam += o_ptr->to_d;
 
     if ((o_ptr->sval == SV_LIGHT_XBOW) || (o_ptr->sval == SV_HEAVY_XBOW))
index 6a6407b..2232688 100644 (file)
@@ -22,7 +22,7 @@ void inven_item_charges(player_type *owner_ptr, INVENTORY_IDX item)
     object_type *o_ptr = &owner_ptr->inventory_list[item];
     if ((o_ptr->tval != TV_STAFF) && (o_ptr->tval != TV_WAND))
         return;
-    if (!object_is_known(o_ptr))
+    if (!o_ptr->is_known())
         return;
 
 #ifdef JP
index f067c0f..e777eae 100644 (file)
@@ -130,7 +130,7 @@ static bool calc_weapon_one_hand(object_type *o_ptr, int hand, int *damage, int
  */
 static int strengthen_basedam(player_type *creature_ptr, object_type *o_ptr, int basedam, const TrFlags &flgs)
 {
-    if (object_is_fully_known(o_ptr) && ((o_ptr->name1 == ART_VORPAL_BLADE) || (o_ptr->name1 == ART_CHAINSWORD))) {
+    if (o_ptr->is_fully_known() && ((o_ptr->name1 == ART_VORPAL_BLADE) || (o_ptr->name1 == ART_CHAINSWORD))) {
         /* vorpal blade */
         basedam *= 5;
         basedam /= 3;
@@ -264,7 +264,7 @@ static void calc_two_hands(player_type *creature_ptr, int *damage, int *to_h)
         bool poison_needle = false;
         if ((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_POISON_NEEDLE))
             poison_needle = true;
-        if (object_is_known(o_ptr)) {
+        if (o_ptr->is_known()) {
             damage[i] += o_ptr->to_d * 100;
             to_h[i] += o_ptr->to_h;
         }
index 5859798..09ca467 100644 (file)
@@ -11,7 +11,7 @@
 void display_short_flavors(flavor_type *flavor_ptr)
 {
     flavor_ptr->tmp_val2[0] = '\0';
-    if ((abbrev_extra || abbrev_all) && object_is_fully_known(flavor_ptr->o_ptr)) {
+    if ((abbrev_extra || abbrev_all) && flavor_ptr->o_ptr->is_fully_known()) {
         if (!flavor_ptr->o_ptr->inscription || !angband_strchr(quark_str(flavor_ptr->o_ptr->inscription), '%')) {
             bool kanji = _(true, false);
             get_ability_abbreviation(flavor_ptr->tmp_val2, flavor_ptr->o_ptr, kanji, abbrev_all);