diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-03-22 00:08:20 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-03-22 00:08:20 +0100 |
| commit | 922f60fa25569db05a7717b6b55568f321a02f64 (patch) | |
| tree | ab11e8c8da23ea0a93daf073b602dc92d1f98957 /src/server/game/Entities | |
| parent | f18c0644f31f6264bd07345819bb48c432790bc7 (diff) | |
Core: Update to 10.0.7
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Item/ItemTemplate.cpp | 11 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/ItemTemplate.h | 49 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Updates/UpdateFields.cpp | 22 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Updates/UpdateFields.h | 8 |
4 files changed, 52 insertions, 38 deletions
diff --git a/src/server/game/Entities/Item/ItemTemplate.cpp b/src/server/game/Entities/Item/ItemTemplate.cpp index 22ab691840d..114998f8d07 100644 --- a/src/server/game/Entities/Item/ItemTemplate.cpp +++ b/src/server/game/Entities/Item/ItemTemplate.cpp @@ -20,7 +20,7 @@ #include "ItemTemplate.h" #include "Player.h" -int32 const SocketColorToGemTypeMask[19] = +int32 const SocketColorToGemTypeMask[26] = { 0, SOCKET_COLOR_META, @@ -40,7 +40,14 @@ int32 const SocketColorToGemTypeMask[19] = SOCKET_COLOR_RELIC_WATER, SOCKET_COLOR_RELIC_LIFE, SOCKET_COLOR_RELIC_WIND, - SOCKET_COLOR_RELIC_HOLY + SOCKET_COLOR_RELIC_HOLY, + SOCKET_COLOR_PUNCHCARD_RED, + SOCKET_COLOR_PUNCHCARD_YELLOW, + SOCKET_COLOR_PUNCHCARD_BLUE, + SOCKET_COLOR_DOMINATION, + SOCKET_COLOR_CYPHER, + SOCKET_COLOR_TINKER, + SOCKET_COLOR_PRIMORDIAL }; char const* ItemTemplate::GetName(LocaleConstant locale) const diff --git a/src/server/game/Entities/Item/ItemTemplate.h b/src/server/game/Entities/Item/ItemTemplate.h index 8a8d86c9440..17bab58f10d 100644 --- a/src/server/game/Entities/Item/ItemTemplate.h +++ b/src/server/game/Entities/Item/ItemTemplate.h @@ -332,27 +332,34 @@ enum BAG_FAMILY_MASK enum SocketColor { - SOCKET_COLOR_META = 0x00001, - SOCKET_COLOR_RED = 0x00002, - SOCKET_COLOR_YELLOW = 0x00004, - SOCKET_COLOR_BLUE = 0x00008, - SOCKET_COLOR_HYDRAULIC = 0x00010, // not used - SOCKET_COLOR_COGWHEEL = 0x00020, - SOCKET_COLOR_PRISMATIC = 0x0000E, - SOCKET_COLOR_RELIC_IRON = 0x00040, - SOCKET_COLOR_RELIC_BLOOD = 0x00080, - SOCKET_COLOR_RELIC_SHADOW = 0x00100, - SOCKET_COLOR_RELIC_FEL = 0x00200, - SOCKET_COLOR_RELIC_ARCANE = 0x00400, - SOCKET_COLOR_RELIC_FROST = 0x00800, - SOCKET_COLOR_RELIC_FIRE = 0x01000, - SOCKET_COLOR_RELIC_WATER = 0x02000, - SOCKET_COLOR_RELIC_LIFE = 0x04000, - SOCKET_COLOR_RELIC_WIND = 0x08000, - SOCKET_COLOR_RELIC_HOLY = 0x10000 -}; - -extern int32 const SocketColorToGemTypeMask[19]; + SOCKET_COLOR_META = 0x000001, + SOCKET_COLOR_RED = 0x000002, + SOCKET_COLOR_YELLOW = 0x000004, + SOCKET_COLOR_BLUE = 0x000008, + SOCKET_COLOR_HYDRAULIC = 0x000010, // not used + SOCKET_COLOR_COGWHEEL = 0x000020, + SOCKET_COLOR_PRISMATIC = 0x00000E, + SOCKET_COLOR_RELIC_IRON = 0x000040, + SOCKET_COLOR_RELIC_BLOOD = 0x000080, + SOCKET_COLOR_RELIC_SHADOW = 0x000100, + SOCKET_COLOR_RELIC_FEL = 0x000200, + SOCKET_COLOR_RELIC_ARCANE = 0x000400, + SOCKET_COLOR_RELIC_FROST = 0x000800, + SOCKET_COLOR_RELIC_FIRE = 0x001000, + SOCKET_COLOR_RELIC_WATER = 0x002000, + SOCKET_COLOR_RELIC_LIFE = 0x004000, + SOCKET_COLOR_RELIC_WIND = 0x008000, + SOCKET_COLOR_RELIC_HOLY = 0x010000, + SOCKET_COLOR_PUNCHCARD_RED = 0x020000, + SOCKET_COLOR_PUNCHCARD_YELLOW = 0x040000, + SOCKET_COLOR_PUNCHCARD_BLUE = 0x080000, + SOCKET_COLOR_DOMINATION = 0x100000, + SOCKET_COLOR_CYPHER = 0x200000, + SOCKET_COLOR_TINKER = 0x400000, + SOCKET_COLOR_PRIMORDIAL = 0x800000, +}; + +extern int32 const SocketColorToGemTypeMask[26]; #define SOCKET_COLOR_STANDARD (SOCKET_COLOR_RED | SOCKET_COLOR_YELLOW | SOCKET_COLOR_BLUE) diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp index 1cb77b9afe2..8d125ed74db 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp +++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp @@ -2121,7 +2121,7 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi data << int32(GuildTimeStamp); if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::PartyMember)) { - for (uint32 i = 0; i < 125; ++i) + for (uint32 i = 0; i < 175; ++i) { QuestLog[i].WriteCreate(data, owner, receiver); } @@ -2180,7 +2180,7 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi void PlayerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const { - Mask allowedMaskForTarget({ 0xFFFFFFEDu, 0x0000001Fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x3FFFFFF8u }); + Mask allowedMaskForTarget({ 0xFFFFFFEDu, 0x0000001Fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xFFE00000u, 0x0000FFFFu }); AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags); WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver); } @@ -2188,20 +2188,20 @@ void PlayerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVi void PlayerData::AppendAllowedFieldsMaskForFlag(Mask& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) { if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::PartyMember)) - allowedMaskForTarget |= { 0x00000012u, 0xFFFFFFE0u, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x00000007u }; + allowedMaskForTarget |= { 0x00000012u, 0xFFFFFFE0u, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x001FFFFFu, 0x00000000u }; } void PlayerData::FilterDisallowedFieldsMaskForFlag(Mask& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) { - Mask allowedMaskForTarget({ 0xFFFFFFEDu, 0x0000001Fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x3FFFFFF8u }); + Mask allowedMaskForTarget({ 0xFFFFFFEDu, 0x0000001Fu, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xFFE00000u, 0x0000FFFFu }); AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags); changesMask &= allowedMaskForTarget; } void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ignoreNestedChangesMask, Player const* owner, Player const* receiver) const { - data.WriteBits(changesMask.GetBlocksMask(0), 6); - for (uint32 i = 0; i < 6; ++i) + data.WriteBits(changesMask.GetBlocksMask(0), 8); + for (uint32 i = 0; i < 8; ++i) if (changesMask.GetBlock(i)) data.WriteBits(changesMask.GetBlock(i), 32); @@ -2413,7 +2413,7 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } if (changesMask[37]) { - for (uint32 i = 0; i < 125; ++i) + for (uint32 i = 0; i < 175; ++i) { if (changesMask[38 + i]) { @@ -2424,21 +2424,21 @@ void PlayerData::WriteUpdate(ByteBuffer& data, Mask const& changesMask, bool ign } } } - if (changesMask[163]) + if (changesMask[213]) { for (uint32 i = 0; i < 19; ++i) { - if (changesMask[164 + i]) + if (changesMask[214 + i]) { VisibleItems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } } } - if (changesMask[183]) + if (changesMask[233]) { for (uint32 i = 0; i < 6; ++i) { - if (changesMask[184 + i]) + if (changesMask[234 + i]) { data << float(AvgItemLevel[i]); } diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h index 3048896d2f7..ee689dd4fa4 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFields.h +++ b/src/server/game/Entities/Object/Updates/UpdateFields.h @@ -458,7 +458,7 @@ struct CTROptions : public IsUpdateFieldStructureTag bool operator!=(CTROptions const& right) const { return !(*this == right); } }; -struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<190> +struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<240> { UpdateField<bool, 0, 1> HasQuestSession; UpdateField<bool, 0, 2> HasLevelLink; @@ -495,9 +495,9 @@ struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<190> UpdateField<int32, 32, 34> CovenantID; UpdateField<int32, 32, 35> SoulbindID; UpdateField<WorldPackets::MythicPlus::DungeonScoreSummary, 32, 36> DungeonScore; - UpdateFieldArray<UF::QuestLog, 125, 37, 38> QuestLog; - UpdateFieldArray<UF::VisibleItem, 19, 163, 164> VisibleItems; - UpdateFieldArray<float, 6, 183, 184> AvgItemLevel; + UpdateFieldArray<UF::QuestLog, 175, 37, 38> QuestLog; + UpdateFieldArray<UF::VisibleItem, 19, 213, 214> VisibleItems; + UpdateFieldArray<float, 6, 233, 234> AvgItemLevel; 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; |
