mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-17 18:01:26 +08:00
perf: FightTask 以剿灭为目标关卡时, 在终端界面找不到周剿灭获取进度图标不再以 False 退出
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "StageNavigationTask.h"
|
||||
|
||||
#include <boost/regex.hpp>
|
||||
#include <ranges>
|
||||
|
||||
#include "Config/TaskData.h"
|
||||
#include "Controller/Controller.h"
|
||||
@@ -76,7 +77,16 @@ bool asst::StageNavigationTask::_run()
|
||||
LogTraceFunction;
|
||||
|
||||
if (m_is_directly) {
|
||||
return ProcessTask(*this, { m_directly_task }).set_retry_times(RetryTimesDefault).run();
|
||||
ProcessTask task(*this, { m_directly_task });
|
||||
task.set_retry_times(RetryTimesDefault);
|
||||
bool ret = task.run();
|
||||
if (!ret && task.get_last_task_name().empty() && std::ranges::find(m_annihilation_tasks, m_directly_task) != m_annihilation_tasks.end()) {
|
||||
m_fight_task_ptr->set_enable(false);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return chapter_wayfinding() && swipe_and_find_stage();
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
namespace asst
|
||||
{
|
||||
class ProcessTask;
|
||||
|
||||
class StageNavigationTask : public AbstractTask
|
||||
{
|
||||
public:
|
||||
@@ -11,6 +13,11 @@ public:
|
||||
|
||||
bool set_stage_name(const std::string& stage_name);
|
||||
|
||||
void set_fight_task_ptr(std::shared_ptr<ProcessTask> fight_task_ptr) noexcept
|
||||
{
|
||||
m_fight_task_ptr = fight_task_ptr;
|
||||
};
|
||||
|
||||
protected:
|
||||
virtual bool _run() override;
|
||||
void clear() noexcept;
|
||||
@@ -25,5 +32,10 @@ protected:
|
||||
std::string m_chapter_task;
|
||||
std::string m_difficulty_task;
|
||||
std::string m_stage_code;
|
||||
std::shared_ptr<ProcessTask> m_fight_task_ptr = nullptr;
|
||||
std::array<std::string, 4> m_annihilation_tasks { "Annihilation",
|
||||
"Chernobog@Annihilation",
|
||||
"LungmenOutskirts@Annihilation",
|
||||
"LungmenDowntown@Annihilation" };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ asst::FightTask::FightTask(const AsstCallback& callback, Assistant* inst) :
|
||||
.set_times_limit("EndOfAction", 0)
|
||||
.set_retry_times(5);
|
||||
|
||||
m_stage_navigation_task_ptr->set_fight_task_ptr(m_fight_task_ptr);
|
||||
m_stage_navigation_task_ptr->set_enable(false).set_retry_times(0);
|
||||
m_sidestory_reopen_task_ptr->set_enable(false).set_retry_times(0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user