feat(net): 9 more GameEvent payload parsers
Extends GameEvents.cs with parsers for commonly-observed events that
had been routed-but-unparsed by the F.1 dispatcher:
- UseDone (0x01C7): u32 weenieError — Use/UseWithTarget completion.
- InventoryPutObjectIn3D (0x019A): u32 itemGuid — server dropped item.
- InventoryServerSaveFailed (0x00A0): u32 itemGuid — rollback signal.
- CloseGroundContainer (0x0052): u32 containerGuid.
- TradeFailure (0x0207): u32 errorCode.
- AddToTrade (0x0200): (itemGuid, slotIndex).
- AcceptTrade (0x0202): u32 initiatorGuid.
- QueryItemManaResponse (0x0264): (itemGuid, f32 manaPercent).
- CharacterConfirmationRequest (0x0274): (type, contextId, otherGuid,
string16L message) — server-driven modal confirmations.
All defensive: return null on truncated payloads rather than throwing,
matching the existing style. Caller can keep the dispatcher alive even
on malformed events.
Build green, tests unchanged (no new tests — these are simple passthroughs).
Ref: r08 §4 payloads for each opcode.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>