Skip to content

Commit c22c911

Browse files
committed
Support 11.2.5
1 parent 741a88b commit c22c911

File tree

105 files changed

+11962
-23
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+11962
-23
lines changed

WowPacketParser/Enums/AccountDataType.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@ public enum AccountDataType
1919
PerCharacterEditModeCache = 14,
2020
GlobalFrontendChatSettings = 15,
2121
GlobalCharacterListOrder = 16,
22+
GlobalCooldownManager = 17,
23+
PerCharacterCooldownManager = 18,
24+
GlobalShop2PendingOrders = 19,
2225
}
2326
}

WowPacketParser/Enums/Opcode.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,7 @@ public enum Opcode
387387
CMSG_CONVERT_CONSUMPTION_TIME,
388388
CMSG_CONVERT_ITEM_TO_BIND_TO_ACCOUNT,
389389
CMSG_CONVERT_RAID,
390+
CMSG_CONVERT_TIMERUNNING_CHARACTER,
390391
CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE,
391392
CMSG_COOLDOWN_CHEAT,
392393
CMSG_CORPSE_MAP_POSITION_QUERY,
@@ -1070,6 +1071,8 @@ public enum Opcode
10701071
CMSG_READ_ITEM,
10711072
CMSG_REALM_QUERY,
10721073
CMSG_REALM_SPLIT,
1074+
CMSG_RECENT_ALLY_REQUEST_DATA,
1075+
CMSG_RECENT_ALLY_SET_NOTE,
10731076
CMSG_RECHARGE,
10741077
CMSG_RECLAIM_CORPSE,
10751078
CMSG_RECRUIT_A_FRIEND,
@@ -1131,6 +1134,7 @@ public enum Opcode
11311134
CMSG_REQUEST_SCHEDULED_PVP_INFO,
11321135
CMSG_REQUEST_STABLED_PETS,
11331136
CMSG_REQUEST_STORE_FRONT_INFO_UPDATE,
1137+
CMSG_REQUEST_SURVEY,
11341138
CMSG_REQUEST_VEHICLE_EXIT,
11351139
CMSG_REQUEST_VEHICLE_NEXT_SEAT,
11361140
CMSG_REQUEST_VEHICLE_PREV_SEAT,
@@ -1189,6 +1193,7 @@ public enum Opcode
11891193
CMSG_SET_ACTIVE_TALENT_GROUP_OBSOLETE,
11901194
CMSG_SET_ACTIVE_VOICE_CHANNEL,
11911195
CMSG_SET_ADVANCED_COMBAT_LOGGING,
1196+
CMSG_SET_ALLOW_RECENT_ALLIES_SEE_LOCATION,
11921197
CMSG_SET_AMMO,
11931198
CMSG_SET_ARENA_MEMBER_SEASON_GAMES,
11941199
CMSG_SET_ARENA_MEMBER_WEEKLY_GAMES,
@@ -1871,6 +1876,9 @@ public enum Opcode
18711876
SMSG_CAPTURE_POINT_REMOVED,
18721877
SMSG_CAST_FAILED,
18731878
SMSG_CAS_REFRESH_REMOTE_DATA,
1879+
SMSG_CATALOG_SHOP_LICENSE_DATA,
1880+
SMSG_CATALOG_SHOP_OBTAIN_LICENSE,
1881+
SMSG_CATALOG_SHOP_OPEN_CHECKOUT_RESULT,
18741882
SMSG_CATEGORY_COOLDOWN,
18751883
SMSG_CAUTIONARY_CHANNEL_MESSAGE,
18761884
SMSG_CAUTIONARY_CHAT_MESSAGE,
@@ -2966,6 +2974,8 @@ public enum Opcode
29662974
SMSG_RECEIVE_PING_UNIT,
29672975
SMSG_RECEIVE_PING_WORLD_POINT,
29682976
SMSG_RECEIVED_MAIL,
2977+
SMSG_RECENT_ALLY_DATA_RESPONSE,
2978+
SMSG_RECENT_ALLY_NOTE_UPDATED,
29692979
SMSG_RECRAFT_ITEM_RESULT,
29702980
SMSG_RECRUIT_A_FRIEND_FAILURE,
29712981
SMSG_RECRUIT_A_FRIEND_RESPONSE,
@@ -3180,6 +3190,7 @@ public enum Opcode
31803190
SMSG_SUMMON_REQUEST,
31813191
SMSG_SUPERCEDED_SPELLS,
31823192
SMSG_SUPPRESS_NPC_GREETINGS,
3193+
SMSG_SURVEY_DELIVERED,
31833194
SMSG_SUSPEND_COMMS,
31843195
SMSG_SUSPEND_TOKEN,
31853196
SMSG_SYNC_WOW_ENTITLEMENTS,

WowPacketParser/Enums/Version/V11_2_5_63506/Opcodes.cs

Lines changed: 2136 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System.Collections.Generic;
2+
3+
namespace WowPacketParser.Misc
4+
{
5+
public class MapUpdateField<TKey, TValue> where TKey : notnull, new()
6+
{
7+
private readonly Dictionary<TKey, TValue> _values = new();
8+
9+
public TValue this[TKey index]
10+
{
11+
get => _values[index];
12+
set => _values[index] = value;
13+
}
14+
}
15+
}

WowPacketParserModule.V10_0_0_46181/Parsers/AccountDataHandler.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,25 @@ public static void HandleAccountDataTimes(Packet packet)
1717
for (var i = 0; i < count; ++i)
1818
packet.ReadTime64($"[{(AccountDataType)i}] Time", i);
1919
}
20+
21+
[Parser(Opcode.CMSG_UPDATE_ACCOUNT_DATA, ClientVersionBuild.V10_2_6_53840)]
22+
[Parser(Opcode.SMSG_UPDATE_ACCOUNT_DATA, ClientVersionBuild.V10_2_6_53840)]
23+
public static void HandleClientUpdateAccountData(Packet packet)
24+
{
25+
packet.ReadTime64("Time");
26+
27+
var decompCount = packet.ReadInt32();
28+
29+
packet.ReadPackedGuid128("Player");
30+
packet.ReadInt32E<AccountDataType>("DataType");
31+
32+
var compCount = packet.ReadInt32();
33+
34+
var pkt = packet.Inflate(compCount, decompCount, false);
35+
36+
var data = pkt.ReadWoWString(decompCount);
37+
38+
packet.AddValue("CompressedData", data);
39+
}
2040
}
2141
}

WowPacketParserModule.V10_0_0_46181/Parsers/CombatLogHandler.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,17 @@ public static void HandleSpellNonMeleeDmgLog(Packet packet)
172172
packet.ReadInt32("Absorbed");
173173
packet.ReadInt32("Resisted");
174174
packet.ReadInt32("ShieldBlock");
175+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_2_5_63506))
176+
packet.ReadInt32E<AttackerStateFlags>("Flags");
175177
var worldTextViewersCount = packet.ReadUInt32("WorldTextViewersCount");
176178
var supportInfosCount = packet.ReadUInt32("SupportInfosCount");
177179
for (var i = 0; i < supportInfosCount; i++)
178180
ReadSpellSupportInfo(packet, "SupportInfo", i);
179181

180182
packet.ResetBitReader();
181183
packet.ReadBit("Periodic");
182-
packet.ReadBitsE<AttackerStateFlags>("Flags", 7);
184+
if (ClientVersion.RemovedInVersion(ClientVersionBuild.V11_2_5_63506))
185+
packet.ReadBitsE<AttackerStateFlags>("Flags", 7);
183186
var hasDebugData = packet.ReadBit("HasDebugData");
184187
var hasLogData = packet.ReadBit("HasLogData");
185188
var hasContentTuning = packet.ReadBit("HasContentTuning");

WowPacketParserModule.V10_0_0_46181/Parsers/TraitHandler.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ public static void ReadTraitConfig(Packet packet, params object[] indexes)
5252
break;
5353
case 3:
5454
packet.ReadInt32("TraitSystemID", indexes);
55+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_2_5_63506))
56+
packet.ReadInt32("VariationID", indexes);
5557
break;
5658
}
5759

WowPacketParserModule.V11_0_0_55666/Parsers/AccountDataHandler.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace WowPacketParserModule.V11_0_0_55666.Parsers
66
{
77
public static class AccountDataHandler
88
{
9-
[Parser(Opcode.SMSG_ACCOUNT_DATA_TIMES)]
9+
[Parser(Opcode.SMSG_ACCOUNT_DATA_TIMES, ClientVersionBuild.Zero, ClientVersionBuild.V11_2_5_63506)]
1010
public static void HandleAccountDataTimes(Packet packet)
1111
{
1212
packet.ReadPackedGuid128("Guid");
@@ -16,6 +16,16 @@ public static void HandleAccountDataTimes(Packet packet)
1616
packet.ReadTime64($"[{(AccountDataType)i}] Time", i);
1717
}
1818

19+
[Parser(Opcode.SMSG_ACCOUNT_DATA_TIMES, ClientVersionBuild.V11_2_5_63506)]
20+
public static void HandleAccountDataTimes1125(Packet packet)
21+
{
22+
packet.ReadPackedGuid128("Guid");
23+
packet.ReadTime64("ServerTime");
24+
25+
for (var i = 0; i < 20; ++i)
26+
packet.ReadTime64($"[{(AccountDataType)i}] Time", i);
27+
}
28+
1929
[Parser(Opcode.SMSG_UPDATE_ACCOUNT_DATA_COMPLETE)]
2030
public static void HandleUpdateAccountDataComplete(Packet packet)
2131
{

WowPacketParserModule.V11_0_0_55666/Parsers/CharacterHandler.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ public static void ReadBasicCharacterListEntry(Packet packet, params object[] id
5555
ReadVisualItemInfo(packet, idx, "VisualItems", j);
5656

5757
packet.ReadInt32("SaveVersion", idx);
58+
if (ClientVersion.AddedInVersion(ClientVersionBuild.V11_2_5_63506))
59+
packet.ReadTime64("CreateTime", idx);
5860
packet.ReadTime64("LastPlayedTime", idx);
5961
packet.ReadInt32("LastLoginVersion", idx);
6062

WowPacketParserModule.V11_0_0_55666/Parsers/MiscellaneousHandler.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,26 @@ public static void HandleSetAnimTier(Packet packet)
3636
packet.ReadPackedGuid128("Unit");
3737
packet.ReadByte("Tier");
3838
}
39+
40+
public static void ReadMirrorVarSingle(Packet packet, params object[] idx)
41+
{
42+
packet.ResetBitReader();
43+
packet.ReadBits("UpdateType", 1, idx);
44+
var nameLength = (int)packet.ReadBits(24);
45+
var valueLength = (int)packet.ReadBits(24);
46+
47+
var name = packet.ReadDynamicString(nameLength);
48+
var value = packet.ReadDynamicString(valueLength);
49+
50+
packet.AddValue(name, value, idx);
51+
}
52+
53+
[Parser(Opcode.SMSG_MIRROR_VARS)]
54+
public static void HandleMirrorVars(Packet packet)
55+
{
56+
var count = packet.ReadUInt32();
57+
for (var i = 0u; i < count; ++i)
58+
ReadMirrorVarSingle(packet, i);
59+
}
3960
}
4061
}

0 commit comments

Comments
 (0)