aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorMaxtorCoder <warsongkiller.s8@gmail.com>2024-03-13 21:16:18 +0100
committerGitHub <noreply@github.com>2024-03-13 21:16:18 +0100
commitcfc9cc9ec285e7934f3160047ff87be3c649594f (patch)
treebe680d4f88fac55274862251c349c644a5d90930 /src/server/game/Server
parent46d929cb82b631648ef4a84e75ca7bc174a03fdd (diff)
Core/PacketIO: Update to 4.4.0.53627 (#29805)
* Core/PacketIO: Update to 4.4.0.53627 * Core/IO: Remove duplicate declaration of PetSpellDataID * Core/IO: Assign STATUS_UNHANDLED to some azerite packets
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AllPackets.h1
-rw-r--r--src/server/game/Server/Packets/AzeritePackets.cpp71
-rw-r--r--src/server/game/Server/Packets/AzeritePackets.h110
-rw-r--r--src/server/game/Server/Packets/InspectPackets.cpp23
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h1
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp16
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h13
-rw-r--r--src/server/game/Server/Packets/QueryPackets.cpp4
-rw-r--r--src/server/game/Server/Packets/QueryPackets.h4
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp19
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h9
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp18
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h4
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp8
-rw-r--r--src/server/game/Server/WorldSession.h15
16 files changed, 37 insertions, 280 deletions
diff --git a/src/server/game/Server/Packets/AllPackets.h b/src/server/game/Server/Packets/AllPackets.h
index a9658aec4eb..d047007694b 100644
--- a/src/server/game/Server/Packets/AllPackets.h
+++ b/src/server/game/Server/Packets/AllPackets.h
@@ -26,7 +26,6 @@
#include "ArtifactPackets.h"
#include "AuctionHousePackets.h"
#include "AuthenticationPackets.h"
-#include "AzeritePackets.h"
#include "BankPackets.h"
#include "BlackMarketPackets.h"
#include "BattlegroundPackets.h"
diff --git a/src/server/game/Server/Packets/AzeritePackets.cpp b/src/server/game/Server/Packets/AzeritePackets.cpp
deleted file mode 100644
index 87406b757dc..00000000000
--- a/src/server/game/Server/Packets/AzeritePackets.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "AzeritePackets.h"
-#include "Util.h"
-
-WorldPacket const* WorldPackets::Azerite::PlayerAzeriteItemGains::Write()
-{
- _worldPacket << ItemGUID;
- _worldPacket << uint64(XP);
-
- return &_worldPacket;
-}
-
-void WorldPackets::Azerite::AzeriteEssenceUnlockMilestone::Read()
-{
- _worldPacket >> AzeriteItemMilestonePowerID;
-}
-
-void WorldPackets::Azerite::AzeriteEssenceActivateEssence::Read()
-{
- _worldPacket >> AzeriteEssenceID;
- _worldPacket >> Slot;
-}
-
-WorldPacket const* WorldPackets::Azerite::ActivateEssenceFailed::Write()
-{
- _worldPacket.WriteBits(AsUnderlyingType(Reason), 4);
- _worldPacket.WriteBit(Slot.has_value());
- _worldPacket << int32(Arg);
- _worldPacket << int32(AzeriteEssenceID);
- if (Slot)
- _worldPacket << uint8(*Slot);
-
- return &_worldPacket;
-}
-
-void WorldPackets::Azerite::AzeriteEmpoweredItemViewed::Read()
-{
- _worldPacket >> ItemGUID;
-}
-
-void WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower::Read()
-{
- _worldPacket >> Tier;
- _worldPacket >> AzeritePowerID;
- _worldPacket >> ContainerSlot;
- _worldPacket >> Slot;
-}
-
-WorldPacket const* WorldPackets::Azerite::PlayerAzeriteItemEquippedStatusChanged::Write()
-{
- _worldPacket.WriteBit(IsHeartEquipped);
- _worldPacket.FlushBits();
-
- return &_worldPacket;
-}
diff --git a/src/server/game/Server/Packets/AzeritePackets.h b/src/server/game/Server/Packets/AzeritePackets.h
deleted file mode 100644
index 0a0204c61e7..00000000000
--- a/src/server/game/Server/Packets/AzeritePackets.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef AzeriteItemPackets_h__
-#define AzeriteItemPackets_h__
-
-#include "Packet.h"
-#include "ItemDefines.h"
-#include "ObjectGuid.h"
-#include "Optional.h"
-
-namespace WorldPackets
-{
- namespace Azerite
- {
- class PlayerAzeriteItemGains final : public ServerPacket
- {
- public:
- PlayerAzeriteItemGains() : ServerPacket(SMSG_PLAYER_AZERITE_ITEM_GAINS, 16 + 8) { }
-
- WorldPacket const* Write() override;
-
- ObjectGuid ItemGUID;
- uint64 XP = 0;
- };
-
- class AzeriteEssenceUnlockMilestone final : public ClientPacket
- {
- public:
- AzeriteEssenceUnlockMilestone(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE, std::move(packet)) { }
-
- void Read() override;
-
- int32 AzeriteItemMilestonePowerID = 0;
- };
-
- class AzeriteEssenceActivateEssence final : public ClientPacket
- {
- public:
- AzeriteEssenceActivateEssence(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE, std::move(packet)) { }
-
- void Read() override;
-
- int32 AzeriteEssenceID = 0;
- uint8 Slot = 0;
- };
-
- class ActivateEssenceFailed final : public ServerPacket
- {
- public:
- ActivateEssenceFailed() : ServerPacket(SMSG_ACTIVATE_ESSENCE_FAILED, 1 + 4 + 4 + 1) { }
-
- WorldPacket const* Write() override;
-
- AzeriteEssenceActivateResult Reason = AzeriteEssenceActivateResult::None;
- int32 Arg = 0;
- int32 AzeriteEssenceID = 0;
- Optional<uint8> Slot;
- };
-
- class AzeriteEmpoweredItemViewed final : public ClientPacket
- {
- public:
- AzeriteEmpoweredItemViewed(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_EMPOWERED_ITEM_VIEWED, std::move(packet)) { }
-
- void Read() override;
-
- ObjectGuid ItemGUID;
- };
-
- class AzeriteEmpoweredItemSelectPower final : public ClientPacket
- {
- public:
- AzeriteEmpoweredItemSelectPower(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER, std::move(packet)) { }
-
- void Read() override;
-
- int32 Tier = 0;
- int32 AzeritePowerID = 0;
- uint8 ContainerSlot = 0;
- uint8 Slot = 0;
- };
-
- class TC_GAME_API PlayerAzeriteItemEquippedStatusChanged final : public ServerPacket
- {
- public:
- PlayerAzeriteItemEquippedStatusChanged() : ServerPacket(SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED, 1) { }
-
- WorldPacket const* Write() override;
-
- bool IsHeartEquipped = false;
- };
- }
-}
-
-#endif // AzeriteItemPackets_h__
diff --git a/src/server/game/Server/Packets/InspectPackets.cpp b/src/server/game/Server/Packets/InspectPackets.cpp
index cd2d25b80a1..942ffdc8f63 100644
--- a/src/server/game/Server/Packets/InspectPackets.cpp
+++ b/src/server/game/Server/Packets/InspectPackets.cpp
@@ -16,7 +16,6 @@
*/
#include "InspectPackets.h"
-#include "AzeriteItem.h"
#include "Item.h"
#include "Player.h"
@@ -181,28 +180,6 @@ InspectItemData::InspectItemData(::Item const* item, uint8 index)
}
++i;
}
-
- if (AzeriteItem const* azeriteItem = item->ToAzeriteItem())
- {
- if (UF::SelectedAzeriteEssences const* essences = azeriteItem->GetSelectedAzeriteEssences())
- {
- for (uint8 slot = 0; slot < essences->AzeriteEssenceID.size(); ++slot)
- {
- AzeriteEssences.emplace_back();
-
- AzeriteEssenceData& essence = AzeriteEssences.back();
- essence.Index = slot;
- essence.AzeriteEssenceID = essences->AzeriteEssenceID[slot];
- if (essence.AzeriteEssenceID)
- {
- essence.Rank = azeriteItem->GetEssenceRank(essence.AzeriteEssenceID);
- essence.SlotUnlocked = true;
- }
- else
- essence.SlotUnlocked = azeriteItem->HasUnlockedEssenceSlot(slot);
- }
- }
- }
}
WorldPacket const* InspectResult::Write()
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 5e7c646d529..2240f4ae250 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -182,7 +182,6 @@ WorldPacket const* WorldPackets::Misc::TriggerMovie::Write()
WorldPacket const* WorldPackets::Misc::TriggerCinematic::Write()
{
_worldPacket << uint32(CinematicID);
- _worldPacket << ConversationGuid;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 10aeacead81..b0bab1847df 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -196,7 +196,6 @@ namespace WorldPackets
WorldPacket const* Write() override;
uint32 CinematicID = 0;
- ObjectGuid ConversationGuid;
};
class TriggerMovie final : public ServerPacket
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 49e7c7f9f92..7c2bc3206eb 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -282,18 +282,6 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineAn
return data;
}
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineUnknown901 const& unk)
-{
- for (WorldPackets::Movement::MonsterSplineUnknown901::Inner const& unkInner : unk.Data)
- {
- data << int32(unkInner.Unknown_1);
- data << unkInner.Visual;
- data << uint32(unkInner.Unknown_4);
- }
-
- return data;
-}
-
ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MovementSpline const& movementSpline)
{
data << uint32(movementSpline.Flags);
@@ -312,7 +300,6 @@ ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MovementSpline
data.WriteBit(movementSpline.SpellEffectExtraData.has_value());
data.WriteBit(movementSpline.JumpExtraData.has_value());
data.WriteBit(movementSpline.AnimTierTransition.has_value());
- data.WriteBit(movementSpline.Unknown901.has_value());
data.FlushBits();
if (movementSpline.SplineFilter)
@@ -347,9 +334,6 @@ ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MovementSpline
if (movementSpline.AnimTierTransition)
data << *movementSpline.AnimTierTransition;
- if (movementSpline.Unknown901)
- data << *movementSpline.Unknown901;
-
return data;
}
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index 77cc00d71c7..51a0c4c002a 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -100,18 +100,6 @@ namespace WorldPackets
uint8 AnimTier = 0;
};
- struct MonsterSplineUnknown901
- {
- struct Inner
- {
- int32 Unknown_1 = 0;
- Spells::SpellCastVisual Visual;
- uint32 Unknown_4 = 0;
- };
-
- std::array<Inner, 16> Data;
- };
-
struct MovementSpline
{
uint32 Flags = 0; // Spline flags
@@ -130,7 +118,6 @@ namespace WorldPackets
Optional<MonsterSplineSpellEffectExtraData> SpellEffectExtraData;
Optional<MonsterSplineJumpExtraData> JumpExtraData;
Optional<MonsterSplineAnimTierTransition> AnimTierTransition;
- Optional<MonsterSplineUnknown901> Unknown901;
float FaceDirection = 0.0f;
ObjectGuid FaceGUID;
TaggedPosition<Position::XYZ> FaceSpot;
diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp
index 8f6e7572638..377072f69c0 100644
--- a/src/server/game/Server/Packets/QueryPackets.cpp
+++ b/src/server/game/Server/Packets/QueryPackets.cpp
@@ -78,7 +78,7 @@ WorldPacket const* QueryCreatureResponse::Write()
_worldPacket.WriteBits(Stats.Title.length() + 1, 11);
_worldPacket.WriteBits(Stats.TitleAlt.length() + 1, 11);
_worldPacket.WriteBits(Stats.CursorName.length() + 1, 6);
- _worldPacket.WriteBit(Stats.Cilivilan);
+ _worldPacket.WriteBit(Stats.Civilian);
_worldPacket.WriteBit(Stats.Leader);
for (std::size_t i = 0; i < Stats.Name.size(); ++i)
@@ -102,7 +102,7 @@ WorldPacket const* QueryCreatureResponse::Write()
_worldPacket << int32(Stats.CreatureType);
_worldPacket << int32(Stats.CreatureFamily);
_worldPacket << int32(Stats.Classification);
- _worldPacket << uint32(Stats.PetSpellDataId);
+ _worldPacket << uint32(Stats.PetSpellDataID);
_worldPacket.append(Stats.ProxyCreatureID.data(), Stats.ProxyCreatureID.size());
_worldPacket << uint32(Stats.Display.CreatureDisplay.size());
_worldPacket << float(Stats.Display.TotalProbability);
diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h
index 74b777f6d93..6bd43833081 100644
--- a/src/server/game/Server/Packets/QueryPackets.h
+++ b/src/server/game/Server/Packets/QueryPackets.h
@@ -67,11 +67,11 @@ namespace WorldPackets
int32 CreatureType = 0;
int32 CreatureFamily = 0;
int32 Classification = 0;
- uint32 PetSpellDataId = 0;
+ uint32 PetSpellDataID = 0;
CreatureDisplayStats Display;
float HpMulti = 0.0f;
float EnergyMulti = 0.0f;
- bool Cilivilan = false;
+ bool Civilian = false;
bool Leader = false;
std::vector<int32> QuestItems;
std::vector<int32> QuestCurrencies;
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index cefc2959e07..8418f13c0f3 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -104,8 +104,11 @@ WorldPacket const* QueryQuestInfoResponse::Write()
{
_worldPacket << int32(Info.QuestID);
_worldPacket << int32(Info.QuestType);
+ _worldPacket << int32(Info.QuestLevel);
+ _worldPacket << int32(Info.QuestScalingFactionGroup);
+ _worldPacket << int32(Info.QuestMaxScalingLevel);
_worldPacket << int32(Info.QuestPackageID);
- _worldPacket << int32(Info.ContentTuningID);
+ _worldPacket << int32(Info.QuestMinLevel);
_worldPacket << int32(Info.QuestSortID);
_worldPacket << int32(Info.QuestInfoID);
_worldPacket << int32(Info.SuggestedGroupNum);
@@ -116,7 +119,7 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket << int32(Info.RewardMoneyDifficulty);
_worldPacket << float(Info.RewardMoneyMultiplier);
_worldPacket << int32(Info.RewardBonusMoney);
- _worldPacket << uint32(Info.RewardDisplaySpell.size());
+ _worldPacket.append(Info.RewardDisplaySpell.data(), Info.RewardDisplaySpell.size());
_worldPacket << int32(Info.RewardSpell);
_worldPacket << int32(Info.RewardHonor);
_worldPacket << float(Info.RewardKillHonor);
@@ -188,12 +191,6 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket << int32(Info.QuestSessionBonus);
_worldPacket << int32(Info.QuestGiverCreatureID);
- _worldPacket << uint32(Info.ConditionalQuestDescription.size());
- _worldPacket << uint32(Info.ConditionalQuestCompletionLog.size());
-
- for (QuestCompleteDisplaySpell const& rewardDisplaySpell : Info.RewardDisplaySpell)
- _worldPacket << rewardDisplaySpell;
-
_worldPacket.WriteBits(Info.LogTitle.size(), 9);
_worldPacket.WriteBits(Info.LogDescription.size(), 12);
_worldPacket.WriteBits(Info.QuestDescription.size(), 12);
@@ -236,12 +233,6 @@ WorldPacket const* QueryQuestInfoResponse::Write()
_worldPacket.WriteString(Info.PortraitTurnInText);
_worldPacket.WriteString(Info.PortraitTurnInName);
_worldPacket.WriteString(Info.QuestCompletionLog);
-
- for (ConditionalQuestText const& conditionalQuestText : Info.ConditionalQuestDescription)
- _worldPacket << conditionalQuestText;
-
- for (ConditionalQuestText const& conditionalQuestText : Info.ConditionalQuestCompletionLog)
- _worldPacket << conditionalQuestText;
}
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index 582144adcb2..bfdfae08758 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -135,8 +135,11 @@ namespace WorldPackets
{
int32 QuestID = 0;
int32 QuestType = 0; // Accepted values: 0, 1 or 2. 0 == IsAutoComplete() (skip objectives/details)
- int32 ContentTuningID = 0;
+ int32 QuestLevel = 0;
+ int32 QuestScalingFactionGroup = 0;
+ int32 QuestMaxScalingLevel = 0;
int32 QuestPackageID = 0;
+ int32 QuestMinLevel = 0;
int32 QuestSortID = 0; // zone or sort to display in quest log
int32 QuestInfoID = 0;
int32 SuggestedGroupNum = 0;
@@ -147,7 +150,7 @@ namespace WorldPackets
int32 RewardMoneyDifficulty = 0;
float RewardMoneyMultiplier = 1.0f;
int32 RewardBonusMoney = 0;
- std::vector<QuestCompleteDisplaySpell> RewardDisplaySpell; // reward spell, this spell will be displayed (icon)
+ std::array<int32, QUEST_REWARD_DISPLAY_SPELL_COUNT> RewardDisplaySpell; // reward spell, this spell will be displayed (icon)
int32 RewardSpell = 0;
int32 RewardHonor = 0;
float RewardKillHonor = 0.0f;
@@ -191,8 +194,6 @@ namespace WorldPackets
int32 QuestSessionBonus = 0;
int32 QuestGiverCreatureID = 0; // used to select ConditionalQuestText
std::vector<QuestObjective> Objectives;
- std::vector<ConditionalQuestText> ConditionalQuestDescription;
- std::vector<ConditionalQuestText> ConditionalQuestCompletionLog;
int32 RewardItems[QUEST_REWARD_ITEM_COUNT] = { };
int32 RewardAmount[QUEST_REWARD_ITEM_COUNT] = { };
int32 ItemDrop[QUEST_ITEM_DROP_COUNT] = { };
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index 1849327538b..59131fa2c4a 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -130,14 +130,18 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket.WriteBit(LFGListCustomRequiresAuthenticator);
_worldPacket.WriteBit(AddonsDisabled);
_worldPacket.WriteBit(WarGamesEnabled);
+ _worldPacket.WriteBit(false); // unk, unused 4.4.0
+ _worldPacket.WriteBit(false); // unk, unused 4.4.0
_worldPacket.WriteBit(ContentTrackingEnabled);
_worldPacket.WriteBit(IsSellAllJunkEnabled);
+
_worldPacket.WriteBit(IsGroupFinderEnabled);
_worldPacket.WriteBit(IsLFDEnabled);
-
_worldPacket.WriteBit(IsLFREnabled);
_worldPacket.WriteBit(IsPremadeGroupEnabled);
+ _worldPacket.WriteBits(Field_16F.size(), 8);
+
_worldPacket.FlushBits();
{
@@ -173,6 +177,9 @@ WorldPacket const* FeatureSystemStatus::Write()
_worldPacket << int32(SessionAlert->DisplayTime);
}
+ if (!Field_16F.empty())
+ _worldPacket.WriteString(Field_16F);
+
{
_worldPacket.WriteBit(Squelch.IsSquelched);
_worldPacket << Squelch.BnetAccountGuid;
@@ -209,11 +216,15 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket.WriteBit(Unknown901CheckoutRelated);
_worldPacket.WriteBit(false); // unused, 10.0.2
_worldPacket.WriteBit(EuropaTicketSystemStatus.has_value());
- _worldPacket.WriteBit(false); // unused, 10.0.2
+ _worldPacket.WriteBit(IsNameReservationEnabled);
_worldPacket.WriteBit(LaunchETA.has_value());
+ _worldPacket.WriteBit(false); // unused, 4.4.0
+ _worldPacket.WriteBit(false); // unused, 4.4.0
+
+ _worldPacket.WriteBit(false); // unused, 4.4.0
+ _worldPacket.WriteBit(IsSoMNotificationEnabled);
_worldPacket.WriteBit(AddonsDisabled);
_worldPacket.WriteBit(Unused1000);
-
_worldPacket.WriteBit(AccountSaveDataExportEnabled);
_worldPacket.WriteBit(AccountLockedByExport);
_worldPacket.WriteBit(RealmHiddenAlert.has_value());
@@ -243,6 +254,7 @@ WorldPacket const* FeatureSystemStatusGlueScreen::Write()
_worldPacket << PlayerNameQueryInterval;
_worldPacket << uint32(DebugTimeEvents.size());
_worldPacket << int32(Unused1007);
+ _worldPacket << int32(Unused440);
if (LaunchETA)
_worldPacket << int32(*LaunchETA);
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index afb0600db98..aebb3e658c9 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -169,6 +169,7 @@ namespace WorldPackets
SquelchInfo Squelch;
RafSystemFeatureInfo RAFSystem;
std::vector<GameRuleValuePair> GameRuleValues;
+ std::string Field_16F = "";
};
struct DebugTimeEventInfo
@@ -202,9 +203,11 @@ namespace WorldPackets
bool LiveRegionKeyBindingsCopyEnabled = false;
bool Unknown901CheckoutRelated = false; // NYI
bool AddonsDisabled = false;
+ bool IsSoMNotificationEnabled = false; // NYI
bool Unused1000 = false;
bool AccountSaveDataExportEnabled = false;
bool AccountLockedByExport = false;
+ bool IsNameReservationEnabled = false; // NYI
Optional<EuropaTicketConfig> EuropaTicketSystemStatus;
std::vector<int32> LiveRegionCharacterCopySourceRegions;
uint32 TokenPollTimeSeconds = 0; // NYI
@@ -224,6 +227,7 @@ namespace WorldPackets
Optional<int32> LaunchETA;
std::vector<DebugTimeEventInfo> DebugTimeEvents;
int32 Unused1007 = 0;
+ int32 Unused440 = 0;
Optional<std::string> RealmHiddenAlert;
};
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 36b9bc1ef46..83c4d7e4bf4 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -193,10 +193,10 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_AUTO_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoGuildBankItem);
DEFINE_HANDLER(CMSG_AUTO_STORE_BAG_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoStoreBagItemOpcode);
DEFINE_HANDLER(CMSG_AUTO_STORE_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoStoreGuildBankItem);
- DEFINE_HANDLER(CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAzeriteEmpoweredItemSelectPower);
- DEFINE_HANDLER(CMSG_AZERITE_EMPOWERED_ITEM_VIEWED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAzeriteEmpoweredItemViewed);
- DEFINE_HANDLER(CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAzeriteEssenceActivateEssence);
- DEFINE_HANDLER(CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAzeriteEssenceUnlockMilestone);
+ DEFINE_HANDLER(CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AZERITE_EMPOWERED_ITEM_VIEWED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
+ DEFINE_HANDLER(CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBankerActivateOpcode);
DEFINE_HANDLER(CMSG_BATTLEFIELD_LEAVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlefieldLeaveOpcode);
DEFINE_HANDLER(CMSG_BATTLEFIELD_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlefieldListOpcode);
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index e7b63f99464..d5aa44ac58b 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -153,14 +153,6 @@ namespace WorldPackets
enum class ConnectToSerial : uint32;
}
- namespace Azerite
- {
- class AzeriteEmpoweredItemSelectPower;
- class AzeriteEmpoweredItemViewed;
- class AzeriteEssenceUnlockMilestone;
- class AzeriteEssenceActivateEssence;
- }
-
namespace Bank
{
class AutoBankItem;
@@ -1830,13 +1822,6 @@ class TC_GAME_API WorldSession
// Scenario
void HandleQueryScenarioPOI(WorldPackets::Scenario::QueryScenarioPOI& queryScenarioPOI);
- // Azerite
- void HandleAzeriteEssenceUnlockMilestone(WorldPackets::Azerite::AzeriteEssenceUnlockMilestone& azeriteEssenceUnlockMilestone);
- void HandleAzeriteEssenceActivateEssence(WorldPackets::Azerite::AzeriteEssenceActivateEssence& azeriteEssenceActivateEssence);
- void HandleAzeriteEmpoweredItemViewed(WorldPackets::Azerite::AzeriteEmpoweredItemViewed& azeriteEmpoweredItemViewed);
- void HandleAzeriteEmpoweredItemSelectPower(WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower& azeriteEmpoweredItemSelectPower);
- void SendAzeriteRespecNPC(ObjectGuid npc);
-
void HandleRequestLatestSplashScreen(WorldPackets::Misc::RequestLatestSplashScreen& requestLatestSplashScreen);
void HandleSocialContractRequest(WorldPackets::Social::SocialContractRequest& socialContractRequest);