OSDN Git Service

[Refactor] #2775 周辺コードの整理
[hengbandforosx/hengbandosx.git] / src / knowledge / knowledge-items.cpp
index 5dcdad1..c00de95 100644 (file)
@@ -101,17 +101,18 @@ void do_cmd_knowledge_artifacts(PlayerType *player_ptr)
         GAME_TEXT base_name[MAX_NLEN];
         strcpy(base_name, _("未知の伝説のアイテム", "Unknown Artifact"));
         const auto bi_id = lookup_baseitem_id(a_ref.bi_key);
-        if (bi_id != 0) {
-            ObjectType forge;
-            ObjectType *q_ptr;
-            q_ptr = &forge;
-            q_ptr->prep(bi_id);
-            q_ptr->fixed_artifact_idx = a_idx;
-            q_ptr->ident |= IDENT_STORE;
-            describe_flavor(player_ptr, base_name, q_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+        constexpr auto template_basename = _("     %s\n", "     The %s\n");
+        if (bi_id == 0) {
+            fprintf(fff, template_basename, base_name);
+            continue;
         }
 
-        fprintf(fff, _("     %s\n", "     The %s\n"), base_name);
+        ObjectType item;
+        item.prep(bi_id);
+        item.fixed_artifact_idx = a_idx;
+        item.ident |= IDENT_STORE;
+        describe_flavor(player_ptr, base_name, &item, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+        fprintf(fff, template_basename, base_name);
     }
 
     angband_fclose(fff);