diff --git a/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs b/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs index 6b7c6858ac..a150b741fc 100644 --- a/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs +++ b/src/MaaWpfGui/Configuration/Converter/FightTaskStageResetModeConverter.cs @@ -63,7 +63,7 @@ internal class FightTaskStageResetModeConverter : JsonConverter } else { - fightTask.StageResetMode = FightStageResetMode.Current; + fightTask.StageResetMode = FightStageResetMode.DoNotReset; } } } diff --git a/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs b/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs index 4470250ec5..f6401cba96 100644 --- a/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs +++ b/src/MaaWpfGui/Configuration/Single/MaaTask/FightTask.cs @@ -128,7 +128,7 @@ public class FightTask : BaseTask, IJsonOnDeserialized /// public bool HideSeries { get; set; } - public FightStageResetMode StageResetMode { get; set; } = FightStageResetMode.Current; + public FightStageResetMode StageResetMode { get; set; } = FightStageResetMode.DoNotReset; /// /// Gets or sets a value indicating whether 是否启用周计划 diff --git a/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs b/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs index 4484c4588f..21ea47e48d 100644 --- a/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs +++ b/src/MaaWpfGui/Constants/Enums/FightStageResetMode.cs @@ -24,4 +24,9 @@ public enum FightStageResetMode /// 无效关卡 /// Invalid, + + /// + /// 不重置 + /// + DoNotReset, } diff --git a/src/MaaWpfGui/Helper/ConfigConverter.cs b/src/MaaWpfGui/Helper/ConfigConverter.cs index 76a8da8c97..c12a54f7d0 100644 --- a/src/MaaWpfGui/Helper/ConfigConverter.cs +++ b/src/MaaWpfGui/Helper/ConfigConverter.cs @@ -212,7 +212,7 @@ public class ConfigConverter ConfigurationHelper.DeleteValue(ConfigurationKeys.HideUnavailableStage); ConfigurationHelper.DeleteValue(ConfigurationKeys.CustomStageCode); ConfigurationHelper.DeleteValue(ConfigurationKeys.UseAlternateStage); - fightTask.StageResetMode = fightTask.UseOptionalStage ? FightStageResetMode.Invalid : FightStageResetMode.Current; + fightTask.StageResetMode = fightTask.UseOptionalStage ? FightStageResetMode.Invalid : FightStageResetMode.DoNotReset; if (fightTask.Series > 6) { diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index e0eb8dbe6f..cda8701ecf 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -749,6 +749,7 @@ Do not adjust the proxy multiplier setting in the game Cur/Last Invalid + Do Not Reset The event is not open Unsupported stages Old Version, Update required diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 5261e8635d..169146b8f6 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -750,6 +750,7 @@ C:\\leidian\\LDPlayer9 現在/前回 無効なレベル + リセットしない ステージが未公開か既に終了している 未サポートステージ バージョンの更新が必要 diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 518ac79e38..cd210663d7 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -751,6 +751,7 @@ C:\\leidian\\LDPlayer9 최근 작전--> 현재/최근 잘못된 스테이지 + 리셋 안 함 미개방 스테이지 미지원 스테이지 낮은 버전 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 8ecbc3cfbe..4ff948bc9c 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -750,6 +750,7 @@ C:\\leidian\\LDPlayer9。\n 当前/上次 无效关卡 + 不重置 活动未开放 不支持的关卡 版本过低 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index 67c86f0290..cec2832c11 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -750,6 +750,7 @@ C:\\leidian\\LDPlayer9\n 目前/上次 無效關卡 + 不重置 活動未開放 不支援的關卡 版本過低 diff --git a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs index a80f9b2519..58d160ca7b 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/TaskQueue/FightSettingsUserControlModel.cs @@ -556,7 +556,7 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel if (value) { UseAlternateStage = false; - StageResetMode = FightStageResetMode.Current; + StageResetMode = FightStageResetMode.DoNotReset; } if (update) { @@ -570,6 +570,7 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel [ new() { Display = LocalizationHelper.GetString("DefaultStage"), Value = FightStageResetMode.Current }, new() { Display = LocalizationHelper.GetString("InvalidStage"), Value = FightStageResetMode.Invalid }, + new() { Display = LocalizationHelper.GetString("DoNotResetStage"), Value = FightStageResetMode.DoNotReset }, ]; public FightStageResetMode StageResetMode @@ -797,6 +798,11 @@ public class FightSettingsUserControlModel : TaskSettingsViewModel var stage = task.StagePlan[i]; if (stage != InvalidStage.Value && !stageList.Any(p => p.Value == stage)) { + if (task.StageResetMode == FightStageResetMode.DoNotReset) + { + // 不重置,跳过 + continue; + } task.StagePlan[i] = task.StageResetMode switch { FightStageResetMode.Current => string.Empty, FightStageResetMode.Invalid => InvalidStage.Value,