diff --git a/resource/tasks.json b/resource/tasks.json index df3a43514e..54c17a796d 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -6470,7 +6470,7 @@ 107, 20 ], - "postDelay": 100 + "postDelay": 200 }, "BattleQuickFormationSkill1": { "algorithm": "JustReturn", @@ -12562,4 +12562,4 @@ ], "postDelay": 2000 } -} \ No newline at end of file +} diff --git a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp index 1d7cd03cdb..1af0ae7bf9 100644 --- a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp @@ -184,13 +184,14 @@ bool asst::BattleFormationTask::select_opers_in_cur_page(std::vector& Task.get("BattleQuickFormationSkill3")->specific_rect, }; - if (opers_result.empty() || m_last_oper_name == opers_result.back().text) { - Log.info("last oper name is same as current, skip"); - return false; + if (!opers_result.empty()) { + if (m_last_oper_name == opers_result.back().text) { + Log.info("last oper name is same as current, skip"); + return false; + } + m_last_oper_name = opers_result.back().text; } - m_last_oper_name = opers_result.back().text; - int delay = Task.get("BattleQuickFormationOCR")->post_delay; int skill = 1; @@ -218,6 +219,7 @@ bool asst::BattleFormationTask::select_opers_in_cur_page(std::vector& sleep(delay); if (1 <= skill && skill <= 3) { ctrler()->click(SkillRectArray.at(skill - 1ULL)); + sleep(delay); } groups.erase(iter);