diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp index 72f99083ac..acd97ce186 100644 --- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.cpp @@ -74,6 +74,16 @@ bool asst::InfrastReceptionTask::_run() return true; } +bool asst::InfrastReceptionTask::on_run_fails() +{ + if (asst::InfrastAbstractTask::on_run_fails()) { + return true; + } + + ProcessTask(*this, { "CloseSendClue", "Stop" }).run(); + return asst::InfrastAbstractTask::on_run_fails(); +} + bool asst::InfrastReceptionTask::receive_message_board() { return ProcessTask(*this, { "InfrastReceptionReceiveMessageBoard" }).run(); diff --git a/src/MaaCore/Task/Infrast/InfrastReceptionTask.h b/src/MaaCore/Task/Infrast/InfrastReceptionTask.h index 50a1a11383..f8a7369dbe 100644 --- a/src/MaaCore/Task/Infrast/InfrastReceptionTask.h +++ b/src/MaaCore/Task/Infrast/InfrastReceptionTask.h @@ -19,6 +19,7 @@ public: protected: virtual bool _run() override; + virtual bool on_run_fails() override; private: virtual int operlist_swipe_times() const noexcept override { return 4; }