From e9fdeaf476a0c8a574943ca4379d73b33991d559 Mon Sep 17 00:00:00 2001 From: Lancarus <34369130+Lancarus@users.noreply.github.com> Date: Tue, 23 Jul 2024 12:12:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E8=82=89=E9=B8=BD?= =?UTF-8?q?=E5=88=86=E9=98=9F=E5=AD=98=E5=82=A8=E5=8F=8A=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E8=93=9D=E5=9B=BE=E9=98=9F=E5=BD=B1?= =?UTF-8?q?=E5=93=8D=E5=85=B6=E4=BB=96=E8=82=89=E9=B8=BD=E5=AD=98=E9=92=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp | 1 + src/MaaCore/Task/Roguelike/RoguelikeConfig.h | 3 +++ src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp | 1 + src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp | 3 ++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp index ad7abe896b..ede04c7568 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp @@ -5,6 +5,7 @@ void asst::RoguelikeConfig::clear() // ------------------ 通用参数 ------------------ m_trader_no_longer_buy = false; m_core_char = std::string(); + m_squad = std::string(); m_team_full_without_rookie = false; m_use_support = false; m_oper = std::unordered_map(); diff --git a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h index 4581c7de65..2fd7119e85 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeConfig.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeConfig.h @@ -119,6 +119,8 @@ namespace asst bool get_trader_no_longer_buy() const { return m_trader_no_longer_buy; } // ------------------ 开局 ------------------ + void set_squad(std::string squad) { m_squad = std::move(squad); } + const std::string& get_squad() const { return m_squad; } void set_core_char(std::string core_char) { m_core_char = std::move(core_char); } const auto& get_core_char() const { return m_core_char; } void set_use_support(bool use_support) { m_use_support = use_support; } @@ -136,6 +138,7 @@ namespace asst bool m_trader_no_longer_buy = false; // 不再购买藏品 // ------------------ 开局 ------------------ + std::string m_squad; // 分队,默认分队为空 std::string m_core_char; // 开局干员名 bool m_use_support = false; // 开局干员是否为助战干员 bool m_use_nonfriend_support = false; // 是否可以是非好友助战干员 diff --git a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp index c61b4e67b6..fde7bbcb67 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp @@ -143,5 +143,6 @@ bool asst::RoguelikeCustomStartTaskPlugin::hijack_core_char() m_config->set_use_support(m_customs[RoguelikeCustomType::UseSupport] == "1"); m_config->set_use_nonfriend_support(m_customs[RoguelikeCustomType::UseNonfriendSupport] == "1"); m_config->set_core_char(char_name); + m_config->set_squad(m_customs[RoguelikeCustomType::Squad]); return true; } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 5f0a24adf0..9d0aeaed9b 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -57,7 +57,8 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() LogTraceFunction; ++m_recruit_count; - if (m_config->get_mode() == RoguelikeMode::Investment && m_recruit_count > 1) { + if (m_config->get_mode() == RoguelikeMode::Investment && m_recruit_count > 1 && + m_config->get_squad() == "蓝图测绘分队") { // 如果是投资模式,直接招募第一个干员 lazy_recruit(); return true;