feat: 生稀盐酸-重启锚点 添加 RA15 支持 (#16667)

* feat: 新增生息演算「重启锚点」RA-15 关卡任务链

* feat: 生息演算 RA-1/RA-15 关卡选择 UI 及 Core 适配

新增 RelaunchAnchorStage 枚举,WPF 界面添加关卡选择下拉框,
C++ Core 根据 stage 参数加载对应的任务链入口。

* feat: 添加RA-15自己有初雪的版本

* fix: Delete resource/tasks/RA/Reclamation3-RA15-HaveCX.json

* fix: 增加识别已有初雪功能

* feat: 拆分 RA-1/RA-15 教程文本,根据关卡选择切换提示

* rft: 合并生稀盐酸文件,并抽取相同任务

* fix: MaaCore 为新盐酸修改为通用性入口

* fix: 生稀盐酸 wpfgui 提示文本选取逻辑优化

* chore: 修改生稀盐酸入口任务命名

* chore: 优化生稀盐酸提示文本

* fix: 重启锚点不再 fallback 关卡

* chore: 生稀盐酸目录结构优化

* chore: 移除旧任务入口

* fix: 修正提示描述

* chore: 优化key命名及选取逻辑

* chore: 修正翻译缩进

---------

Co-Authored-By: Michael Liu 刘嘉远 <walkerljy@163.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
This commit is contained in:
Michael Liu 刘嘉远
2026-05-17 23:18:30 +08:00
committed by GitHub
parent 27c1e1117c
commit 31805c16ef
15 changed files with 860 additions and 249 deletions

View File

@@ -22,6 +22,7 @@ using MaaWpfGui.Utilities.ValueType;
using MaaWpfGui.ViewModels.UI;
using static MaaWpfGui.Main.AsstProxy;
using Mode = MaaWpfGui.Configuration.Single.MaaTask.ReclamationMode;
using Stage = MaaWpfGui.Configuration.Single.MaaTask.RelaunchAnchorStage;
using Theme = MaaWpfGui.Configuration.Single.MaaTask.ReclamationTheme;
namespace MaaWpfGui.ViewModels.UserControl.TaskQueue;
@@ -63,6 +64,24 @@ public class ReclamationSettingsUserControlModel : TaskSettingsViewModel, Reclam
});
}
/// <summary>
/// Gets the list of reclamation stages for RelaunchAnchor theme.
/// </summary>
public List<GenericCombinedData<Stage>> ReclamationStageList { get; } =
[
new() { Display = "RA-1", Value = Stage.RA1 },
new() { Display = "RA-15", Value = Stage.RA15 },
];
/// <summary>
/// Gets or sets 生息演算关卡选择
/// </summary>
public Stage ReclamationStage
{
get => GetTaskConfig<ReclamationTask>().Stage;
set => SetTaskConfig<ReclamationTask>(t => t.Stage == value, t => t.Stage = value);
}
/// <summary>
/// Gets the list of reclamation modes.
/// </summary>
@@ -143,17 +162,31 @@ public class ReclamationSettingsUserControlModel : TaskSettingsViewModel, Reclam
/// <summary>
/// Gets the theme-specific tip text.
/// </summary>
[PropertyDependsOn(nameof(ReclamationTheme))]
[PropertyDependsOn(nameof(ReclamationTheme), nameof(ReclamationStage))]
public string ReclamationTip
{
get
{
var theme = ReclamationTheme;
if (theme == Theme.RelaunchAnchor)
{
return LocalizationHelper.GetString("ReclamationEarlyTipRelaunchAnchor");
var stageTipKey = $"ReclamationTipRelaunchAnchorRA{(int)ReclamationStage}";
if (LocalizationHelper.TryGetString(stageTipKey, out var stageTip))
{
return stageTip;
}
return LocalizationHelper.GetString("ReclamationTipRelaunchAnchorRA1");
}
else if (theme == Theme.Tales || theme == Theme.Fire)
{
return LocalizationHelper.GetString("ReclamationTipTales");
}
else
{
return string.Empty;
}
return LocalizationHelper.GetString("ReclamationEarlyTip");
}
}
@@ -179,6 +212,7 @@ public class ReclamationSettingsUserControlModel : TaskSettingsViewModel, Reclam
var toolToCraft = !string.IsNullOrEmpty(reclamation.ToolToCraft) ? reclamation.ToolToCraft : LocalizationHelper.GetString("ReclamationToolToCraftPlaceholder", DataHelper.ClientLanguageMapper[SettingsViewModel.GameSettings.ClientType]);
var task = new AsstReclamationTask() {
Theme = reclamation.Theme,
Stage = reclamation.Stage,
Mode = reclamation.Mode,
IncrementMode = reclamation.IncrementMode,
MaxCraftCountPerRound = reclamation.MaxCraftCountPerRound,