fix(netproto): vendor/stash packet encodings per 1.13c disassembly
- 0x4F ClickButton: amount high word before low word (D2Game 0x6fcf1470);
named ClickButtonId (0x08 trade gold, 0x12 close stash, 0x13 withdraw,
0x14 deposit, 0x18 transmute); amount is required.
- 0x35 repair split into NpcRepairItem (itemMode, durability) and
NpcRepairAll (field4 0x80000000); no defaults.
- 0x32/0x33 field3 semantics: buy = itemMode<<16 | gamble 2 | shift 0x80000000,
sell = itemMode; cost required.
- 0x38: NpcOpenTrade (action 1) / NpcOpenGamble (action 2), confirmed in
D2Game 0x6fce00c0.
- 0x2A decoded as NpcTransaction{result@2, flag@1, itemId@7, gold@11}
(builder D2Game 0x6fcaac90); ClientWorld no longer writes stat 14 from it.
- Byte-level golden tests.