diff --git a/WowPacketParserModule.V4_4_0_54481/Parsers/GroupHandler.cs b/WowPacketParserModule.V4_4_0_54481/Parsers/GroupHandler.cs index e437beb697..1a03813828 100644 --- a/WowPacketParserModule.V4_4_0_54481/Parsers/GroupHandler.cs +++ b/WowPacketParserModule.V4_4_0_54481/Parsers/GroupHandler.cs @@ -364,6 +364,52 @@ public static void HandleClientMinimapPing(Packet packet) packet.ReadByte("PartyIndex"); } + [Parser(Opcode.CMSG_PARTY_INVITE)] + public static void HandleClientPartyInvite(Packet packet) + { + var hasPartyIndex = packet.ReadBit("HasPartyIndex"); + packet.ResetBitReader(); + var lenTargetName = packet.ReadBits(9); + var lenTargetRealm = packet.ReadBits(9); + packet.ReadUInt32("ProposedRoles"); + packet.ReadPackedGuid128("TargetGuid"); + + packet.ReadWoWString("TargetName", lenTargetName); + packet.ReadWoWString("TargetRealm", lenTargetRealm); + + if (hasPartyIndex) + packet.ReadByte("PartyIndex"); + } + + [Parser(Opcode.CMSG_PARTY_INVITE_RESPONSE)] + public static void HandlePartyInviteResponse(Packet packet) + { + var hasPartyIndex = packet.ReadBit("HasPartyIndex"); + packet.ReadBit("Accept"); + var hasRolesDesired = packet.ReadBit("HasRolesDesired"); + packet.ResetBitReader(); + + if (hasPartyIndex) + packet.ReadByte("PartyIndex"); + + if (hasRolesDesired) + packet.ReadByte("RolesDesired"); + } + + [Parser(Opcode.CMSG_PARTY_UNINVITE)] + public static void HandlePartyUninvite(Packet packet) + { + var hasPartyIndex = packet.ReadBit("HasPartyIndex"); + var len = packet.ReadBits(8); + + packet.ReadPackedGuid128("TargetGuid"); + + if (hasPartyIndex) + packet.ReadByte("PartyIndex"); + + packet.ReadWoWString("Reason", len); + } + [Parser(Opcode.CMSG_REQUEST_RAID_INFO)] [Parser(Opcode.SMSG_GROUP_DESTROYED)] [Parser(Opcode.SMSG_GROUP_UNINVITE)] diff --git a/WowPacketParserModule.V4_4_0_54481/Parsers/ItemHandler.cs b/WowPacketParserModule.V4_4_0_54481/Parsers/ItemHandler.cs index f876bcefa6..61f4646a3a 100644 --- a/WowPacketParserModule.V4_4_0_54481/Parsers/ItemHandler.cs +++ b/WowPacketParserModule.V4_4_0_54481/Parsers/ItemHandler.cs @@ -404,6 +404,13 @@ public static void HandleItemTextQuery(Packet packet) packet.ReadPackedGuid128("ItemGUID"); } + [Parser(Opcode.CMSG_OPEN_ITEM)] + public static void HandleOpenItem(Packet packet) + { + packet.ReadByte("Slot"); + packet.ReadByte("PackSlot"); + } + [Parser(Opcode.SMSG_BAG_CLEANUP_FINISHED)] [Parser(Opcode.SMSG_INVENTORY_FULL_OVERFLOW)] public static void HandleItemZero(Packet packet) diff --git a/WowPacketParserModule.V4_4_0_54481/Parsers/LootHandler.cs b/WowPacketParserModule.V4_4_0_54481/Parsers/LootHandler.cs index 0290f3e0ff..ca2ef38cd5 100644 --- a/WowPacketParserModule.V4_4_0_54481/Parsers/LootHandler.cs +++ b/WowPacketParserModule.V4_4_0_54481/Parsers/LootHandler.cs @@ -171,12 +171,12 @@ public static void HandleLootStartRoll(Packet packet) packet.ReadInt32("MapID"); packet.ReadUInt32("RollTime"); packet.ReadByte("ValidRolls"); - + for (var i = 0; i < 3; i++) packet.ReadUInt32E("LootRollIneligibleReason"); packet.ReadByteE("Method"); - + packet.ReadInt32("DungeonEncounterID"); ReadLootItem(packet, "LootItem"); } @@ -234,6 +234,12 @@ public static void HandleMasterLootItem(Packet packet) } } + [Parser(Opcode.CMSG_OPT_OUT_OF_LOOT)] + public static void HandleOptOutOfLoot(Packet packet) + { + packet.ReadBool("PassOnLoot"); + } + [Parser(Opcode.SMSG_AE_LOOT_TARGET_ACK)] [Parser(Opcode.SMSG_LOOT_RELEASE_ALL)] public static void HandleLootZero(Packet packet) diff --git a/WowPacketParserModule.V4_4_0_54481/Parsers/MiscellaneousHandler.cs b/WowPacketParserModule.V4_4_0_54481/Parsers/MiscellaneousHandler.cs index 55b00ab6b4..4deb2f1bc5 100644 --- a/WowPacketParserModule.V4_4_0_54481/Parsers/MiscellaneousHandler.cs +++ b/WowPacketParserModule.V4_4_0_54481/Parsers/MiscellaneousHandler.cs @@ -907,6 +907,7 @@ public static void HandleMountSpecialAnim(Packet packet) [Parser(Opcode.CMSG_COMPLETE_MOVIE)] [Parser(Opcode.CMSG_ENABLE_NAGLE)] [Parser(Opcode.CMSG_NEXT_CINEMATIC_CAMERA)] + [Parser(Opcode.CMSG_OPENING_CINEMATIC)] public static void HandleZeroLengthPackets(Packet packet) { }