diablo2-web/tests/netproto
troytt 7db8c3c9b8 fix(client): neutral not-ready HUD state and server-authoritative HUD commands (P1/P2)
- Stats 6-11 decoded per ItemStatCost ValShift 8 (unconditional >>8, no
  magnitude heuristic); evidence in self.ts doc (capture 1e 07 00 32 = 50<<8).
- Neutral defaults: no Sorceress/lvl85/850k gold/starter gear/belt potions/
  quests/waypoints; class null until server assigns it; XP from
  D2_EXPERIENCE_TABLE_99; no 'Wanderer'/'Player'/'sor'/||100 fallbacks.
- HudCommandSink: HudManager routes stat/skill alloc, skill select, belt use,
  weapon swap, item pick/place/equip/unequip/drop/use, gold drop, transmute and
  waypoint to HudModel commands with no local mutation; render stamina tick
  removed; fabricated skill damage strings removed.
- HudModel.syncFromWorld rebuilds skills/quickbar/containers/waypoints/quests
  unconditionally; derived stats via derived-stats.ts; BeltUse uses real ids.
- netproto: C2S 0x50 DropGold command + encoder.
- ClientWorld: waypoint unitId from 0x63, 0x79 self/partner trade gold split,
  pseudo StatSet ids (>0x1ff) never enter StatLists.
- Tests migrated to explicit demo fixtures (tests/fixtures/hud-demo-state.ts)
  plus new hud-server-authority / drop-gold regression tests.
2026-10-01 01:41:13 +00:00
..
boundary.test.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
core-crypto-bncs-mcp.test.ts feat(netproto,client): implement pure-browser D2 1.13c online client (N0-N10) 2026-09-30 04:41:08 +00:00
d2gs-codecs-items.test.ts refactor: split into isolated common/netproto/server/client/baker modules 2026-10-01 00:10:18 +00:00
drop-gold.test.ts fix(client): neutral not-ready HUD state and server-authoritative HUD commands (P1/P2) 2026-10-01 01:41:13 +00:00