mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-04 16:23:52 +00:00
SMSG_LOOT_START_ROLL, SMSG_LOOT_ALL_PASSED, and loot roll handlers unconditionally read randomSuffix and randomPropertyId fields. These fields only exist in WotLK 3.3.5a and NOT in Classic 1.12 / TBC 2.4.3, causing packet stream corruption on Classic/TBC servers. Packet format differences: - WotLK: includes randomSuffix (4) + randomPropId (4) fields - Classic/TBC: no random property fields Fix gates the field reads based on active expansion: - SMSG_LOOT_START_ROLL: WotLK 33 bytes vs Classic/TBC 25 bytes - SMSG_LOOT_ALL_PASSED: WotLK 24 bytes vs Classic/TBC 16 bytes - SMSG_LOOT_ROLL: WotLK 34 bytes vs Classic/TBC 26 bytes - SMSG_LOOT_ROLL_WON: WotLK 34 bytes vs Classic/TBC 26 bytes This prevents packet stream desynchronization when loot rolls occur on Classic/TBC servers. |
||
|---|---|---|
| .. | ||
| character.cpp | ||
| entity.cpp | ||
| expansion_profile.cpp | ||
| game_handler.cpp | ||
| inventory.cpp | ||
| opcode_table.cpp | ||
| opcodes.cpp | ||
| packet_parsers_classic.cpp | ||
| packet_parsers_tbc.cpp | ||
| player.cpp | ||
| transport_manager.cpp | ||
| update_field_table.cpp | ||
| warden_crypto.cpp | ||
| warden_emulator.cpp | ||
| warden_memory.cpp | ||
| warden_module.cpp | ||
| world.cpp | ||
| world_packets.cpp | ||
| zone_manager.cpp | ||