[Parity][world/render][S1][H] 怪物击退误用 MonMode 9 (S2) 而非 13 (KB) 并在下一 tick 复位 S2,且 MONSTER_MODE_TO_CLIP 将 13 错映为 rn #566
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
来源审计项:
net-world#5— [S1][H] F5 怪物击退用的是 MonMode 9(S2),应为 13(KB);而且 9 被当成"移动模式"复位,真正的 S2 动画永远播不出来src/client/world/client-world.ts:1868(UnitMove knockback → 9)、1540(tick 中 2/9/15 到达后复位成 1);src/client/world/client-unit.ts:265(applyMoveknockback → 9);src/client/session/online-session.ts:1547-1555(不在移动时把 2/9/15 复位成 1)、1775(渲染 mode:knockback → 9)monmode.txt#9 = S2、#13 = KB、#15 = RN;plrmode.txt#19 = KB(V-data)。0x69/0x6B 的 cmd 0x0E/0x0F 映射到 mode 9(S2),这一点与 D2MOOMonsterMsg.cpp:130-150的表一致(V-src)。mS2=1的约 60 种怪:fallen1–5、秃鹫、蝙蝠魔、Diablo、doomknight3、九头蛇、陷阱等)会在下一次 session tick 被当成"已停止的移动"复位成 NU,看不到。MONSTER_CMD_TO_MODE的注释(0x0C/0D 写成 "SQ",实为 S1;0x0E/0F 写成 "KB",实为 S2;0x14 写成 "S2",实为 KB)。来源审计项:
render#8— [S2][F][H]MONSTER_MODE_TO_CLIP是重复定义且有错(13→rn,14 xx 未走 monseq);尸体 / clip / group 兜底链src/client/scene/world-renderer.ts:266-283;兜底在:600-613、:626monmode.txt#13 knockback:token GH、code KB(击退用 GH 动画);#14 sequence:token xx(序列模式应按monseq.txt解析出实际 mode 和帧);#15 run RN。项目里common/units/plr-mode.ts已有MON_MODES,这里又重复写了一份,而且 13 写错了。nu(静默)。MON_MODES[mode].token;mode 14 走 monseq;clip / group 缺失时reportMissingArt并且不画。Fixed and verified in commit
cc0756de2e.