Core/PacketIO: Fixed updatefields structure for 11.2.0

Port From (https://github.com/TrinityCore/TrinityCore/commit/88e49b1e12603f98674b130e8823470a2e2754fc)
This commit is contained in:
Hondacrx
2025-08-25 22:08:58 -04:00
parent 94e60194ae
commit 187876ceb5
3 changed files with 10 additions and 8 deletions
@@ -4303,14 +4303,14 @@ namespace Game.Entities
public class CompletedProject() : HasChangesMask(4)
{
public UpdateField<uint> ProjectID = new(0, 1);
public UpdateField<long> FirstCompleted = new(0, 2);
public UpdateField<long> FirstCompleted = new(0, 1);
public UpdateField<uint> ProjectID = new(0, 2);
public UpdateField<uint> CompletionCount = new(0, 3);
public void WriteCreate(WorldPacket data, Player owner, Player receiver)
{
data.WriteUInt32(ProjectID);
data.WriteInt64(FirstCompleted);
data.WriteUInt32(ProjectID);
data.WriteUInt32(CompletionCount);
}
@@ -4327,11 +4327,11 @@ namespace Game.Entities
{
if (changesMask[1])
{
data.WriteUInt32(ProjectID);
data.WriteInt64(FirstCompleted);
}
if (changesMask[2])
{
data.WriteInt64(FirstCompleted);
data.WriteUInt32(ProjectID);
}
if (changesMask[3])
{
@@ -9349,7 +9349,7 @@ namespace Game.Entities
{
ShapeData.Get<AreaTriggerBox>().WriteCreate(data, owner, receiver);
}
if (ShapeType == 3)
if (ShapeType == 2 || ShapeType == 3 || ShapeType == 5 || ShapeType == 6)
{
ShapeData.Get<AreaTriggerPolygon>().WriteCreate(data, owner, receiver);
}
@@ -9532,7 +9532,7 @@ namespace Game.Entities
{
ShapeData.Get<AreaTriggerBox>().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
if (ShapeType == 3)
if (ShapeType == 2 || ShapeType == 3 || ShapeType == 5 || ShapeType == 6)
{
ShapeData.Get<AreaTriggerPolygon>().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
@@ -84,6 +84,7 @@ namespace Game.Networking.Packets
public int Season;
public List<MythicPlusMember> Members = new();
public float RunScore;
public int Unknown_1120;
public int[] KeystoneAffixIDs = new int[4];
public void Write(WorldPacket data)
@@ -99,6 +100,7 @@ namespace Game.Networking.Packets
data.WriteInt32(Members.Count);
data.WriteFloat(RunScore);
data.WriteInt32(Unknown_1120);
foreach (var member in Members)
member.Write(data);
@@ -21,6 +21,7 @@ namespace Game.Networking.Packets
public void Write(WorldPacket data)
{
data.WriteInt64(AvailableUntil);
data.WriteInt32(VendorItemID);
data.WriteInt32(MountID);
data.WriteInt32(BattlePetSpeciesID);
@@ -30,7 +31,6 @@ namespace Game.Networking.Packets
data.WriteInt32(ToyID);
data.WriteInt32(Price);
data.WriteInt32(OriginalPrice);
data.WriteInt64(AvailableUntil);
data.WriteInt32(WarbandSceneID);
data.WriteBit(Disabled);
data.WriteBit(DoesNotExpire);