From 1b7d642fd61d4f9818cdec9cb6ec458063fd3f4d Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Wed, 19 Nov 2025 16:51:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=B7=E7=90=86=E6=99=BA=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E6=AC=A1=E6=95=B0=E6=9C=AA=E5=AE=8C=E5=85=A8=E6=B6=88?= =?UTF-8?q?=E8=80=97=E8=AD=A6=E5=91=8A=E5=9C=A8=E5=89=A9=E4=BD=99=E7=90=86?= =?UTF-8?q?=E6=99=BA=E4=B9=9F=E4=BC=9A=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Task/Fight/FightTimesTaskPlugin.cpp | 1 + src/MaaWpfGui/Main/AsstProxy.cs | 2 +- .../UserControl/TaskQueue/FightSettingsUserControlModel.cs | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Task/Fight/FightTimesTaskPlugin.cpp b/src/MaaCore/Task/Fight/FightTimesTaskPlugin.cpp index 8bfff2ad93..2726d3f214 100644 --- a/src/MaaCore/Task/Fight/FightTimesTaskPlugin.cpp +++ b/src/MaaCore/Task/Fight/FightTimesTaskPlugin.cpp @@ -62,6 +62,7 @@ bool asst::FightTimesTaskPlugin::_run() if (m_fight_times >= m_fight_times_max) { m_task_ptr->set_enable(false); // 战斗次数已达上限 Log.info(__FUNCTION__, "fight times reached max"); + fight["details"]["finished"] = true; callback(AsstMsg::SubTaskExtraInfo, fight); return true; } diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index f67e0db24c..6ed3ae3c00 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -1980,7 +1980,7 @@ public class AsstProxy AchievementTrackerHelper.Instance.SetProgress(AchievementIds.OverLimitAgent, FightTask.FightReport.TimesFinished); } - if (FightTask.Instance.HasTimesLimited != false && FightTask.FightReport.TimesFinished + FightTask.FightReport.Series > FightTask.Instance.MaxTimes) + if (FightTask.Instance.HasTimesLimited != false && FightTask.FightReport.IsFinished && FightTask.FightReport.TimesFinished < FightTask.Instance.MaxTimes) { Instances.TaskQueueViewModel.AddLog(string.Format(LocalizationHelper.GetString("FightTimesUnused"), FightTask.FightReport.TimesFinished, FightTask.FightReport.Series, FightTask.FightReport.TimesFinished + FightTask.FightReport.Series, FightTask.Instance.MaxTimes), UiLogColor.Error); } diff --git a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs index d1be13d2a8..e4fdf7dfe3 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs @@ -1040,5 +1040,8 @@ public class FightSettingsUserControlModel : TaskViewModel [JsonProperty("times_finished")] public int TimesFinished { get; set; } + + [JsonProperty("finished")] + public bool IsFinished { get; set; } } }