From 854e17f4ec8fcfe89cf519e447a2441ba4e55641 Mon Sep 17 00:00:00 2001 From: status102 Date: Fri, 17 Nov 2023 21:01:18 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=BF=81=E7=A7=BB=E8=82=89=E9=B8=BDUse?= =?UTF-8?q?Support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Status.h | 1 - src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp | 2 ++ src/MaaCore/Task/Roguelike/RoguelikeConfig.h | 3 +++ src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp | 2 +- src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp | 3 +-- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/MaaCore/Status.h b/src/MaaCore/Status.h index a68342b59e..528cc122db 100644 --- a/src/MaaCore/Status.h +++ b/src/MaaCore/Status.h @@ -42,7 +42,6 @@ namespace asst static inline const std::string RoguelikeCharElitePrefix = "RoguelikeElite-"; static inline const std::string RoguelikeCharLevelPrefix = "RoguelikeLevel-"; static inline const std::string RoguelikeCharOverview = "RoguelikeOverview"; - static inline const std::string RoguelikeUseSupport = "RoguelikeUseSupport"; static inline const std::string RoguelikeUseNonfriendSupport = "RoguelikeUseNonfriendSupport"; static inline const std::string ProcessTaskLastTimePrefix = "#LastTime#"; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp index 974a17c5c7..5ab7218625 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp @@ -7,6 +7,8 @@ void asst::RoguelikeConfig::clear() { m_trader_no_longer_buy = false; m_core_char = std::string(); m_team_full_without_rookie = false; + m_use_support = false; + m_foldartal_floor.reset(); m_foldartal.clear(); } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h index 9baa5f654d..70bd6c6070 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h @@ -65,6 +65,8 @@ namespace asst std::string get_core_char() { return m_core_char; } void set_team_full_without_rookie(bool without_rookie) { m_team_full_without_rookie = without_rookie; } bool get_team_full_without_rookie() { return m_team_full_without_rookie; } + void set_use_support(bool use_support) { m_use_support = use_support; } + bool get_use_support() { return m_use_support; } void set_foldartal_floor(std::optional floor) { m_foldartal_floor = std::move(floor); } const std::optional& get_foldartal_floor() { return m_foldartal_floor; } @@ -88,6 +90,7 @@ namespace asst bool m_trader_no_longer_buy = false; std::string m_core_char; bool m_team_full_without_rookie = false; + bool m_use_support = false; /* 密文板 */ // 当前层的预见密文板,在下一层获得 diff --git a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp index 9ece89dad2..32dbc53ca6 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp @@ -140,7 +140,7 @@ bool asst::RoguelikeCustomStartTaskPlugin::hijack_core_char() sleep(Task.get("RoguelikeCustom-HijackCoChar")->pre_delay); - status()->set_str(Status::RoguelikeUseSupport, m_customs[RoguelikeCustomType::UseSupport]); + m_config->set_use_support(m_customs[RoguelikeCustomType::UseSupport] == "1"); status()->set_str(Status::RoguelikeUseNonfriendSupport, m_customs[RoguelikeCustomType::UseNonfriendSupport]); m_config->set_core_char(char_name); return true; diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 68ae15646a..2de9f993bc 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -66,8 +66,7 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() bool team_complete = m_config->get_recruitment_team_complete(); // 是否使用助战干员开局 - bool use_support = get_status_bool(Status::RoguelikeUseSupport); - if (use_support) { + if (m_config->get_use_support()) { if (recruit_support_char()) { start_complete = true; return true;