fix(client): restore missing spell visual effects (cast overlays, flying missiles, and hit explosions) #550

Closed
opened 2026-10-02 07:26:14 +00:00 by troytt · 0 comments
Owner

问题描述 (Problem)

当前在线客户端中法术的视觉效果全部缺失:

  1. 无施法视觉特效 (castoverlay):施放火弹 (Fire Bolt)、火球 (Fire Ball)、冰弹 (Ice Bolt)、充能弹 (Charged Bolt)、传送 (Teleport) 等法术时,施法者身上不显示对应的 fire_cast_1、fire_cast_2、ice_cast_1、light_cast_1、teleport 等叠加动画。
  2. 无飞行投射物 (missile):施法后没有生成飞行物(如火弹、火球、冰弹、冰风暴、充能弹、箭矢等),画面上看不到任何投射物飞行轨迹。
  3. 无命中爆炸视觉效果 (ExplosionMissile):法术命中目标或墙壁时没有生成 fireexplode、explodingarrowexp、iceexplode、freezeexplode、lightninghit 等命中爆炸特效。
  4. 0x73 CreateMissile 数据包被丢弃:decode0x73CreateMissile 将 caster.unitType 设为 3 (missile),而 ClientWorld 试图按施法者单位查找导致直接忽略。
  5. 施法状态未自动过期:unit.castState.untilMs 到期后未清理,且投射物缺少基于 velocityToDccDirection 的 1.13c DCC 方向映射及单次爆炸帧钳制。

期望行为 (Expected Behavior)

严格按照 Diablo II v1.13c Ground Truth (Skills.txt、Missiles.txt、Overlay.txt) 恢复完整的施法叠加特效、飞行投射物轨迹、墙体与单位碰撞检测及命中爆炸视觉效果。

## 问题描述 (Problem) 当前在线客户端中法术的视觉效果全部缺失: 1. **无施法视觉特效 (`castoverlay`)**:施放火弹 (`Fire Bolt`)、火球 (`Fire Ball`)、冰弹 (`Ice Bolt`)、充能弹 (`Charged Bolt`)、传送 (`Teleport`) 等法术时,施法者身上不显示对应的 `fire_cast_1`、`fire_cast_2`、`ice_cast_1`、`light_cast_1`、`teleport` 等叠加动画。 2. **无飞行投射物 (`missile`)**:施法后没有生成飞行物(如火弹、火球、冰弹、冰风暴、充能弹、箭矢等),画面上看不到任何投射物飞行轨迹。 3. **无命中爆炸视觉效果 (`ExplosionMissile`)**:法术命中目标或墙壁时没有生成 `fireexplode`、`explodingarrowexp`、`iceexplode`、`freezeexplode`、`lightninghit` 等命中爆炸特效。 4. **`0x73 CreateMissile` 数据包被丢弃**:`decode0x73CreateMissile` 将 `caster.unitType` 设为 `3` (`missile`),而 `ClientWorld` 试图按施法者单位查找导致直接忽略。 5. **施法状态未自动过期**:`unit.castState.untilMs` 到期后未清理,且投射物缺少基于 `velocityToDccDirection` 的 1.13c DCC 方向映射及单次爆炸帧钳制。 ## 期望行为 (Expected Behavior) 严格按照 Diablo II v1.13c Ground Truth (`Skills.txt`、`Missiles.txt`、`Overlay.txt`) 恢复完整的施法叠加特效、飞行投射物轨迹、墙体与单位碰撞检测及命中爆炸视觉效果。
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#550
No description provided.