From 060f8b2da323674994e95a923cd1eb6bae125ebd Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Fri, 8 Aug 2025 15:46:00 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=82=89=E9=B8=BD=E9=9A=BE=E5=BA=A6?= =?UTF-8?q?=E5=9C=A8=E9=A6=96=E6=AC=A1=E8=BF=9B=E5=85=A5=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E4=BB=85=E5=9C=A8=E9=80=9A=E5=85=B3=E5=90=8E=E6=89=8D=E5=86=8D?= =?UTF-8?q?=E6=AC=A1=E5=B0=9D=E8=AF=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp | 6 +++++- .../Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp index 7dbb36cb67..cae405f9eb 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp @@ -37,8 +37,11 @@ bool asst::RoguelikeDifficultySelectionTaskPlugin::verify(AsstMsg msg, const jso if (task_view.starts_with(roguelike_name)) { task_view.remove_prefix(roguelike_name.length()); } + if (task_view.ends_with("Roguelike@GamePass")) { + m_has_changed = false; + } if (task_view == "Roguelike@StartExplore") { - return true; + return !m_has_changed; } else { return false; @@ -59,6 +62,7 @@ bool asst::RoguelikeDifficultySelectionTaskPlugin::_run() // 仅在插件记录的当前难度与目标难度不一致时重新选择难度 select_difficulty(difficulty); + m_has_changed = true; return true; } diff --git a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.h b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.h index a7a871491b..d8eda915a2 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.h +++ b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.h @@ -19,5 +19,6 @@ private: bool select_difficulty(const int difficulty = 0); int m_current_difficulty = -1; + mutable bool m_has_changed = false; }; }