fix: align turtle protocol compatibility

This commit is contained in:
Kelsi 2026-03-15 01:47:36 -07:00
parent b0fafe5efa
commit 0b6265bc55
3 changed files with 42 additions and 33 deletions

View file

@ -127,7 +127,7 @@
"SMSG_SPELL_FAILURE": "0x133",
"SMSG_SPELL_COOLDOWN": "0x134",
"SMSG_COOLDOWN_EVENT": "0x135",
"SMSG_EQUIPMENT_SET_SAVED": "0x137",
"SMSG_UPDATE_AURA_DURATION": "0x137",
"SMSG_INITIAL_SPELLS": "0x12A",
"SMSG_LEARNED_SPELL": "0x12B",
"SMSG_SUPERCEDED_SPELL": "0x12C",
@ -242,6 +242,7 @@
"SMSG_BATTLEFIELD_STATUS": "0x2D4",
"CMSG_BATTLEFIELD_PORT": "0x2D5",
"CMSG_BATTLEMASTER_HELLO": "0x2D7",
"SMSG_SPELL_FAILED_OTHER": "0x2A6",
"MSG_PVP_LOG_DATA": "0x2E0",
"CMSG_LEAVE_BATTLEFIELD": "0x2E1",
"SMSG_GROUP_JOINED_BATTLEGROUND": "0x2E8",

View file

@ -756,38 +756,40 @@ public:
* Channel notification types
*/
enum class ChannelNotifyType : uint8_t {
YOU_JOINED = 0x00,
YOU_LEFT = 0x01,
WRONG_PASSWORD = 0x02,
NOT_MEMBER = 0x03,
NOT_MODERATOR = 0x04,
PASSWORD_CHANGED = 0x05,
OWNER_CHANGED = 0x06,
PLAYER_NOT_FOUND = 0x07,
NOT_OWNER = 0x08,
CHANNEL_OWNER = 0x09,
MODE_CHANGE = 0x0A,
ANNOUNCEMENTS_ON = 0x0B,
ANNOUNCEMENTS_OFF = 0x0C,
MODERATION_ON = 0x0D,
MODERATION_OFF = 0x0E,
MUTED = 0x0F,
PLAYER_KICKED = 0x10,
BANNED = 0x11,
PLAYER_BANNED = 0x12,
PLAYER_UNBANNED = 0x13,
PLAYER_NOT_BANNED = 0x14,
PLAYER_ALREADY_MEMBER = 0x15,
INVITE = 0x16,
INVITE_WRONG_FACTION = 0x17,
WRONG_FACTION = 0x18,
INVALID_NAME = 0x19,
NOT_MODERATED = 0x1A,
PLAYER_INVITED = 0x1B,
PLAYER_INVITE_BANNED = 0x1C,
THROTTLED = 0x1D,
NOT_IN_AREA = 0x1E,
NOT_IN_LFG = 0x1F,
PLAYER_JOINED = 0x00,
PLAYER_LEFT = 0x01,
YOU_JOINED = 0x02,
YOU_LEFT = 0x03,
WRONG_PASSWORD = 0x04,
NOT_MEMBER = 0x05,
NOT_MODERATOR = 0x06,
PASSWORD_CHANGED = 0x07,
OWNER_CHANGED = 0x08,
PLAYER_NOT_FOUND = 0x09,
NOT_OWNER = 0x0A,
CHANNEL_OWNER = 0x0B,
MODE_CHANGE = 0x0C,
ANNOUNCEMENTS_ON = 0x0D,
ANNOUNCEMENTS_OFF = 0x0E,
MODERATION_ON = 0x0F,
MODERATION_OFF = 0x10,
MUTED = 0x11,
PLAYER_KICKED = 0x12,
BANNED = 0x13,
PLAYER_BANNED = 0x14,
PLAYER_UNBANNED = 0x15,
PLAYER_NOT_BANNED = 0x16,
PLAYER_ALREADY_MEMBER = 0x17,
INVITE = 0x18,
INVITE_WRONG_FACTION = 0x19,
WRONG_FACTION = 0x1A,
INVALID_NAME = 0x1B,
NOT_MODERATED = 0x1C,
PLAYER_INVITED = 0x1D,
PLAYER_INVITE_BANNED = 0x1E,
THROTTLED = 0x1F,
NOT_IN_AREA = 0x20,
NOT_IN_LFG = 0x21,
};
/**

View file

@ -1947,6 +1947,12 @@ bool TurtlePacketParsers::parseUpdateObject(network::Packet& packet, UpdateObjec
return this->TbcPacketParsers::parseMovementBlock(p, b);
}, "tbc");
}
if (!ok) {
ok = parseMovementVariant(
[](network::Packet& p, UpdateBlock& b) {
return UpdateObjectParser::parseMovementBlock(p, b);
}, "wotlk");
}
break;
case UpdateType::OUT_OF_RANGE_OBJECTS:
case UpdateType::NEAR_OBJECTS: