Skip to content

Commit 5732315

Browse files
authored
Merge branch 'TrinityCore:master' into master
2 parents dbd3b6e + b2a8310 commit 5732315

10 files changed

Lines changed: 91 additions & 14 deletions

File tree

WowPacketParser/Enums/ClientVersionBuild.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,11 @@ public enum ClientVersionBuild
697697
V12_0_5_67602 = 67602,
698698
V12_0_5_67823 = 67823,
699699

700+
V12_0_7_67808 = 67808, // background download only, don't use in AddedInVersion checks because its value is lower than V12_0_5_67823
701+
V12_0_7_68182 = 68182,
702+
V12_0_7_68232 = 68232,
703+
V12_0_7_68235 = 68235,
704+
700705
// Classic
701706
V1_13_2_31446 = 31446,
702707
V1_13_2_31650 = 31650,
@@ -943,6 +948,8 @@ public enum ClientVersionBuild
943948
V2_5_5_66765 = 66765, // live
944949
V2_5_5_67157 = 67157, // live
945950
V2_5_5_67511 = 67511, // live
951+
V2_5_5_67852 = 67852, // live
952+
V2_5_5_68101 = 68101, // live
946953

947954
V3_4_0_44832 = 44832, // ptr / beta
948955
V3_4_0_45166 = 45166, // ptr / beta

WowPacketParser/Enums/UnitFlags.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public enum UnitFlags : uint
1010
Spawning = 0x00000002,
1111
RemoveClientControl = 0x00000004,
1212
PlayerControlled = 0x00000008,
13-
Rename = 0x00000010,
13+
EvadingHome = 0x00000010, // rename in vanilla
1414
Preparation = 0x00000020,
1515
Unk6 = 0x00000040,
1616
NotAttackable = 0x00000080,
@@ -20,7 +20,7 @@ public enum UnitFlags : uint
2020
PetIsAttackingTarget = 0x00000800,
2121
PVP = 0x00001000,
2222
Silenced = 0x00002000, // ForceNameplate (9.0)
23-
CantSwim = 0x00004000,
23+
CantSwim = 0x00004000, // persuade in vanilla and tbc
2424
CanSwim = 0x00008000,
2525
NotAttackable2 = 0x00010000,
2626
Pacified = 0x00020000,
@@ -42,7 +42,7 @@ public enum UnitFlags : uint
4242
IsInCombat = PetIsAttackingTarget | AffectingCombat,
4343

4444
Disallowed = (ServerControlled | NotAttackable | RemoveClientControl |
45-
PlayerControlled | Rename | Preparation | /* Unk6 | */
45+
PlayerControlled | EvadingHome | Preparation | /* Unk6 | */
4646
NotAttackable | Looting | PetIsAttackingTarget | PVP |
4747
Silenced | CantSwim | CanSwim | NotAttackable2 | Pacified | Stunned |
4848
AffectingCombat | OnTaxi | Disarmed | Confused | Fleeing |

WowPacketParser/Enums/UpdateFields.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,11 @@ public enum UnitField
195195
UNIT_FIELD_END,
196196
[UpdateField(UpdateFieldType.Custom)]
197197
UNIT_FIELD_FACTIONTEMPLATE,
198-
[UpdateField(UpdateFieldType.Uint)]
198+
[UpdateField(UpdateFieldType.Enum, typeof(UnitFlags))]
199199
UNIT_FIELD_FLAGS,
200-
[UpdateField(UpdateFieldType.Uint)]
200+
[UpdateField(UpdateFieldType.Enum, typeof(UnitFlags2))]
201201
UNIT_FIELD_FLAGS_2,
202-
[UpdateField(UpdateFieldType.Uint)]
202+
[UpdateField(UpdateFieldType.Enum, typeof(UnitFlags3))]
203203
UNIT_FIELD_FLAGS_3,
204204
UNIT_FIELD_GUILD_GUID,
205205
[UpdateField(UpdateFieldType.Uint)]

WowPacketParser/Enums/Version/Opcodes.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@
106106
using WowPacketParser.Enums.Version.V12_0_0_65390;
107107
using WowPacketParser.Enums.Version.V12_0_1_65818;
108108
using WowPacketParser.Enums.Version.V12_0_5_66741;
109+
using WowPacketParser.Enums.Version.V12_0_7_67808;
109110
using WowPacketParser.Misc;
110111

111112
namespace WowPacketParser.Enums.Version
@@ -885,6 +886,11 @@ public static ClientVersionBuild GetOpcodeDefiningBuild(ClientVersionBuild build
885886
case ClientVersionBuild.V12_0_5_67602:
886887
case ClientVersionBuild.V12_0_5_67823:
887888
return ClientVersionBuild.V12_0_5_66741;
889+
case ClientVersionBuild.V12_0_7_67808:
890+
case ClientVersionBuild.V12_0_7_68182:
891+
case ClientVersionBuild.V12_0_7_68232:
892+
case ClientVersionBuild.V12_0_7_68235:
893+
return ClientVersionBuild.V12_0_7_67808;
888894
case ClientVersionBuild.V1_13_2_31446:
889895
case ClientVersionBuild.V1_13_2_31650:
890896
case ClientVersionBuild.V1_13_2_31687:
@@ -1278,6 +1284,8 @@ public static ClientVersionBuild GetOpcodeDefiningBuild(ClientVersionBuild build
12781284
case ClientVersionBuild.V2_5_5_66765:
12791285
case ClientVersionBuild.V2_5_5_67157:
12801286
case ClientVersionBuild.V2_5_5_67511:
1287+
case ClientVersionBuild.V2_5_5_67852:
1288+
case ClientVersionBuild.V2_5_5_68101:
12811289
return ClientVersionBuild.V2_5_5_64796;
12821290
default:
12831291
return ClientVersionBuild.V3_3_5a_12340;
@@ -1445,6 +1453,8 @@ public static BiDictionary<Opcode, int> GetOpcodeDictionary(ClientVersionBuild b
14451453
return Opcodes_12_0_1.Opcodes(direction);
14461454
case ClientVersionBuild.V12_0_5_66741:
14471455
return Opcodes_12_0_5.Opcodes(direction);
1456+
case ClientVersionBuild.V12_0_7_67808:
1457+
return Opcodes_12_0_7.Opcodes(direction);
14481458

14491459
case ClientVersionBuild.V1_13_2_31446:
14501460
return Opcodes_1_13_2.Opcodes(direction);

WowPacketParser/Enums/Version/UpdateFields.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,6 +1058,13 @@ private static ClientVersionBuild GetUpdateFieldDictionaryBuild(ClientVersionBui
10581058
{
10591059
return ClientVersionBuild.V12_0_5_66741;
10601060
}
1061+
case ClientVersionBuild.V12_0_7_67808:
1062+
case ClientVersionBuild.V12_0_7_68182:
1063+
case ClientVersionBuild.V12_0_7_68232:
1064+
case ClientVersionBuild.V12_0_7_68235:
1065+
{
1066+
return ClientVersionBuild.V12_0_7_67808;
1067+
}
10611068
case ClientVersionBuild.V1_13_2_31446:
10621069
case ClientVersionBuild.V1_13_2_31650:
10631070
case ClientVersionBuild.V1_13_2_31687:
@@ -1327,6 +1334,8 @@ private static ClientVersionBuild GetUpdateFieldDictionaryBuild(ClientVersionBui
13271334
case ClientVersionBuild.V2_5_5_66765:
13281335
case ClientVersionBuild.V2_5_5_67157:
13291336
case ClientVersionBuild.V2_5_5_67511:
1337+
case ClientVersionBuild.V2_5_5_67852:
1338+
case ClientVersionBuild.V2_5_5_68101:
13301339
{
13311340
return ClientVersionBuild.V2_5_5_64796;
13321341
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using WowPacketParser.Misc;
2+
3+
namespace WowPacketParser.Enums.Version.V12_0_7_67808
4+
{
5+
public static class Opcodes_12_0_7
6+
{
7+
public static BiDictionary<Opcode, int> Opcodes(Direction direction)
8+
{
9+
switch (direction)
10+
{
11+
case Direction.ClientToServer:
12+
return ClientOpcodes;
13+
case Direction.ServerToClient:
14+
return ServerOpcodes;
15+
default:
16+
return MiscOpcodes;
17+
}
18+
}
19+
20+
private static readonly BiDictionary<Opcode, int> ClientOpcodes = new()
21+
{
22+
};
23+
24+
private static readonly BiDictionary<Opcode, int> ServerOpcodes = new()
25+
{
26+
};
27+
28+
private static readonly BiDictionary<Opcode, int> MiscOpcodes = new();
29+
}
30+
}

WowPacketParser/Enums/Version/V2_5_5_64796/Opcodes.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,21 @@ public static BiDictionary<Opcode, int> Opcodes(Direction direction)
2020
private static readonly BiDictionary<Opcode, int> ClientOpcodes = new()
2121
{
2222
{ Opcode.CMSG_CHAT_MESSAGE_SAY, 0x2F0023 },
23+
{ Opcode.CMSG_AREA_TRIGGER, 0x3D0085 },
2324
{ Opcode.CMSG_SEND_TEXT_EMOTE, 0x3E0013 },
2425
{ Opcode.CMSG_USE_ITEM, 0x30016B },
2526
};
2627

2728
private static readonly BiDictionary<Opcode, int> ServerOpcodes = new()
2829
{
30+
{ Opcode.SMSG_HIGHEST_THREAT_UPDATE, 0x440180 },
31+
{ Opcode.SMSG_THREAT_CLEAR, 0x440183 },
32+
{ Opcode.SMSG_THREAT_REMOVE, 0x440182 },
33+
{ Opcode.SMSG_THREAT_UPDATE, 0x440181 },
34+
{ Opcode.SMSG_ATTACKER_STATE_UPDATE, 0x4A002B },
35+
{ Opcode.SMSG_ATTACK_START, 0x4A001B },
36+
{ Opcode.SMSG_ATTACK_STOP, 0x4A001C },
37+
{ Opcode.SMSG_AI_REACTION, 0x44015C },
2938
{ Opcode.SMSG_TEXT_EMOTE, 0x440121 },
3039
{ Opcode.SMSG_EMOTE, 0x440270 },
3140
{ Opcode.SMSG_CHAT, 0x490001 },

WowPacketParser/Misc/ClientVersion.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,10 @@ public static class ClientVersion
699699
new KeyValuePair<ClientVersionBuild, DateTime>(ClientVersionBuild.V12_0_5_67602, new DateTime(2026, 05, 16)),
700700
new KeyValuePair<ClientVersionBuild, DateTime>(ClientVersionBuild.V12_0_5_67823, new DateTime(2026, 05, 28)),
701701

702+
new KeyValuePair<ClientVersionBuild, DateTime>(ClientVersionBuild.V12_0_7_68182, new DateTime(2026, 06, 16)),
703+
new KeyValuePair<ClientVersionBuild, DateTime>(ClientVersionBuild.V12_0_7_68232, new DateTime(2026, 06, 16, 23, 55, 00)),
704+
new KeyValuePair<ClientVersionBuild, DateTime>(ClientVersionBuild.V12_0_7_68235, new DateTime(2026, 06, 17, 03, 39, 00)),
705+
702706
// no classic info, pkt contain build in header
703707
};
704708

@@ -1385,6 +1389,10 @@ public static ClientVersionBuild GetVersionDefiningBuild(ClientVersionBuild buil
13851389
case ClientVersionBuild.V12_0_5_67451:
13861390
case ClientVersionBuild.V12_0_5_67602:
13871391
case ClientVersionBuild.V12_0_5_67823:
1392+
case ClientVersionBuild.V12_0_7_67808:
1393+
case ClientVersionBuild.V12_0_7_68182:
1394+
case ClientVersionBuild.V12_0_7_68232:
1395+
case ClientVersionBuild.V12_0_7_68235:
13881396
return ClientVersionBuild.V12_0_0_65390;
13891397
//Classic
13901398
case ClientVersionBuild.V1_13_2_31446:
@@ -1753,6 +1761,8 @@ public static ClientVersionBuild GetVersionDefiningBuild(ClientVersionBuild buil
17531761
case ClientVersionBuild.V2_5_5_66765:
17541762
case ClientVersionBuild.V2_5_5_67157:
17551763
case ClientVersionBuild.V2_5_5_67511:
1764+
case ClientVersionBuild.V2_5_5_67852:
1765+
case ClientVersionBuild.V2_5_5_68101:
17561766
return ClientVersionBuild.V5_5_0_61735;
17571767
case ClientVersionBuild.BattleNetV37165:
17581768
return ClientVersionBuild.BattleNetV37165;
@@ -2264,6 +2274,8 @@ public static bool IsBurningCrusadeClassicClientVersionBuild(ClientVersionBuild
22642274
case ClientVersionBuild.V2_5_5_66765:
22652275
case ClientVersionBuild.V2_5_5_67157:
22662276
case ClientVersionBuild.V2_5_5_67511:
2277+
case ClientVersionBuild.V2_5_5_67852:
2278+
case ClientVersionBuild.V2_5_5_68101:
22672279
return true;
22682280
default:
22692281
return false;

WowPacketParserModule.V5_5_0_61735/Parsers/UpdateFieldsHandler1158.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -630,8 +630,8 @@ public override IUnitData ReadCreateUnitData(Packet packet, UpdateFieldFlag flag
630630
{
631631
data.VirtualItems[i] = ReadCreateVisibleItem(packet, indexes, "VirtualItems", i);
632632
}
633-
data.Flags = packet.ReadUInt32("Flags", indexes);
634-
data.Flags2 = packet.ReadUInt32("Flags2", indexes);
633+
data.Flags = (uint)packet.ReadUInt32E<UnitFlags>("Flags", indexes);
634+
data.Flags2 = (uint)packet.ReadUInt32E<UnitFlags2>("Flags2", indexes);
635635
data.Flags3 = packet.ReadUInt32("Flags3", indexes);
636636
data.Flags4 = packet.ReadUInt32("Flags4", indexes);
637637
data.AuraState = packet.ReadUInt32("AuraState", indexes);
@@ -1009,11 +1009,11 @@ public override IUnitData ReadUpdateUnitData(Packet packet, params object[] inde
10091009
}
10101010
if (changesMask[41])
10111011
{
1012-
data.Flags = packet.ReadUInt32("Flags", indexes);
1012+
data.Flags = (uint)packet.ReadUInt32E<UnitFlags>("Flags", indexes);
10131013
}
10141014
if (changesMask[42])
10151015
{
1016-
data.Flags2 = packet.ReadUInt32("Flags2", indexes);
1016+
data.Flags2 = (uint)packet.ReadUInt32E<UnitFlags2>("Flags2", indexes);
10171017
}
10181018
if (changesMask[43])
10191019
{

WowPacketParserModule.V5_5_0_61735/Parsers/UpdateFieldsHandler255.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -630,8 +630,8 @@ public override IUnitData ReadCreateUnitData(Packet packet, UpdateFieldFlag flag
630630
{
631631
data.VirtualItems[i] = ReadCreateVisibleItem(packet, indexes, "VirtualItems", i);
632632
}
633-
data.Flags = packet.ReadUInt32("Flags", indexes);
634-
data.Flags2 = packet.ReadUInt32("Flags2", indexes);
633+
data.Flags = (uint)packet.ReadUInt32E<UnitFlags>("Flags", indexes);
634+
data.Flags2 = (uint)packet.ReadUInt32E<UnitFlags2>("Flags2", indexes);
635635
data.Flags3 = packet.ReadUInt32("Flags3", indexes);
636636
data.Flags4 = packet.ReadUInt32("Flags4", indexes);
637637
data.AuraState = packet.ReadUInt32("AuraState", indexes);
@@ -1009,11 +1009,11 @@ public override IUnitData ReadUpdateUnitData(Packet packet, params object[] inde
10091009
}
10101010
if (changesMask[41])
10111011
{
1012-
data.Flags = packet.ReadUInt32("Flags", indexes);
1012+
data.Flags = (uint)packet.ReadUInt32E<UnitFlags>("Flags", indexes);
10131013
}
10141014
if (changesMask[42])
10151015
{
1016-
data.Flags2 = packet.ReadUInt32("Flags2", indexes);
1016+
data.Flags2 = (uint)packet.ReadUInt32E<UnitFlags2>("Flags2", indexes);
10171017
}
10181018
if (changesMask[43])
10191019
{

0 commit comments

Comments
 (0)