mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 09:33:51 +00:00
fix: visible item field base 284→408 (was reading quest log, not equipment)
PLAYER_VISIBLE_ITEM_1_ENTRYID for WotLK 3.3.5a is at UNIT_END(148) + 260 = field index 408 with stride 2. The previous default of 284 (UNIT_END+136) was in the quest log field range, causing item IDs like "Lesser Invisibility Potion" and "Deathstalker Report" to be read as equipment entries. This was the root cause of other players appearing naked — item queries returned valid responses but for the WRONG items (quest log entries instead of equipment), so displayInfoIds were consumable/quest item appearances. The heuristic auto-detection still overrides for Classic/TBC (different stride per expansion), so this only affects the WotLK default before detection runs. Also filter addon whispers (GearScore GS_*, DBM, oRA, BigWigs, tab-prefixed) from chat display — these are invisible in the real WoW client.
This commit is contained in:
parent
1bcb05aac4
commit
f4a2a631ab
3 changed files with 24 additions and 6 deletions
|
|
@ -2568,9 +2568,10 @@ private:
|
|||
|
||||
// Visible equipment for other players: detect the update-field layout (base + stride)
|
||||
// using the local player's own equipped items, then decode other players by index.
|
||||
// Default to known WotLK 3.3.5a layout: UNIT_END(148) + 0x0088 = 284, stride 2.
|
||||
// WotLK 3.3.5a: PLAYER_VISIBLE_ITEM_1_ENTRYID = UNIT_END(148) + 0x0104 = 408, stride 2.
|
||||
// Previous value 284 (UNIT_END+136) was wrong — landed in quest log fields.
|
||||
// The heuristic in maybeDetectVisibleItemLayout() can still override if needed.
|
||||
int visibleItemEntryBase_ = 284;
|
||||
int visibleItemEntryBase_ = 408;
|
||||
int visibleItemStride_ = 2;
|
||||
bool visibleItemLayoutVerified_ = false; // true once heuristic confirms/overrides default
|
||||
std::unordered_map<uint64_t, std::array<uint32_t, 19>> otherPlayerVisibleItemEntries_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue