diff --git a/Data/expansions/turtle/opcodes.json b/Data/expansions/turtle/opcodes.json index c3d7cbd7..b39f7b8f 100644 --- a/Data/expansions/turtle/opcodes.json +++ b/Data/expansions/turtle/opcodes.json @@ -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", diff --git a/include/game/world_packets.hpp b/include/game/world_packets.hpp index 15b8f8ff..293953ea 100644 --- a/include/game/world_packets.hpp +++ b/include/game/world_packets.hpp @@ -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, }; /** diff --git a/src/game/packet_parsers_classic.cpp b/src/game/packet_parsers_classic.cpp index d3d55dc6..663bafd3 100644 --- a/src/game/packet_parsers_classic.cpp +++ b/src/game/packet_parsers_classic.cpp @@ -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: