mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Fix duplicate whisper display in Classic chat parser
Vanilla SMSG_MESSAGECHAT writes senderGuid twice for all standard chat types. Parser only read one GUID for WHISPER/WHISPER_INFORM, shifting the read position and causing the server echo filter to fail to match the player's GUID.
This commit is contained in:
parent
67fdd7809a
commit
0b28dbf140
1 changed files with 12 additions and 2 deletions
|
|
@ -447,7 +447,16 @@ bool ClassicPacketParsers::parseMessageChat(network::Packet& packet, MessageChat
|
|||
|
||||
case ChatType::SAY:
|
||||
case ChatType::PARTY:
|
||||
case ChatType::YELL: {
|
||||
case ChatType::YELL:
|
||||
case ChatType::WHISPER:
|
||||
case ChatType::WHISPER_INFORM:
|
||||
case ChatType::GUILD:
|
||||
case ChatType::OFFICER:
|
||||
case ChatType::RAID:
|
||||
case ChatType::RAID_LEADER:
|
||||
case ChatType::RAID_WARNING:
|
||||
case ChatType::EMOTE:
|
||||
case ChatType::TEXT_EMOTE: {
|
||||
// senderGuid(u64) + senderGuid(u64) — written twice by server
|
||||
data.senderGuid = packet.readUInt64();
|
||||
/*duplicateGuid*/ packet.readUInt64();
|
||||
|
|
@ -481,8 +490,9 @@ bool ClassicPacketParsers::parseMessageChat(network::Packet& packet, MessageChat
|
|||
}
|
||||
|
||||
default: {
|
||||
// GUILD, OFFICER, RAID, WHISPER, WHISPER_INFORM, etc: senderGuid(u64)
|
||||
// All other types: senderGuid(u64) + senderGuid(u64) — written twice
|
||||
data.senderGuid = packet.readUInt64();
|
||||
/*duplicateGuid*/ packet.readUInt64();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue