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;