mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
fix: 修复部分任务执行错误
This commit is contained in:
@@ -7,5 +7,7 @@
|
||||
asst::AwardTask::AwardTask(const AsstCallback& callback, void* callback_arg)
|
||||
: InterfaceTask(callback, callback_arg, TaskType)
|
||||
{
|
||||
m_subtasks.emplace_back(std::make_shared<ProcessTask>(m_callback, m_callback_arg, TaskType));
|
||||
auto award_task_ptr = std::make_shared<ProcessTask>(m_callback, m_callback_arg, TaskType);
|
||||
award_task_ptr->set_tasks({ "AwardBegin" });
|
||||
m_subtasks.emplace_back(award_task_ptr);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ asst::DepotTask::DepotTask(const AsstCallback& callback, void* callback_arg)
|
||||
: InterfaceTask(callback, callback_arg, TaskType)
|
||||
{
|
||||
auto enter_task = std::make_shared<ProcessTask>(m_callback, m_callback_arg, TaskType);
|
||||
enter_task->set_tasks({ "DepotBegin" });
|
||||
enter_task->set_tasks({ "DepotBegin" }).set_ignore_error(true);
|
||||
m_subtasks.emplace_back(enter_task);
|
||||
|
||||
auto recognition_task = std::make_shared<DepotRecognitionTask>(m_callback, m_callback_arg, TaskType);
|
||||
|
||||
@@ -29,18 +29,16 @@ asst::FightTask::FightTask(const AsstCallback& callback, void* callback_arg)
|
||||
.set_times_limit("PRTS", 0)
|
||||
.set_times_limit("PRTS2", 0)
|
||||
.set_times_limit("EndOfAction", 0)
|
||||
.set_ignore_error(false)
|
||||
.set_retry_times(5);
|
||||
|
||||
m_stage_navigation_task_ptr->set_enable(false).set_ignore_error(false);
|
||||
m_stage_navigation_task_ptr->set_enable(false);
|
||||
|
||||
// 开始战斗任务
|
||||
m_fight_task_ptr->set_tasks({ "FightBegin" })
|
||||
.set_times_limit("MedicineConfirm", 0)
|
||||
.set_times_limit("StoneConfirm", 0)
|
||||
.set_times_limit("StartButton1", INT_MAX)
|
||||
.set_times_limit("StartButton2", INT_MAX)
|
||||
.set_ignore_error(false);
|
||||
.set_times_limit("StartButton2", INT_MAX);
|
||||
|
||||
m_stage_drops_plugin_ptr = m_fight_task_ptr->register_plugin<StageDropsTaskPlugin>();
|
||||
m_stage_drops_plugin_ptr->set_retry_times(0);
|
||||
|
||||
@@ -26,8 +26,16 @@ asst::InfrastTask::InfrastTask(const AsstCallback& callback, void* callback_arg)
|
||||
m_office_task_ptr(std::make_shared<InfrastOfficeTask>(callback, callback_arg, TaskType)),
|
||||
m_dorm_task_ptr(std::make_shared<InfrastDormTask>(callback, callback_arg, TaskType))
|
||||
{
|
||||
m_infrast_begin_task_ptr->set_tasks({ "InfrastBegin" });
|
||||
m_infrast_begin_task_ptr->set_tasks({ "InfrastBegin" }).set_ignore_error(true);
|
||||
m_replenish_task_ptr = m_mfg_task_ptr->register_plugin<ReplenishOriginiumShardTaskPlugin>();
|
||||
m_info_task_ptr->set_ignore_error(true);
|
||||
m_mfg_task_ptr->set_ignore_error(true);
|
||||
m_trade_task_ptr->set_ignore_error(true);
|
||||
m_power_task_ptr->set_ignore_error(true);
|
||||
m_control_task_ptr->set_ignore_error(true);
|
||||
m_reception_task_ptr->set_ignore_error(true);
|
||||
m_office_task_ptr->set_ignore_error(true);
|
||||
m_dorm_task_ptr->set_ignore_error(true);
|
||||
|
||||
m_subtasks.emplace_back(m_infrast_begin_task_ptr);
|
||||
}
|
||||
|
||||
@@ -19,12 +19,12 @@ asst::MallTask::MallTask(const AsstCallback& callback, void* callback_arg)
|
||||
m_shopping_task_ptr->set_enable(false).set_retry_times(1);
|
||||
m_shopping_force_task_ptr->set_enable(false).set_retry_times(1);
|
||||
|
||||
m_subtasks.emplace_back(m_visit_task_ptr);
|
||||
m_subtasks.emplace_back(m_credit_fight_task_ptr);
|
||||
m_subtasks.emplace_back(m_visit_task_ptr)->set_ignore_error(true);
|
||||
m_subtasks.emplace_back(m_credit_fight_task_ptr)->set_ignore_error(true);
|
||||
m_subtasks.emplace_back(m_mall_task_ptr);
|
||||
m_subtasks.emplace_back(m_shopping_first_task_ptr);
|
||||
m_subtasks.emplace_back(m_shopping_task_ptr);
|
||||
m_subtasks.emplace_back(m_shopping_force_task_ptr);
|
||||
m_subtasks.emplace_back(m_shopping_first_task_ptr)->set_ignore_error(true);
|
||||
m_subtasks.emplace_back(m_shopping_task_ptr)->set_ignore_error(true);
|
||||
m_subtasks.emplace_back(m_shopping_force_task_ptr)->set_ignore_error(true);
|
||||
}
|
||||
|
||||
bool asst::MallTask::set_params(const json::value& params)
|
||||
|
||||
@@ -7,7 +7,7 @@ asst::RecruitTask::RecruitTask(const AsstCallback& callback, void* callback_arg)
|
||||
: InterfaceTask(callback, callback_arg, TaskType),
|
||||
m_auto_recruit_task_ptr(std::make_shared<AutoRecruitTask>(callback, callback_arg, TaskType))
|
||||
{
|
||||
m_subtasks.emplace_back(m_auto_recruit_task_ptr)->set_retry_times(5).set_ignore_error(false);
|
||||
m_subtasks.emplace_back(m_auto_recruit_task_ptr)->set_retry_times(5);
|
||||
}
|
||||
|
||||
bool asst::RecruitTask::set_params(const json::value& params)
|
||||
|
||||
@@ -18,6 +18,7 @@ asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_
|
||||
: InterfaceTask(callback, callback_arg, TaskType),
|
||||
m_roguelike_task_ptr(std::make_shared<ProcessTask>(callback, callback_arg, TaskType))
|
||||
{
|
||||
m_roguelike_task_ptr->set_ignore_error(true);
|
||||
m_roguelike_task_ptr->register_plugin<RoguelikeFormationTaskPlugin>();
|
||||
m_roguelike_task_ptr->register_plugin<RoguelikeControlTaskPlugin>();
|
||||
m_roguelike_task_ptr->register_plugin<RoguelikeResetTaskPlugin>();
|
||||
@@ -27,9 +28,9 @@ asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_
|
||||
m_custom_start_task_ptr = m_roguelike_task_ptr->register_plugin<RoguelikeCustomStartTaskPlugin>();
|
||||
m_battle_task_ptr = m_roguelike_task_ptr->register_plugin<RoguelikeBattleTaskPlugin>();
|
||||
m_recruit_task_ptr = m_roguelike_task_ptr->register_plugin<RoguelikeRecruitTaskPlugin>();
|
||||
m_recruit_task_ptr->set_retry_times(2);
|
||||
m_recruit_task_ptr->set_retry_times(2).set_ignore_error(true);
|
||||
m_skill_task_ptr = m_roguelike_task_ptr->register_plugin<RoguelikeSkillSelectionTaskPlugin>();
|
||||
m_skill_task_ptr->set_retry_times(2);
|
||||
m_skill_task_ptr->set_retry_times(2).set_ignore_error(true);
|
||||
|
||||
// 这个任务如果卡住会放弃当前的肉鸽并重新开始,所以多添加一点。先这样凑合用
|
||||
for (int i = 0; i != 100; ++i) {
|
||||
@@ -94,13 +95,13 @@ bool asst::RoguelikeTask::set_params(const json::value& params)
|
||||
m_roguelike_task_ptr->set_times_limit("StageTraderInvestConfirm", InvestLimit);
|
||||
}
|
||||
|
||||
if (auto squad_opt = params.find<std::string>("squad")) {
|
||||
if (auto squad_opt = params.find<std::string>("squad"); squad_opt && !squad_opt->empty()) {
|
||||
m_custom_start_task_ptr->set_custom(RoguelikeCustomType::Squad, *squad_opt);
|
||||
}
|
||||
if (auto roles_opt = params.find<std::string>("roles")) {
|
||||
if (auto roles_opt = params.find<std::string>("roles"); roles_opt && !roles_opt->empty()) {
|
||||
m_custom_start_task_ptr->set_custom(RoguelikeCustomType::Roles, *roles_opt);
|
||||
}
|
||||
if (auto core_char_opt = params.find<std::string>("core_char")) {
|
||||
if (auto core_char_opt = params.find<std::string>("core_char"); core_char_opt && !core_char_opt->empty()) {
|
||||
m_custom_start_task_ptr->set_custom(RoguelikeCustomType::CoreChar, *core_char_opt);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ asst::StartUpTask::StartUpTask(const AsstCallback& callback, void* callback_arg)
|
||||
.set_times_limit("ReturnTo", 0)
|
||||
.set_task_delay(1000)
|
||||
.set_retry_times(30);
|
||||
m_subtasks.emplace_back(m_start_game_task_ptr)->set_ignore_error(false);
|
||||
m_subtasks.emplace_back(m_start_up_task_ptr)->set_ignore_error(false);
|
||||
m_subtasks.emplace_back(m_start_game_task_ptr)->set_ignore_error(true);
|
||||
m_subtasks.emplace_back(m_start_up_task_ptr);
|
||||
}
|
||||
|
||||
bool asst::StartUpTask::set_params(const json::value& params)
|
||||
|
||||
Reference in New Issue
Block a user