Files
Michael Liu 刘嘉远 31805c16ef 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>
2026-05-17 23:18:30 +08:00

800 lines
35 KiB
JSON

{
"Tales@RA@BackDark": {
"doc": "模板任务: 点击左上角深色箭头返回",
"roi": [7, 6, 41, 56],
"action": "ClickSelf"
},
"Tales@RA@BackLight": {
"doc": "模板任务: 点击左上角浅色箭头返回",
"roi": [0, 7, 40, 56],
"action": "ClickSelf"
},
"Tales@RA@CancelCraft": {
"doc": "模板任务: 在组装数量选择界面, 点击空白处取消组装",
"baseTask": "Tales@RA@Craft",
"template": "Tales@RA@Craft.png",
"action": "ClickRect",
"specificRect": [1200, 360, 0, 0]
},
"Tales@RA@CancelEnterBuildMode": {
"doc": "模板任务: 在右下角存在 <进入建造> 按钮时点击左下角取消进入建造",
"algorithm": "OcrDetect",
"text": ["进入建造"],
"roi": [956, 540, 304, 72],
"action": "ClickRect",
"specificRect": [120, 672, 1, 1]
},
"Tales@RA@ClearSquad": {
"doc": "模板任务: 清空当前编队",
"roi": [1150, 12, 47, 46],
"action": "ClickSelf",
"next": ["Tales@RA@DialogConfirmRed", "#self"]
},
"Tales@RA@ClickGatheringOfFeathers": {
"doc": "模板任务: 点击 <捕猎区: 聚羽之地>",
"algorithm": "OcrDetect",
"text": ["聚羽之地"],
"roi": [141, 337, 106, 56],
"action": "ClickSelf"
},
"Tales@RA@ClickHeadquartersButton": {
"doc": "模板任务: 点击左下角驻扎地图标",
"template": "Tales@RA@HeadquartersButton.png",
"roi": [36, 634, 68, 76],
"action": "ClickSelf"
},
"Tales@RA@ClickShrubberyGalore": {
"doc": "模板任务: 点击 <资源区: 丰饶灌木林>",
"algorithm": "OcrDetect",
"text": ["丰饶灌木林"],
"ocrReplace": [[".*灌木.*", "丰饶灌木林"]],
"roi": [223, 129, 114, 48],
"action": "ClickSelf"
},
"Tales@RA@ConfirmSquad": {
"doc": "模板任务: 在编队界面点击 <开始行动>",
"algorithm": "OcrDetect",
"text": ["开始行动"],
"roi": [1132, 654, 120, 45],
"action": "ClickSelf"
},
"Tales@RA@ConfirmToLoadSave": {
"doc": "模板任务: 点击 <点击确认> 文字位置确认读取存档",
"algorithm": "OcrDetect",
"text": ["点击确认"],
"roi": [583, 529, 115, 43],
"action": "ClickSelf"
},
"Tales@RA@Craft": {
"doc": "模板任务: 点击开始组装图标",
"roi": [982, 500, 80, 50],
"action": "ClickSelf"
},
"Tales@RA@DialogConfirmRed": {
"doc": "模板任务: 在警告对话框点击确认图标",
"roi": [879, 457, 53, 52],
"action": "ClickSelf"
},
"Tales@RA@DialogConfirmYellow": {
"doc": "模板任务: 在普通对话框点击确认图标",
"roi": [879, 457, 53, 52],
"action": "ClickSelf"
},
"Tales@RA@Dots": {
"doc": "模板任务: 点击右下角 Dots",
"roi": [1001, 658, 61, 28],
"action": "ClickSelf"
},
"Tales@RA@EnterNode": {
"doc": "模板任务: 点击区块节点后点击 <开始行动>",
"algorithm": "OcrDetect",
"text": ["开始行动"],
"roi": [956, 540, 304, 72],
"action": "ClickSelf"
},
"Tales@RA@FinishCalc": {
"doc": "模板任务: 已完成生存周期, 点击 <点击任意处继续> 文字位置",
"algorithm": "OcrDetect",
"text": ["点击任意处继续"],
"roi": [506, 609, 272, 111],
"preDelay": 500,
"action": "ClickSelf"
},
"Tales@RA@IncreaseCraftAmount": {
"doc": "模板任务: 点击加号增加组装数量",
"roi": [860, 489, 73, 73],
"action": "ClickSelf"
},
"Tales@RA@LeaveCurrentZone": {
"doc": "模板任务: 在行动中点击左上角离开当前区块, 注意左上角离开按钮渐变出现, 期间点击无效",
"roi": [41, 22, 78, 71],
"templThreshold": 0.75,
"action": "ClickSelf"
},
"Tales@RA@LoadSave": {
"doc": "模板任务: 点击右下角读取存档图标",
"roi": [1030, 542, 118, 66],
"action": "ClickSelf"
},
"Tales@RA@MissionResults": {
"doc": "模板任务: 在行动结束界面点击左下角 <物资将送往仓库> 图标返回, 注意战利品列表加载期间点击无效",
"template": "Tales@RA@SentToWarehouse.png",
"roi": [48, 469, 87, 51],
"action": "ClickSelf"
},
"Tales@RA@Navigation-FromTodoList": {},
"Tales@RA@NextDay": {
"doc": "模板任务: 点击右上角箭头进入下一个生息日, 若在量定日则进行量定结算",
"roi": [1152, 45, 54, 98],
"action": "ClickSelf"
},
"Tales@RA@NonZeroActsLeft": {
"doc": "模板任务: 点击右上角剩余决断次数",
"template": ["Tales@RA@ActsLeft2.png", "Tales@RA@ActsLeft1.png"],
"roi": [1152, 104, 47, 34],
"action": "ClickSelf"
},
"Tales@RA@Origin": {
"doc": "模板任务: 确认地图视图已经重置到原始位置",
"template": "Tales@RA@Headquarters.png",
"roi": [559, 262, 162, 153]
},
"Tales@RA@PIS-ClickTool": {
"doc": "识别到要组装的道具后点击",
"algorithm": "OcrDetect",
"text": ["荧光棒"],
"fullMatch": true,
"roi": [274, 68, 960, 535],
"action": "ClickSelf",
"postDelay": 500
},
"Tales@RA@PIS-Commence": {
"doc": "在主题入口界面识别到 <开始演算>, 可利用 callback 提示用户切换模式",
"baseTask": "Tales@RA@PNS-Commence",
"action": "DoNothing",
"next": []
},
"Tales@RA@PIS-Craft": {
"doc": "点击开始组装图标",
"baseTask": "Tales@RA@Craft",
"template": "Tales@RA@Craft.png",
"next": ["Tales@RA@PIS-ResourceGained", "Tales@RA@PIS-Craft@NextAfterLoadingText"]
},
"Tales@RA@PIS-CraftAmountOcr": {
"baseTask": "NumberOcrReplace",
"roi": [745, 494, 125, 63],
"binThreshold": [200, 255]
},
"Tales@RA@PIS-CraftTool": {
"doc": "调用 ReclamationCraftTaskPlugin 组装支援道具",
"template": "Tales@RA@WorkbenchIcon.png",
"roi": [50, 5, 60, 60],
"next": ["Tales@RA@PIS-LeaveWorkbench"]
},
"Tales@RA@PIS-FinishCalc": {
"doc": "已完成生存周期",
"baseTask": "Tales@RA@FinishCalc",
"action": "DoNothing",
"next": ["Tales@RA@PIS-ProsperityReachLimit", "Tales@RA@PIS-ProsperityBelowLimit"]
},
"Tales@RA@PIS-LeaveWorkbench": {
"doc": "点击左上角深色箭头退出组装台",
"baseTask": "Tales@RA@BackDark",
"template": "Tales@RA@BackDark.png",
"next": ["Tales@RA@PIS-SkipToCalc"]
},
"Tales@RA@PIS-Navigation": {
"algorithm": "JustReturn",
"sub": ["Tales@RA@Navigation"],
"next": ["Tales@RA@ProsperityInSave"]
},
"Tales@RA@PIS-ProsperityBelowLimit": {
"doc": "已完成生存周期, 生息点数未达到上限, 点击 <点击任意处继续> 文字位置",
"baseTask": "Tales@RA@FinishCalc",
"next": [
"Tales@RA@PIS-ProsperityBelowLimit-StartToday",
"Tales@RA@PIS-ProsperityBelowLimit@NextAfterMerelyWaiting"
]
},
"Tales@RA@PIS-ProsperityBelowLimit-Dots": {
"doc": "生息点数未达到上限, 点击右下角 Dots",
"baseTask": "Tales@RA@Dots",
"template": "Tales@RA@Dots.png",
"next": ["Tales@RA@PIS-ProsperityBelowLimit-LoadSave", "#self"]
},
"Tales@RA@PIS-ProsperityBelowLimit-LoadSave": {
"doc": "生息点数未达到上限, 点击右下角读取存档图标, 选择从右往左第二个存档或仅存的存档, 点击 <点击确认> 文字位置确认读取存档",
"baseTask": "Tales@RA@LoadSave",
"template": "Tales@RA@LoadSave.png",
"sub": ["Tales@RA@SelectSecondLastSave", "Tales@RA@ConfirmToLoadSave"],
"next": [
"Tales@RA@PIS-ProsperityBelowLimit-StartTodayAfterLoadSave",
"Tales@RA@PIS-ProsperityBelowLimit-LoadSave@NextAfterLoadingText",
"Tales@RA@PIS-ProsperityBelowLimit-LoadSave@NextAfterMerelyWaiting"
]
},
"Tales@RA@PIS-ProsperityBelowLimit-StartToday": {
"doc": "生息点数未达到上限, 在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": [
"Tales@RA@PIS-ProsperityBelowLimit-Dots",
"Tales@RA@PIS-ProsperityBelowLimit-StartToday@NextAfterLoadingText",
"Tales@RA@PIS-ProsperityBelowLimit-StartToday"
]
},
"Tales@RA@PIS-ProsperityBelowLimit-StartTodayAfterLoadSave": {
"doc": "生息点数未达到上限, 在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": [
"Tales@RA@PIS-ProsperityBelowLimit-StartTodayAfterLoadSave@NextAfterLoadingText",
"Tales@RA@PIS-ProsperityBelowLimit-StartTodayAfterLoadSave",
"Tales@RA@ProsperityInSave"
]
},
"Tales@RA@PIS-ProsperityReachLimit": {
"doc": "已完成生存周期, 生息点数达到上限, 点击 MAX 图案位置",
"baseTask": "Tales@RA@ProsperityReachLimit",
"template": "Tales@RA@Max.png",
"next": [
"Tales@RA@PIS-ProsperityReachLimit-StartToday",
"Tales@RA@PIS-ProsperityReachLimit@NextAfterMerelyWaiting"
]
},
"Tales@RA@PIS-ProsperityReachLimit-Dots": {
"doc": "生息点数达到上限, 点击右下角 Dots",
"baseTask": "Tales@RA@Dots",
"template": "Tales@RA@Dots.png",
"next": ["Tales@RA@PIS-ProsperityReachLimit-LoadSave", "#self"]
},
"Tales@RA@PIS-ProsperityReachLimit-LoadSave": {
"doc": "生息点数达到上限, 点击右下角读取存档图标, 选择从右往左第二个存档或仅存的存档, 点击 <点击确认> 文字位置确认读取存档",
"baseTask": "Tales@RA@LoadSave",
"template": "Tales@RA@LoadSave.png",
"sub": ["Tales@RA@SelectSecondLastSave", "Tales@RA@ConfirmToLoadSave"],
"next": [
"Tales@RA@PIS-ProsperityReachLimit-StartTodayAfterLoadSave",
"Tales@RA@PIS-ProsperityReachLimit-LoadSave@NextAfterLoadingText",
"Tales@RA@PIS-ProsperityReachLimit-LoadSave@NextAfterMerelyWaiting"
]
},
"Tales@RA@PIS-ProsperityReachLimit-StartToday": {
"doc": "生息点数达到上限, 在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": [
"Tales@RA@PIS-ProsperityReachLimit-Dots",
"Tales@RA@PIS-ProsperityReachLimit-StartToday@NextAfterLoadingText",
"Tales@RA@PIS-ProsperityReachLimit-StartToday"
]
},
"Tales@RA@PIS-ProsperityReachLimit-StartTodayAfterLoadSave": {
"doc": "生息点数达到上限, 在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": ["Tales@RA@BackLight", "Tales@RA@PIS-ProsperityReachLimit-StartTodayAfterLoadSave"]
},
"Tales@RA@PIS-ResourceGained": {
"doc": "获得物资, 点击 <点击空白处继续> 文字位置",
"baseTask": "Tales@RA@ResourceGained",
"next": ["#self", "Stop"]
},
"Tales@RA@PIS-Resume": {
"doc": "在主题入口界面点击 <继续演算> 继续游戏",
"algorithm": "OcrDetect",
"action": "ClickSelf",
"text": ["继续演算"],
"roi": [1064, 620, 171, 50],
"next": ["Tales@RA@PIS-Workbench", "Tales@RA@PIS-Resume@NextAfterLoadingText"]
},
"Tales@RA@PIS-ScrollDown": {
"doc": "在组装台界面向下滑动屏幕",
"algorithm": "JustReturn",
"action": "Swipe",
"specificRect": [753, 525, 0, 0],
"rectMove": [753, 80, 0, 0],
"specialParams": [1000, 0, 3, 0],
"postDelay": 300,
"next": ["Tales@RA@PIS-SelectTool"]
},
"Tales@RA@PIS-SelectTool": {
"doc": "选择要组装的道具",
"template": "Tales@RA@WorkbenchIcon.png",
"roi": [50, 5, 60, 60],
"next": ["Tales@RA@PIS-ClickTool", "Tales@RA@PIS-ScrollDown"]
},
"Tales@RA@PIS-SkipToCalc": {
"doc": "跳到下一次量定结算",
"template": ["Tales@RA@ActsLeft2.png", "Tales@RA@ActsLeft1.png", "Tales@RA@NextDay.png"],
"roi": [1152, 45, 54, 98],
"postDelay": 500,
"next": ["Tales@RA@PIS-SkipToCalc-NextDay", "Tales@RA@PIS-SkipToCalc-NonZeroActsLeft"]
},
"Tales@RA@PIS-SkipToCalc-CalcOrNextDay": {
"doc": "等待, 可能进入量定结算或驻扎地产出结算, 若进入驻扎地产出结算则可能点击确认符号跳过等待",
"algorithm": "JustReturn",
"next": [
"Tales@RA@PIS-FinishCalc",
"Tales@RA@PIS-SkipToCalc-StartToday",
"Tales@RA@PIS-SkipToCalc-CalcOrNextDay"
]
},
"Tales@RA@PIS-SkipToCalc-ConfirmToSkipDay": {
"doc": "确认跳过这一日",
"baseTask": "Tales@RA@DialogConfirmYellow",
"template": "Tales@RA@DialogConfirmYellow.png",
"next": ["Tales@RA@PIS-SkipToCalc-NextDay", "Tales@RA@PIS-SkipToCalc-ConfirmToSkipDay@NextAfterLoadingText"]
},
"Tales@RA@PIS-SkipToCalc-NextDay": {
"doc": "点击右上角箭头进入下一个生息日, 若在量定日则进行量定结算",
"baseTask": "Tales@RA@NextDay",
"template": "Tales@RA@NextDay.png",
"next": [
"Tales@RA@PIS-SkipToCalc-NextDay@NextAfterLoadingText",
"Tales@RA@PIS-SkipToCalc-NextDay",
"Tales@RA@PIS-SkipToCalc-CalcOrNextDay"
]
},
"Tales@RA@PIS-SkipToCalc-NonZeroActsLeft": {
"doc": "点击右上角剩余决断次数",
"baseTask": "Tales@RA@NonZeroActsLeft",
"template": ["Tales@RA@ActsLeft2.png", "Tales@RA@ActsLeft1.png"],
"next": ["Tales@RA@PIS-SkipToCalc-SkipDay"]
},
"Tales@RA@PIS-SkipToCalc-SkipDay": {
"doc": "点击右上角 <消磨时间> 箭头",
"baseTask": "Tales@RA@SkipDay",
"template": "Tales@RA@SkipDay.png",
"next": ["Tales@RA@PIS-SkipToCalc-ConfirmToSkipDay"]
},
"Tales@RA@PIS-SkipToCalc-StartToday": {
"doc": "在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": ["Tales@RA@PIS-SkipToCalc", "Tales@RA@PIS-SkipToCalc-StartToday"]
},
"Tales@RA@PIS-Workbench": {
"doc": "点击进入组装台",
"baseTask": "Tales@RA@Workbench",
"template": "Tales@RA@WorkbenchButton.png",
"next": ["Tales@RA@PIS-CraftTool"]
},
"Tales@RA@PNS-ClearSquadIfSizeGE7": {
"doc": "如果当前编队规模大于等于7人则清空当前编队",
"algorithm": "JustReturn",
"next": ["Tales@RA@SquadSizeLE6", "Tales@RA@ClearSquad"]
},
"Tales@RA@PNS-ClickBaseCamp": {
"doc": "点击 <后舍: 众人会聚之地>",
"algorithm": "OcrDetect",
"text": ["众人会聚之地"],
"roi": [732, 295, 127, 54],
"action": "ClickSelf",
"next": ["Tales@RA@PNS-EnterBaseCamp", "Tales@RA@PNS-ClickBaseCamp"]
},
"Tales@RA@PNS-ClickGatheringOfFeathers": {
"doc": "点击 <捕猎区: 聚羽之地>",
"baseTask": "Tales@RA@ClickGatheringOfFeathers",
"postDelay": 1000,
"next": ["Tales@RA@RecogniseEnterNodeButton", "Tales@RA@PNS-ClickGatheringOfFeathers"]
},
"Tales@RA@PNS-ClickShrubberyGalore": {
"doc": "点击 <资源区: 丰饶灌木林>",
"baseTask": "Tales@RA@ClickShrubberyGalore",
"postDelay": 1000,
"next": ["Tales@RA@RecogniseEnterNodeButton", "Tales@RA@PNS-ClickShrubberyGalore"]
},
"Tales@RA@PNS-Commence": {
"doc": "在主题入口界面点击 <开始演算> 开启新游戏",
"algorithm": "OcrDetect",
"action": "ClickSelf",
"text": ["开始演算"],
"roi": [1064, 620, 171, 50],
"next": ["Tales@RA@PNS-Commence@NextAfterLoadingText", "Tales@RA@PNS-OpeningAnimation"]
},
"Tales@RA@PNS-ConfirmSquad": {
"doc": "在编队界面点击 <开始行动>, 若弹出 <确认不携带任何干员进入战斗吗?> 或者 <确认进入战斗吗?> 的对话框, 则点击 <确定>",
"baseTask": "Tales@RA@ConfirmSquad",
"preDelay": 500,
"postDelay": 1000,
"next": ["Tales@RA@DialogConfirmRed", "Stop"]
},
"Tales@RA@PNS-ConfirmToLeaveBaseCamp": {
"doc": "确认离开 <后舍: 众人会聚之地>",
"baseTask": "Tales@RA@DialogConfirmYellow",
"template": "Tales@RA@DialogConfirmYellow.png",
"next": [
"Tales@RA@PNS-ConfirmToLeaveBaseCamp@NextAfterLoadingIcon",
"Tales@RA@PNS-ConfirmToLeaveBaseCamp@NextAfterLoadingText",
"Tales@RA@PNS-ConfirmToLeaveBaseCamp",
"Tales@RA@PNS-GoTo-ShrubberyGalore"
]
},
"Tales@RA@PNS-ConfirmToLeaveNode": {
"doc": "确认离开当前区块, 注意, 可能会在没有 <正在提交反馈至神经> 文字的情况下卡住一小会儿",
"baseTask": "Tales@RA@DialogConfirmYellow",
"template": "Tales@RA@DialogConfirmYellow.png",
"next": [
"Tales@RA@PNS-MissionResults",
"Tales@RA@PNS-ConfirmToLeaveNode@NextAfterLoadingText",
"Tales@RA@PNS-ConfirmToLeaveNode",
"Tales@RA@PNS-ConfirmToLeaveNode@NextAfterMerelyWaiting"
]
},
"Tales@RA@PNS-EnterBaseCamp": {
"doc": "点击 <后舍: 众人会聚之地> 后点击 <开始行动>",
"baseTask": "Tales@RA@EnterNode",
"next": [
"Tales@RA@PNS-OpeningDialogue",
"Tales@RA@PNS-EnterBaseCamp@NextAfterLoadingText",
"Tales@RA@PNS-EnterBaseCamp@NextAfterMerelyWaiting"
]
},
"Tales@RA@PNS-EnterGatheringOfFeathersThenLeave": {
"doc": "进入 <捕猎区: 聚羽之地> 后直接退出",
"baseTask": "Tales@RA@EnterNode",
"action": "DoNothing",
"sub": ["Tales@RA@PNS-EnterNodeThenLeave"],
"next": ["Tales@RA@PNS-SkipToCalc", "Tales@RA@PNS-EnterGatheringOfFeathersThenLeave@NextAfterLoadingIcon"]
},
"Tales@RA@PNS-EnterNodeThenLeave": {
"doc": [
"任务链",
"Step 1: 进入区块节点, 如果当前编队规模大于等于7人则清空当前编队, 在编队界面点击 <开始行动>",
" 若弹出 <确认不携带任何干员进入战斗吗?> 或者 <确认进入战斗吗?> 的对话框, 则点击 <确定>",
"Step 2: 在行动中点击左上角离开当前区块",
"Step 3: 确认离开当前区块",
"Step 4: 在行动结束界面点击左下角 <物资将送往仓库> 图标返回"
],
"baseTask": "Tales@RA@EnterNode",
"postDelay": 800,
"sub": ["Tales@RA@PNS-ClearSquadIfSizeGE7", "Tales@RA@PNS-ConfirmSquad"],
"next": [
"Tales@RA@PNS-LeaveNode",
"Tales@RA@PNS-EnterNodeThenLeave@NextAfterLoadingText",
"Tales@RA@PNS-EnterNodeThenLeave@NextAfterMerelyWaiting"
]
},
"Tales@RA@PNS-EnterShrubberyGaloreThenLeave": {
"doc": "进入 <资源区: 丰饶灌木林> 后直接退出",
"baseTask": "Tales@RA@EnterNode",
"action": "DoNothing",
"sub": ["Tales@RA@PNS-EnterNodeThenLeave"],
"next": [
"Tales@RA@PNS-EnterShrubberyGaloreThenLeave@NextAfterLoadingIcon",
"Tales@RA@PNS-GoTo-GatheringOfFeathers"
]
},
"Tales@RA@PNS-FinishCalc": {
"doc": "已完成生存周期",
"baseTask": "Tales@RA@FinishCalc",
"action": "DoNothing",
"next": ["Tales@RA@PNS-ProsperityReachLimit", "Tales@RA@PNS-ProsperityBelowLimit"]
},
"Tales@RA@PNS-GoTo-GatheringOfFeathers": {
"doc": "前往并点击 <捕猎区: 聚羽之地>, 未来改由 GoTo 插件实现",
"algorithm": "JustReturn",
"sub": [
"Tales@RA@PNS-WaitForHeadquartersButton",
"Tales@RA@ReturnToOrigin",
"Tales@RA@PNS-ClickGatheringOfFeathers"
],
"next": ["Tales@RA@PNS-EnterGatheringOfFeathersThenLeave"]
},
"Tales@RA@PNS-GoTo-ShrubberyGalore": {
"doc": "前往并点击 <资源区: 丰饶灌木林>, 未来改由 GoTo 插件实现",
"algorithm": "JustReturn",
"sub": [
"Tales@RA@PNS-WaitForHeadquartersButton",
"Tales@RA@ReturnToOrigin",
"Tales@RA@PNS-ClickShrubberyGalore"
],
"next": ["Tales@RA@PNS-EnterShrubberyGaloreThenLeave"]
},
"Tales@RA@PNS-LeaveBaseCamp": {
"doc": "在行动中点击左上角离开 <后舍: 众人会聚之地>",
"baseTask": "Tales@RA@LeaveCurrentZone",
"template": "Tales@RA@LeaveCurrentZone.png",
"next": ["Tales@RA@PNS-ConfirmToLeaveBaseCamp", "Tales@RA@PNS-LeaveBaseCamp"]
},
"Tales@RA@PNS-LeaveNode": {
"doc": "在行动中点击左上角离开当前区块, 注意左上角离开按钮渐变出现, 期间点击无效",
"baseTask": "Tales@RA@LeaveCurrentZone",
"template": "Tales@RA@LeaveCurrentZone.png",
"next": ["Tales@RA@PNS-ConfirmToLeaveNode", "Tales@RA@PNS-LeaveNode"]
},
"Tales@RA@PNS-MissionResults": {
"doc": "在行动结束界面点击左下角 <物资将送往仓库> 图标返回, 注意战利品列表加载期间点击无效",
"baseTask": "Tales@RA@MissionResults",
"template": "Tales@RA@SentToWarehouse.png",
"next": ["Tales@RA@PNS-MissionResults", "Stop"]
},
"Tales@RA@PNS-Navigation": {
"algorithm": "JustReturn",
"sub": ["Tales@RA@Navigation"],
"next": ["Tales@RA@ProsperityNoSave"]
},
"Tales@RA@PNS-OpeningAnimation": {
"doc": "等待开启新游戏后的过场动画",
"algorithm": "JustReturn",
"postDelay": 7500,
"next": ["Tales@RA@PNS-ClickBaseCamp"]
},
"Tales@RA@PNS-OpeningDialogue": {
"doc": "点击右下角对话选项位置, 跳过引导对话",
"template": "DialogueLog.png",
"roi": [27, 14, 64, 51],
"sub": ["Tales@RA@PNS-OpeningDialogueClick*10"],
"next": ["Tales@RA@PNS-OpeningDialogue", "Tales@RA@PNS-ResourceGained", "Tales@RA@PNS-LeaveBaseCamp"]
},
"Tales@RA@PNS-OpeningDialogueClick": {
"algorithm": "JustReturn",
"action": "ClickRect",
"specificRect": [901, 422, 360, 51]
},
"Tales@RA@PNS-ProsperityBelowLimit": {
"doc": "已完成生存周期, 生息点数未达到上限, 点击 <点击任意处继续> 文字位置",
"baseTask": "Tales@RA@FinishCalc",
"next": [
"Tales@RA@PNS-ProsperityBelowLimit-StartToday",
"Tales@RA@PNS-ProsperityBelowLimit@NextAfterMerelyWaiting"
]
},
"Tales@RA@PNS-ProsperityBelowLimit-Dots": {
"doc": "生息点数未达到上限, 点击右下角 Dots, 跳过可能的对话事件",
"baseTask": "Tales@RA@Dots",
"template": "Tales@RA@Dots.png",
"next": ["Tales@RA@PNS-ProsperityBelowLimit-SwipeSave", "Tales@RA@PNS-ProsperityBelowLimit-Dots"]
},
"Tales@RA@PNS-ProsperityBelowLimit-StartToday": {
"doc": "生息点数未达到上限, 在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": [
"Tales@RA@PNS-ProsperityBelowLimit-Dots",
"Tales@RA@PNS-ProsperityBelowLimit-StartToday@NextAfterLoadingText",
"Tales@RA@PNS-ProsperityBelowLimit-StartToday"
]
},
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSave": {
"baseTask": "Tales@RA@SwipeSave",
"template": "Tales@RA@SwipeSave.png",
"next": [
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSaveConfirm1",
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSave",
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSave@NextAfterLoadingText"
]
},
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSaveConfirm1": {
"baseTask": "Tales@RA@DialogConfirmRed",
"template": "Tales@RA@DialogConfirmRed.png",
"next": ["Tales@RA@PNS-ProsperityBelowLimit-SwipeSaveConfirm2"]
},
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSaveConfirm2": {
"baseTask": "Tales@RA@DialogConfirmRed",
"template": "Tales@RA@DialogConfirmRed.png",
"postDelay": 1000,
"next": [
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSaveConfirm2",
"Tales@RA@PNS-ProsperityBelowLimit-SwipeSaveConfirm2@NextAfterLoadingText",
"Tales@RA@ProsperityNoSave"
]
},
"Tales@RA@PNS-ProsperityReachLimit": {
"doc": "已完成生存周期, 生息点数达到上限, 点击 MAX 图案位置",
"baseTask": "Tales@RA@ProsperityReachLimit",
"template": "Tales@RA@Max.png",
"next": [
"Tales@RA@PNS-ProsperityReachLimit-StartToday",
"Tales@RA@PNS-ProsperityReachLimit@NextAfterMerelyWaiting"
]
},
"Tales@RA@PNS-ProsperityReachLimit-Dots": {
"doc": "生息点数达到上限, 点击右下角 Dots, 跳过可能的对话事件",
"baseTask": "Tales@RA@Dots",
"template": "Tales@RA@Dots.png",
"next": ["Tales@RA@PNS-ProsperityReachLimit-SwipeSave", "Tales@RA@PNS-ProsperityReachLimit-Dots"]
},
"Tales@RA@PNS-ProsperityReachLimit-StartToday": {
"doc": "生息点数达到上限, 在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": [
"Tales@RA@PNS-ProsperityReachLimit-Dots",
"Tales@RA@PNS-ProsperityReachLimit-StartToday@NextAfterLoadingText",
"Tales@RA@PNS-ProsperityReachLimit-StartToday"
]
},
"Tales@RA@PNS-ProsperityReachLimit-SwipeSave": {
"baseTask": "Tales@RA@SwipeSave",
"template": "Tales@RA@SwipeSave.png",
"next": [
"Tales@RA@PNS-ProsperityReachLimit-SwipeSaveConfirm1",
"Tales@RA@PNS-ProsperityReachLimit-SwipeSave",
"Tales@RA@PNS-ProsperityReachLimit-SwipeSave@NextAfterLoadingText"
]
},
"Tales@RA@PNS-ProsperityReachLimit-SwipeSaveConfirm1": {
"baseTask": "Tales@RA@DialogConfirmRed",
"template": "Tales@RA@DialogConfirmRed.png",
"next": ["Tales@RA@PNS-ProsperityReachLimit-SwipeSaveConfirm2"]
},
"Tales@RA@PNS-ProsperityReachLimit-SwipeSaveConfirm2": {
"baseTask": "Tales@RA@DialogConfirmRed",
"template": "Tales@RA@DialogConfirmRed.png",
"postDelay": 1000,
"next": [
"Tales@RA@PNS-ProsperityReachLimit-SwipeSaveConfirm2",
"Tales@RA@PNS-ProsperityReachLimit-SwipeSaveConfirm2@NextAfterLoadingText",
"RA@Store@WaitEnterStore"
]
},
"Tales@RA@PNS-RecogniseHeadquartersButton": {
"doc": "识别到左下角驻扎地图标",
"baseTask": "Tales@RA@ClickHeadquartersButton",
"template": "Tales@RA@HeadquartersButton.png",
"action": "DoNothing"
},
"Tales@RA@PNS-ResourceGained": {
"doc": "获得物资, 点击 <点击空白处继续> 文字位置",
"baseTask": "Tales@RA@ResourceGained",
"next": ["Tales@RA@PNS-OpeningDialogue#next"]
},
"Tales@RA@PNS-Resume": {
"doc": "在主题入口界面识别到 <继续演算>, 可利用 callback 提示用户切换模式",
"baseTask": "Tales@RA@PIS-Resume",
"action": "DoNothing",
"next": []
},
"Tales@RA@PNS-SkipToCalc": {
"doc": "跳到下一次量定结算",
"template": ["Tales@RA@ActsLeft2.png", "Tales@RA@ActsLeft1.png", "Tales@RA@NextDay.png"],
"roi": [1152, 45, 54, 98],
"postDelay": 500,
"next": ["Tales@RA@PNS-SkipToCalc-NextDay", "Tales@RA@PNS-SkipToCalc-NonZeroActsLeft"]
},
"Tales@RA@PNS-SkipToCalc-CalcOrNextDay": {
"doc": "等待, 可能进入量定结算或驻扎地产出结算, 若进入驻扎地产出结算则可能点击确认符号跳过等待",
"algorithm": "JustReturn",
"next": [
"Tales@RA@PNS-FinishCalc",
"Tales@RA@PNS-SkipToCalc-StartToday",
"Tales@RA@PNS-SkipToCalc-CalcOrNextDay"
]
},
"Tales@RA@PNS-SkipToCalc-ConfirmToSkipDay": {
"doc": "确认跳过这一日",
"baseTask": "Tales@RA@DialogConfirmYellow",
"template": "Tales@RA@DialogConfirmYellow.png",
"next": ["Tales@RA@PNS-SkipToCalc-NextDay", "Tales@RA@PNS-SkipToCalc-ConfirmToSkipDay@NextAfterLoadingText"]
},
"Tales@RA@PNS-SkipToCalc-NextDay": {
"doc": "点击右上角箭头进入下一个生息日, 若在量定日则进行量定结算",
"baseTask": "Tales@RA@NextDay",
"template": "Tales@RA@NextDay.png",
"next": [
"Tales@RA@PNS-SkipToCalc-NextDay@NextAfterLoadingText",
"Tales@RA@PNS-SkipToCalc-NextDay",
"Tales@RA@PNS-SkipToCalc-CalcOrNextDay"
]
},
"Tales@RA@PNS-SkipToCalc-NonZeroActsLeft": {
"doc": "点击右上角剩余决断次数",
"baseTask": "Tales@RA@NonZeroActsLeft",
"template": ["Tales@RA@ActsLeft2.png", "Tales@RA@ActsLeft1.png"],
"next": ["Tales@RA@PNS-SkipToCalc-SkipDay", "Tales@RA@PNS-SkipToCalc-NonZeroActsLeft"]
},
"Tales@RA@PNS-SkipToCalc-SkipDay": {
"doc": "点击右上角 <消磨时间> 箭头",
"baseTask": "Tales@RA@SkipDay",
"template": "Tales@RA@SkipDay.png",
"next": ["Tales@RA@PNS-SkipToCalc-ConfirmToSkipDay"]
},
"Tales@RA@PNS-SkipToCalc-StartToday": {
"doc": "在驻扎地产出结算界面点击确认符号开启今日",
"baseTask": "Tales@RA@StartToday",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"next": ["Tales@RA@PNS-SkipToCalc", "Tales@RA@PNS-SkipToCalc-StartToday"]
},
"Tales@RA@PNS-WaitForHeadquartersButton": {
"doc": "等待直到识别到左下角驻扎地图标",
"algorithm": "JustReturn",
"next": ["Tales@RA@PNS-RecogniseHeadquartersButton", "Tales@RA@PNS-WaitForHeadquartersButton"]
},
"Tales@RA@ProsperityInSave": {
"doc": "生息演算「沙洲遗闻」有存档刷生息点数 <ProsperityInSave> 任务入口",
"algorithm": "JustReturn",
"next": ["Tales@RA@PIS-Resume", "Tales@RA@PIS-Commence", "Tales@RA@PIS-Workbench", "Tales@RA@PIS-Navigation"]
},
"Tales@RA@ProsperityNoSave": {
"doc": "生息演算「沙洲遗闻」无存档刷生息点数 <ProsperityNoSave> 任务入口",
"algorithm": "JustReturn",
"next": ["Tales@RA@PNS-Commence", "Tales@RA@PNS-Resume", "Tales@RA@PNS-Navigation"]
},
"Tales@RA@ProsperityReachLimit": {
"doc": "模板任务: 已完成生存周期, 生息点数达到上限, 点击 MAX 图案位置",
"template": "Tales@RA@Max.png",
"roi": [836, 516, 59, 40],
"action": "ClickSelf"
},
"Tales@RA@RecogniseEnterNodeButton": {
"doc": "模板任务: 通过识别右下角 <开始行动> 按钮判断是否已点击区块节点",
"baseTask": "Tales@RA@EnterNode",
"action": "DoNothing"
},
"Tales@RA@ResourceGained": {
"doc": "模板任务: 获得物资, 点击 <点击空白处继续> 文字位置",
"algorithm": "OcrDetect",
"text": ["点击空白处继续"],
"roi": [500, 445, 280, 41],
"action": "ClickSelf"
},
"Tales@RA@ReturnToOrigin": {
"doc": "让地图视图重置到原始位置",
"baseTask": "Tales@RA@ClickHeadquartersButton",
"template": "Tales@RA@HeadquartersButton.png",
"postDelay": 500,
"next": ["Tales@RA@ReturnToOrigin-CancelEnterBuildMode", "Tales@RA@Origin", "Tales@RA@ReturnToOrigin"]
},
"Tales@RA@ReturnToOrigin-CancelEnterBuildMode": {
"doc": "在右下角存在 <进入建造> 按钮时点击左下角取消进入建造",
"baseTask": "Tales@RA@CancelEnterBuildMode",
"postDelay": 500,
"next": ["Tales@RA@Origin", "Tales@RA@ReturnToOrigin-CancelEnterBuildMode", "Tales@RA@ReturnToOrigin"]
},
"Tales@RA@SelectLeftSave": {
"doc": "模板任务: 选择左侧的存档读取",
"template": "Tales@RA@ActsLeft2.png",
"roi": [317, 488, 196, 32],
"action": "ClickSelf",
"next": ["#self", "Stop"]
},
"Tales@RA@SelectMiddleSave": {
"doc": "模板任务: 选择中间的存档读取",
"template": "Tales@RA@ActsLeft2.png",
"roi": [617, 488, 46, 32],
"action": "ClickSelf",
"next": ["#self", "Stop"]
},
"Tales@RA@SelectRightSave": {
"doc": "模板任务: 选择右侧的存档读取",
"template": "Tales@RA@ActsLeft2.png",
"roi": [767, 488, 196, 32],
"action": "ClickSelf",
"next": ["#self", "Stop"]
},
"Tales@RA@SelectSecondLastSave": {
"doc": "模板任务: 选择从右往左第二个存档或仅存的存档",
"algorithm": "JustReturn",
"next": ["Tales@RA@SelectMiddleSave", "Tales@RA@SelectLeftSave"]
},
"Tales@RA@SkipDay": {
"doc": "模板任务: 点击右上角 <消磨时间> 箭头",
"roi": [1194, 143, 37, 49],
"action": "ClickSelf"
},
"Tales@RA@SquadSizeLE6": {
"doc": "模板任务: 当前编队规模小于等于6人",
"template": "Tales@RA@SquadSizeIndicator0.png",
"roi": [811, 647, 60, 60]
},
"Tales@RA@StartToday": {
"doc": "模板任务: 在驻扎地产出结算界面点击确认符号开启今日",
"template": ["Tales@RA@StartTodayConfirmHollow.png", "Tales@RA@StartTodayConfirmYellow.png"],
"roi": [568, 561, 112, 81],
"action": "ClickSelf"
},
"Tales@RA@SwipeSave": {
"doc": "模板任务: 点击右下角删除存档图标, 仅支持驻扎地等级2及以下",
"roi": [1088, 550, 91, 50],
"action": "ClickSelf"
},
"Tales@RA@Workbench": {
"doc": "模板任务: 点击进入组装台",
"template": "Tales@RA@WorkbenchButton.png",
"roi": [615, 645, 133, 55],
"action": "ClickSelf"
}
}