[Parity][net-world][S1][H] 多重射击(Multiple Shot,skill 12)的导弹 key 写成 'multiple shot',本地施放会断线,远端施放会让事件处理抛异常 #562
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#1— [S1][H] F1 多重射击(Multiple Shot,skill 12)的导弹 key 写成'multiple shot',本地施放会断线,远端施放会让事件处理抛异常src/client/world/client-world.ts:588-608(spawnMissilesForSkill的扇形分支);抛出点src/common/skills/missiles-data.ts:1873-1878(getMissileTxtData);断线路径src/client/session/online-session.ts:1138-1151(forwardCommandToAdapter:send之后在同一个 try 里调noteOutgoingCommand,catch 后走handleUnexpectedDisconnect)skillId === 38 ? 'chargedbolt' : skillId === 67 ? 'teeth' : 'multiple shot';throw new Error(`Unknown missile "${missileName}" in Missiles.txt`)multiple shot,只有multipleshotarrow(#213) 和multipleshotbolt(#214);Skills.txt #12 的srvmissilea/cltmissilea指向它们(V-dataskills.txt#12、missiles.txt#213/#214)。noteOutgoingCommand(SkillAt)和远端 0x4D(施法者为别的玩家、skill=12)两条路径都抛Unknown missile "multiple shot"。本地路径上,命令其实已经发出去了,随后被 catch 当成发送失败,触发handleUnexpectedDisconnect(..., 'error', true),会话断开;远端路径上,异常直接冒出handleServerEvent。cltmissilea(再按cltmissileb..d补全),不要手写;noteOutgoingCommand移出发送用的 try/catch,视觉模拟出错不能算网络断线。