Skip to content

Commit 83d6ff0

Browse files
committed
Add 5.5.0 opcode handlers
SMSG_ACCOUNT_ITEM_COLLECTION_DATA SMSG_ACCOUNT_CRITERIA_UPDATE SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE SMSG_AREA_TRIGGER_MESSAGE SMSG_AUCTION_LIST_BUCKETS_RESULT SMSG_AUCTION_LIST_ITEMS_RESULT SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT SMSG_AUCTION_FAVORITE_LIST SMSG_UPDATE_AADC_STATUS_RESPONSE SMSG_GAME_OBJECT_INTERACTION SMSG_GAME_OBJECT_CLOSE_INTERACTION SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE SMSG_BROADCAST_SUMMON_CAST SMSG_BROADCAST_SUMMON_RESPONSE SMSG_INVENTORY_FULL_OVERFLOW SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE SMSG_LEGACY_LOOT_RULES SMSG_SPLASH_SCREEN_SHOW_LATEST SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE SMSG_NPC_INTERACTION_OPEN_RESULT SMSG_UPDATE_BNET_SESSION_KEY SMSG_APPLY_MOUNT_EQUIPMENT_RESULT SMSG_ACCOUNT_COSMETIC_ADDED SMSG_WARDEN3_ENABLED
1 parent d5b95b7 commit 83d6ff0

19 files changed

+360
-78
lines changed

WowPacketParser/Enums/Version/V5_5_0_61735/Opcodes.cs

Lines changed: 78 additions & 78 deletions
Large diffs are not rendered by default.

WowPacketParserModule.V5_5_0_61735/Parser/AccountDataHandler.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ public static void ReadAccountCharacterData(Packet packet, params object[] idx)
2727
packet.ReadWoWString("RealmName", realmNameLength, idx);
2828
}
2929

30+
public static void ItemCollectionItemData(Packet packet, params object[] idx)
31+
{
32+
packet.ReadInt32("ID", idx);
33+
packet.ReadByte("Type", idx);
34+
packet.ReadInt64("Unknown1110", idx);
35+
packet.ReadInt32("Flags", idx);
36+
}
37+
3038
[Parser(Opcode.SMSG_CACHE_INFO)]
3139
public static void HandleCacheInfo(Packet packet)
3240
{
@@ -96,6 +104,20 @@ public static void HandleGetAccountCharacterListResult(Packet packet)
96104
ReadAccountCharacterData(packet, "Characters", i);
97105
}
98106

107+
[Parser(Opcode.SMSG_ACCOUNT_ITEM_COLLECTION_DATA)]
108+
public static void HandleAccountItemCollectionData(Packet packet)
109+
{
110+
packet.ReadUInt32("Unknown1110_1");
111+
packet.ReadByte("Type");
112+
uint count = packet.ReadUInt32("ItemsCount");
113+
114+
for (var i = 0; i < count; ++i)
115+
ItemCollectionItemData(packet, "Items", i);
116+
117+
packet.ResetBitReader();
118+
packet.ReadBit("Unknown1110_2");
119+
}
120+
99121
[Parser(Opcode.SMSG_LOGOUT_CANCEL_ACK)]
100122
public static void HandleAccountNull(Packet packet)
101123
{

WowPacketParserModule.V5_5_0_61735/Parser/AchievementHandler.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,11 @@ public static void HandleAchievementDeleted(Packet packet)
113113
{
114114
packet.ReadUInt32("AchievementID");
115115
}
116+
117+
[Parser(Opcode.SMSG_ACCOUNT_CRITERIA_UPDATE)]
118+
public static void HandleCriteriaUpdateAccount(Packet packet)
119+
{
120+
ReadCriteriaProgress(packet, "Progress");
121+
}
116122
}
117123
}

WowPacketParserModule.V5_5_0_61735/Parser/AdventureMapHandler.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,27 @@ namespace WowPacketParserModule.V5_5_0_61735.Parsers
66
{
77
public static class AdventureMapHandler
88
{
9+
public static void ReadAdventureJournalEntry(Packet packet, params object[] indexes)
10+
{
11+
packet.ReadInt32("AdventureJournalID", indexes);
12+
packet.ReadInt32("Priority", indexes);
13+
}
14+
915
[Parser(Opcode.SMSG_PLAYER_IS_ADVENTURE_MAP_POI_VALID)]
1016
public static void HandlePlayerIsAdventureMapPOIValid(Packet packet)
1117
{
1218
packet.ReadInt32("AdventureMapPoiID");
1319
packet.ResetBitReader();
1420
packet.ReadBit("IsVisible");
1521
}
22+
23+
[Parser(Opcode.SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE)]
24+
public static void HandleAdventureJournalDataResponse(Packet packet)
25+
{
26+
packet.ReadBit("OnLevelUp");
27+
var entryCount = packet.ReadUInt32("NumEntries");
28+
for (var i = 0u; i < entryCount; ++i)
29+
ReadAdventureJournalEntry(packet, "AdventureJournalEntry", i);
30+
}
1631
}
1732
}

WowPacketParserModule.V5_5_0_61735/Parser/AreaTriggerHandler.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@ public static void HandleAreaTriggerDenied(Packet packet)
124124
packet.ReadBit("Entered");
125125
}
126126

127+
[Parser(Opcode.SMSG_AREA_TRIGGER_MESSAGE)]
128+
public static void HandleAreaTriggerMessage(Packet packet)
129+
{
130+
packet.ReadUInt32("AreaTriggerID");
131+
packet.ReadUInt32("MessageID");
132+
}
133+
127134
[Parser(Opcode.SMSG_AREA_TRIGGER_NO_CORPSE)]
128135
public static void HandleAreaTriggerNull(Packet packet)
129136
{

WowPacketParserModule.V5_5_0_61735/Parser/AuctionHandler.cs

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,47 @@ public static void ReadClientAuctionOwnerNotification(Packet packet, params obje
116116
Substructures.ItemHandler.ReadItemInstance(packet, idx, "Item");
117117
}
118118

119+
public static void ReadBucketInfo(Packet packet, int index)
120+
{
121+
ReadAuctionBucketKey(packet, index, "Key");
122+
123+
packet.ReadInt32("TotalQuantity", index);
124+
packet.ReadInt32("RequiredLevel", index);
125+
packet.ReadUInt64("MinPrice", index);
126+
var itemModifiedAppearanceIDsCount = packet.ReadUInt32();
127+
for (var i = 0u; i < itemModifiedAppearanceIDsCount; ++i)
128+
packet.ReadInt32("ItemModifiedAppearanceID", index, i);
129+
130+
packet.ResetBitReader();
131+
var hasMaxBattlePetQuality = packet.ReadBit();
132+
var hasMaxBattlePetLevel = packet.ReadBit();
133+
var hasBattlePetBreedID = packet.ReadBit();
134+
var hasBattlePetLevelMask = packet.ReadBit();
135+
packet.ReadBit("ContainsOwnerItem", index);
136+
packet.ReadBit("ContainsOnlyCollectedAppearances", index);
137+
138+
if (hasMaxBattlePetQuality)
139+
packet.ReadByte("MaxBattlePetQuality", index);
140+
141+
if (hasMaxBattlePetLevel)
142+
packet.ReadByte("MaxBattlePetLevel", index);
143+
144+
if (hasBattlePetBreedID)
145+
packet.ReadByte("BattlePetBreedID", index);
146+
147+
if (hasBattlePetLevelMask)
148+
packet.ReadUInt32("BattlePetLevelMask", index);
149+
}
150+
151+
public static void ReadAuctionFavoriteInfo(Packet packet, params object[] idx)
152+
{
153+
packet.ReadUInt32("Order", idx);
154+
packet.ReadUInt32("ItemID", idx);
155+
packet.ReadUInt32("ItemLevel", idx);
156+
packet.ReadUInt32("BattlePetSpeciesID", idx);
157+
packet.ReadUInt32("SuffixItemNameDescriptionID", idx);
158+
}
159+
119160
[Parser(Opcode.SMSG_AUCTION_HELLO_RESPONSE)]
120161
public static void HandleServerAuctionHello(Packet packet)
121162
{
@@ -188,5 +229,91 @@ public static void HandleAuctionOwnerBidNotification(Packet packet)
188229
packet.ReadUInt64("MinIncrement");
189230
packet.ReadPackedGuid128("Bidder");
190231
}
232+
233+
[Parser(Opcode.SMSG_AUCTION_LIST_BUCKETS_RESULT)]
234+
public static void HandleAuctionListBucketsResult(Packet packet)
235+
{
236+
var bucketCount = packet.ReadUInt32();
237+
packet.ReadUInt32("DesiredDelay");
238+
packet.ReadInt32("Unknown830_0");
239+
packet.ReadInt32("Unknown830_1");
240+
packet.ReadBit("BrowseMode");
241+
packet.ReadBit("HasMoreResults");
242+
243+
for (var i = 0; i < bucketCount; ++i)
244+
ReadBucketInfo(packet, i);
245+
}
246+
247+
[Parser(Opcode.SMSG_AUCTION_LIST_ITEMS_RESULT)]
248+
public static void HandleListItemsResult(Packet packet)
249+
{
250+
var itemsCount = packet.ReadInt32("ItemsCount");
251+
packet.ReadInt32("Unknown830");
252+
packet.ReadInt32("DesiredDelay");
253+
254+
for (var i = 0; i < itemsCount; i++)
255+
ReadCliAuctionItem(packet, i);
256+
257+
packet.ResetBitReader();
258+
packet.ReadBits("ListType", 2);
259+
packet.ReadBit("HasMoreResults");
260+
ReadAuctionBucketKey(packet, "BucketKey");
261+
packet.ReadUInt32("TotalCount");
262+
}
263+
264+
[Parser(Opcode.SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT)]
265+
public static void HandleAuctionListOwnedItemsResult(Packet packet)
266+
{
267+
var itemsCount = packet.ReadInt32();
268+
var soldItemsCount = packet.ReadInt32();
269+
packet.ReadUInt32("DesiredDelay");
270+
packet.ReadBit("HasMoreResults");
271+
272+
for (var i = 0; i < itemsCount; ++i)
273+
ReadCliAuctionItem(packet, "Items", i);
274+
275+
for (var i = 0; i < soldItemsCount; ++i)
276+
ReadCliAuctionItem(packet, "SoldItems", i);
277+
}
278+
279+
[Parser(Opcode.SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT)]
280+
public static void HandleAuctionListBiddedItemsResult(Packet packet)
281+
{
282+
var itemsCount = packet.ReadInt32();
283+
packet.ReadUInt32("DesiredDelay");
284+
packet.ReadBit("HasMoreResults");
285+
286+
for (var i = 0; i < itemsCount; ++i)
287+
ReadCliAuctionItem(packet, "Items", i);
288+
}
289+
290+
[Parser(Opcode.SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT)]
291+
public static void HandleAuctionHouseGetCommodityQuoteResult(Packet packet)
292+
{
293+
var hasTotalPrice = packet.ReadBit();
294+
var hasQuantity = packet.ReadBit();
295+
var hasQuoteDuration = packet.ReadBit();
296+
packet.ReadInt32("ItemID");
297+
packet.ReadUInt32("DesiredDelay");
298+
299+
if (hasTotalPrice)
300+
packet.ReadUInt64("TotalPrice");
301+
302+
if (hasQuantity)
303+
packet.ReadUInt32("Quantity");
304+
305+
if (hasQuoteDuration)
306+
packet.ReadInt64("QuoteDuration");
307+
}
308+
309+
[Parser(Opcode.SMSG_AUCTION_FAVORITE_LIST)]
310+
public static void HandleAuctionFavoriteList(Packet packet)
311+
{
312+
packet.ReadUInt32("DesiredDelay");
313+
var itemsCount = packet.ReadBits(7);
314+
315+
for (var i = 0; i < itemsCount; ++i)
316+
ReadAuctionFavoriteInfo(packet, "FavoriteInfo", i);
317+
}
191318
}
192319
}

WowPacketParserModule.V5_5_0_61735/Parser/ChatHandler.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,5 +160,13 @@ public static void HandleEmote(Packet packet)
160160
packetEmote.Emote = (int)emote;
161161
packetEmote.Sender = guid.ToUniversalGuid();
162162
}
163+
164+
[Parser(Opcode.SMSG_UPDATE_AADC_STATUS_RESPONSE)]
165+
public static void HandleUpdateAadcStatusResponse(Packet packet)
166+
{
167+
packet.ResetBitReader();
168+
packet.ReadBit("Success");
169+
packet.ReadBit("ChatDisabled");
170+
}
163171
}
164172
}

WowPacketParserModule.V5_5_0_61735/Parser/GameObjectHandler.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,18 @@ public static void HandleGameObjectSetStateLocal(Packet packet)
6363
packet.ReadPackedGuid128("GUID");
6464
packet.ReadByte("State");
6565
}
66+
67+
[Parser(Opcode.SMSG_GAME_OBJECT_INTERACTION)]
68+
public static void HandleGameObjectInteraction(Packet packet)
69+
{
70+
packet.ReadPackedGuid128("ObjectGUID");
71+
packet.ReadInt32("InteractionType");
72+
}
73+
74+
[Parser(Opcode.SMSG_GAME_OBJECT_CLOSE_INTERACTION)]
75+
public static void HandleGameObjectCloseInteractionResponse(Packet packet)
76+
{
77+
packet.ReadInt32("InteractionType");
78+
}
6679
}
6780
}

WowPacketParserModule.V5_5_0_61735/Parser/GarrisonHandler.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,11 @@ public static void HandleGetSelectedTrophyIDResponse(Packet packet)
6464
packet.ReadInt32("TrophyID");
6565
packet.ReadBit("Success");
6666
}
67+
68+
[Parser(Opcode.SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE)]
69+
public static void HandleGarrisonCovenantRenownSendCatchupState(Packet packet)
70+
{
71+
packet.ReadBit("CatchupState");
72+
}
6773
}
6874
}

WowPacketParserModule.V5_5_0_61735/Parser/GroupHandler.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,19 @@ public static void HandleRaidGroupOnly(Packet packet)
462462
packet.ReadUInt32("Reason");
463463
}
464464

465+
[Parser(Opcode.SMSG_BROADCAST_SUMMON_CAST)]
466+
public static void HandleBroadcastSummonCast(Packet packet)
467+
{
468+
packet.ReadPackedGuid128("Target");
469+
}
470+
471+
[Parser(Opcode.SMSG_BROADCAST_SUMMON_RESPONSE)]
472+
public static void HandleBroadcastSummonResponse(Packet packet)
473+
{
474+
packet.ReadPackedGuid128("Target");
475+
packet.ReadBit("Accepted");
476+
}
477+
465478
[Parser(Opcode.SMSG_GROUP_DESTROYED)]
466479
public static void HandleGroupNull(Packet packet)
467480
{

0 commit comments

Comments
 (0)