diablo2-web/src/client/motion
troytt 45aa95ce2d fix(client/netproto): align 1.13c monster/NPC mode decoding and prevent initial death state (#551)
- Decode the initial 4-bit bitstream in 0xAC AssignNPC as monster mode nMode (D2Game.dll 0x6fcacac9, D2Client.dll 0x6fb5e462) and seed initial 1.13c facing via 0x6ac690c5 (D2Client.dll 0x6fafd512)
- Map 0x69/0x6A/0x6B state command byte pkt[5] via 1.13c D2Client.dll 0x6fb82e68 (MONSTER_CMD_TO_MODE, inverse of D2Game.dll 0x6fd1a718) and only apply pkt[10]/pkt[11] as lifePct on 0x06 (GH) or 0x08/0x09 (DT/DD) so non-death commands (e.g. Charsi 0x6B anvil sequence 0x0C) never zero out lifePct
- Default alive monsters and players to mode=1 (NU) instead of mode=0 (DT) across ClientUnit, ClientWorld, OnlineSession, buildSceneDrawables, and drawUnitSprite
- Transition monster/player modes across UnitMove and OnlineSession interpolator ticks (walk=2, run=15/3, knockback=9/19, stop=1)
- Add 1.13c unit and live .d2cap regression tests

Closes #551
2026-10-02 08:33:00 +00:00
..
interpolate.ts fix(client/netproto): align 1.13c monster/NPC mode decoding and prevent initial death state (#551) 2026-10-02 08:33:00 +00:00
pathfind.ts feat(netproto,client): implement pure-browser D2 1.13c online client (N0-N10) 2026-09-30 04:41:08 +00:00
predictor.ts fix(client): keep unit animation facing aligned with movement direction 2026-10-02 06:38:35 +00:00