OSDN Git Service

[Refactor] #3215 クエストへの参照をq_ref からquest に統一した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sun, 30 Apr 2023 10:21:41 +0000 (19:21 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 30 Apr 2023 10:24:25 +0000 (19:24 +0900)
12 files changed:
src/birth/game-play-initializer.cpp
src/cmd-action/cmd-move.cpp
src/dungeon/quest-completion-checker.cpp
src/dungeon/quest-monster-placer.cpp
src/dungeon/quest.cpp
src/floor/floor-leaver.cpp
src/floor/wild.cpp
src/io-dump/character-dump.cpp
src/io/write-diary.cpp
src/knowledge/knowledge-quests.cpp
src/save/save.cpp
src/world/world-movement-processor.cpp

index b35dd8e..1602a99 100644 (file)
@@ -61,15 +61,15 @@ void player_wipe_without_name(PlayerType *player_ptr)
     }
 
     auto &quest_list = QuestList::get_instance();
-    for (auto &[q_idx, q_ref] : quest_list) {
-        q_ref.status = QuestStatusType::UNTAKEN;
-        q_ref.cur_num = 0;
-        q_ref.max_num = 0;
-        q_ref.type = QuestKindType::NONE;
-        q_ref.level = 0;
-        q_ref.r_idx = MonsterRace::empty_id();
-        q_ref.complev = 0;
-        q_ref.comptime = 0;
+    for (auto &[q_idx, quest] : quest_list) {
+        quest.status = QuestStatusType::UNTAKEN;
+        quest.cur_num = 0;
+        quest.max_num = 0;
+        quest.type = QuestKindType::NONE;
+        quest.level = 0;
+        quest.r_idx = MonsterRace::empty_id();
+        quest.complev = 0;
+        quest.comptime = 0;
     }
 
     player_ptr->inven_cnt = 0;
index da665ec..bccc141 100644 (file)
@@ -105,14 +105,14 @@ void do_cmd_go_up(PlayerType *player_ptr)
         leave_quest_check(player_ptr);
         floor_ptr->quest_number = i2enum<QuestId>(g_ptr->special);
         const auto quest_number = floor_ptr->quest_number;
-        auto &q_ref = quest_list[quest_number];
-        if (q_ref.status == QuestStatusType::UNTAKEN) {
-            if (q_ref.type != QuestKindType::RANDOM) {
+        auto &quest = quest_list[quest_number];
+        if (quest.status == QuestStatusType::UNTAKEN) {
+            if (quest.type != QuestKindType::RANDOM) {
                 init_flags = INIT_ASSIGN;
                 parse_fixed_map(player_ptr, QUEST_DEFINITION_LIST, 0, 0, 0, 0);
             }
 
-            q_ref.status = QuestStatusType::TAKEN;
+            quest.status = QuestStatusType::TAKEN;
         }
 
         if (!inside_quest(quest_number)) {
@@ -144,14 +144,14 @@ void do_cmd_go_up(PlayerType *player_ptr)
     }
 
     const auto quest_number = player_ptr->current_floor_ptr->quest_number;
-    auto &q_ref = quest_list[quest_number];
+    auto &quest = quest_list[quest_number];
 
-    if (inside_quest(quest_number) && q_ref.type == QuestKindType::RANDOM) {
+    if (inside_quest(quest_number) && quest.type == QuestKindType::RANDOM) {
         leave_quest_check(player_ptr);
         player_ptr->current_floor_ptr->quest_number = QuestId::NONE;
     }
 
-    if (inside_quest(quest_number) && q_ref.type != QuestKindType::RANDOM) {
+    if (inside_quest(quest_number) && quest.type != QuestKindType::RANDOM) {
         leave_quest_check(player_ptr);
         player_ptr->current_floor_ptr->quest_number = i2enum<QuestId>(g_ptr->special);
         player_ptr->current_floor_ptr->dun_level = 0;
index 0466563..2cf74f8 100644 (file)
@@ -55,34 +55,34 @@ void QuestCompletionChecker::complete()
     this->make_reward(pos);
 }
 
-static bool check_quest_completion(PlayerType *player_ptr, const QuestType &q_ref, MonsterEntity *m_ptr)
+static bool check_quest_completion(PlayerType *player_ptr, const QuestType &quest, MonsterEntity *m_ptr)
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
-    if (q_ref.status != QuestStatusType::TAKEN) {
+    if (quest.status != QuestStatusType::TAKEN) {
         return false;
     }
 
-    if (any_bits(q_ref.flags, QUEST_FLAG_PRESET)) {
+    if (any_bits(quest.flags, QUEST_FLAG_PRESET)) {
         return false;
     }
 
-    if ((q_ref.level != floor_ptr->dun_level)) {
+    if ((quest.level != floor_ptr->dun_level)) {
         return false;
     }
 
-    if ((q_ref.type == QuestKindType::FIND_ARTIFACT) || (q_ref.type == QuestKindType::FIND_EXIT)) {
+    if ((quest.type == QuestKindType::FIND_ARTIFACT) || (quest.type == QuestKindType::FIND_EXIT)) {
         return false;
     }
 
-    auto kill_them_all = q_ref.type == QuestKindType::KILL_NUMBER;
-    kill_them_all |= q_ref.type == QuestKindType::TOWER;
-    kill_them_all |= q_ref.type == QuestKindType::KILL_ALL;
+    auto kill_them_all = quest.type == QuestKindType::KILL_NUMBER;
+    kill_them_all |= quest.type == QuestKindType::TOWER;
+    kill_them_all |= quest.type == QuestKindType::KILL_ALL;
     if (kill_them_all) {
         return true;
     }
 
-    auto is_target = (q_ref.type == QuestKindType::RANDOM) && (q_ref.r_idx == m_ptr->r_idx);
-    if ((q_ref.type == QuestKindType::KILL_LEVEL) || is_target) {
+    auto is_target = (quest.type == QuestKindType::RANDOM) && (quest.r_idx == m_ptr->r_idx);
+    if ((quest.type == QuestKindType::KILL_LEVEL) || is_target) {
         return true;
     }
 
index d75cbc1..9528e4f 100644 (file)
@@ -23,21 +23,21 @@ bool place_quest_monsters(PlayerType *player_ptr)
 {
     auto *floor_ptr = player_ptr->current_floor_ptr;
     const auto &quest_list = QuestList::get_instance();
-    for (const auto &[q_idx, q_ref] : quest_list) {
+    for (const auto &[q_idx, quest] : quest_list) {
         MonsterRaceInfo *r_ptr;
         BIT_FLAGS mode;
 
-        auto no_quest_monsters = q_ref.status != QuestStatusType::TAKEN;
-        no_quest_monsters |= (q_ref.type != QuestKindType::KILL_LEVEL && q_ref.type != QuestKindType::RANDOM);
-        no_quest_monsters |= q_ref.level != floor_ptr->dun_level;
-        no_quest_monsters |= player_ptr->dungeon_idx != q_ref.dungeon;
-        no_quest_monsters |= any_bits(q_ref.flags, QUEST_FLAG_PRESET);
+        auto no_quest_monsters = quest.status != QuestStatusType::TAKEN;
+        no_quest_monsters |= (quest.type != QuestKindType::KILL_LEVEL && quest.type != QuestKindType::RANDOM);
+        no_quest_monsters |= quest.level != floor_ptr->dun_level;
+        no_quest_monsters |= player_ptr->dungeon_idx != quest.dungeon;
+        no_quest_monsters |= any_bits(quest.flags, QUEST_FLAG_PRESET);
 
         if (no_quest_monsters) {
             continue;
         }
 
-        r_ptr = &monraces_info[q_ref.r_idx];
+        r_ptr = &monraces_info[quest.r_idx];
         if (r_ptr->kind_flags.has(MonsterKindType::UNIQUE) && (r_ptr->cur_num >= r_ptr->max_num)) {
             continue;
         }
@@ -47,7 +47,7 @@ bool place_quest_monsters(PlayerType *player_ptr)
             mode |= PM_ALLOW_GROUP;
         }
 
-        for (int j = 0; j < (q_ref.max_num - q_ref.cur_num); j++) {
+        for (int j = 0; j < (quest.max_num - quest.cur_num); j++) {
             int k;
             for (k = 0; k < SAFE_MAX_ATTEMPTS; k++) {
                 POSITION x = 0;
@@ -83,7 +83,7 @@ bool place_quest_monsters(PlayerType *player_ptr)
                     return false;
                 }
 
-                if (place_monster_aux(player_ptr, 0, y, x, q_ref.r_idx, mode)) {
+                if (place_monster_aux(player_ptr, 0, y, x, quest.r_idx, mode)) {
                     break;
                 } else {
                     continue;
index c65b503..46ffece 100644 (file)
@@ -288,10 +288,10 @@ void check_find_art_quest_completion(PlayerType *player_ptr, ItemEntity *o_ptr)
 {
     const auto &quest_list = QuestList::get_instance();
     /* Check if completed a quest */
-    for (const auto &[q_idx, q_ref] : quest_list) {
-        auto found_artifact = (q_ref.type == QuestKindType::FIND_ARTIFACT);
-        found_artifact &= (q_ref.status == QuestStatusType::TAKEN);
-        found_artifact &= (o_ptr->is_specific_artifact(q_ref.reward_artifact_idx));
+    for (const auto &[q_idx, quest] : quest_list) {
+        auto found_artifact = (quest.type == QuestKindType::FIND_ARTIFACT);
+        found_artifact &= (quest.status == QuestStatusType::TAKEN);
+        found_artifact &= (o_ptr->is_specific_artifact(quest.reward_artifact_idx));
         if (found_artifact) {
             complete_quest(player_ptr, q_idx);
         }
@@ -354,14 +354,15 @@ QuestId quest_number(PlayerType *player_ptr, DEPTH level)
         return floor_ptr->quest_number;
     }
 
-    for (const auto &[q_idx, q_ref] : quest_list) {
-        if (q_ref.status != QuestStatusType::TAKEN) {
+    for (const auto &[q_idx, quest] : quest_list) {
+        if (quest.status != QuestStatusType::TAKEN) {
             continue;
         }
-        auto depth_quest = (q_ref.type == QuestKindType::KILL_LEVEL);
-        depth_quest &= !(q_ref.flags & QUEST_FLAG_PRESET);
-        depth_quest &= (q_ref.level == level);
-        depth_quest &= (q_ref.dungeon == player_ptr->dungeon_idx);
+
+        auto depth_quest = (quest.type == QuestKindType::KILL_LEVEL);
+        depth_quest &= !(quest.flags & QUEST_FLAG_PRESET);
+        depth_quest &= (quest.level == level);
+        depth_quest &= (quest.dungeon == player_ptr->dungeon_idx);
         if (depth_quest) {
             return q_idx;
         }
@@ -384,11 +385,11 @@ QuestId random_quest_number(PlayerType *player_ptr, DEPTH level)
 
     const auto &quest_list = QuestList::get_instance();
     for (auto q_idx : EnumRange(QuestId::RANDOM_QUEST1, QuestId::RANDOM_QUEST10)) {
-        const auto &q_ref = quest_list[q_idx];
-        auto is_random_quest = (q_ref.type == QuestKindType::RANDOM);
-        is_random_quest &= (q_ref.status == QuestStatusType::TAKEN);
-        is_random_quest &= (q_ref.level == level);
-        is_random_quest &= (q_ref.dungeon == DUNGEON_ANGBAND);
+        const auto &quest = quest_list[q_idx];
+        auto is_random_quest = (quest.type == QuestKindType::RANDOM);
+        is_random_quest &= (quest.status == QuestStatusType::TAKEN);
+        is_random_quest &= (quest.level == level);
+        is_random_quest &= (quest.dungeon == DUNGEON_ANGBAND);
         if (is_random_quest) {
             return q_idx;
         }
index 1722e66..f266899 100644 (file)
@@ -251,14 +251,14 @@ static void preserve_info(PlayerType *player_ptr)
 {
     auto quest_r_idx = MonsterRace::empty_id();
     const auto &quest_list = QuestList::get_instance();
-    for (const auto &[q_idx, q_ref] : quest_list) {
-        auto quest_relating_monster = (q_ref.status == QuestStatusType::TAKEN);
-        quest_relating_monster &= ((q_ref.type == QuestKindType::KILL_LEVEL) || (q_ref.type == QuestKindType::RANDOM));
-        quest_relating_monster &= (q_ref.level == player_ptr->current_floor_ptr->dun_level);
-        quest_relating_monster &= (player_ptr->dungeon_idx == q_ref.dungeon);
-        quest_relating_monster &= !(q_ref.flags & QUEST_FLAG_PRESET);
+    for (const auto &[q_idx, quest] : quest_list) {
+        auto quest_relating_monster = (quest.status == QuestStatusType::TAKEN);
+        quest_relating_monster &= ((quest.type == QuestKindType::KILL_LEVEL) || (quest.type == QuestKindType::RANDOM));
+        quest_relating_monster &= (quest.level == player_ptr->current_floor_ptr->dun_level);
+        quest_relating_monster &= (player_ptr->dungeon_idx == quest.dungeon);
+        quest_relating_monster &= !(quest.flags & QUEST_FLAG_PRESET);
         if (quest_relating_monster) {
-            quest_r_idx = q_ref.r_idx;
+            quest_r_idx = quest.r_idx;
         }
     }
 
index 05ec7a0..d0894ae 100644 (file)
@@ -593,9 +593,9 @@ void wilderness_gen(PlayerType *player_ptr)
     generate_encounter = false;
     set_floor_and_wall(0);
     auto &quest_list = QuestList::get_instance();
-    for (auto &[q_idx, q_ref] : quest_list) {
-        if (q_ref.status == QuestStatusType::REWARDED) {
-            q_ref.status = QuestStatusType::FINISHED;
+    for (auto &[q_idx, quest] : quest_list) {
+        if (quest.status == QuestStatusType::REWARDED) {
+            quest.status = QuestStatusType::FINISHED;
         }
     }
 }
index bc3a79b..8f8a883 100644 (file)
@@ -118,7 +118,7 @@ static void dump_aux_quest(PlayerType *player_ptr, FILE *fff)
 
     const auto &quest_list = QuestList::get_instance();
     std::vector<QuestId> quest_numbers;
-    for (const auto &[q_idx, q_ref] : quest_list) {
+    for (const auto &[q_idx, quest] : quest_list) {
         quest_numbers.push_back(q_idx);
     }
     int dummy;
index b2d361e..511a4b0 100644 (file)
@@ -180,8 +180,8 @@ int exe_write_diary_quest(PlayerType *player_ptr, int type, QuestId num)
 
     auto old_quest = player_ptr->current_floor_ptr->quest_number;
     const auto &quest_list = QuestList::get_instance();
-    const auto &q_ref = quest_list[num];
-    player_ptr->current_floor_ptr->quest_number = (q_ref.type == QuestKindType::RANDOM) ? QuestId::NONE : num;
+    const auto &quest = quest_list[num];
+    player_ptr->current_floor_ptr->quest_number = (quest.type == QuestKindType::RANDOM) ? QuestId::NONE : num;
     init_flags = INIT_NAME_ONLY;
     parse_fixed_map(player_ptr, QUEST_DEFINITION_LIST, 0, 0, 0, 0);
     player_ptr->current_floor_ptr->quest_number = old_quest;
@@ -197,40 +197,40 @@ int exe_write_diary_quest(PlayerType *player_ptr, int type, QuestId num)
 
     switch (type) {
     case DIARY_FIX_QUEST_C: {
-        if (any_bits(q_ref.flags, QUEST_FLAG_SILENT)) {
+        if (any_bits(quest.flags, QUEST_FLAG_SILENT)) {
             break;
         }
 
         constexpr auto mes = _(" %2d:%02d %20s クエスト「%s」を達成した。\n", " %2d:%02d %20s completed quest '%s'.\n");
-        fprintf(fff, mes, hour, min, note_level.data(), q_ref.name.data());
+        fprintf(fff, mes, hour, min, note_level.data(), quest.name.data());
         break;
     }
     case DIARY_FIX_QUEST_F: {
-        if (any_bits(q_ref.flags, QUEST_FLAG_SILENT)) {
+        if (any_bits(quest.flags, QUEST_FLAG_SILENT)) {
             break;
         }
 
         constexpr auto mes = _(" %2d:%02d %20s クエスト「%s」から命からがら逃げ帰った。\n", " %2d:%02d %20s ran away from quest '%s'.\n");
-        fprintf(fff, mes, hour, min, note_level.data(), q_ref.name.data());
+        fprintf(fff, mes, hour, min, note_level.data(), quest.name.data());
         break;
     }
     case DIARY_RAND_QUEST_C: {
         constexpr auto mes = _(" %2d:%02d %20s ランダムクエスト(%s)を達成した。\n", " %2d:%02d %20s completed random quest '%s'\n");
-        fprintf(fff, mes, hour, min, note_level.data(), monraces_info[q_ref.r_idx].name.data());
+        fprintf(fff, mes, hour, min, note_level.data(), monraces_info[quest.r_idx].name.data());
         break;
     }
     case DIARY_RAND_QUEST_F: {
         constexpr auto mes = _(" %2d:%02d %20s ランダムクエスト(%s)から逃げ出した。\n", " %2d:%02d %20s ran away from quest '%s'.\n");
-        fprintf(fff, mes, hour, min, note_level.data(), monraces_info[q_ref.r_idx].name.data());
+        fprintf(fff, mes, hour, min, note_level.data(), monraces_info[quest.r_idx].name.data());
         break;
     }
     case DIARY_TO_QUEST: {
-        if (any_bits(q_ref.flags, QUEST_FLAG_SILENT)) {
+        if (any_bits(quest.flags, QUEST_FLAG_SILENT)) {
             break;
         }
 
         constexpr auto mes = _(" %2d:%02d %20s クエスト「%s」へと突入した。\n", " %2d:%02d %20s entered the quest '%s'.\n");
-        fprintf(fff, mes, hour, min, note_level.data(), q_ref.name.data());
+        fprintf(fff, mes, hour, min, note_level.data(), quest.name.data());
         break;
     }
     default:
index f20d056..489a924 100644 (file)
@@ -57,14 +57,14 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
 
     fprintf(fff, _("《遂行中のクエスト》\n", "< Current Quest >\n"));
 
-    for (const auto &[q_idx, q_ref] : quest_list) {
+    for (const auto &[q_idx, quest] : quest_list) {
         if (q_idx == QuestId::NONE) {
             continue;
         }
 
-        auto is_print = q_ref.status == QuestStatusType::TAKEN;
-        is_print |= (q_ref.status == QuestStatusType::STAGE_COMPLETED) && (q_ref.type == QuestKindType::TOWER);
-        is_print |= q_ref.status == QuestStatusType::COMPLETED;
+        auto is_print = quest.status == QuestStatusType::TAKEN;
+        is_print |= (quest.status == QuestStatusType::STAGE_COMPLETED) && (quest.type == QuestKindType::TOWER);
+        is_print |= quest.status == QuestStatusType::COMPLETED;
         if (!is_print) {
             continue;
         }
@@ -79,24 +79,24 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
         init_flags = INIT_SHOW_TEXT;
         parse_fixed_map(player_ptr, QUEST_DEFINITION_LIST, 0, 0, 0, 0);
         player_ptr->current_floor_ptr->quest_number = old_quest;
-        if (q_ref.flags & QUEST_FLAG_SILENT) {
+        if (quest.flags & QUEST_FLAG_SILENT) {
             continue;
         }
 
         total++;
-        if (q_ref.type != QuestKindType::RANDOM) {
+        if (quest.type != QuestKindType::RANDOM) {
             std::string note;
-            if (q_ref.status == QuestStatusType::TAKEN || q_ref.status == QuestStatusType::STAGE_COMPLETED) {
-                switch (q_ref.type) {
+            if (quest.status == QuestStatusType::TAKEN || quest.status == QuestStatusType::STAGE_COMPLETED) {
+                switch (quest.type) {
                 case QuestKindType::KILL_LEVEL: {
-                    const auto &monrace = monraces_info[q_ref.r_idx];
-                    if (q_ref.max_num > 1) {
+                    const auto &monrace = monraces_info[quest.r_idx];
+                    if (quest.max_num > 1) {
 #ifdef JP
-                        note = format(" - %d 体の%sを倒す。(あと %d 体)", (int)q_ref.max_num, monrace.name.data(), (int)(q_ref.max_num - q_ref.cur_num));
+                        note = format(" - %d 体の%sを倒す。(あと %d 体)", (int)quest.max_num, monrace.name.data(), (int)(quest.max_num - quest.cur_num));
 #else
                         auto monster_name(monrace.name);
                         plural_aux(monster_name.data());
-                        note = format(" - kill %d %s, have killed %d.", (int)q_ref.max_num, monster_name.data(), (int)q_ref.cur_num);
+                        note = format(" - kill %d %s, have killed %d.", (int)quest.max_num, monster_name.data(), (int)quest.cur_num);
 #endif
                     } else {
                         note = format(_(" - %sを倒す。", " - kill %s."), monrace.name.data());
@@ -106,12 +106,12 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
                 }
                 case QuestKindType::FIND_ARTIFACT: {
                     std::string item_name("");
-                    if (q_ref.has_reward()) {
-                        const auto &artifact = q_ref.get_reward();
+                    if (quest.has_reward()) {
+                        const auto &artifact = quest.get_reward();
                         ItemEntity item;
                         auto bi_id = lookup_baseitem_id(artifact.bi_key);
                         item.prep(bi_id);
-                        item.fixed_artifact_idx = q_ref.reward_artifact_idx;
+                        item.fixed_artifact_idx = quest.reward_artifact_idx;
                         item.ident = IDENT_STORE;
                         item_name = describe_flavor(player_ptr, &item, OD_NAME_ONLY);
                     }
@@ -124,9 +124,9 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
                     break;
                 case QuestKindType::KILL_NUMBER:
 #ifdef JP
-                    note = format(" - %d 体のモンスターを倒す。(あと %d 体)", (int)q_ref.max_num, (int)(q_ref.max_num - q_ref.cur_num));
+                    note = format(" - %d 体のモンスターを倒す。(あと %d 体)", (int)quest.max_num, (int)(quest.max_num - quest.cur_num));
 #else
-                    note = format(" - Kill %d monsters, have killed %d.", (int)q_ref.max_num, (int)q_ref.cur_num);
+                    note = format(" - Kill %d monsters, have killed %d.", (int)quest.max_num, (int)quest.cur_num);
 #endif
                     break;
 
@@ -139,8 +139,8 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
                 }
             }
 
-            fprintf(fff, _("  %s (危険度:%d階相当)%s\n", "  %s (Danger level: %d)%s\n"), q_ref.name.data(), (int)q_ref.level, note.data());
-            if (q_ref.status == QuestStatusType::COMPLETED) {
+            fprintf(fff, _("  %s (危険度:%d階相当)%s\n", "  %s (Danger level: %d)%s\n"), quest.name.data(), (int)quest.level, note.data());
+            if (quest.status == QuestStatusType::COMPLETED) {
                 fputs(_("    クエスト達成 - まだ報酬を受けとってない。\n", "    Quest Completed - Unrewarded\n"), fff);
                 continue;
             }
@@ -154,29 +154,29 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
             continue;
         }
 
-        if (q_ref.level >= rand_level) {
+        if (quest.level >= rand_level) {
             continue;
         }
-        rand_level = q_ref.level;
+        rand_level = quest.level;
         if (max_dlv[DUNGEON_ANGBAND] < rand_level) {
             continue;
         }
 
-        const auto &monrace = monraces_info[q_ref.r_idx];
-        if (q_ref.max_num <= 1) {
+        const auto &monrace = monraces_info[quest.r_idx];
+        if (quest.max_num <= 1) {
             constexpr auto mes = _("  %s (%d 階) - %sを倒す。\n", "  %s (Dungeon level: %d)\n  Kill %s.\n");
-            rand_tmp_str = format(mes, q_ref.name.data(), (int)q_ref.level, monrace.name.data());
+            rand_tmp_str = format(mes, quest.name.data(), (int)quest.level, monrace.name.data());
             continue;
         }
 
 #ifdef JP
-        rand_tmp_str = format("  %s (%d 階) - %d 体の%sを倒す。(あと %d 体)\n", q_ref.name.data(), (int)q_ref.level, (int)q_ref.max_num, monrace.name.data(),
-            (int)(q_ref.max_num - q_ref.cur_num));
+        rand_tmp_str = format("  %s (%d 階) - %d 体の%sを倒す。(あと %d 体)\n", quest.name.data(), (int)quest.level, (int)quest.max_num, monrace.name.data(),
+            (int)(quest.max_num - quest.cur_num));
 #else
         auto monster_name(monrace.name);
         plural_aux(monster_name.data());
-        rand_tmp_str = format("  %s (Dungeon level: %d)\n  Kill %d %s, have killed %d.\n", q_ref.name.data(), (int)q_ref.level, (int)q_ref.max_num,
-            monster_name.data(), (int)q_ref.cur_num);
+        rand_tmp_str = format("  %s (Dungeon level: %d)\n  Kill %d %s, have killed %d.\n", quest.name.data(), (int)quest.level, (int)quest.max_num,
+            monster_name.data(), (int)quest.cur_num);
 #endif
     }
 
@@ -192,7 +192,7 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
 static bool do_cmd_knowledge_quests_aux(PlayerType *player_ptr, FILE *fff, QuestId q_idx)
 {
     const auto &quest_list = QuestList::get_instance();
-    const auto &q_ref = quest_list[q_idx];
+    const auto &quest = quest_list[q_idx];
 
     auto *floor_ptr = player_ptr->current_floor_ptr;
     auto is_fixed_quest = QuestType::is_fixed(q_idx);
@@ -202,12 +202,12 @@ static bool do_cmd_knowledge_quests_aux(PlayerType *player_ptr, FILE *fff, Quest
         init_flags = INIT_NAME_ONLY;
         parse_fixed_map(player_ptr, QUEST_DEFINITION_LIST, 0, 0, 0, 0);
         floor_ptr->quest_number = old_quest;
-        if (q_ref.flags & QUEST_FLAG_SILENT) {
+        if (quest.flags & QUEST_FLAG_SILENT) {
             return false;
         }
     }
 
-    std::string playtime_str = format("%02d:%02d:%02d", q_ref.comptime / (60 * 60), (q_ref.comptime / 60) % 60, q_ref.comptime % 60);
+    std::string playtime_str = format("%02d:%02d:%02d", quest.comptime / (60 * 60), (quest.comptime / 60) % 60, quest.comptime % 60);
 
     auto fputs_name_remain = [fff](const auto &name) {
         for (auto i = 1U; i < name.size(); ++i) {
@@ -215,24 +215,24 @@ static bool do_cmd_knowledge_quests_aux(PlayerType *player_ptr, FILE *fff, Quest
         }
     };
 
-    if (is_fixed_quest || !MonsterRace(q_ref.r_idx).is_valid()) {
-        auto name = str_separate(q_ref.name, 35);
-        fprintf(fff, _("  %-35s (危険度:%3d階相当) - レベル%2d - %s\n", "  %-35s (Danger  level: %3d) - level %2d - %s\n"), name.front().data(), (int)q_ref.level,
-            q_ref.complev, playtime_str.data());
+    if (is_fixed_quest || !MonsterRace(quest.r_idx).is_valid()) {
+        auto name = str_separate(quest.name, 35);
+        constexpr auto mes = _("  %-35s (危険度:%3d階相当) - レベル%2d - %s\n", "  %-35s (Danger  level: %3d) - level %2d - %s\n");
+        fprintf(fff, mes, name.front().data(), (int)quest.level, quest.complev, playtime_str.data());
         fputs_name_remain(name);
         return true;
     }
 
-    auto name = str_separate(monraces_info[q_ref.r_idx].name, 35);
-    if (q_ref.complev == 0) {
-        fprintf(fff, _("  %-35s (%3d階)            -   不戦勝 - %s\n", "  %-35s (Dungeon level: %3d) - Unearned - %s\n"),
-            name.front().data(), (int)q_ref.level, playtime_str.data());
+    auto name = str_separate(monraces_info[quest.r_idx].name, 35);
+    if (quest.complev == 0) {
+        constexpr auto mes = _("  %-35s (%3d階)            -   不戦勝 - %s\n", "  %-35s (Dungeon level: %3d) - Unearned - %s\n");
+        fprintf(fff, mes, name.front().data(), (int)quest.level, playtime_str.data());
         fputs_name_remain(name);
         return true;
     }
 
-    fprintf(fff, _("  %-35s (%3d階)            - レベル%2d - %s\n", "  %-35s (Dungeon level: %3d) - level %2d - %s\n"), name.front().data(),
-        (int)q_ref.level, q_ref.complev, playtime_str.data());
+    const auto mes = _("  %-35s (%3d階)            - レベル%2d - %s\n", "  %-35s (Dungeon level: %3d) - level %2d - %s\n");
+    fprintf(fff, mes, name.front().data(), (int)quest.level, quest.complev, playtime_str.data());
     fputs_name_remain(name);
     return true;
 }
@@ -249,9 +249,8 @@ void do_cmd_knowledge_quests_completed(PlayerType *player_ptr, FILE *fff, const
     int16_t total = 0;
     for (auto &q_idx : quest_numbers) {
         const auto &quest_list = QuestList::get_instance();
-        const auto &q_ref = quest_list[q_idx];
-
-        if (q_ref.status == QuestStatusType::FINISHED && do_cmd_knowledge_quests_aux(player_ptr, fff, q_idx)) {
+        const auto &quest = quest_list[q_idx];
+        if (quest.status == QuestStatusType::FINISHED && do_cmd_knowledge_quests_aux(player_ptr, fff, q_idx)) {
             ++total;
         }
     }
@@ -273,9 +272,8 @@ void do_cmd_knowledge_quests_failed(PlayerType *player_ptr, FILE *fff, const std
     int16_t total = 0;
     for (auto &q_idx : quest_numbers) {
         const auto &quest_list = QuestList::get_instance();
-        const auto &q_ref = quest_list[q_idx];
-
-        if (((q_ref.status == QuestStatusType::FAILED_DONE) || (q_ref.status == QuestStatusType::FAILED)) && do_cmd_knowledge_quests_aux(player_ptr, fff, q_idx)) {
+        const auto &quest = quest_list[q_idx];
+        if (((quest.status == QuestStatusType::FAILED_DONE) || (quest.status == QuestStatusType::FAILED)) && do_cmd_knowledge_quests_aux(player_ptr, fff, q_idx)) {
             ++total;
         }
     }
@@ -293,15 +291,15 @@ static void do_cmd_knowledge_quests_wiz_random(FILE *fff)
     fprintf(fff, _("《残りのランダムクエスト》\n", "< Remaining Random Quest >\n"));
     const auto &quest_list = QuestList::get_instance();
     int16_t total = 0;
-    for (const auto &[q_idx, q_ref] : quest_list) {
-        if (q_ref.flags & QUEST_FLAG_SILENT) {
+    for (const auto &[q_idx, quest] : quest_list) {
+        if (quest.flags & QUEST_FLAG_SILENT) {
             continue;
         }
 
-        if ((q_ref.type == QuestKindType::RANDOM) && (q_ref.status == QuestStatusType::TAKEN)) {
+        if ((quest.type == QuestKindType::RANDOM) && (quest.status == QuestStatusType::TAKEN)) {
             total++;
             constexpr auto mes = _("  %s (%d階, %s)\n", "  %s (%d, %s)\n");
-            fprintf(fff, mes, q_ref.name.data(), (int)q_ref.level, monraces_info[q_ref.r_idx].name.data());
+            fprintf(fff, mes, quest.name.data(), (int)quest.level, monraces_info[quest.r_idx].name.data());
         }
     }
 
@@ -324,7 +322,7 @@ void do_cmd_knowledge_quests(PlayerType *player_ptr)
 
     std::vector<QuestId> quest_numbers;
     const auto &quest_list = QuestList::get_instance();
-    for (const auto &[q_idx, q_ref] : quest_list) {
+    for (const auto &[q_idx, quest] : quest_list) {
         quest_numbers.push_back(q_idx);
     }
     int dummy;
index 4bb98f2..2509b5b 100644 (file)
@@ -133,27 +133,27 @@ static bool wr_savefile_new(PlayerType *player_ptr, SaveType type)
     tmp8u = MAX_RANDOM_QUEST - MIN_RANDOM_QUEST;
     wr_byte(tmp8u);
 
-    for (const auto &[q_idx, q_ref] : quest_list) {
+    for (const auto &[q_idx, quest] : quest_list) {
         wr_s16b(enum2i(q_idx));
-        wr_s16b(enum2i(q_ref.status));
-        wr_s16b((int16_t)q_ref.level);
-        wr_byte((byte)q_ref.complev);
-        wr_u32b(q_ref.comptime);
+        wr_s16b(enum2i(quest.status));
+        wr_s16b((int16_t)quest.level);
+        wr_byte((byte)quest.complev);
+        wr_u32b(quest.comptime);
 
-        auto is_quest_running = q_ref.status == QuestStatusType::TAKEN;
-        is_quest_running |= q_ref.status == QuestStatusType::COMPLETED;
+        auto is_quest_running = quest.status == QuestStatusType::TAKEN;
+        is_quest_running |= quest.status == QuestStatusType::COMPLETED;
         is_quest_running |= !QuestType::is_fixed(q_idx);
         if (!is_quest_running) {
             continue;
         }
 
-        wr_s16b((int16_t)q_ref.cur_num);
-        wr_s16b((int16_t)q_ref.max_num);
-        wr_s16b(enum2i(q_ref.type));
-        wr_s16b(enum2i(q_ref.r_idx));
-        wr_s16b(enum2i(q_ref.reward_artifact_idx));
-        wr_byte((byte)q_ref.flags);
-        wr_byte((byte)q_ref.dungeon);
+        wr_s16b((int16_t)quest.cur_num);
+        wr_s16b((int16_t)quest.max_num);
+        wr_s16b(enum2i(quest.type));
+        wr_s16b(enum2i(quest.r_idx));
+        wr_s16b(enum2i(quest.reward_artifact_idx));
+        wr_byte((byte)quest.flags);
+        wr_byte((byte)quest.dungeon);
     }
 
     wr_s32b(player_ptr->wilderness_x);
index 0c65faa..70971e3 100644 (file)
@@ -31,19 +31,19 @@ void check_random_quest_auto_failure(PlayerType *player_ptr)
         return;
     }
     for (auto q_idx : EnumRange(QuestId::RANDOM_QUEST1, QuestId::RANDOM_QUEST10)) {
-        auto &q_ref = quest_list[q_idx];
-        auto is_taken_quest = (q_ref.type == QuestKindType::RANDOM);
-        is_taken_quest &= (q_ref.status == QuestStatusType::TAKEN);
-        is_taken_quest &= (q_ref.level < player_ptr->current_floor_ptr->dun_level);
+        auto &quest = quest_list[q_idx];
+        auto is_taken_quest = (quest.type == QuestKindType::RANDOM);
+        is_taken_quest &= (quest.status == QuestStatusType::TAKEN);
+        is_taken_quest &= (quest.level < player_ptr->current_floor_ptr->dun_level);
         if (!is_taken_quest) {
             continue;
         }
 
-        q_ref.status = QuestStatusType::FAILED;
-        q_ref.complev = (byte)player_ptr->lev;
+        quest.status = QuestStatusType::FAILED;
+        quest.complev = (byte)player_ptr->lev;
         update_playtime();
-        q_ref.comptime = w_ptr->play_time;
-        monraces_info[q_ref.r_idx].flags1 &= ~(RF1_QUESTOR);
+        quest.comptime = w_ptr->play_time;
+        monraces_info[quest.r_idx].flags1 &= ~(RF1_QUESTOR);
     }
 }