diff options
author | funjoker <funjoker109@gmail.com> | 2024-05-28 09:36:04 +0200 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2024-05-28 09:36:04 +0200 |
commit | d403f3d687a7725a96dcdbcfc2fc73dba3139ccb (patch) | |
tree | 2110b9c36ec7e2f103f87d94008de5917dc41180 | |
parent | f58518e0492ab7e245dc5f3858c95641374475ff (diff) |
Core/UF: Update UFs for 4.4.0
-rw-r--r-- | src/server/game/Entities/Object/Updates/UpdateFields.cpp | 46 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Updates/UpdateFields.h | 25 |
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; |