-
Notifications
You must be signed in to change notification settings - Fork 231
feat: 画面建档(防卫战/快捷手册)+ skill 方法论 + analyze_screen vision_hint #2517
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 9 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
6136218
fix: 修复剧变节点进度解析 (#2506)
kawayiYokami 2cfab7b
Merge remote-tracking branch 'origin/main' into fix/issue-2506-defens…
DoctorReid 3953e53
Merge remote-tracking branch 'origin/main' into fix/issue-2506-defens…
DoctorReid 7137601
docs(skill): 补合并后删分支提示 + 测试仓分支占位方法论
DoctorReid 38121d4
docs(game): 式舆防卫战(选关)+ 快捷手册 建档 + 玩法 doc(对应 #2510 L4 建档)
DoctorReid e6c0163
docs(skill): onboard 方法论强化 + 防卫战 source_image 归档名(对应 #2510)
DoctorReid 00f8568
docs(game): 画面 doc source_image 统一为测试仓相对路径(对应 #2510)
DoctorReid 7ca3fba
feat(backend): analyze_screen 返回 vision_hint 能力边界提示
DoctorReid ea1d52d
Merge remote-tracking branch 'origin/main' into fix/issue-2506-defens…
DoctorReid f111c76
docs(skill): 处理 #2517 CodeRabbit review(周期/建模统一 + source_image 契约 + c…
DoctorReid e282d47
docs(review): screenshot_archive 加图流程补多子态标题 source_image 同步(#2517 Cod…
DoctorReid File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,102 @@ | ||
| --- | ||
| gameplay_name: 式舆防卫战 | ||
| involves_screens: [式舆防卫战, 式舆防卫战-三间选择, 快捷手册, 战斗画面] | ||
| --- | ||
|
|
||
| # 式舆防卫战(玩法) | ||
|
|
||
| 绝区零**终局战斗玩法**(endgame combat),限期击败所有敌人领奖。画面见 [式舆防卫战.md](../screens/式舆防卫战.md)。 | ||
|
|
||
| ## 这是什么 | ||
|
|
||
| 式舆防卫战是绝区零的终局战斗挑战,定位类似其他游戏的「深渊」——考验配队练度 + 属性克制,通关给菲林(抽卡货币)等周期奖励。 | ||
|
|
||
| **解锁**:绳网等级(Inter-Knot Level)20,完成绳网声誉升阶任务后开放(Game8)。**剧变节点**需**先通关稳定节点全部 10 关**才解锁(Fandom wiki)。 | ||
|
|
||
| **入口**:快捷手册 → 作战 tab → 式舆防卫战「前往」→ 传送(见 [快捷手册](../screens/快捷手册.md))。 | ||
|
|
||
| ## 三大节点类型(玩法核心区分) | ||
|
|
||
| 式舆防卫战含**三种节点**,玩家视角含义不同(来源:Fandom wiki + Game8): | ||
|
|
||
| | 节点 | 中文 | 防线数 | 刷新 | 时限 | 评分依据 | | ||
| |---|---|---|---|---|---| | ||
| | Stable Node | 稳定节点 | 10 | **永久**(一次性) | 有(10 分钟) | 消灭敌人 + 剩余时间 | | ||
| | Disputed Node | 纷争节点 | 8 | **永久**(一次性) | **无** | 角色存活(不被击倒) | | ||
| | Critical Node | **剧变节点** | 5(2.5 改版) | **每 14 天重置**(双周五 04:00) | 有(10 分钟) | 消灭敌人 + 剩余时间 | | ||
|
|
||
| - **稳定 / 纷争节点**:永久常驻,一次性通关即可(练度够了打一次永远不用再打)。 | ||
| - **剧变节点**:**周期刷新**,每期重置进度可重新领奖 → **这是脚本能反复跑的价值所在**(app `shiyu_defense` 只自动化剧变节点,代码 `TransportByCompendium('作战', '式舆防卫战', '剧变节点')`)。 | ||
|
|
||
| ## 玩法目标 | ||
|
|
||
| 打满当期**剧变节点 5 个防线**,达成挑战目标拿**最高评级(S)**,领满周期奖励。 | ||
|
|
||
| 里程碑:防线 1 → 5 逐个攻克;每防线 2 个挑战目标(如「剩余时间≥X」「消灭所有敌人」),全达成 = S 评级 = 满奖励。 | ||
|
|
||
| ## 核心机制 | ||
|
|
||
| ### 弱点 + 抗性(配队依据) | ||
| 每防线分 **2 个半场(1st Half / 2nd Half)**,各自显示: | ||
| - **推荐属性(弱点)**:用这些属性的代理人伤害更高。 | ||
| - **敌人抗性**:这些属性的代理人伤害被削,避免用。 | ||
|
|
||
| 据此为每个半场配克制队 —— 这是「配队策略」核心。脚本 `calc_teams` 就是按弱点匹配预备编队(见附录)。 | ||
|
|
||
| ### 防线效果(Frontier Effect) | ||
| 每期剧变节点有**整期共享的特殊增益**(如「冰属性伤害+10%、异常精通+40」),利用效果配队更易通关。2.5 改版后所有防线共享同一效果(来源:Game8)。 | ||
|
|
||
| ### 快速扫荡(Quick Sweep)—— 周期跳关机制 | ||
| - 上季**防线 5 评 S** → 下季**防线 1-3 自动 S**(跳过)。 | ||
| - 上季**防线 4 评 S** → 下季**跳过防线 1-2,从防线 3 开始**。 | ||
|
|
||
| ⚠️ **这是 issue #2506 的玩法根因**:新一期可能从**中间防线**开始(上季成绩决定跳关),脚本要 OCR「剧变节点进度 X/Y」判断从哪个防线继续,不能无脑从防线 1 开始(见 [画面 doc](../screens/式舆防卫战.md)「剧变节点进度」)。 | ||
|
|
||
| ### 防线 5 = 多间模式(2.5 改版新增) | ||
| 防线 5 拆成 **3 个独立房间(Room)**: | ||
| - 每房间**独立配队**,代理人/音擎/驱动盘**锁定不共享**(A 房用了的装备 B 房不能用)。 | ||
| - 每房间累积战斗得分:击败 Normal/Elite/Boss = **100/500/8000 DMG Score** + 击败 Normal/Elite 一次性 **100/500 Elimination Score**(基础满分 10000);时间倍率 60/70/80/90/105/120/135/150s 内 = **4/3.2/2.5/2.0/1.5/1.0/0.6/0.3x**(应用后满分 50000)。来源:Fandom wiki。 | ||
| - 画面见 [式舆防卫战-三间选择](../screens/式舆防卫战.md)(screen_info `shiyu_defense_select_3.yml`)。 | ||
|
|
||
| ## 核心资源(奖励) | ||
|
|
||
| 剧变节点**全防线 S 评级**总奖励(来源:Fandom wiki): | ||
|
|
||
| | 资源 | 数量 | 作用 | | ||
| |---|---|---| | ||
| | 菲林(Polychrome) | 780 | 抽卡货币(核心价值) | | ||
| | 调查绩点(Investigation Merits) | 1080 | 调查商店货币 | | ||
| | 高保真母带(Hi-Fi Master Copy) | 5 | 角色升级材料 | | ||
| | 音擎晶片(W-Engine Chip) | 3 | 音擎强化材料 | | ||
| | 丁尼(Denny) | 350,000 | 金币 | | ||
|
|
||
| > 稳定节点全通 = 3000 菲林(一次性);纷争节点全通 = 1600 菲林(一次性)。这两类打一次永久领完,脚本能反复跑的只有剧变节点(每期 780 菲林)。 | ||
|
|
||
| ## 周期 | ||
|
|
||
| - **剧变节点**:每 **14 天**(双周五 04:00)重置,进度清零,可重新领奖。 | ||
| - **稳定 / 纷争节点**:永久常驻,无需周期关注。 | ||
|
|
||
| 日常节奏:剧变节点刷新那周跑一次脚本即可(周限倒计时显示在选关主界面,如实测「距本次作战终止还有 04 天 13 时」)。 | ||
|
|
||
| ## 入口 | ||
|
|
||
| 大世界 → 快捷手册(右上角)→ 作战 tab → 式舆防卫战「前往」→ 传送确认 → 剧变节点选关主界面。 | ||
|
|
||
| ## 附录:自动化实现(app `shiyu_defense`) | ||
|
|
||
| ⚠️ **只自动化剧变节点**(稳定/纷争是永久一次性,玩家手动通一次即可,不值得写脚本)。 | ||
|
|
||
| **普通防线(1-4)节点链**: | ||
| 传送(TransportByCompendium 作战/式舆防卫战/剧变节点)→ 等加载(关"前次行动最佳记录"弹窗 + 等"前哨档案")→ 选择节点(OCR 剧变节点进度 X/Y 首尾数字法判断从哪开始,#2510)→ 识别弱点算配队(`calc_teams`,2 半场弱点+抗性 → DFS 选预备编队,避代理人冲突)→ 选配队(`ChoosePredefinedTeam` 点编队名+200px)→ 出战(Deploy)→ 自动战斗(`ShiyuDefenseBattle`,每半场一次,op 内部移动+战斗+阶段切换)→ 下一节点(战斗结束-下一防线/退出)→ 所有节点完成 → 领奖(奖励入口→全部领取)→ 关闭奖励 → 返回大世界。 | ||
|
|
||
| **防线 5(多间模式)**:选节点-05 → 三间选择(`calc_teams_for_multi_room` 3 房配队)→ 循环{前往第N间 → 实战模拟室预备编队 → 出战 → `ShiyuDefenseBattle` → 战斗结束-退出}→ 返回主界面 → 领奖。 | ||
|
|
||
| **关键 op(`ShiyuDefenseBattle`)内部**:等战斗画面 → 检测防卫战倒计时(pipeline)→ 有倒计时=战斗中跑 auto_battle / 无倒计时按距离移动(move_w)→ 一层敌人清完(连续5秒无倒计时)→ `move_after_battle`:检测距离/传送点(防卫战空洞传送点 pipeline)/按键-交互 → 自移动 + F 交互进下一层 → 直到该半场胜利。**op 完整封装移动+战斗+阶段切换,不需外部干预**(详见 [画面 doc](../screens/式舆防卫战.md)「选配队与触发战斗」)。 | ||
|
|
||
| ## 信息来源与置信度 | ||
|
|
||
| - **玩法机制(节点类型/弱点抗性/快速扫荡/多间规则/奖励数字)**:Fandom wiki(Shiyu Defense/Critical Node)+ Game8(Shiyu Defense Guide and Reset),2026-07-19 查证。 | ||
| - **实拍确认**(2026-07-19):选关主界面(前哨档案+节点01-05+剧变节点进度 3/5→OCR 连写 315)/ 弱点编队界面(2 阶段弱点抗性)/ 预备编队管理+选队 / 战斗画面(移动触发)/ 一层结束(距离+入口)/ 入口前可交互(按键-交互+F)。 | ||
| - **代码反推**:`shiyu_defense_app.py`(节点链)/ `shiyu_defense_battle.py`(ShiyuDefenseBattle op 内部)/ `shiyu_defense_team_utils.py`(calc_teams)/ screen_info `shiyu_defense.yml` + `shiyu_defense_select_3.yml`。 | ||
| - **待确认**:2.5 改版后防线数(代码节点-01..05 = 5,与 wiki 一致);多间模式 3 房间规则(代码 ROOM_NAMES = 3,与 wiki 一致)。奖励数字以 wiki 为准(脚本不读奖励,仅通关领奖)。 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.