aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfunjoker <funjoker109@gmail.com>2024-05-28 09:36:04 +0200
committerfunjoker <funjoker109@gmail.com>2024-05-28 09:36:04 +0200
commitd403f3d687a7725a96dcdbcfc2fc73dba3139ccb (patch)
tree2110b9c36ec7e2f103f87d94008de5917dc41180
parentf58518e0492ab7e245dc5f3858c95641374475ff (diff)
Core/UF: Update UFs for 4.4.0
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp46
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h25
2 files changed, 46 insertions, 25 deletions
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index 412e5d416ea..0b84703010d 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -1922,6 +1922,8 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi
data << int32(HonorLevel);
data << int64(LogoutTime);
data << uint32(ArenaCooldowns.size());
+ data << int32(Field_13C);
+ data << int32(Field_140);
data << int32(CurrentBattlePetSpeciesID);
data << uint32(VisualItemReplacements.size());
for (uint32 i = 0; i < 19; ++i)
@@ -2150,9 +2152,17 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign
{
if (changesMask[33])
{
+ data << int32(Field_13C);
+ }
+ if (changesMask[34])
+ {
+ data << int32(Field_140);
+ }
+ if (changesMask[35])
+ {
data << int32(CurrentBattlePetSpeciesID);
}
- if (changesMask[36])
+ if (changesMask[38])
{
PersonalTabard->WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
@@ -2168,7 +2178,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign
{
data.WriteBits(DeclinedNames.has_value(), 1);
data.FlushBits();
- if (changesMask[34])
+ if (changesMask[36])
{
data << DungeonScore;
}
@@ -2182,7 +2192,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign
}
if (changesMask[32])
{
- if (changesMask[35])
+ if (changesMask[37])
{
if (DeclinedNames.has_value())
{
@@ -2190,21 +2200,21 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign
}
}
}
- if (changesMask[37])
+ if (changesMask[39])
{
for (uint32 i = 0; i < 2; ++i)
{
- if (changesMask[38 + i])
+ if (changesMask[40 + i])
{
data << uint8(PartyType[i]);
}
}
}
- if (changesMask[40])
+ if (changesMask[42])
{
for (uint32 i = 0; i < 25; ++i)
{
- if (changesMask[41 + i])
+ if (changesMask[43 + i])
{
if (noQuestLogChangesMask)
QuestLog[i].WriteCreate(data, owner, receiver);
@@ -2213,31 +2223,31 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign
}
}
}
- if (changesMask[66])
+ if (changesMask[68])
{
for (uint32 i = 0; i < 19; ++i)
{
- if (changesMask[67 + i])
+ if (changesMask[69 + i])
{
VisibleItems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
}
}
}
- if (changesMask[86])
+ if (changesMask[88])
{
for (uint32 i = 0; i < 6; ++i)
{
- if (changesMask[87 + i])
+ if (changesMask[89 + i])
{
data << float(AvgItemLevel[i]);
}
}
}
- if (changesMask[93])
+ if (changesMask[95])
{
for (uint32 i = 0; i < 19; ++i)
{
- if (changesMask[94 + i])
+ if (changesMask[96 + i])
{
data << uint32(Field_3120[i]);
}
@@ -2279,6 +2289,8 @@ void PlayerData::ClearChangesMask()
Base::ClearChangesMask(HonorLevel);
Base::ClearChangesMask(LogoutTime);
Base::ClearChangesMask(Name);
+ Base::ClearChangesMask(Field_13C);
+ Base::ClearChangesMask(Field_140);
Base::ClearChangesMask(CurrentBattlePetSpeciesID);
Base::ClearChangesMask(DungeonScore);
Base::ClearChangesMask(DeclinedNames);
@@ -2898,6 +2910,7 @@ void StablePetInfo::WriteCreate(ByteBuffer& data, Player const* owner, Player co
data << uint32(DisplayID);
data << uint32(ExperienceLevel);
data << uint8(PetFlags);
+ data << uint8(Field_96);
data.WriteBits(Name->size(), 8);
data.WriteString(Name);
data.FlushBits();
@@ -2909,7 +2922,7 @@ void StablePetInfo::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player
if (ignoreChangesMask)
changesMask.SetAll();
- data.WriteBits(changesMask.GetBlock(0), 8);
+ data.WriteBits(changesMask.GetBlock(0), 9);
data.FlushBits();
if (changesMask[0])
@@ -2938,6 +2951,10 @@ void StablePetInfo::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player
{
data << uint8(PetFlags);
}
+ if (changesMask[8])
+ {
+ data << uint8(Field_96);
+ }
if (changesMask[6])
{
data.WriteBits(Name->size(), 8);
@@ -2956,6 +2973,7 @@ void StablePetInfo::ClearChangesMask()
Base::ClearChangesMask(ExperienceLevel);
Base::ClearChangesMask(Name);
Base::ClearChangesMask(PetFlags);
+ Base::ClearChangesMask(Field_96);
_changesMask.ResetAll();
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index fa28a3d8119..6034250e307 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -398,7 +398,7 @@ struct CustomTabardInfo : public IsUpdateFieldStructureTag, public HasChangesMas
void ClearChangesMask();
};
-struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<113>
+struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<115>
{
DynamicUpdateField<UF::ChrCustomizationChoice, 0, 1> Customizations;
DynamicUpdateField<UF::ArenaCooldown, 0, 2> ArenaCooldowns;
@@ -431,15 +431,17 @@ struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<113>
UpdateField<int32, 0, 29> HonorLevel;
UpdateField<int64, 0, 30> LogoutTime;
UpdateField<std::string, 0, 31> Name;
- UpdateField<int32, 32, 33> CurrentBattlePetSpeciesID;
- UpdateField<WorldPackets::MythicPlus::DungeonScoreSummary, 32, 34> DungeonScore;
- OptionalUpdateField<UF::DeclinedNames, 32, 35> DeclinedNames;
- UpdateField<UF::CustomTabardInfo, 32, 36> PersonalTabard;
- UpdateFieldArray<uint8, 2, 37, 38> PartyType;
- UpdateFieldArray<UF::QuestLog, 25, 40, 41> QuestLog;
- UpdateFieldArray<UF::VisibleItem, 19, 66, 67> VisibleItems;
- UpdateFieldArray<float, 6, 86, 87> AvgItemLevel;
- UpdateFieldArray<uint32, 19, 93, 94> Field_3120;
+ UpdateField<int32, 32, 33> Field_13C;
+ UpdateField<int32, 32, 34> Field_140;
+ UpdateField<int32, 32, 35> CurrentBattlePetSpeciesID;
+ UpdateField<WorldPackets::MythicPlus::DungeonScoreSummary, 32, 36> DungeonScore;
+ OptionalUpdateField<UF::DeclinedNames, 32, 37> DeclinedNames;
+ UpdateField<UF::CustomTabardInfo, 32, 38> PersonalTabard;
+ UpdateFieldArray<uint8, 2, 39, 40> PartyType;
+ UpdateFieldArray<UF::QuestLog, 25, 42, 43> QuestLog;
+ UpdateFieldArray<UF::VisibleItem, 19, 68, 69> VisibleItems;
+ UpdateFieldArray<float, 6, 88, 89> AvgItemLevel;
+ UpdateFieldArray<uint32, 19, 95, 96> Field_3120;
void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
@@ -610,7 +612,7 @@ struct WeeklySpellUse : public IsUpdateFieldStructureTag
bool operator!=(WeeklySpellUse const& right) const { return !(*this == right); }
};
-struct StablePetInfo : public IsUpdateFieldStructureTag, public HasChangesMask<8>
+struct StablePetInfo : public IsUpdateFieldStructureTag, public HasChangesMask<9>
{
UpdateField<uint32, 0, 1> PetSlot;
UpdateField<uint32, 0, 2> PetNumber;
@@ -619,6 +621,7 @@ struct StablePetInfo : public IsUpdateFieldStructureTag, public HasChangesMask<8
UpdateField<uint32, 0, 5> ExperienceLevel;
UpdateField<std::string, 0, 6> Name;
UpdateField<uint8, 0, 7> PetFlags;
+ UpdateField<uint8, 0, 8> Field_96;
void WriteCreate(ByteBuffer& data, Player const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Player const* owner, Player const* receiver) const;