Skip to content

Merge:'hotfix/patch0530'| 重构步行吸取解决E1、E3吸取问题。& 主菜单色核方法过严的拒真问题。#295

Merged
sunyink merged 7 commits into
mainfrom
hotfix/patch0530
May 31, 2026
Merged

Merge:'hotfix/patch0530'| 重构步行吸取解决E1、E3吸取问题。& 主菜单色核方法过严的拒真问题。#295
sunyink merged 7 commits into
mainfrom
hotfix/patch0530

Conversation

@sunyink
Copy link
Copy Markdown
Owner

@sunyink sunyink commented May 31, 2026

Summary by Sourcery

Bug Fixes:

  • 通过移除若干启用/禁用颜色配置中的 “connected” 约束,放宽过于严格的 OCR 颜色连接设置。
Original summary in English

Summary by Sourcery

Bug Fixes:

  • Relax overly strict OCR color connection settings by removing the 'connected' constraint for several enable/disable color configurations.

Summary by CodeRabbit

  • 新功能

    • 为特殊小地图场景引入新的步行导航自动化流程与分支,支持夏日/海滨类识别并触发对应处理流
    • 增加技能调用计数与补丁机制、闭环复位与标记完成的自动化路径
    • 新增移动中检测与双地图左右切换的导航图标识别
  • 改进

    • 调整了按钮及按钮背景的颜色识别阈值,提升 OCR 识别稳定性与准确性

@sunyink sunyink linked an issue May 31, 2026 that may be closed by this pull request
3 tasks
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 31, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5c1accfc-69e8-4b38-a884-87b6084c85d2

📥 Commits

Reviewing files that changed from the base of the PR and between 2e07bcb and 273cc99.

📒 Files selected for processing (1)
  • assets/resource/base/pipeline/Collect_TeleportRecall.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • assets/resource/base/pipeline/Collect_TeleportRecall.json

📝 Walkthrough

Walkthrough

重构特殊地图步行吸取为新的 Collect_IM_* 流程(导航入口、OCR 分流、移动判定、技能计数与补丁、闭环复位),并在 Global.json 中调整四处 OCR 颜色识别上界阈值。

Changes

步行吸取流程重构

Layer / File(s) Summary
步行导航入口与状态初始化
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 Collect_InitiatingManual_Onfoot_Start 并更新 Collect_TeleporCircle_OnFoot_NviMap 的 next 分支至新的状态解析入口。
事件首段 OCR 分流与闭环标记
assets/resource/base/pipeline/Collect_TeleportRecall.json
重构特殊地图 expected 集合,分流到 Collect_IM_OnFoot_NviMap_E01_* / E03_*,在首段通过 PatchNode 调用 Collect_IM_Closure 并填充 MarkComplete 参数。
移动交互与移动结束判定
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 A2/B2 移动判定、移动子菜单点击/校验、JumpBack 到移动检测,接入 Collect_IM_OnFoot_Moveing 与 Collect_IM_OnFoot_NviMap_2_Move_End。
技能计数与补丁路由
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 Skill01/SkillEnd 的 CheckTag/UpdateTag 计数限制,并将流路导向 Collect_IM_Skill_1_Patch / Collect_IM_Skill_End_Patch,Patch 会重定向 Collect_Skill_TapReset 的 next。
技能结束补丁与闭环复位
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 Collect_IM_Skill_End_Patch、Collect_IM_Closure、Collect_IM_Reset(RestoreBatch 恢复并清理标签),以及 Collect_IM_GoinNviMap / Collect_IM_DouMap_Tab 与 E03 整套路线。
导航与移动识别模板
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 Rec_NavMap_Lift、Rec_NavMap_Right、Rec_SandBox_Moveing_Tpl、Rec_SandBox_Moveing_Ocr 用于小地图方向与自动移动状态识别。

OCR 颜色识别配置修复

Layer / File(s) Summary
按钮启用/禁用状态颜色阈值修复
assets/resource/base/pipeline/Global.json
在 Anc_Ocr_Enable_Clr、Anc_Ocr_Unable_Clr、Sub_Ocr_Enable_Clr、Sub_Ocr_Unable_Clr 的 ColorMatch 节点中调整 upper 阈值数组排列/取值,更新颜色上界判定。

Sequence Diagram(s)

sequenceDiagram
  participant TeleporCircle as Collect_TeleporCircle_OnFoot_NviMap
  participant Initiate as Collect_InitiatingManual_Onfoot_Start
  participant IMFlow as Collect_IM_OnFoot_NviMap_E01/E03
  participant SkillPatch as Collect_IM_Skill_1_Patch / Collect_IM_Skill_End_Patch
  participant Reset as Collect_IM_Reset

  TeleporCircle->>Initiate: next -> 启动手动步行入口
  Initiate->>IMFlow: OCR 分流 -> E01/E03 路线
  IMFlow->>SkillPatch: CheckTag/UpdateTag -> Patch Collect_Skill_TapReset.next
  SkillPatch->>Reset: 完成后触发 Collect_IM_Closure -> Collect_IM_Reset
Loading

🎯 4 (Complex) | ⏱️ ~60 minutes

文件变更概览

本次 PR 对特殊地图步行吸取流程进行了系统性重构。将事件识别、移动交互、技能调用的旧链路替换为新的 Collect_IM_* 节点体系,涵盖派对会场(事件1)与海滨场景(事件3),并修复全局 OCR 颜色识别配置。

变更详情

步行吸取流程重构

层级 / 文件 摘要
步行导航入口与状态初始化
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 Collect_InitiatingManual_Onfoot_Start 节点作为步行吸取的明确切入点,更新导航链路从旧的 SpecialOut 分支转至新的状态解析节点。
事件1识别与分支初始化
assets/resource/base/pipeline/Collect_TeleportRecall.json
特殊地图 OCR 期望文案更新至派对会场角落、海岸沙滩等场景,后继跳转至 Collect_IM_OnFoot_NviMap_E01_* 系列,A1/B1 检测点通过 PatchNode 调用 Collect_IM_Closure 标记完成。
事件1步行移动与交互流程
assets/resource/base/pipeline/Collect_TeleportRecall.json
A2/B2 条件聚合与移动分支,新增移动目标点击、小地图图标验证、移动状态检测与结束收敛逻辑,接入 MGS 起始流程。
技能调用计数与初始补丁
assets/resource/base/pipeline/Collect_TeleportRecall.json
Skill01/SkillEnd 节点通过 CheckTag/UpdateTag 实现计数限制,建立 Skill_1_Patch 起始补丁片段,将技能结果转接闭环。
技能补丁完成、环境复位与事件3流程
assets/resource/base/pipeline/Collect_TeleportRecall.json
技能补丁收尾与闭包处理,新增 Collect_IM_Closure、Collect_IM_Reset 执行 RestoreBatch 重置,扩展海滨天使事件3的完整流程(OCR识别、A/B路线、参数化完成标记、移动交互)。
导航与移动状态识别模板
assets/resource/base/pipeline/Collect_TeleportRecall.json
新增 Rec_NavMap_Lift、Rec_NavMap_Right 用于导航图标识别,Rec_SandBox_Moveing_Tpl/Ocr 用于移动状态检测。

OCR 颜色识别配置修复

层级 / 文件 摘要
按钮启用/禁用状态颜色阈值修复
assets/resource/base/pipeline/Global.json
修正 Anc_Ocr_Enable_Clr、Anc_Ocr_Unable_Clr、Sub_Ocr_Enable_Clr、Sub_Ocr_Unable_Clr 四个节点的 upper RGB 阈值数组排列。

🎯 4 (Complex) | ⏱️ ~60 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题明确总结了本次变更的主要内容:重构步行吸取以解决E1、E3问题,以及修复主菜单色核方法过严的问题。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hotfix/patch0530

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented May 31, 2026

🧙 Sourcery 已完成对你的拉取请求的审查!


提示与命令

与 Sourcery 交互

  • 触发新的审查: 在拉取请求中评论 @sourcery-ai review
  • 继续讨论: 直接回复 Sourcery 的审查评论。
  • 从审查评论生成 GitHub issue: 通过回复某条审查评论,让 Sourcery 从该评论创建一个 issue。你也可以回复审查评论 @sourcery-ai issue 来从中创建一个 issue。
  • 生成拉取请求标题: 在拉取请求标题中的任意位置写上 @sourcery-ai,即可随时生成标题。你也可以在拉取请求中评论 @sourcery-ai title 来(重新)生成标题。
  • 生成拉取请求摘要: 在拉取请求正文中的任意位置写上 @sourcery-ai summary,即可在你想要的位置随时生成 PR 摘要。你也可以在拉取请求中评论 @sourcery-ai summary 来(重新)生成摘要。
  • 生成审查者指南: 在拉取请求中评论 @sourcery-ai guide,即可随时(重新)生成审查者指南。
  • 解决所有 Sourcery 评论: 在拉取请求中评论 @sourcery-ai resolve,即可解决所有 Sourcery 评论。如果你已经处理了所有评论且不想再看到它们,此功能非常实用。
  • 撤销所有 Sourcery 审查: 在拉取请求中评论 @sourcery-ai dismiss,即可撤销所有现有的 Sourcery 审查。如果你想从头开始一次新的审查,这尤其有用——别忘了评论 @sourcery-ai review 来触发新的审查!

自定义你的体验

访问你的控制面板 以:

  • 启用或禁用审查功能,例如 Sourcery 生成的拉取请求摘要、审查者指南等。
  • 更改审查语言。
  • 添加、移除或编辑自定义审查说明。
  • 调整其他审查设置。

获取帮助

Original review guide in English

🧙 Sourcery has finished reviewing your pull request!


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我在这里给了一些高层面的反馈:

  • 由于 connected 字段正从多个 OCR 颜色配置中移除,请确认所有之前依赖该标志位的代码路径或解析器都已更新,避免在连通性方面仍然存在隐式假设或形成无用的死代码。
  • 如果 connected 现在在全局范围内已经废弃,建议在所有相关的流水线 JSON 配置中统一删除该字段,以避免出现配置不一致的状态,并减少对当前仍在使用哪些字段的困惑。
给 AI 代理的提示
Please address the comments from this code review:

## Overall Comments
- 由于 `connected` 字段正从多个 OCR 颜色配置中移除,请确认所有之前依赖该标志位的代码路径或解析器都已更新,避免在连通性方面仍然存在隐式假设或形成无用的死代码。
- 如果 `connected` 现在在全局范围内已经废弃,建议在所有相关的流水线 JSON 配置中统一删除该字段,以避免出现配置不一致的状态,并减少对当前仍在使用哪些字段的困惑。

Sourcery 对开源项目是免费的——如果你喜欢我们的评审,请考虑分享它们 ✨
帮我变得更有用!请在每条评论上点击 👍 或 👎,我会根据你的反馈改进评审质量。
Original comment in English

Hey - I've left some high level feedback:

  • Since the connected field is being removed from several OCR color configs, verify that any code paths or parsers that previously relied on this flag are updated to avoid implicit assumptions or dead logic around connectivity.
  • If connected is now obsolete globally, consider removing it consistently from all related pipeline JSON configs to avoid mixed configuration states and reduce confusion about which fields are still in use.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Since the `connected` field is being removed from several OCR color configs, verify that any code paths or parsers that previously relied on this flag are updated to avoid implicit assumptions or dead logic around connectivity.
- If `connected` is now obsolete globally, consider removing it consistently from all related pipeline JSON configs to avoid mixed configuration states and reduce confusion about which fields are still in use.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@github-actions
Copy link
Copy Markdown
Contributor

🤖 DeepSeek 自动评审报告

模型deepseek-v4-pro 触发workflow_dispatch Diff 截断:否 输出截断:否 参考资料截断:否 改动文件:2(二进制跳过 0)

概览

本次 PR 重构了传送阵步行吸取模块,将原先两个特殊地图(夏日骑士、海滨天使)的复杂流程替换为清晰且分层的 Collect_IM_* 节点链,并引入 Counter 模块(CheckTag/UpdateTag)控制技能调用次数与环境复位。同时在 Global.json 中移除了四个 ColorMatch 节点中过于严苛的 connected 约束,以降低拒真率。整体逻辑更清晰,但存在节点重复定义与部分拷贝残留问题。

阻塞性问题(必须修改)

  • 文件assets/resource/base/pipeline/Collect_TeleportRecall.json 新增末尾部分
  • 问题:新增节点 Rec_NavMap_LiftRec_NavMap_RightRec_SandBox_Moveing_TplRec_SandBox_Moveing_Ocr 可能与资源包内其他文件中已存在的同名节点冲突。
  • 原因:资料 B(节点索引)明确记录这些节点名称已存在,推测它们在其他 pipeline 文件中有定义。MaaFW 资源加载时,同一资源包内同名节点后加载的定义会覆盖先加载的(或导致行为未定义),可能引起跳转混乱或意外覆盖。
  • 建议:检查这些识别节点是否已在其他 JSON 文件中定义,若是,应移除本次新增的重复定义,仅保留原有定义,或统一到一处。若需集中管理,应移除其他位置的旧定义。

建议改进(非阻塞)

  • 文件Collect_TeleportRecall.json 新增 Collect_IM_OnFoot_NviMap_E03_A2 等节点

  • 问题focus 注释内容误用“夏日骑士”文案(应为“海滨天使”),例如 Collect_IM_OnFoot_NviMap_E03_A2focus 写为 "CTB.特殊地图-夏日骑士-02"

  • 原因:拷贝粘贴遗留,属于陈旧注释,可能导致维护时误解。

  • 建议:将对应 focus 改为 "CTB.特殊地图-海滨天使-02" 或类似正确描述。

  • 文件Collect_TeleportRecall.json 新增 Collect_IM_Closure

  • 问题recognition 使用 "And"all_of 仅含一个节点 "Global_QuickCart_MenuReset_Ocr",与直接引用该节点效果相同,无必要增加 And 开销。

  • 原因:冗余组合识别,可简化。

  • 建议:直接改为 "recognition": "OCR" 或引用 "Global_QuickCart_MenuReset_Ocr"(若为简洁识别节点,可直接复用)。

  • 文件Collect_TeleportRecall.json 新增 Collect_IM_OnFoot_Moveing

  • 问题:节点缺少 action 字段,虽默认为 DoNothing 功能正常,但意图不明确。

  • 原因:可能为省略写法,但为确保可读性建议显式声明 "action": "DoNothing"

  • 建议:补上 "action": "DoNothing",使节点行为一目了然。

疑问 / 需要作者确认

  1. 新增的 Collect_IM_OnFoot_NviMap_E01_A2_MoveE03_A2_Move 等节点没有设置 on_error,若 next 列表超时且 max_hit 用尽,是否会进入父节点的错误处理路径?需确认异常流程是否被其他机制兜底(如 Collect_IM_OnFoot_NviMap_E01_A2on_error,最终可能沿调用链上溯到 Global_Index 的 on_error),若无保护建议补充。
  2. Collect_IM_DouMap_Tabenabled: false 表示当前未启用,未来计划用于双地图切换吗?若功能尚未完成,是否应移除或添加更详细的注释说明其意图。
  3. Global.json 中移除 connected 的四个节点(Anc_Ocr_Enable_Clr 等),其 count 阈值是否需要随之调整?当前阈值在非连接模式下是否足以准确判断按钮状态,请结合实际测试验证。

由 GitHub Actions + DeepSeek 自动生成;以人工审查为准。

@sunyink sunyink merged commit 2803fd1 into main May 31, 2026
21 checks passed
@sunyink sunyink deleted the hotfix/patch0530 branch May 31, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

地图采集在Event_1_夏日骑士卡死 地图吸取. 夏日骑士和海滨天使中。 吸取不能,存在导航问题。

1 participant