[Parity][net-world][S2][F] 未知导弹类型一律画成 'arrow';导弹射程缺省 20 #574

Closed
opened 2026-10-02 11:42:40 +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 公认行为。

来源审计项:net-world#14 — [S2][F] F14 未知导弹类型一律画成 'arrow';导弹射程缺省 20

  • 位置:src/client/world/client-world.ts:1977(MISSILE_CLASS_ID_TO_KEY[missileClassId] ?? 'arrow')、507((data.range || 20))
  • 原版:每个导弹都有自己的 Missiles.txt 行;客户端不会拿别的导弹替代(V-data missiles.txt 684 行)。渲染层自己也规定"不用替代美术"(unit-drawables.ts:238-245),这里绕过了这条规则。
  • 影响:0x73 下发的导弹只要不在那 66 个映射里(约占 90%),就画成一支箭;Range 为 0 的导弹被当成 20。
  • 建议:用全量 Missiles.txt 按 Id 查;查不到直接报错;Range 0 按原值处理。
  • 已有 issue:—(与 #540 的"占位色块"同类,但对象不同)
> **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 公认行为。 ### 来源审计项:`net-world#14` — [S2][F] F14 未知导弹类型一律画成 `'arrow'`;导弹射程缺省 20 - 位置:`src/client/world/client-world.ts:1977`(`MISSILE_CLASS_ID_TO_KEY[missileClassId] ?? 'arrow'`)、`507`(`(data.range || 20)`) - 原版:每个导弹都有自己的 Missiles.txt 行;客户端不会拿别的导弹替代(V-data `missiles.txt` 684 行)。渲染层自己也规定"不用替代美术"(`unit-drawables.ts:238-245`),这里绕过了这条规则。 - 影响:0x73 下发的导弹只要不在那 66 个映射里(约占 90%),就画成一支箭;Range 为 0 的导弹被当成 20。 - 建议:用全量 Missiles.txt 按 Id 查;查不到直接报错;Range 0 按原值处理。 - 已有 issue:—(与 #540 的"占位色块"同类,但对象不同)
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#574
No description provided.