aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-08-23 14:49:33 +0200
committerShauren <shauren.trinity@gmail.com>2025-08-23 14:49:33 +0200
commit88e49b1e12603f98674b130e8823470a2e2754fc (patch)
treef2cf5e4356e5b6fb840d5b6117da90ecca816910 /src
parent0963da1149c3204e315a40e48bb694db80efb557 (diff)
Core/PacketIO: Fixed updatefields structure for 11.2.0
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp10
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h4
-rw-r--r--src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp1
-rw-r--r--src/server/game/Server/Packets/MythicPlusPacketsCommon.h1
-rw-r--r--src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp2
5 files changed, 10 insertions, 8 deletions
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index f70dc26de37..0db907a813a 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -3475,8 +3475,8 @@ bool SpellFlatModByLabel::operator==(SpellFlatModByLabel const& right) const
void CompletedProject::WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const
{
- data << uint32(ProjectID);
data << int64(FirstCompleted);
+ data << uint32(ProjectID);
data << uint32(CompletionCount);
}
@@ -3493,11 +3493,11 @@ void CompletedProject::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Pla
{
if (changesMask[1])
{
- data << uint32(ProjectID);
+ data << int64(FirstCompleted);
}
if (changesMask[2])
{
- data << int64(FirstCompleted);
+ data << uint32(ProjectID);
}
if (changesMask[3])
{
@@ -7839,7 +7839,7 @@ void AreaTriggerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fi
{
ShapeData.Get<UF::AreaTriggerBox>()->WriteCreate(data, owner, receiver);
}
- if (ShapeType == 3)
+ if (ShapeType == 2 || ShapeType == 3 || ShapeType == 5 || ShapeType == 6)
{
ShapeData.Get<UF::AreaTriggerPolygon>()->WriteCreate(data, owner, receiver);
}
@@ -8022,7 +8022,7 @@ void AreaTriggerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, boo
{
ShapeData.Get<UF::AreaTriggerBox>()->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
- if (ShapeType == 3)
+ if (ShapeType == 2 || ShapeType == 3 || ShapeType == 5 || ShapeType == 6)
{
ShapeData.Get<UF::AreaTriggerPolygon>()->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index db0f1859545..b4acb53e749 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -739,8 +739,8 @@ struct SpellFlatModByLabel : public IsUpdateFieldStructureTag
struct CompletedProject : public IsUpdateFieldStructureTag, public HasChangesMask<4>
{
- UpdateField<uint32, 0, 1> ProjectID;
- UpdateField<int64, 0, 2> FirstCompleted;
+ UpdateField<int64, 0, 1> FirstCompleted;
+ UpdateField<uint32, 0, 2> ProjectID;
UpdateField<uint32, 0, 3> CompletionCount;
void WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const;
diff --git a/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp b/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp
index d28a5022396..a7dc2383398 100644
--- a/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/MythicPlusPacketsCommon.cpp
@@ -72,6 +72,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MythicPlusRun const& mythicPlusRun)
data.append(mythicPlusRun.KeystoneAffixIDs.data(), mythicPlusRun.KeystoneAffixIDs.size());
data << Size<uint32>(mythicPlusRun.Members);
data << float(mythicPlusRun.RunScore);
+ data << int32(mythicPlusRun.Unknown_1120);
for (MythicPlusMember const& member : mythicPlusRun.Members)
data << member;
diff --git a/src/server/game/Server/Packets/MythicPlusPacketsCommon.h b/src/server/game/Server/Packets/MythicPlusPacketsCommon.h
index 9fa2a22d356..8b7c4b24be2 100644
--- a/src/server/game/Server/Packets/MythicPlusPacketsCommon.h
+++ b/src/server/game/Server/Packets/MythicPlusPacketsCommon.h
@@ -68,6 +68,7 @@ namespace WorldPackets
int32 Season = 0;
std::vector<MythicPlusMember> Members;
float RunScore = 0.0f;
+ int32 Unknown_1120 = 0;
std::array<int32, 4> KeystoneAffixIDs;
};
diff --git a/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp b/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
index 8c1a3db6317..887319c03ea 100644
--- a/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
+++ b/src/server/game/Server/Packets/PerksProgramPacketsCommon.cpp
@@ -22,6 +22,7 @@ namespace WorldPackets::PerksProgram
{
ByteBuffer& operator<<(ByteBuffer& data, PerksVendorItem const& perksVendorItem)
{
+ data << perksVendorItem.AvailableUntil;
data << int32(perksVendorItem.VendorItemID);
data << int32(perksVendorItem.MountID);
data << int32(perksVendorItem.BattlePetSpeciesID);
@@ -31,7 +32,6 @@ ByteBuffer& operator<<(ByteBuffer& data, PerksVendorItem const& perksVendorItem)
data << int32(perksVendorItem.ToyID);
data << int32(perksVendorItem.Price);
data << int32(perksVendorItem.OriginalPrice);
- data << perksVendorItem.AvailableUntil;
data << int32(perksVendorItem.WarbandSceneID);
data << Bits<1>(perksVendorItem.Disabled);
data << Bits<1>(perksVendorItem.DoesNotExpire);