From 7fe35dfa244dce51a53396c18ee59dafec7eaa6b Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Thu, 22 Feb 2024 20:26:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=82=89=E9=B8=BD=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RoguelikeStageEncounterConfig.cpp | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/MaaCore/Config/Roguelike/RoguelikeStageEncounterConfig.cpp b/src/MaaCore/Config/Roguelike/RoguelikeStageEncounterConfig.cpp index 6e38bd6174..b29307b1a8 100644 --- a/src/MaaCore/Config/Roguelike/RoguelikeStageEncounterConfig.cpp +++ b/src/MaaCore/Config/Roguelike/RoguelikeStageEncounterConfig.cpp @@ -16,22 +16,20 @@ bool asst::RoguelikeStageEncounterConfig::parse(const json::value& json) event.name = event_json.at("name").as_string(); event.option_num = event_json.get("option_num", 0); event.default_choose = event_json.get("choose", 0); - auto choice_require_opt = event_json.find("choice_require"); - if (!choice_require_opt || !choice_require_opt->is_array()) { - continue; - } - for (const auto& requirement_json : choice_require_opt->as_array()) { - ChoiceRequire requirement; - requirement.name = requirement_json.at("name").as_string(); - requirement.choose = requirement_json.get("choose", -1); - if (auto vision_opt = requirement_json.find("Vision")) { - requirement.vision.value = vision_opt->get("value", ""); - requirement.vision.type = parse_comparison_type(vision_opt->get("type", "")); + if (auto choice_require_opt = event_json.find("choices"); choice_require_opt && choice_require_opt->is_array()) { + for (const auto& requirement_json : choice_require_opt->as_array()) { + ChoiceRequire requirement; + requirement.name = requirement_json.at("name").as_string(); + requirement.choose = requirement_json.get("choose", -1); + if (auto vision_opt = requirement_json.find("Vision")) { + requirement.vision.value = vision_opt->get("value", ""); + requirement.vision.type = parse_comparison_type(vision_opt->get("type", "")); + } + else { + continue; + } + event.choice_require.emplace_back(std::move(requirement)); } - else { - continue; - } - event.choice_require.emplace_back(std::move(requirement)); } m_events[theme].emplace_back(std::move(event)); }