OSDN Git Service

[Refactor] #4146 quest_list をquests に改名した (フォルダの頭文字i~m)
authorHourier <66951241+Hourier@users.noreply.github.com>
Fri, 24 May 2024 14:24:58 +0000 (23:24 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 25 May 2024 08:27:15 +0000 (17:27 +0900)
12 files changed:
src/info-reader/fixed-map-parser.cpp
src/info-reader/general-parser.cpp
src/io-dump/character-dump.cpp
src/io/write-diary.cpp
src/knowledge/knowledge-quests.cpp
src/knowledge/knowledge-quests.h
src/load/dungeon-loader.cpp
src/load/load.cpp
src/load/quest-loader.cpp
src/main-win/main-win-music.cpp
src/market/building-quest.cpp
src/monster-floor/one-monster-placer.cpp

index c750f2a..f68b19e 100644 (file)
@@ -212,12 +212,12 @@ static concptr parse_fixed_map_expression(PlayerType *player_ptr, char **sp, cha
         tmp = std::to_string(enum2i(leaving_quest));
         v = tmp.data();
     } else if (prefix(b + 1, "QUEST_TYPE")) {
-        const auto &quest_list = QuestList::get_instance();
-        tmp = std::to_string(enum2i(quest_list[i2enum<QuestId>(atoi(b + 11))].type));
+        const auto &quests = QuestList::get_instance();
+        tmp = std::to_string(enum2i(quests[i2enum<QuestId>(atoi(b + 11))].type));
         v = tmp.data();
     } else if (prefix(b + 1, "QUEST")) {
-        const auto &quest_list = QuestList::get_instance();
-        tmp = std::to_string(enum2i(quest_list[i2enum<QuestId>(atoi(b + 6))].status));
+        const auto &quests = QuestList::get_instance();
+        tmp = std::to_string(enum2i(quests[i2enum<QuestId>(atoi(b + 6))].status));
         v = tmp.data();
     } else if (prefix(b + 1, "RANDOM")) {
         const auto &system = AngbandSystem::get_instance();
index ead9d85..5ae4efd 100644 (file)
@@ -127,8 +127,8 @@ parse_error_type parse_line_feature(FloorType *floor_ptr, char *buf)
             }
         } else if (zz[6][0] == '!') {
             if (floor_ptr->is_in_quest()) {
-                const auto &quest_list = QuestList::get_instance();
-                letter[index].artifact = quest_list[floor_ptr->quest_number].reward_fa_id;
+                const auto &quests = QuestList::get_instance();
+                letter[index].artifact = quests[floor_ptr->quest_number].reward_fa_id;
             }
         } else {
             letter[index].artifact = i2enum<FixedArtifactId>(atoi(zz[6]));
index 0e4951e..a7b1783 100644 (file)
@@ -117,18 +117,18 @@ static void dump_aux_quest(PlayerType *player_ptr, FILE *fff)
 {
     fprintf(fff, _("\n\n  [クエスト情報]\n", "\n\n  [Quest Information]\n"));
 
-    const auto &quest_list = QuestList::get_instance();
-    std::vector<QuestId> quest_numbers;
-    for (const auto &[q_idx, quest] : quest_list) {
-        quest_numbers.push_back(q_idx);
+    const auto &quests = QuestList::get_instance();
+    std::vector<QuestId> quest_ids;
+    for (const auto &[quest_id, quest] : quests) {
+        quest_ids.push_back(quest_id);
     }
 
     auto dummy = 0;
-    ang_sort(player_ptr, quest_numbers.data(), &dummy, quest_numbers.size(), ang_sort_comp_quest_num, ang_sort_swap_quest_num);
+    ang_sort(player_ptr, quest_ids.data(), &dummy, quest_ids.size(), ang_sort_comp_quest_num, ang_sort_swap_quest_num);
     fputc('\n', fff);
-    do_cmd_knowledge_quests_completed(player_ptr, fff, quest_numbers);
+    do_cmd_knowledge_quests_completed(player_ptr, fff, quest_ids);
     fputc('\n', fff);
-    do_cmd_knowledge_quests_failed(player_ptr, fff, quest_numbers);
+    do_cmd_knowledge_quests_failed(player_ptr, fff, quest_ids);
     fputc('\n', fff);
 }
 
index e645b77..3a4966b 100644 (file)
@@ -180,9 +180,9 @@ int exe_write_diary_quest(PlayerType *player_ptr, DiaryKind dk, QuestId num)
     }
 
     auto &floor = *player_ptr->current_floor_ptr;
-    auto old_quest = floor.quest_number;
-    const auto &quest_list = QuestList::get_instance();
-    const auto &quest = quest_list[num];
+    const auto old_quest = floor.quest_number;
+    const auto &quests = QuestList::get_instance();
+    const auto &quest = quests[num];
     floor.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);
index ed741d1..b2df8d6 100644 (file)
@@ -48,15 +48,15 @@ void do_cmd_checkquest(PlayerType *player_ptr)
  */
 static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
 {
-    const auto &quest_list = QuestList::get_instance();
+    const auto &quests = QuestList::get_instance();
     std::string rand_tmp_str;
     int rand_level = 100;
     int total = 0;
 
     fprintf(fff, _("《遂行中のクエスト》\n", "< Current Quest >\n"));
 
-    for (const auto &[q_idx, quest] : quest_list) {
-        if (q_idx == QuestId::NONE) {
+    for (const auto &[quest_id, quest] : quests) {
+        if (quest_id == QuestId::NONE) {
             continue;
         }
 
@@ -71,7 +71,7 @@ static void do_cmd_knowledge_quests_current(PlayerType *player_ptr, FILE *fff)
 
         quest_text_lines.clear();
 
-        player_ptr->current_floor_ptr->quest_number = q_idx;
+        player_ptr->current_floor_ptr->quest_number = quest_id;
         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;
@@ -181,8 +181,8 @@ 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 &quest = quest_list[q_idx];
+    const auto &quests = QuestList::get_instance();
+    const auto &quest = quests[q_idx];
 
     auto *floor_ptr = player_ptr->current_floor_ptr;
     auto is_fixed_quest = QuestType::is_fixed(q_idx);
@@ -230,16 +230,16 @@ static bool do_cmd_knowledge_quests_aux(PlayerType *player_ptr, FILE *fff, Quest
  * Print all finished quests
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param fff セーブファイル (展開済?)
- * @param quest_numbers 受注したことのあるクエスト群
+ * @param quest_ids 受注したことのあるクエスト群
  */
-void do_cmd_knowledge_quests_completed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_numbers)
+void do_cmd_knowledge_quests_completed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_ids)
 {
     fprintf(fff, _("《達成したクエスト》\n", "< Completed Quest >\n"));
     int16_t total = 0;
-    for (auto &q_idx : quest_numbers) {
-        const auto &quest_list = QuestList::get_instance();
-        const auto &quest = quest_list[q_idx];
-        if (quest.status == QuestStatusType::FINISHED && do_cmd_knowledge_quests_aux(player_ptr, fff, q_idx)) {
+    for (const auto quest_id : quest_ids) {
+        const auto &quests = QuestList::get_instance();
+        const auto &quest = quests[quest_id];
+        if (quest.status == QuestStatusType::FINISHED && do_cmd_knowledge_quests_aux(player_ptr, fff, quest_id)) {
             ++total;
         }
     }
@@ -253,16 +253,16 @@ void do_cmd_knowledge_quests_completed(PlayerType *player_ptr, FILE *fff, const
  * Print all failed quests
  * @param player_ptr プレイヤーへの参照ポインタ
  * @param fff セーブファイル (展開済?)
- * @param quest_numbers 受注したことのあるクエスト群
+ * @param quest_ids 受注したことのあるクエスト群
  */
-void do_cmd_knowledge_quests_failed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_numbers)
+void do_cmd_knowledge_quests_failed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_ids)
 {
     fprintf(fff, _("《失敗したクエスト》\n", "< Failed Quest >\n"));
     int16_t total = 0;
-    for (auto &q_idx : quest_numbers) {
-        const auto &quest_list = QuestList::get_instance();
-        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)) {
+    for (const auto quest_id : quest_ids) {
+        const auto &quests = QuestList::get_instance();
+        const auto &quest = quests[quest_id];
+        if (((quest.status == QuestStatusType::FAILED_DONE) || (quest.status == QuestStatusType::FAILED)) && do_cmd_knowledge_quests_aux(player_ptr, fff, quest_id)) {
             ++total;
         }
     }
@@ -278,9 +278,9 @@ void do_cmd_knowledge_quests_failed(PlayerType *player_ptr, FILE *fff, const std
 static void do_cmd_knowledge_quests_wiz_random(FILE *fff)
 {
     fprintf(fff, _("《残りのランダムクエスト》\n", "< Remaining Random Quest >\n"));
-    const auto &quest_list = QuestList::get_instance();
+    const auto &quests = QuestList::get_instance();
     int16_t total = 0;
-    for (const auto &[q_idx, quest] : quest_list) {
+    for (const auto &[q_idx, quest] : quests) {
         if (quest.flags & QUEST_FLAG_SILENT) {
             continue;
         }
@@ -309,20 +309,20 @@ void do_cmd_knowledge_quests(PlayerType *player_ptr)
         return;
     }
 
-    std::vector<QuestId> quest_numbers;
-    const auto &quest_list = QuestList::get_instance();
-    for (const auto &[q_idx, quest] : quest_list) {
-        quest_numbers.push_back(q_idx);
+    std::vector<QuestId> quest_ids;
+    const auto &quests = QuestList::get_instance();
+    for (const auto &[quest_id, quest] : quests) {
+        quest_ids.push_back(quest_id);
     }
 
     auto dummy = 0;
-    ang_sort(player_ptr, quest_numbers.data(), &dummy, quest_numbers.size(), ang_sort_comp_quest_num, ang_sort_swap_quest_num);
+    ang_sort(player_ptr, quest_ids.data(), &dummy, quest_ids.size(), ang_sort_comp_quest_num, ang_sort_swap_quest_num);
 
     do_cmd_knowledge_quests_current(player_ptr, fff);
     fputc('\n', fff);
-    do_cmd_knowledge_quests_completed(player_ptr, fff, quest_numbers);
+    do_cmd_knowledge_quests_completed(player_ptr, fff, quest_ids);
     fputc('\n', fff);
-    do_cmd_knowledge_quests_failed(player_ptr, fff, quest_numbers);
+    do_cmd_knowledge_quests_failed(player_ptr, fff, quest_ids);
     if (w_ptr->wizard) {
         fputc('\n', fff);
         do_cmd_knowledge_quests_wiz_random(fff);
index 2094a6a..f8dad8b 100644 (file)
@@ -7,6 +7,6 @@
 class PlayerType;
 enum class QuestId : short;
 void do_cmd_checkquest(PlayerType *player_ptr);
-void do_cmd_knowledge_quests_completed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_numbers);
-void do_cmd_knowledge_quests_failed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_numbers);
+void do_cmd_knowledge_quests_completed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_ids);
+void do_cmd_knowledge_quests_failed(PlayerType *player_ptr, FILE *fff, const std::vector<QuestId> &quest_ids);
 void do_cmd_knowledge_quests(PlayerType *player_ptr);
index 172af54..86458ca 100644 (file)
@@ -135,9 +135,9 @@ static errr rd_dungeon(PlayerType *player_ptr)
 errr restore_dungeon(PlayerType *player_ptr)
 {
     if (player_ptr->is_dead) {
-        const auto &quest_list = QuestList::get_instance();
-        for (auto q_idx : EnumRange(QuestId::RANDOM_QUEST1, QuestId::RANDOM_QUEST10)) {
-            monraces_info[quest_list[q_idx].r_idx].misc_flags.reset(MonsterMiscType::QUESTOR);
+        const auto &quests = QuestList::get_instance();
+        for (const auto quest_id : EnumRange(QuestId::RANDOM_QUEST1, QuestId::RANDOM_QUEST10)) {
+            monraces_info[quests[quest_id].r_idx].misc_flags.reset(MonsterMiscType::QUESTOR);
         }
 
         return 0;
index 983ef86..5751e9d 100644 (file)
@@ -73,9 +73,9 @@ static errr load_town_quest(PlayerType *player_ptr)
     auto [max_quests_load, max_rquests_load] = load_quest_info();
     analyze_quests(player_ptr, max_quests_load, max_rquests_load);
     if (h_older_than(1, 7, 0, 6)) {
-        auto &quest_list = QuestList::get_instance();
-        quest_list[i2enum<QuestId>(OLD_QUEST_WATER_CAVE)] = {};
-        quest_list[i2enum<QuestId>(OLD_QUEST_WATER_CAVE)].status = QuestStatusType::UNTAKEN;
+        auto &quests = QuestList::get_instance();
+        quests[i2enum<QuestId>(OLD_QUEST_WATER_CAVE)] = {};
+        quests[i2enum<QuestId>(OLD_QUEST_WATER_CAVE)].status = QuestStatusType::UNTAKEN;
     }
 
     load_wilderness_info(player_ptr);
index 9fcfe30..843182c 100644 (file)
@@ -65,8 +65,8 @@ static void load_quest_details(PlayerType *player_ptr, QuestType *q_ptr, const Q
 
     q_ptr->r_idx = i2enum<MonsterRaceId>(rd_s16b());
     if ((q_ptr->type == QuestKindType::RANDOM) && !MonsterRace(q_ptr->r_idx).is_valid()) {
-        auto &quest_list = QuestList::get_instance();
-        determine_random_questor(player_ptr, quest_list[loading_quest_id]);
+        auto &quests = QuestList::get_instance();
+        determine_random_questor(player_ptr, quests[loading_quest_id]);
     }
     q_ptr->reward_fa_id = i2enum<FixedArtifactId>(rd_s16b());
     if (q_ptr->has_reward()) {
@@ -91,8 +91,8 @@ static bool is_missing_id_ver_16(const QuestId q_idx)
 
 static bool is_loadable_quest(const QuestId q_idx, const byte max_rquests_load)
 {
-    const auto &quest_list = QuestList::get_instance();
-    if (quest_list.find(q_idx) != quest_list.end()) {
+    const auto &quests = QuestList::get_instance();
+    if (quests.find(q_idx) != quests.end()) {
         return true;
     }
 
@@ -140,45 +140,45 @@ void analyze_quests(PlayerType *player_ptr, const uint16_t max_quests_load, cons
 {
     QuestId old_inside_quest = player_ptr->current_floor_ptr->quest_number;
     for (auto i = 0; i < max_quests_load; i++) {
-        QuestId q_idx;
+        QuestId quest_id;
         if (loading_savefile_version_is_older_than(17)) {
-            q_idx = i2enum<QuestId>(i);
+            quest_id = i2enum<QuestId>(i);
         } else {
-            q_idx = i2enum<QuestId>(rd_s16b());
+            quest_id = i2enum<QuestId>(rd_s16b());
         }
-        if (!is_loadable_quest(q_idx, max_rquests_load)) {
+        if (!is_loadable_quest(quest_id, max_rquests_load)) {
             continue;
         }
 
-        auto &quest_list = QuestList::get_instance();
-        auto *q_ptr = &quest_list[q_idx];
+        auto &quests = QuestList::get_instance();
+        auto &quest = quests[quest_id];
 
         if (loading_savefile_version_is_older_than(15)) {
-            if (i == enum2i(OldQuestId15::CITY_SEA) && q_ptr->status != QuestStatusType::UNTAKEN) {
+            if (i == enum2i(OldQuestId15::CITY_SEA) && quest.status != QuestStatusType::UNTAKEN) {
                 const std::string msg(_("海底都市クエストを受領または解決しているセーブデータはサポート外です。",
                     "The save data with the taken quest of The City beneath the Sea is unsupported."));
                 throw(SaveDataNotSupportedException(msg));
             }
         }
 
-        load_quest_completion(q_ptr);
-        auto is_quest_running = (q_ptr->status == QuestStatusType::TAKEN);
-        is_quest_running |= (!h_older_than(0, 3, 14) && (q_ptr->status == QuestStatusType::COMPLETED));
-        is_quest_running |= (!h_older_than(1, 0, 7) && (enum2i(q_idx) >= MIN_RANDOM_QUEST) && (enum2i(q_idx) <= (MIN_RANDOM_QUEST + max_rquests_load)));
+        load_quest_completion(&quest);
+        auto is_quest_running = (quest.status == QuestStatusType::TAKEN);
+        is_quest_running |= (!h_older_than(0, 3, 14) && (quest.status == QuestStatusType::COMPLETED));
+        is_quest_running |= (!h_older_than(1, 0, 7) && (enum2i(quest_id) >= MIN_RANDOM_QUEST) && (enum2i(quest_id) <= (MIN_RANDOM_QUEST + max_rquests_load)));
         if (!is_quest_running) {
             continue;
         }
 
-        load_quest_details(player_ptr, q_ptr, q_idx);
+        load_quest_details(player_ptr, &quest, quest_id);
         if (h_older_than(0, 3, 11)) {
-            set_zangband_quest(player_ptr, q_ptr, q_idx, old_inside_quest);
+            set_zangband_quest(player_ptr, &quest, quest_id, old_inside_quest);
         } else {
-            q_ptr->dungeon = rd_byte();
+            quest.dungeon = rd_byte();
         }
 
-        if (q_ptr->status == QuestStatusType::TAKEN || q_ptr->status == QuestStatusType::UNTAKEN) {
-            if (monraces_info[q_ptr->r_idx].kind_flags.has(MonsterKindType::UNIQUE)) {
-                monraces_info[q_ptr->r_idx].misc_flags.set(MonsterMiscType::QUESTOR);
+        if (quest.status == QuestStatusType::TAKEN || quest.status == QuestStatusType::UNTAKEN) {
+            if (monraces_info[quest.r_idx].kind_flags.has(MonsterKindType::UNIQUE)) {
+                monraces_info[quest.r_idx].misc_flags.set(MonsterMiscType::QUESTOR);
             }
         }
     }
index 8443bc6..7725783 100644 (file)
@@ -83,8 +83,8 @@ static concptr dungeon_key_at(int index, char *buf)
  */
 static concptr quest_key_at(int index, char *buf)
 {
-    const auto &quest_list = QuestList::get_instance();
-    if (index > enum2i(quest_list.rbegin()->first)) {
+    const auto &quests = QuestList::get_instance();
+    if (index > enum2i(quests.rbegin()->first)) {
         return nullptr;
     }
 
index f54db4a..1b5701e 100644 (file)
 /*!
  * @brief クエスト情報を処理しつつ取得する。/ Process and get quest information
  * @param player_ptr プレイヤーへの参照ポインタ
- * @param questnum クエストのID
+ * @param quest_id クエストのID
  * @param do_init クエストの開始処理か(true)、結果処理か(FALSE)
  */
-static void get_questinfo(PlayerType *player_ptr, QuestId questnum, bool do_init)
+static void get_questinfo(PlayerType *player_ptr, QuestId quest_id, bool do_init)
 {
     quest_text_lines.clear();
 
-    auto *floor_ptr = player_ptr->current_floor_ptr;
-    QuestId old_quest = floor_ptr->quest_number;
-    floor_ptr->quest_number = questnum;
+    auto &floor = *player_ptr->current_floor_ptr;
+    const auto old_quest = floor.quest_number;
+    floor.quest_number = quest_id;
 
     init_flags = INIT_SHOW_TEXT;
     if (do_init) {
@@ -35,23 +35,23 @@ static void get_questinfo(PlayerType *player_ptr, QuestId questnum, bool do_init
     }
 
     parse_fixed_map(player_ptr, QUEST_DEFINITION_LIST, 0, 0, 0, 0);
-    floor_ptr->quest_number = old_quest;
+    floor.quest_number = old_quest;
 }
 
 /*!
  * @brief クエスト情報を処理しつつ表示する。/ Process and display quest information
  * @param player_ptr プレイヤーへの参照ポインタ
- * @param questnum クエストのID
+ * @param quest_id クエストのID
  * @param do_init クエストの開始処理か(true)、結果処理か(FALSE)
  */
-static void print_questinfo(PlayerType *player_ptr, QuestId questnum, bool do_init)
+static void print_questinfo(PlayerType *player_ptr, QuestId quest_id, bool do_init)
 {
-    get_questinfo(player_ptr, questnum, do_init);
+    get_questinfo(player_ptr, quest_id, do_init);
 
-    const auto &quest_list = QuestList::get_instance();
-    const auto *q_ptr = &quest_list[questnum];
-    prt(format(_("クエスト情報 (危険度: %d 階相当)", "Quest Information (Danger level: %d)"), (int)q_ptr->level), 5, 0);
-    prt(q_ptr->name, 7, 0);
+    const auto &quests = QuestList::get_instance();
+    const auto &quest = quests[quest_id];
+    prt(format(_("クエスト情報 (危険度: %d 階相当)", "Quest Information (Danger level: %d)"), quest.level), 5, 0);
+    prt(quest.name, 7, 0);
 
     for (auto i = 0; i < std::ssize(quest_text_lines); i++) {
         c_put_str(TERM_YELLOW, quest_text_lines[i], i + 8, 0);
@@ -65,36 +65,35 @@ static void print_questinfo(PlayerType *player_ptr, QuestId questnum, bool do_in
 void castle_quest(PlayerType *player_ptr)
 {
     clear_bldg(4, 18);
-    QuestId q_index = i2enum<QuestId>(player_ptr->current_floor_ptr->grid_array[player_ptr->y][player_ptr->x].special);
-
-    if (!inside_quest(q_index)) {
+    const auto &floor = *player_ptr->current_floor_ptr;
+    const auto quest_id = i2enum<QuestId>(floor.get_grid(player_ptr->get_position()).special);
+    if (!inside_quest(quest_id)) {
         put_str(_("今のところクエストはありません。", "I don't have a quest for you at the moment."), 8, 0);
         return;
     }
 
-    auto &quest_list = QuestList::get_instance();
-    auto *q_ptr = &quest_list[q_index];
-    if (q_ptr->status == QuestStatusType::COMPLETED) {
-        q_ptr->status = QuestStatusType::REWARDED;
-        print_questinfo(player_ptr, q_index, false);
+    auto &quests = QuestList::get_instance();
+    auto &quest = quests[quest_id];
+    if (quest.status == QuestStatusType::COMPLETED) {
+        quest.status = QuestStatusType::REWARDED;
+        print_questinfo(player_ptr, quest_id, false);
         reinit_wilderness = true;
         return;
     }
 
-    if (q_ptr->status == QuestStatusType::TAKEN) {
+    if (quest.status == QuestStatusType::TAKEN) {
         put_str(_("あなたは現在のクエストを終了させていません!", "You have not completed your current quest yet!"), 8, 0);
         put_str(_("CTRL-Qを使えばクエストの状態がチェックできます。", "Use CTRL-Q to check the status of your quest."), 9, 0);
 
-        get_questinfo(player_ptr, q_index, false);
-        put_str(format(_("現在のクエスト「%s」", "Current quest is '%s'."), q_ptr->name.data()), 11, 0);
+        get_questinfo(player_ptr, quest_id, false);
+        put_str(format(_("現在のクエスト「%s」", "Current quest is '%s'."), quest.name.data()), 11, 0);
 
-        if (q_ptr->type != QuestKindType::KILL_LEVEL || q_ptr->dungeon == 0) {
+        if (quest.type != QuestKindType::KILL_LEVEL || quest.dungeon == 0) {
             put_str(_("クエストを終わらせたら戻って来て下さい。", "Return when you have completed your quest."), 12, 0);
             return;
         }
 
         put_str(_("このクエストは放棄することができます。", "You can give up this quest."), 12, 0);
-
         if (!input_check(_("二度と受けられなくなりますが放棄しますか?", "Are you sure to give up this quest? "))) {
             return;
         }
@@ -102,21 +101,21 @@ void castle_quest(PlayerType *player_ptr)
         clear_bldg(4, 18);
         msg_print(_("放棄しました。", "You gave up."));
         msg_print(nullptr);
-        record_quest_final_status(q_ptr, player_ptr->lev, QuestStatusType::FAILED);
+        record_quest_final_status(&quest, player_ptr->lev, QuestStatusType::FAILED);
     }
 
-    if (q_ptr->status == QuestStatusType::FAILED) {
-        print_questinfo(player_ptr, q_index, false);
-        q_ptr->status = QuestStatusType::FAILED_DONE;
+    if (quest.status == QuestStatusType::FAILED) {
+        print_questinfo(player_ptr, quest_id, false);
+        quest.status = QuestStatusType::FAILED_DONE;
         reinit_wilderness = true;
         return;
     }
 
-    if (q_ptr->status != QuestStatusType::UNTAKEN) {
+    if (quest.status != QuestStatusType::UNTAKEN) {
         return;
     }
 
-    q_ptr->status = QuestStatusType::TAKEN;
+    quest.status = QuestStatusType::TAKEN;
     reinit_wilderness = true;
-    print_questinfo(player_ptr, q_index, true);
+    print_questinfo(player_ptr, quest_id, true);
 }
index 4fe4af3..0c60307 100644 (file)
@@ -157,27 +157,27 @@ static bool check_quest_placeable(const FloorType &floor, MonsterRaceId r_idx)
         return true;
     }
 
-    const auto &quest_list = QuestList::get_instance();
-    QuestId number = floor.get_quest_id();
-    const auto *q_ptr = &quest_list[number];
-    if ((q_ptr->type != QuestKindType::KILL_LEVEL) && (q_ptr->type != QuestKindType::RANDOM)) {
+    const auto &quests = QuestList::get_instance();
+    const auto quest_id = floor.get_quest_id();
+    const auto &quest = quests[quest_id];
+    if ((quest.type != QuestKindType::KILL_LEVEL) && (quest.type != QuestKindType::RANDOM)) {
         return true;
     }
-    if (r_idx != q_ptr->r_idx) {
+    if (r_idx != quest.r_idx) {
         return true;
     }
     int number_mon = 0;
     for (int i2 = 0; i2 < floor.width; ++i2) {
         for (int j2 = 0; j2 < floor.height; j2++) {
             auto quest_monster = floor.grid_array[j2][i2].has_monster();
-            quest_monster &= (floor.m_list[floor.grid_array[j2][i2].m_idx].r_idx == q_ptr->r_idx);
+            quest_monster &= (floor.m_list[floor.grid_array[j2][i2].m_idx].r_idx == quest.r_idx);
             if (quest_monster) {
                 number_mon++;
             }
         }
     }
 
-    if (number_mon + q_ptr->cur_num >= q_ptr->max_num) {
+    if (number_mon + quest.cur_num >= quest.max_num) {
         return false;
     }
     return true;