diff --git a/docs/zh-cn/manual/introduction/combat.md b/docs/zh-cn/manual/introduction/combat.md index 21cf3a5613..4495460f39 100644 --- a/docs/zh-cn/manual/introduction/combat.md +++ b/docs/zh-cn/manual/introduction/combat.md @@ -7,18 +7,18 @@ icon: hugeicons:brain-02 ## 常规设置 -- `药剂恢复` + `源石恢复` 和 `指定次数`、`指定材料` 三个选项为短路开关(或门),即达成三个选项中的任一条件,均会视为任务完成,停止理智作战。 - - `药剂恢复` 指定补充几瓶理智(可能一次吃多瓶药)。 +- `使用药剂` + `使用源石` 和 `指定次数`、`指定材料` 三个选项为短路开关(或门),即达成三个选项中的任一条件,均会视为任务完成,停止理智作战。 + - `使用药剂` 指定补充几瓶理智(可能一次吃多瓶药)。 - `源石恢复` 指定碎几颗石头(一次一颗),当仓库中有理智药时不会碎石。 - `指定次数` 指定刷多少次指定关卡(例如“刷 15 次后停止”)。 - `指定材料` 指定刷多少个指定材料(例如“获取 5 个固源岩后停止”)。 - `指定材料` 与 `关卡选择` 是两个互相独立的逻辑。`指定材料` 只是以材料个数作为任务完成依据,并不会自动导航到相应关卡。 -- `源石恢复` 只会在 `药剂恢复` 之后判断,因为 MAA 只有在没有理智药时才会使用源石补充理智。所以在勾选 `源石恢复` 之后,MAA 会将 `药剂恢复` 的次数锁定为 999,确保将理智药吃光,以避免跳过 `源石恢复` 判断。 +- `使用源石` 只会在 `使用药剂` 之后判断,因为 MAA 只有在没有理智药时才会使用源石补充理智。所以在勾选 `使用源石` 之后,MAA 会将 `使用药剂` 的次数锁定为 999,确保将理智药吃光,以避免跳过 `使用源石` 判断。 ::: details 例子 -| 药剂恢复 | 源石恢复 | 指定次数 | 指定材料 | 结果 | +| 使用药剂 | 使用源石 | 指定次数 | 指定材料 | 结果 | | :------: | :------: | :------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | | | | | 刷完现有理智即结束。 | | 2 | | | | 先刷完现有理智,然后吃一次理智药,一共吃 `2` 次,刷完理智后结束。 | diff --git a/docs/zh-cn/protocol/task-schema.md b/docs/zh-cn/protocol/task-schema.md index 189f03f095..4d1a3fd7f4 100644 --- a/docs/zh-cn/protocol/task-schema.md +++ b/docs/zh-cn/protocol/task-schema.md @@ -84,7 +84,7 @@ JSON 文件是不支持注释的,文本中的注释仅用于演示,请勿直 "reduceOtherTimes": ["OtherTaskName1", "OtherTaskName2"], // 可选项,执行后减少其他任务的执行计数。 - // 例如执行了药剂恢复,则说明上一次点击蓝色开始行动按钮没生效,所以蓝色开始行动要-1 + // 例如执行了使用理智药,则说明上一次点击蓝色开始行动按钮没生效,所以蓝色开始行动要-1 "specificRect": [100, 100, 50, 50], // 当 action 为 ClickRect 时有效且必选,表示指定的点击位置(范围内随机一点)。 diff --git a/src/MaaCore/Common/AsstTypes.h b/src/MaaCore/Common/AsstTypes.h index 40bc2d06ac..610d02c29a 100644 --- a/src/MaaCore/Common/AsstTypes.h +++ b/src/MaaCore/Common/AsstTypes.h @@ -593,7 +593,7 @@ struct TaskPipelineInfo TaskList sub; // 子任务(列表) TaskList on_error_next; // 任务出错之后要去执行什么 TaskList exceeded_next; // 达到最多次数了之后,下一个可能的任务(列表) - TaskList reduce_other_times; // 执行了该任务后,需要减少别的任务的执行次数。例如执行了药剂恢复, + TaskList reduce_other_times; // 执行了该任务后,需要减少别的任务的执行次数。例如执行了使用理智药, // 则说明上一次点击蓝色开始行动按钮没生效,所以蓝色开始行动要-1 }; diff --git a/src/MaaCore/Task/Interface/CopilotTask.cpp b/src/MaaCore/Task/Interface/CopilotTask.cpp index 3a3a7e5acc..738eca9e4d 100644 --- a/src/MaaCore/Task/Interface/CopilotTask.cpp +++ b/src/MaaCore/Task/Interface/CopilotTask.cpp @@ -63,7 +63,7 @@ bool asst::CopilotTask::set_params(const json::value& params) return false; } - bool use_sanity_potion = params.get("use_sanity_potion", false); // 是否药剂恢复 + bool use_sanity_potion = params.get("use_sanity_potion", false); // 是否使用理智药 bool with_formation = params.get("formation", false); // 是否使用自动编队 int formation_index = params.get("formation_index", 0); // 选择第几个编队,0为不选择 if (!params.contains("formation_index") && params.contains("select_formation")) { diff --git a/src/MaaCore/Task/ProcessTask.cpp b/src/MaaCore/Task/ProcessTask.cpp index e952d37fda..1577f641be 100644 --- a/src/MaaCore/Task/ProcessTask.cpp +++ b/src/MaaCore/Task/ProcessTask.cpp @@ -283,7 +283,7 @@ ProcessTask::NodeStatus ProcessTask::run_task(const HitDetail& hits) status()->set_number(Status::ProcessTaskLastTimePrefix + task_name, time(nullptr)); // 减少其他任务的执行次数 - // 例如,进入药剂恢复的界面了,相当于上一次点蓝色开始行动没生效 + // 例如,进入使用理智药的界面了,相当于上一次点蓝色开始行动没生效 // 所以要给蓝色开始行动的次数减一 for (const std::string& other_task : task->reduce_other_times) { if (int& v = m_exec_times[other_task]; v > 0) { diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index 3c7afe31f8..11efc99a5c 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -1983,11 +1983,13 @@ public class AsstProxy case "BattleFormationOperUnavailable": { var oper_name = DataHelper.GetLocalizedCharacterName(subTaskDetails!["oper_name"]?.ToString()); - var requirement_type = subTaskDetails["requirement_type"]?.ToString() == "module" - ? LocalizationHelper.GetString("BattleFormationModuleUnavailable") - : subTaskDetails["requirement_type"]?.ToString() ?? "UnknownRequirementType"; + var requirement_type = subTaskDetails["requirement_type"]?.ToString() switch { + "skill_level" => LocalizationHelper.GetString("BattleFormationOperUnavailable.SkillLevel"), + "module" => LocalizationHelper.GetString("BattleFormationOperUnavailable.Module"), + _ => subTaskDetails["requirement_type"]?.ToString() ?? "UnknownRequirementType", + }; - Instances.CopilotViewModel.AddLog(string.Format(LocalizationHelper.GetString("BattleFormationOperUnavailable"), oper_name, requirement_type), Instances.CopilotViewModel.IgnoreRequirements ? UiLogColor.Warning : UiLogColor.Error); + Instances.CopilotViewModel.AddLog(LocalizationHelper.GetStringFormat("BattleFormationOperUnavailable", oper_name ?? string.Empty, requirement_type), Instances.CopilotViewModel.IgnoreRequirements ? UiLogColor.Warning : UiLogColor.Error); break; } diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 749a166009..0897faf444 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -1190,7 +1190,8 @@ Right-click to clear inactive jobs Formation parse failed Selected:  {key=Operator} unavailable: {0}, reason: {1} - Required module not unlocked + Skill level too low + Required module not unlocked Step: {0} {1} Elapsed time: {0}ms Deploy diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 3017ad81ce..6ae77be66b 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -1191,7 +1191,8 @@ C:\\leidian\\LDPlayer9 フォーメーション解析に失敗しました {key=Operator}を選択: {key=Operator}が使用できません: {0}、理由: {1} - 必要なモジュールが未解除 + スキルレベルが低すぎる + 必要なモジュールが未解除 現在の手順: {0} {1} 経過時間: {0}ms 配置 diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 9e99ade3eb..c934ee7c53 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -1192,7 +1192,8 @@ C:\\leidian\\LDPlayer9 편성 분석에 실패했습니다 {key=Operator}를 선택: 사용 불가 {key=Operator}: {0}, 사유: {1} - 필요한 모듈이 잠금 해제되지 않음 + 스킬 레벨이 너무 낮음 + 필요한 모듈이 잠금 해제되지 않음 현재 단계: {0} {1} 경과 시간: {0}ms 배치 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 73b51be664..9b254db13f 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -704,8 +704,8 @@ C:\\leidian\\LDPlayer9。\n 停止 等待 & 停止 - 药剂恢复 - 源石恢复 + 使用药剂 + 使用源石 指定次数 指定材料 刷取数量 @@ -1191,7 +1191,8 @@ C:\\leidian\\LDPlayer9。\n 编队解析失败 选择{key=Operator}: {key=Operator}不可用: {0}, 原因: {1} - 所需模组未解锁 + 技能等级不足 + 所需模组未解锁 当前步骤: {0} {1} 当前计时器: {0}ms 部署 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index f06cbd4d7f..0086f3b5c4 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -1191,7 +1191,8 @@ C:\\leidian\\LDPlayer9。\n 編隊解析失敗 選擇{key=Operator}: {key=Operator}不可用: {0}, 原因: {1} - 所需模組未解鎖 + 技能等級不足 + 所需模組未解鎖 目前步驟: {0} {1} 經過時間: {0}ms 部署