3 Commits

Author SHA1 Message Date
Kelsi
6d8333a849 fix auction house mail expiry and decode invoice/subject bodies
Treat SMSG_MAIL_LIST_RESULT expirationTime as days-remaining (not an
absolute timestamp) across the UI list/detail panels and the Lua
GetInboxHeaderInfo daysLeft field, fixing the bogus 'Dec 31, 1969'
expiry. Add parseAuctionMailBody to decode the auction invoice body
(hexGuid:bid:buyout[:deposit:consignment]) into a coin breakdown
instead of printing it raw, and resolve auction subjects/item names
for the mail list and detail views.
2026-07-19 21:25:12 -07:00
Kelsi
5056a5b7d1 fix(game): correct auction list entry layout per expansion
WotLK servers inspect 7 enchantment slots per auction entry (PRISMATIC
joined MAX_INSPECTED_ENCHANTMENT_SLOT in 3.x); the parser read 6, so
every field after the enchants shifted by 12 bytes and cascaded across
entries. Vanilla sends only a single permanent enchantId with no
duration/charges and no item-flags field, so the classic path over-read
12 bytes per entry, and its totalCount-only trailer never satisfied the
8-byte combined read. Layouts verified against vmangos, cmangos-tbc,
and AzerothCore BuildAuctionInfo; TBC (6 triplets + flags) was already
correct. Adds per-expansion parser regression tests.
2026-07-16 00:32:50 -07:00
Kelsi
24def63636 Fix mailbox money handling across expansions 2026-07-14 22:47:57 -07:00