[Parity][motion-input][S2][F] 路径预测有多级回退:找不到当前关卡视图时,用合成的"全可走"视图,或干脆直线穿墙 #592

Closed
opened 2026-10-02 11:42:43 +00:00 by troytt · 0 comments
Owner

1.13c 客户端保真度审计立项(基准快照:7bd1090 / main @ 77a20c7)

证据标记说明:V-data = 1.13c MPQ 数据表 (.txt / animdata.d2 / .tbl / pal.pl2);V-src = D2MOO 逆向源码;V-bin = 1.13c DLL 反汇编;K = 1.13c 公认行为。

来源审计项:motion-input#13 — [S2][F] 13. 路径预测有多级回退:找不到当前关卡视图时,用合成的"全可走"视图,或干脆直线穿墙

  • 位置:command-mapper.ts:890-941(startLocalPathPrediction::903-913 四级 ?? 回退链;:938-940 失败时直接用 [{ x: targetX, y: targetY }] 走直线);automap/automap-view.ts:97-198(buildFallbackLevelView 合成视图)、:368-373(catch { view = buildFallbackLevelView(...) })
  • 代码:… ?? this.mapService?.getActiveLevelView() ?? this.automapView?.getLevelView() ?? null;this.lastPath = [{ x: targetX, y: targetY }]
  • 原版:路径只依据单位所在房间的碰撞数据计算,没有"直线穿墙"这种兜底(K-高)。
  • 影响:跨关卡边界点击,或关卡视图还没生成、生成出错时,本地角色会直线穿墙走,随后被服务器拉回。这属于 AGENTS.md §3 禁止的静默兜底。
  • 建议:拿不到真实碰撞数据时不做本地预测(只发包,等服务器的 0x0F/0x15),并显式报错;寻路链中不再使用 buildFallbackLevelView。
  • 已有 issue:—
> **1.13c 客户端保真度审计立项**(基准快照:`7bd1090` / `main @ 77a20c7`) > 证据标记说明:`V-data` = 1.13c MPQ 数据表 (`.txt` / `animdata.d2` / `.tbl` / `pal.pl2`);`V-src` = D2MOO 逆向源码;`V-bin` = 1.13c DLL 反汇编;`K` = 1.13c 公认行为。 ### 来源审计项:`motion-input#13` — [S2][F] 13. 路径预测有多级回退:找不到当前关卡视图时,用合成的"全可走"视图,或干脆直线穿墙 - 位置:`command-mapper.ts:890-941`(`startLocalPathPrediction`:`:903-913` 四级 `??` 回退链;`:938-940` 失败时直接用 `[{ x: targetX, y: targetY }]` 走直线);`automap/automap-view.ts:97-198`(`buildFallbackLevelView` 合成视图)、`:368-373`(`catch { view = buildFallbackLevelView(...) }`) - 代码:`… ?? this.mapService?.getActiveLevelView() ?? this.automapView?.getLevelView() ?? null`;`this.lastPath = [{ x: targetX, y: targetY }]` - 原版:路径只依据单位所在房间的碰撞数据计算,没有"直线穿墙"这种兜底(K-高)。 - 影响:跨关卡边界点击,或关卡视图还没生成、生成出错时,本地角色会直线穿墙走,随后被服务器拉回。这属于 AGENTS.md §3 禁止的静默兜底。 - 建议:拿不到真实碰撞数据时不做本地预测(只发包,等服务器的 0x0F/0x15),并显式报错;寻路链中不再使用 `buildFallbackLevelView`。 - 已有 issue:—
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#592
No description provided.