Conversation
当判断进入"GoTo${Id}NotAtStartPos"时,直接传送然后进行寻路的逻辑改为传送后判断两次位置是否在目标附近,如果处于附近状态再进行寻路,不然退出任务。
There was a problem hiding this comment.
我们遇到错误,目前无法审查此 PR。我们已经收到通知,正在努力修复问题。
你可以在此 Pull Request 中评论 @sourcery-ai review 以重试,或者联系我们获取帮助。
Original comment in English
We encountered an error and are unable to review this PR. We have been notified and are working to fix it.
You can try again by commenting this pull request with @sourcery-ai review, or contact us for help.
There was a problem hiding this comment.
Pull request overview
该 PR 针对 EnvironmentMonitoring/OutskirtsMonitoringTerminal 流程在“传送后落点不正确”场景下的误继续寻路问题,增加了传送后的落点复核与重试逻辑,避免错误路径规划继续执行。
Changes:
- 在
GoTo${Id}NotAtStartPos分支中:传送后先进行位置断言复核;不满足则重试一次传送;仍不满足则结束当前子任务。 - 批量同步更新各个 OutskirtsMonitoringTerminal 任务的 pipeline JSON,使其与模板逻辑一致。
- 对若干
TemplateMatch节点做字段顺序整理(不影响语义)。
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tools/pipeline-generate/EnvironmentMonitoring/OutskirtsMonitoringTerminal/template.jsonc | 模板中为“传送后落点复核 + 二次重试 + 失败退出”新增节点与跳转链路 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/VigorousCisternOriginiumSlug.json | 应用传送后落点复核/重试/失败退出逻辑到具体任务配置 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/RainbowFin.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/ObservantSableChestedFowlbeast.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/InflatedAndGlowingBugspittingLankybeast.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/IndoorCrops.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/EternalSunset.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/EcologyNearTheFieldLogisticsDepot.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/CollapsedTianshiPillar.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/CleansingJade.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/CisternOriginiumSlugs.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/BeaconDamagedInBlightTide.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| assets/resource/pipeline/EnvironmentMonitoring/OutskirtsMonitoringTerminal/AncientTree.json | 同上,并调整部分 TemplateMatch 字段顺序 |
| "next": [ | ||
| "GoTo${Id}RecheckStartPos", | ||
| "GoTo${Id}ReEnterMap" | ||
| ] | ||
| }, | ||
| "GoTo${Id}RecheckStartPos": { | ||
| "desc": "传送后再次检查是否已在${Name}任务开始位置附近", | ||
| "recognition": "Custom", | ||
| "custom_recognition": "MapTrackerAssertLocation", | ||
| "custom_recognition_param": { | ||
| "expected": [ | ||
| { | ||
| "map_name": "${MapName}", | ||
| "target": "${MapTarget}" | ||
| } | ||
| ] | ||
| }, | ||
| "next": [ | ||
| "GoTo${Id}MapTrackerMove" | ||
| ] | ||
| }, | ||
| "GoTo${Id}ReEnterMap": { | ||
| "desc": "传送后仍未到达${Name}任务开始位置附近,重试一次传送", | ||
| "action": "Custom", | ||
| "custom_action": "SubTask", | ||
| "custom_action_param": { | ||
| "sub": [ | ||
| "${EnterMap}" | ||
| ] | ||
| }, | ||
| "next": [ | ||
| "GoTo${Id}FinalCheckStartPos", | ||
| "GoTo${Id}StartPosFailed" | ||
| ] | ||
| }, | ||
| "GoTo${Id}FinalCheckStartPos": { | ||
| "desc": "二次传送后再次检查是否已在${Name}任务开始位置附近", | ||
| "recognition": "Custom", | ||
| "custom_recognition": "MapTrackerAssertLocation", | ||
| "custom_recognition_param": { | ||
| "expected": [ | ||
| { | ||
| "map_name": "${MapName}", | ||
| "target": "${MapTarget}" | ||
| } | ||
| ] | ||
| }, | ||
| "next": [ | ||
| "GoTo${Id}MapTrackerMove" | ||
| ] |
There was a problem hiding this comment.
这里新增了 GoTo${Id}RecheckStartPos / GoTo${Id}FinalCheckStartPos 两个节点,但它们的 MapTrackerAssertLocation 参数与既有的 GoTo${Id}StartPos 完全一致,导致模板与生成产物出现三份重复的 location 断言配置。建议复用 GoTo${Id}StartPos:例如传送后直接在 next 中按顺序引用 GoTo${Id}StartPos → GoTo${Id}ReEnterMap(第二次则 GoTo${Id}StartPos → GoTo${Id}StartPosFailed),即可保持同样的控制流并减少重复维护点。
|
请运行一下 pnpm format |
当判断进入"GoTo${Id}NotAtStartPos"时,直接传送然后进行寻路的逻辑改为传送后判断两次位置是否在目标附近,如果处于附近状态再进行寻路,不然退出任务。
Summary by Sourcery
调整 EnvironmentMonitoring OutskirtsMonitoringTerminal 任务,在传送后先验证玩家位置再继续后续流程。
Bug 修复:
改进:
Original summary in English
Summary by Sourcery
Adjust EnvironmentMonitoring OutskirtsMonitoringTerminal tasks to validate player position after teleporting before proceeding.
Bug Fixes:
Enhancements: