Files
WoWee/Data
Kelsi 8b4c67bab6 fix(opcodes): map 0x115 to SMSG_INSPECT on Classic (was mislabeled SMSG_INSPECT_RESULTS_UPDATE)
Per cmangos / vmangos Vanilla 1.12 opcode tables:
  SMSG_INSPECT = 0x115 (cmangos Opcodes.h:315, vmangos Opcodes_1_12_1.h:280)

That wire slot was REPURPOSED in TBC to SMSG_INSPECT_RESULTS_UPDATE
(with a different packet body). The Classic opcode table inherited the
post-TBC name, which meant:

- Server sends 0x115 with the Vanilla SMSG_INSPECT body
  (PackedGUID + 19 uint32 itemEntries — EQUIPMENT_SLOT_END=19).
- fromWire(0x115) returned LogicalOpcode::SMSG_INSPECT_RESULTS_UPDATE
  on Classic.
- social_handler.cpp:128 routed the bytes to handleInspectResults(),
  which parses the WotLK-style format and misread the packet.
- The handler at game_handler_packets.cpp:1902 — which has the
  correct Classic 1.12 parser and an explicit comment 'only reachable
  on Classic servers' — was dead code on Classic.

Fixing the JSON name routes wire 0x115 to the Classic-aware handler.
TBC and WotLK JSONs are untouched (SMSG_INSPECT_RESULTS_UPDATE = 0x115
is correct for those expansions).

Turtle inherits classic via _extends, so it gets the fix automatically.

Not patched in this commit:
- SMSG_SET_REST_START / SMSG_QUEST_FORCE_REMOVE both legitimately
  exist at 0x21E across forks (vmangos uses one name, AzerothCore/TC
  uses the other). quest_handler.cpp:685-700 already disambiguates
  by expansion at runtime, so the existing mapping is defensible.
- SMSG_LEVELUP_INFO_ALT — appears to be a project-invented name with
  no upstream wire value. Left alone.
2026-05-15 01:36:57 -07:00
..