From ee5db4fe02b2835591e8a7b8cb9c850cd18f42d7 Mon Sep 17 00:00:00 2001
From: status102 <102887808+status102@users.noreply.github.com>
Date: Thu, 12 Feb 2026 19:30:33 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20=E8=87=AA=E5=8A=A8=E6=88=98=E6=96=97?=
=?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BC=96=E9=98=9F=E6=9C=9F=E9=97=B4=E5=A6=82?=
=?UTF-8?q?=E6=9C=89=E5=B9=B2=E5=91=98=E5=B1=9E=E6=80=A7=E8=A6=81=E6=B1=82?=
=?UTF-8?q?=E8=A2=AB=E5=BF=BD=E7=95=A5,=20=E5=88=99=E7=A6=81=E7=94=A8?=
=?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=96=E6=8A=95=E7=A5=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/MaaWpfGui/Main/AsstProxy.cs | 2 ++
src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs | 7 ++++++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs
index 88183bd6b2..882560c9e7 100644
--- a/src/MaaWpfGui/Main/AsstProxy.cs
+++ b/src/MaaWpfGui/Main/AsstProxy.cs
@@ -2042,6 +2042,7 @@ public class AsstProxy
case "BattleFormationOperUnavailable":
{
+ Instances.CopilotViewModel.HasRequirementIgnored = true;
var oper_name = DataHelper.GetLocalizedCharacterName(subTaskDetails!["oper_name"]?.ToString());
var requirement_type = subTaskDetails["requirement_type"]?.ToString() switch {
"level" => LocalizationHelper.GetString("BattleFormationOperUnavailable.Level"),
@@ -2083,6 +2084,7 @@ public class AsstProxy
case "CopilotListLoadTaskFileSuccess":
Instances.CopilotViewModel.AddLog($"Parse {subTaskDetails!["file_name"]}[{subTaskDetails["stage_name"]}] Success");
+ Instances.CopilotViewModel.HasRequirementIgnored = false;
break;
case "SSSStage":
diff --git a/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs b/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs
index 0ae18dd6bb..bdb5df7312 100644
--- a/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs
+++ b/src/MaaWpfGui/ViewModels/UI/CopilotViewModel.cs
@@ -365,6 +365,11 @@ public partial class CopilotViewModel : Screen
///
public bool IgnoreRequirements { get => field; set => SetAndNotify(ref field, value); }
+ ///
+ /// Gets or sets a value indicating whether 真正有干员被忽略了要求
+ ///
+ public bool HasRequirementIgnored { get; set; } = false;
+
public bool UseSanityPotion { get => field; set => SetAndNotify(ref field, value); }
///
@@ -1699,7 +1704,7 @@ public partial class CopilotViewModel : Screen
model.IsChecked = false;
- if (model.CopilotId > 0 && _copilotIdList.Remove(model.CopilotId) && _copilotIdList.IndexOf(model.CopilotId) == -1 && !IgnoreRequirements)
+ if (model.CopilotId > 0 && _copilotIdList.Remove(model.CopilotId) && _copilotIdList.IndexOf(model.CopilotId) == -1 && !HasRequirementIgnored)
{
_ = RateCopilot(model.CopilotId);
}