- 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. |
||
|---|---|---|
| .. | ||
| d2moo | ||
| d2moo-oracle | ||
| netproto | ||
| audio-fixture-generator.cpp | ||
| audio.ts | ||
| hud-demo-state.ts | ||