Fix inspect spam and emote text lookup for other players

Two bugs fixed:
1. SMSG_INSPECT_RESULTS (0x115) was falling through to the inspect
   handler, but this opcode is not the real inspect response. Removed
   the case so only SMSG_INSPECT_TALENT (0x3F4) triggers the handler.
2. EmotesText DBC layout was missing "ID" field in all 4 expansion
   JSON files, causing operator[] to return 0xFFFFFFFF instead of 0.
   This broke the dbcId reverse lookup, so other players' emotes
   always fell back to generic "performs an emote" text. Added ID
   and OthersTargetTextID/OthersNoTargetTextID to all layouts.
This commit is contained in:
Kelsi 2026-02-14 15:23:32 -08:00
parent 9c61d7ecad
commit 58d8b88721
6 changed files with 13 additions and 10 deletions

View file

@ -107,7 +107,7 @@ void DBCLayout::loadWotlkDefaults() {
// EmotesText.dbc
// Fields 3-18 are 16 EmotesTextData refs: [others+target, target+target, sender+target, ?,
// others+notarget, ?, sender+notarget, ?, female variants...]
layouts_["EmotesText"] = {{{ "Command", 1 }, { "EmoteRef", 2 },
layouts_["EmotesText"] = {{{ "ID", 0 }, { "Command", 1 }, { "EmoteRef", 2 },
{ "OthersTargetTextID", 3 }, { "SenderTargetTextID", 5 },
{ "OthersNoTargetTextID", 7 }, { "SenderNoTargetTextID", 9 }}};