OSDN Git Service

[Refactor] #3215 reward_artifact_idx から固定アーティファクト情報を取り出していた箇所をget_reward() で置換した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sun, 30 Apr 2023 10:10:04 +0000 (19:10 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 30 Apr 2023 10:24:06 +0000 (19:24 +0900)
src/dungeon/quest.cpp
src/floor/fixed-map-generator.cpp
src/knowledge/knowledge-quests.cpp
src/load/quest-loader.cpp
src/object-hook/hook-quest.cpp

index fa0f019..1eb6c99 100644 (file)
@@ -418,7 +418,7 @@ void leave_quest_check(PlayerType *player_ptr)
         quest_list[QuestId::TOWER1].complev = player_ptr->lev;
         break;
     case QuestKindType::FIND_ARTIFACT:
-        ArtifactsInfo::get_instance().get_artifact(q_ptr->reward_artifact_idx).gen_flags.reset(ItemGenerationTraitType::QUESTITEM);
+        q_ptr->get_reward().gen_flags.reset(ItemGenerationTraitType::QUESTITEM);
         break;
     case QuestKindType::RANDOM:
         monraces_info[q_ptr->r_idx].flags1 &= ~(RF1_QUESTOR);
index d54b932..4b7c1fa 100644 (file)
@@ -235,7 +235,7 @@ static bool parse_qtw_QQ(QuestType *q_ptr, char **zz, int num)
         return true;
     }
 
-    auto &artifact = ArtifactsInfo::get_instance().get_artifact(q_ptr->reward_artifact_idx);
+    auto &artifact = q_ptr->get_reward();
     artifact.gen_flags.set(ItemGenerationTraitType::QUESTITEM);
     return true;
 }
index d8d2cca..b35018d 100644 (file)
@@ -107,7 +107,7 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
                 case QuestKindType::FIND_ARTIFACT: {
                     std::string item_name("");
                     if (q_ref.reward_artifact_idx != FixedArtifactId::NONE) {
-                        const auto &artifact = ArtifactsInfo::get_instance().get_artifact(q_ref.reward_artifact_idx);
+                        const auto &artifact = q_ref.get_reward();
                         ItemEntity item;
                         auto bi_id = lookup_baseitem_id(artifact.bi_key);
                         item.prep(bi_id);
index da68d1c..72e40af 100644 (file)
@@ -72,7 +72,7 @@ static void load_quest_details(PlayerType *player_ptr, QuestType *q_ptr, const Q
     }
     q_ptr->reward_artifact_idx = i2enum<FixedArtifactId>(rd_s16b());
     if (q_ptr->reward_artifact_idx != FixedArtifactId::NONE) {
-        ArtifactsInfo::get_instance().get_artifact(q_ptr->reward_artifact_idx).gen_flags.set(ItemGenerationTraitType::QUESTITEM);
+        q_ptr->get_reward().gen_flags.set(ItemGenerationTraitType::QUESTITEM);
     }
 
     q_ptr->flags = rd_byte();
index 5cd471c..af7ba33 100644 (file)
@@ -53,12 +53,13 @@ bool object_is_quest_target(QuestId quest_idx, const ItemEntity *o_ptr)
     }
 
     const auto &quest_list = QuestList::get_instance();
-    auto a_idx = quest_list[quest_idx].reward_artifact_idx;
+    const auto &quest = quest_list[quest_idx];
+    auto a_idx = quest.reward_artifact_idx;
     if (a_idx == FixedArtifactId::NONE) {
         return false;
     }
 
-    const auto &artifact = ArtifactsInfo::get_instance().get_artifact(a_idx);
+    const auto &artifact = quest.get_reward();
     if (artifact.gen_flags.has(ItemGenerationTraitType::INSTA_ART)) {
         return false;
     }