diff --git a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 2cdf651bdd..d71f5a0852 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -1,4 +1,4 @@ -#include "RoguelikeRecruitTaskPlugin.h" +#include "RoguelikeRecruitTaskPlugin.h" #include "Config/Miscellaneous/BattleDataConfig.h" #include "Config/Roguelike/RoguelikeRecruitConfig.h" @@ -59,16 +59,24 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() size_t recruit_count = status()->get_number(Status::RoguelikeRecruitmentCount).value_or(0) + 1; // 这是第几次招募 status()->set_number(Status::RoguelikeRecruitmentCount, recruit_count); // 这是第几次招募 + bool start_complete = status() + ->get_number(Status::RoguelikeRecruitmentStartsComplete) + .value_or(0); // 阵容中必须有开局干员,没有前仅招募start干员或预备干员 + bool team_complete = status() + ->get_number(Status::RoguelikeRecruitmentTeamComplete) + .value_or(0); // 阵容完备前,仅招募key干员或预备干员 // 开局干员 bool use_support = get_status_bool(Status::RoguelikeUseSupport); if (use_support) { if (check_support_char()) { + start_complete = true; return true; } } else { if (check_core_char()) { + start_complete = true; return true; } } @@ -100,13 +108,6 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() group_count[group_name]++; } - bool start_complete = status() - ->get_number(Status::RoguelikeRecruitmentStartsComplete) - .value_or(0); // 阵容中必须有开局干员,没有前仅招募start干员或预备干员 - bool team_complete = status() - ->get_number(Status::RoguelikeRecruitmentTeamComplete) - .value_or(0); // 阵容完备前,仅招募key干员或预备干员 - if (!start_complete) { for (const auto& oper : chars_map) { auto& recruit_info = RoguelikeRecruit.get_oper_info(rogue_theme, oper.first);