aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2015-02-01 20:52:05 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2015-02-01 20:52:05 +0100
commit053d5f24eecd5785b09283d33cac6c4a9754c93a (patch)
tree91074df4453984a9970bd43d3fa8267dc7994c83 /src/server/game/Server
parentb6eb66e192145061cb0e5fd9739adb2561855360 (diff)
Core/Packets:
- added inspect packets - updated opcode values
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp5
-rw-r--r--src/server/game/Server/Packets/InspectPackets.cpp156
-rw-r--r--src/server/game/Server/Packets/InspectPackets.h153
-rw-r--r--src/server/game/Server/Packets/ItemPackets.cpp50
-rw-r--r--src/server/game/Server/Packets/ItemPackets.h12
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp9
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h2
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp29
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h13
-rw-r--r--src/server/game/Server/Packets/PacketUtilities.h76
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h6
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp199
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h325
-rw-r--r--src/server/game/Server/WorldSession.cpp14
-rw-r--r--src/server/game/Server/WorldSession.h25
16 files changed, 804 insertions, 276 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 00eda24524c..fa611d241a4 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -17,6 +17,7 @@
#include "CharacterPackets.h"
#include "ObjectMgr.h"
+#include "PacketUtilities.h"
#include "World.h"
WorldPackets::Character::EnumCharactersResult::CharacterInfo::CharacterInfo(Field* fields)
@@ -130,9 +131,7 @@ WorldPacket const* WorldPackets::Character::EnumCharactersResult::Write()
_worldPacket << uint8(charInfo.Level);
_worldPacket << int32(charInfo.ZoneId);
_worldPacket << int32(charInfo.MapId);
- _worldPacket << float(charInfo.PreLoadPosition.x);
- _worldPacket << float(charInfo.PreLoadPosition.y);
- _worldPacket << float(charInfo.PreLoadPosition.z);
+ _worldPacket << charInfo.PreLoadPosition;
_worldPacket << charInfo.GuildGuid;
_worldPacket << uint32(charInfo.Flags);
_worldPacket << uint32(charInfo.CustomizationFlag);
diff --git a/src/server/game/Server/Packets/InspectPackets.cpp b/src/server/game/Server/Packets/InspectPackets.cpp
new file mode 100644
index 00000000000..bdfdc4da06b
--- /dev/null
+++ b/src/server/game/Server/Packets/InspectPackets.cpp
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
+ *
+ * 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 "InspectPackets.h"
+#include "Item.h"
+
+void WorldPackets::Inspect::Inspect::Read()
+{
+ _worldPacket >> Target;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Inspect::InspectEnchantData const& enchantData)
+{
+ data << uint32(enchantData.Id);
+ data << uint8(enchantData.Index);
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Inspect::InspectItemData const& itemData)
+{
+ data << itemData.CreatorGUID;
+ data << itemData.Item;
+ data << uint8(itemData.Index);
+
+ data << uint32(itemData.Enchants.size());
+ for (size_t i = 0; i < itemData.Enchants.size(); ++i)
+ data << itemData.Enchants[i];
+
+ data.WriteBit(itemData.Usable);
+ data.FlushBits();
+
+ return data;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Inspect::InspectGuildData const& guildData)
+{
+ data << guildData.GuildGUID;
+ data << int32(guildData.NumGuildMembers);
+ data << int32(guildData.AchievementPoints);
+
+ return data;
+}
+
+WorldPackets::Inspect::InspectItemData::InspectItemData(::Item const* item, uint8 index)
+{
+ CreatorGUID = item->GetGuidValue(ITEM_FIELD_CREATOR);
+
+ Item.Initalize(item);
+ Index = index;
+ Usable = true; /// @todo
+
+ for (uint8 i = 0; i < MAX_ENCHANTMENT_SLOT; ++i)
+ {
+ if (uint32 enchId = item->GetEnchantmentId(EnchantmentSlot(i)))
+ Enchants.emplace_back(enchId, i);
+ }
+}
+
+WorldPacket const* WorldPackets::Inspect::InspectResult::Write()
+{
+ _worldPacket << InspecteeGUID;
+
+ _worldPacket << uint32(Items.size());
+ _worldPacket << uint32(Glyphs.size());
+ _worldPacket << uint32(Talents.size());
+
+ _worldPacket << int32(ClassID);
+ _worldPacket << int32(SpecializationID);
+ _worldPacket << int32(GenderID);
+
+ for (size_t i = 0; i < Items.size(); ++i)
+ _worldPacket << Items[i];
+
+ for (size_t i = 0; i < Glyphs.size(); ++i)
+ _worldPacket << uint16(Glyphs[i]);
+
+ for (size_t i = 0; i < Talents.size(); ++i)
+ _worldPacket << uint16(Talents[i]);
+
+ _worldPacket.WriteBit(GuildData.HasValue);
+ _worldPacket.FlushBits();
+
+ if (GuildData.HasValue)
+ _worldPacket << GuildData.Value;
+
+ return &_worldPacket;
+}
+
+void WorldPackets::Inspect::RequestHonorStats::Read()
+{
+ _worldPacket >> TargetGUID;
+}
+
+WorldPacket const* WorldPackets::Inspect::InspectHonorStats::Write()
+{
+ _worldPacket << PlayerGUID;
+ _worldPacket << uint8(LifetimeMaxRank);
+ _worldPacket << uint16(YesterdayHK); /// @todo: confirm order
+ _worldPacket << uint16(TodayHK); /// @todo: confirm order
+ _worldPacket << uint32(LifetimeHK);
+
+ return &_worldPacket;
+}
+
+void WorldPackets::Inspect::InspectPVPRequest::Read()
+{
+ _worldPacket >> InspectTarget;
+ _worldPacket >> InspectRealmAddress;
+}
+
+ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Inspect::PVPBracketData const& bracket)
+{
+ data << int32(bracket.Rating);
+ data << int32(bracket.Rank);
+ data << int32(bracket.WeeklyPlayed);
+ data << int32(bracket.WeeklyWon);
+ data << int32(bracket.SeasonPlayed);
+ data << int32(bracket.SeasonWon);
+ data << int32(bracket.WeeklyBestRating);
+ data << uint8(bracket.Bracket);
+
+ return data;
+}
+
+WorldPacket const* WorldPackets::Inspect::InspectPVPResponse::Write()
+{
+ _worldPacket << ClientGUID;
+
+ _worldPacket.WriteBits(Bracket.size(), 3);
+ _worldPacket.FlushBits();
+
+ for (size_t i = 0; i < Bracket.size(); ++i)
+ _worldPacket << Bracket[i];
+
+ return &_worldPacket;
+}
+
+void WorldPackets::Inspect::QueryInspectAchievements::Read()
+{
+ _worldPacket >> Guid;
+}
diff --git a/src/server/game/Server/Packets/InspectPackets.h b/src/server/game/Server/Packets/InspectPackets.h
new file mode 100644
index 00000000000..5f0fa45bb24
--- /dev/null
+++ b/src/server/game/Server/Packets/InspectPackets.h
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+#include "Packet.h"
+#include "ItemPackets.h"
+#include "ObjectGuid.h"
+
+class Item;
+
+namespace WorldPackets
+{
+ namespace Inspect
+ {
+ class Inspect final : public ClientPacket
+ {
+ public:
+ Inspect(WorldPacket&& packet) : ClientPacket(CMSG_INSPECT, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid Target;
+ };
+
+ struct InspectEnchantData
+ {
+ InspectEnchantData(uint32 id, uint8 index) : Id(id), Index(Index) { }
+
+ uint32 Id = 0;
+ uint8 Index = 0;
+ };
+
+ struct InspectItemData
+ {
+ InspectItemData(::Item const* item, uint8 index);
+
+ ObjectGuid CreatorGUID;
+ Item::ItemInstance Item;
+ uint8 Index = 0;
+ bool Usable = false;
+ std::vector<InspectEnchantData> Enchants;
+ };
+
+ struct InspectGuildData
+ {
+ ObjectGuid GuildGUID;
+ int32 NumGuildMembers = 0;
+ int32 AchievementPoints = 0;
+ };
+
+ class InspectResult final : public ServerPacket
+ {
+ public:
+ InspectResult() : ServerPacket(SMSG_INSPECT_RESULT, 45) { }
+
+ WorldPacket const* Write() override;
+
+ std::vector<InspectItemData> Items;
+ int32 ClassID = CLASS_NONE;
+ int32 GenderID = GENDER_NONE;
+ std::vector<uint16> Talents;
+ std::vector<uint16> Glyphs;
+ Optional<InspectGuildData> GuildData;
+ ObjectGuid InspecteeGUID;
+ int32 SpecializationID = 0;
+ };
+
+ class RequestHonorStats final : public ClientPacket
+ {
+ public:
+ RequestHonorStats(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_HONOR_STATS, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid TargetGUID;
+ };
+
+ class InspectHonorStats final : public ServerPacket
+ {
+ public:
+ InspectHonorStats() : ServerPacket(SMSG_INSPECT_HONOR_STATS, 25) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid PlayerGUID;
+ uint32 LifetimeHK = 0;
+ uint16 YesterdayHK = 0;
+ uint16 TodayHK = 0;
+ uint8 LifetimeMaxRank = 0;
+ };
+
+ class InspectPVPRequest final : public ClientPacket
+ {
+ public:
+ InspectPVPRequest(WorldPacket&& packet) : ClientPacket(CMSG_INSPECT_PVP, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid InspectTarget;
+ uint32 InspectRealmAddress = 0;
+ };
+
+ struct PVPBracketData
+ {
+ int32 Rating = 0;
+ int32 Rank = 0;
+ int32 WeeklyPlayed = 0;
+ int32 WeeklyWon = 0;
+ int32 SeasonPlayed = 0;
+ int32 SeasonWon = 0;
+ int32 WeeklyBestRating = 0;
+ uint8 Bracket = 0;
+ };
+
+ class InspectPVPResponse final : public ServerPacket
+ {
+ public:
+ InspectPVPResponse() : ServerPacket(SMSG_INSPECT_PVP, 17) { }
+
+ WorldPacket const* Write() override;
+
+ std::vector<PVPBracketData> Bracket;
+ ObjectGuid ClientGUID;
+ };
+
+ class QueryInspectAchievements final : public ClientPacket
+ {
+ public:
+ QueryInspectAchievements(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_INSPECT_ACHIEVEMENTS, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid Guid;
+ };
+
+ /// RespondInspectAchievements in AchievementPackets
+ }
+}
diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp
index 17f26852315..494d53b25f7 100644
--- a/src/server/game/Server/Packets/ItemPackets.cpp
+++ b/src/server/game/Server/Packets/ItemPackets.cpp
@@ -23,7 +23,7 @@ void WorldPackets::Item::BuyBackItem::Read()
_worldPacket >> Slot;
}
-void WorldPackets::Item::ItemRefundInfo::Read()
+void WorldPackets::Item::GetItemPurchaseData::Read()
{
_worldPacket >> ItemGUID;
}
@@ -75,18 +75,14 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemInstance const&
data << itemInstance.RandomPropertiesID;
data.WriteBit(itemInstance.ItemBonus.HasValue);
- data.WriteBit(!itemInstance.Modifications.empty());
+ data.WriteBit(itemInstance.Modifications.HasValue);
data.FlushBits();
if (itemInstance.ItemBonus.HasValue)
data << itemInstance.ItemBonus.Value;
- if (!itemInstance.Modifications.empty())
- {
- data << uint32(itemInstance.Modifications.size() * sizeof(uint32));
- for (int32 itemMod : itemInstance.Modifications)
- data << itemMod;
- }
+ if (itemInstance.Modifications.HasValue)
+ data << itemInstance.Modifications.Value;
return data;
}
@@ -103,6 +99,44 @@ ByteBuffer& WorldPackets::Item::operator>>(ByteBuffer& data, InvUpdate& invUpdat
return data;
}
+void WorldPackets::Item::ItemInstance::Initalize(::Item const* item)
+{
+ ItemID = item->GetEntry();
+ RandomPropertiesSeed = item->GetTemplate()->GetRandomSuffix(); /// @todo: confirm this
+ RandomPropertiesID = item->GetItemRandomPropertyId();
+ std::vector<uint32> const& bonusListIds = item->GetDynamicValues(ITEM_DYNAMIC_FIELD_BONUSLIST_IDS);
+ if (!bonusListIds.empty())
+ {
+ ItemBonus.HasValue = true;
+ ItemBonus.Value.BonusListIDs.insert(ItemBonus.Value.BonusListIDs.end(), bonusListIds.begin(), bonusListIds.end());
+ ItemBonus.Value.Context = 0; /// @todo
+ }
+
+ for (uint8 i = 1; i < MAX_ITEM_MODIFIERS; ++i)
+ {
+ if (int32 mod = item->GetModifier(ItemModifier(i)))
+ {
+ Modifications.HasValue = true;
+ Modifications.Value.Insert(i - 1, mod);
+ }
+ }
+}
+
+void WorldPackets::Item::ItemInstance::Initalize(::LootItem const& lootItem)
+{
+ ItemID = lootItem.itemid;
+ RandomPropertiesSeed = lootItem.randomSuffix;
+ RandomPropertiesID = lootItem.randomPropertyId;
+ if (!lootItem.BonusListIDs.empty())
+ {
+ ItemBonus.HasValue = true;
+ ItemBonus.Value.BonusListIDs = lootItem.BonusListIDs;
+ ItemBonus.Value.Context = 0; /// @todo
+ }
+
+ /// no Modifications
+}
+
WorldPacket const* WorldPackets::Item::InventoryChangeFailure::Write()
{
_worldPacket << int8(BagResult);
diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h
index 079d7839e90..65fdcdf3367 100644
--- a/src/server/game/Server/Packets/ItemPackets.h
+++ b/src/server/game/Server/Packets/ItemPackets.h
@@ -20,6 +20,7 @@
#include "Packet.h"
#include "Item.h"
+#include "PacketUtilities.h"
namespace WorldPackets
{
@@ -36,10 +37,10 @@ namespace WorldPackets
uint32 Slot = 0;
};
- class ItemRefundInfo final : public ClientPacket
+ class GetItemPurchaseData final : public ClientPacket
{
public:
- ItemRefundInfo(WorldPacket&& packet) : ClientPacket(CMSG_ITEM_REFUND_INFO, std::move(packet)) { }
+ GetItemPurchaseData(WorldPacket&& packet) : ClientPacket(CMSG_GET_ITEM_PURCHASE_DATA, std::move(packet)) { }
void Read() override;
@@ -94,17 +95,20 @@ namespace WorldPackets
struct ItemBonusInstanceData
{
- uint8 Context = 0;
+ uint8 Context = 0;
std::vector<int32> BonusListIDs;
};
struct ItemInstance
{
+ void Initalize(::Item const* item);
+ void Initalize(::LootItem const& lootItem);
+
uint32 ItemID = 0;
uint32 RandomPropertiesSeed = 0;
uint32 RandomPropertiesID = 0;
Optional<ItemBonusInstanceData> ItemBonus;
- std::vector<int32> Modifications;
+ Optional<CompactArray<int32>> Modifications;
};
struct InvUpdate
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 699d504554e..422bd749d82 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -16,12 +16,11 @@
*/
#include "MiscPackets.h"
+#include "PacketUtilities.h"
WorldPacket const* WorldPackets::Misc::BindPointUpdate::Write()
{
- _worldPacket << float(BindPosition.x);
- _worldPacket << float(BindPosition.y);
- _worldPacket << float(BindPosition.z);
+ _worldPacket << BindPosition;
_worldPacket << uint32(BindMapID);
_worldPacket << uint32(BindAreaID);
@@ -218,9 +217,7 @@ WorldPacket const* WorldPackets::Misc::CorpseReclaimDelay::Write()
WorldPacket const* WorldPackets::Misc::DeathReleaseLoc::Write()
{
_worldPacket << MapID;
- _worldPacket << float(Loc.x);
- _worldPacket << float(Loc.y);
- _worldPacket << float(Loc.z);
+ _worldPacket << Loc;
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 4a0d0bfbd12..7ec6ad5923a 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -177,7 +177,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
- uint32 Time = 0;
+ uint32 Time = 0; ///< UnixTime
};
class TutorialFlags : public ServerPacket
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 9a208670804..48aee03dfe8 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -19,20 +19,9 @@
#include "MoveSpline.h"
#include "MoveSplineFlag.h"
#include "MovementTypedefs.h"
+#include "PacketUtilities.h"
#include "Unit.h"
-ByteBuffer& operator<<(ByteBuffer& data, G3D::Vector3 const& v)
-{
- data << v.x << v.y << v.z;
- return data;
-}
-
-ByteBuffer& operator>>(ByteBuffer& data, G3D::Vector3& v)
-{
- data >> v.x >> v.y >> v.z;
- return data;
-}
-
ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
{
bool hasTransportData = !movementInfo.transport.guid.IsEmpty();
@@ -189,7 +178,7 @@ void WorldPackets::Movement::ClientPlayerMovement::Read()
_worldPacket >> movementInfo;
}
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineFilterKey const& monsterSplineFilterKey)
+ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MonsterSplineFilterKey const& monsterSplineFilterKey)
{
data << monsterSplineFilterKey.Idx;
data << monsterSplineFilterKey.Speed;
@@ -197,7 +186,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineFi
return data;
}
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineFilter const& monsterSplineFilter)
+ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MonsterSplineFilter const& monsterSplineFilter)
{
data << uint32(monsterSplineFilter.FilterKeys.size());
data << monsterSplineFilter.BaseSpeed;
@@ -212,7 +201,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineFi
return data;
}
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MovementSpline const& movementSpline)
+ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MovementSpline const& movementSpline)
{
data << movementSpline.Flags;
data << movementSpline.AnimTier;
@@ -255,7 +244,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MovementSpline
return data;
}
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MovementMonsterSpline const& movementMonsterSpline)
+ByteBuffer& WorldPackets::operator<<(ByteBuffer& data, Movement::MovementMonsterSpline const& movementMonsterSpline)
{
data << movementMonsterSpline.ID;
data << movementMonsterSpline.Destination;
@@ -276,13 +265,9 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MovementMonster
void WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(::Movement::MoveSpline const& moveSpline, ByteBuffer& data)
{
data << uint32(moveSpline.GetId()); // ID
+
if (!moveSpline.isCyclic()) // Destination
- {
- G3D::Vector3 dest = moveSpline.FinalDestination();
- data << float(dest.z);
- data << float(dest.x);
- data << float(dest.y);
- }
+ data << moveSpline.FinalDestination().zxy();
else
data << G3D::Vector3::zero();
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index 31f30d74c04..85156234477 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -286,10 +286,12 @@ namespace WorldPackets
int32 MoveTime = 0;
};
}
-}
-ByteBuffer& operator<<(ByteBuffer& data, G3D::Vector3 const& v);
-ByteBuffer& operator>>(ByteBuffer& data, G3D::Vector3& v);
+ ByteBuffer& operator<<(ByteBuffer& data, Movement::MonsterSplineFilterKey const& monsterSplineFilterKey);
+ ByteBuffer& operator<<(ByteBuffer& data, Movement::MonsterSplineFilter const& monsterSplineFilter);
+ ByteBuffer& operator<<(ByteBuffer& data, Movement::MovementSpline const& movementSpline);
+ ByteBuffer& operator<<(ByteBuffer& data, Movement::MovementMonsterSpline const& movementMonsterSpline);
+}
ByteBuffer& operator>>(ByteBuffer& data, MovementInfo& movementInfo);
ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo);
@@ -297,9 +299,4 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo);
ByteBuffer& operator>>(ByteBuffer& data, MovementInfo::TransportInfo& transportInfo);
ByteBuffer& operator<<(ByteBuffer& data, MovementInfo::TransportInfo const& transportInfo);
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineFilterKey const& monsterSplineFilterKey);
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MonsterSplineFilter const& monsterSplineFilter);
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MovementSpline const& movementSpline);
-ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Movement::MovementMonsterSpline const& movementMonsterSpline);
-
#endif // MovementPackets_h__
diff --git a/src/server/game/Server/Packets/PacketUtilities.h b/src/server/game/Server/Packets/PacketUtilities.h
new file mode 100644
index 00000000000..25e6f27d1d4
--- /dev/null
+++ b/src/server/game/Server/Packets/PacketUtilities.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+namespace WorldPackets
+{
+ inline ByteBuffer& operator<<(ByteBuffer& data, G3D::Vector3 const& v)
+ {
+ data << v.x << v.y << v.z;
+ return data;
+ }
+
+ inline ByteBuffer& operator>>(ByteBuffer& data, G3D::Vector3& v)
+ {
+ data >> v.x >> v.y >> v.z;
+ return data;
+ }
+
+ template <typename T>
+ struct CompactArray
+ {
+ public:
+ uint32 GetMask() const { return _mask; }
+ T const& operator[](size_t index) const { return _contents.at(index); }
+ size_t GetSize() const { return _contents.size(); }
+
+ void Insert(size_t index, T const& value)
+ {
+ ASSERT(index < 0x20);
+
+ _mask |= 1 << index;
+ if (_contents.size() <= index)
+ _contents.resize(index + 1);
+ _contents[index] = value;
+ }
+
+ void Clear()
+ {
+ _mask = 0;
+ _contents.clear();
+ }
+
+ private:
+ uint32 _mask = 0;
+ std::vector<T> _contents;
+ };
+
+ template <typename T>
+ ByteBuffer& operator<<(ByteBuffer& data, CompactArray<T> const& v)
+ {
+ uint32 mask = v.GetMask();
+ data << uint32(mask);
+ for (size_t i = 0; i < v.GetSize(); ++i)
+ {
+ if (mask & (1 << i))
+ data << v[i];
+ }
+
+ return data;
+ }
+}
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 6f93fec73f2..6b2f126ec4c 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -462,10 +462,10 @@ WorldPacket const* WorldPackets::Spells::SetSpellModifier::Write()
return &_worldPacket;
}
-WorldPacket const* WorldPackets::Spells::SendRemovedSpell::Write()
+WorldPacket const* WorldPackets::Spells::UnlearnedSpells::Write()
{
- _worldPacket << uint32(Spells.size());
- for (uint32 spellId : Spells)
+ _worldPacket << uint32(SpellID.size());
+ for (uint32 spellId : SpellID)
_worldPacket << uint32(spellId);
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index fa5af7b2882..5818e7e78ca 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -388,14 +388,14 @@ namespace WorldPackets
std::vector<SpellModifier> Modifiers;
};
- class SendRemovedSpell final : public ServerPacket
+ class UnlearnedSpells final : public ServerPacket
{
public:
- SendRemovedSpell() : ServerPacket(SMSG_REMOVED_SPELL, 4) { }
+ UnlearnedSpells() : ServerPacket(SMSG_UNLEARNED_SPELLS, 4) { }
WorldPacket const* Write() override;
- std::vector<uint32> Spells;
+ std::vector<uint32> SpellID;
};
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 988a858e83b..6adaa748e0e 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -30,6 +30,7 @@
#include "Packets/EquipmentSetPackets.h"
#include "Packets/GameObjectPackets.h"
#include "Packets/GuildPackets.h"
+#include "Packets/InspectPackets.h"
#include "Packets/ItemPackets.h"
#include "Packets/LootPackets.h"
#include "Packets/MiscPackets.h"
@@ -139,8 +140,10 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_GUILD_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_LEVEL_GRANT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptGrantLevel );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptTradeOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_WARGAME_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI_EXPRESS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiExpressOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ADD_FRIEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAddFriendOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ADD_IGNORE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAddIgnoreOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ADD_MUTE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -244,12 +247,13 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_REMOVE_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarRemoveEvent );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_REMOVE_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_UPDATE_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarUpdateEvent );
- DEFINE_HANDLER(CMSG_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::CancelAura, &WorldSession::HandleCancelAuraOpcode );
+ DEFINE_HANDLER(CMSG_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::CancelAura, &WorldSession::HandleCancelAuraOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_AUTO_REPEAT_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAutoRepeatSpellOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_CAST, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleCancelCastOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_CHANNELLING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelChanneling );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_GROWTH_AURA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelGrowthAuraOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_MASTER_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_MOUNT_AURA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelMountAuraOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_QUEUED_SPELL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CANCEL_TEMP_ENCHANTMENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelTempEnchantmentOpcode);
@@ -259,6 +263,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHALLENGE_MODE_REQUEST_LEADERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_BANK_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_SUB_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -291,8 +296,9 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharRaceOrFactionChange, &WorldSession::HandleCharRaceOrFactionChangeOpcode);
DEFINE_HANDLER(CMSG_CHAR_RENAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode);
DEFINE_HANDLER(CMSG_CHAR_UNDELETE_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharUndeleteEnumOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_REPORT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_REPORT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_CHECK_RAF_EMAIL_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHOICE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_RAID_MARKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleClearTradeItemOpcode );
@@ -311,7 +317,6 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_MOVIE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CONFIRM_RESPEC_WIPE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleConfirmRespecWipeOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CONNECT_TO_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_CONTACT_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleContactListOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CONVERSATION_UNK1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CONVERT_RAID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CREATE_SHIPMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -331,6 +336,9 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_PROPOSAL_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SEARCH_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SEARCH_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SET_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SET_ROLES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_TELEPORT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_DISCARDED_TIME_SYNC_ACKS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -344,7 +352,6 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_ENABLE_NAGLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ENABLE_TAXI_NODE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes );
DEFINE_HANDLER(CMSG_EQUIPMENT_SET_SAVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_EQUIPMENT_SET_USE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetUse );
DEFINE_OPCODE_HANDLER_OLD(CMSG_FAR_SIGHT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleFarSightOpcode );
DEFINE_HANDLER(CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryGameObject, &WorldSession::HandleGameObjectQueryOpcode);
DEFINE_HANDLER(CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectReportUse, &WorldSession::HandleGameobjectReportUse);
@@ -354,43 +361,39 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_COMPLETE_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_MISSION_BONUS_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_PURCHASE_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_UPGRADEABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SET_FOLLOWER_INACTIVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_START_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_UNK1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GETDEATHBINDZONE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_CHALLENGE_MODE_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_GARRISON_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::GetItemPurchaseData, &WorldSession::HandleGetItemPurchaseData);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MAIL_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGetMailList );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MIRRORIMAGE_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_TROPHY_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_GET_UNDELETE_COOLDOWN_STATUS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GetUndeleteCooldownStatus, &WorldSession::HandleGetUndeleteCooldownStatus);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GHOST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMRESPONSE_RESOLVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMResponseResolve );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMSURVEY_SUBMIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMSurveySubmit );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMTICKET_CREATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketCreateOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMTICKET_DELETETICKET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketDeleteOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMTICKET_GETTICKET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketGetTicketOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMTICKET_SYSTEMSTATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketSystemStatusOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GMTICKET_UPDATETEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketUpdateOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_INVIS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_LAG_REPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportLag );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_NUKE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_REPORT_LAG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportLag );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_SET_SECURITY_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_SURVEY_SUBMIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMSurveySubmit );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_CREATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_DELETE_TICKET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_CREATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketCreateOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_DELETE_TICKET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketDeleteOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_GET_CASE_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_GET_SYSTEM_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_GET_TICKET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_RESPONSE_RESOLVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_UPDATE_TEXT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_GET_SYSTEM_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketSystemStatusOpcode);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_GET_TICKET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketGetTicketOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_RESPONSE_RESOLVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMResponseResolve );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_UPDATE_TEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketUpdateOpcode );
DEFINE_HANDLER(CMSG_GOSSIP_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleGossipHelloOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GOSSIP_SELECT_OPTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGossipSelectOptionOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GRANT_LEVEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGrantLevel );
@@ -417,6 +420,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_QUERY_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankQueryTab );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_QUERY_TEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQueryGuildBankTabText );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_SET_TAB_TEXT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_SWAP_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankSwapItems );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_UPDATE_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankUpdateTab );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_BANK_WITHDRAW_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankWithdrawMoney );
@@ -458,17 +462,21 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_UPDATE_MOTD_TEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildMOTDOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_HEARTH_AND_RESURRECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleHearthAndResurrect );
DEFINE_OPCODE_HANDLER_OLD(CMSG_IGNORE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleIgnoreTradeOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_ROLE_POLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateTradeOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_INSPECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_WARNING_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_HANDLER(CMSG_INSPECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode);
+ DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_PURCHASE_REFUND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund );
- DEFINE_HANDLER(CMSG_ITEM_REFUND_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::ItemRefundInfo, &WorldSession::HandleItemRefundInfoRequest);
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemTextQuery );
DEFINE_OPCODE_HANDLER_OLD(CMSG_JOIN_ARENA_SKIRMISH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_JOIN_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::JoinChannel, &WorldSession::HandleJoinChannel);
DEFINE_OPCODE_HANDLER_OLD(CMSG_JOIN_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_JOIN_RATED_BATTLEGROUND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_KEEP_ALIVE, STATUS_NEVER, PROCESS_THREADUNSAFE, &WorldSession::Handle_EarlyProccess );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_KEYBOUND_OVERRIDE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode);
DEFINE_HANDLER(CMSG_LEAVE_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::LeaveChannel, &WorldSession::HandleLeaveChannel);
DEFINE_OPCODE_HANDLER_OLD(CMSG_LEAVE_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -478,6 +486,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LEAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgLeaveOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LFR_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LFR_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_CANCEL_APPLICATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_DECLINE_APPLICANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_GET_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_INVITE_APPLICANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -485,6 +494,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_SEARCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LOCK_INFO_REQUEST, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleLfgGetLockInfoOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_PROPOSAL_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgProposalResultOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_SET_BOOT_VOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetBootVoteOpcode );
@@ -503,6 +513,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_LIST_INVENTORY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleListInventoryOpcode);
DEFINE_HANDLER(CMSG_LOAD_SCREEN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::LoadingScreenNotify, &WorldSession::HandleLoadScreenOpcode);
DEFINE_HANDLER(CMSG_LOGOUT_CANCEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::LogoutCancel, &WorldSession::HandleLogoutCancelOpcode);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_LOGOUT_INSTANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::LogoutRequest, &WorldSession::HandleLogoutRequestOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_LOG_DISCONNECT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess );
DEFINE_HANDLER(CMSG_LOOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode);
@@ -512,6 +523,8 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_LOOT_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootMoney, &WorldSession::HandleLootMoneyOpcode);
DEFINE_HANDLER(CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRelease, &WorldSession::HandleLootReleaseOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootRoll );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_LOW_LEVEL_RAID1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_LOW_LEVEL_RAID2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMailCreateTextItem );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MAIL_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMailDelete );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MAIL_MARK_AS_READ, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMailMarkAsRead );
@@ -520,6 +533,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_MAIL_TAKE_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMailTakeMoney );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MASTER_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MEETINGSTONE_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_ADDON_CHANNEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_ADDON_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
@@ -542,9 +556,8 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_MINIGAME_MOVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MINIMAP_PING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMinimapPingOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MISSILE_TRAJECTORY_COLLISION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOUNTSPECIAL_ANIM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOUNT_SET_FAVORITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOUNT_SPECIAL_ANIM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_MOUNT_SPECIAL_ANIM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_CHANGE_TRANSPORT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_CHANGE_VEHICLE_SEATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -662,6 +675,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_PING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYED_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePlayedTime );
DEFINE_HANDLER(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayerLogin, &WorldSession::HandlePlayerLoginOpcode);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYER_TIME_ADJUSTMENT_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAYER_VEHICLE_ENTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEnterPlayerVehicle );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAY_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard);
@@ -671,7 +685,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_QUERY_CORPSE_TRANSPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseTransport, &WorldSession::HandleQueryCorpseTransport);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_COUNTDOWN_TIMER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_GUILD_XP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildQueryXPOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQueryInspectAchievements );
+ DEFINE_HANDLER(CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::QueryInspectAchievements, &WorldSession::HandleQueryInspectAchievements);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_NEXT_MAIL_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQueryNextMailTime );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_PETITION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_SCENARIO_POI, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -698,6 +712,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_RANDOM_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomRollOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_READ_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReadItem );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_REAGENT_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REALM_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ReclaimCorpse, &WorldSession::HandleReclaimCorpse);
DEFINE_OPCODE_HANDLER_OLD(CMSG_RECRUIT_A_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -716,9 +731,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_FORCED_REACTIONS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildRewardsQueryOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_HONOR_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectHonorStatsOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_INSPECT_PVP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_INSPECT_RATED_BG_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_HANDLER(CMSG_REQUEST_HONOR_STATS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Inspect::RequestHonorStats, &WorldSession::HandleRequestHonorStatsOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_LFG_LIST_BLACKLIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPartyMemberStatsOpcode);
@@ -726,8 +739,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PVP_OPTIONS_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestPvpOptions );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PVP_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestPvpReward );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RAID_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestRaidInfoOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RATED_BATTLEFIELD_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RATED_BG_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestRatedBgInfo );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RATED_BATTLEFIELD_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestRatedBattlefieldInfo);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RATED_BG_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestRatedBgStats );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RESEARCH_HISTORY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_STABLED_PETS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleListStabledPetsOpcode );
@@ -735,10 +747,12 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_CHALLENGE_MODE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_FACTION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_INSTANCES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode );
DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ResurrectResponse, &WorldSession::HandleResurrectResponse);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REVERT_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_RIDE_VEHICLE_INTERACT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRolePollBeginOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_CUF_PROFILES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles );
@@ -749,23 +763,24 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SCENE_TRIGGER_EVENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SELF_RES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode );
DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SellItem, &WorldSession::HandleSellItemOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_CONTACT_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_CONTACT_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleContactListOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_MAIL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSendMail );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_ADDRESS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SERVERTIME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SETDEATHBINDPOINT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_SETSHEATHED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSetSheathedOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACHIEVEMENTS_HIDDEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIONBAR_TOGGLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionBarToggles );
DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::SetActionButton, &WorldSession::HandleSetActionButtonOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIVE_MOVER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveMoverOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveVoiceChannel );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ALLOW_LOW_LEVEL_RAID1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ALLOW_LOW_LEVEL_RAID2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ADVANCED_COMBAT_LOGGING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ASSISTANT_LEADER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BACKPACK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BANK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_CONTACT_NOTES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetContactNotesOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_CURRENCY_FLAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_DIFFICULTY_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_SET_DUNGEON_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetDungeonDifficulty, &WorldSession::HandleSetDungeonDifficultyOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_EVERYONE_IS_ASSISTANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_FACTION_AT_WAR, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionAtWar );
@@ -773,6 +788,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_FACTION_INACTIVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionInactiveOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_FACTION_NOT_AT_WAR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_GUILD_BANK_TEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetGuildBankTabText );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LFG_BONUS_FACTION_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LFG_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LOOT_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -787,6 +803,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ROLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSavedInstanceExtend );
DEFINE_HANDLER(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetSelection, &WorldSession::HandleSetSelectionOpcode);
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SHEATHED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSetSheathedOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SKILL_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_SET_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Talent::SetSpecialization, &WorldSession::HandleSetSpecializationOpcode);
@@ -811,6 +828,8 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SplitItem, &WorldSession::HandleSplitItemOpcode);
DEFINE_HANDLER(CMSG_STAND_STATE_CHANGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::StandStateChange, &WorldSession::HandleStandStateChangeOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_START_QUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_START_SPECTATOR_WARGAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_START_WARGAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_STOP_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_STORE_LOOT_IN_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SUBMIT_BUG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -838,8 +857,10 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_TIME_SYNC_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::TimeSyncResponse, &WorldSession::HandleTimeSyncResponse);
DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_SYNC_RESPONSE_DROPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_SYNC_RESPONSE_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_TOGGLE_DIFFICULTY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TOGGLE_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTogglePvP );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TOTEM_DESTROYED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTotemDestroyed );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_TOY_SET_FAVORITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TRAINER_BUY_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTrainerBuySpellOpcode );
DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTrainerListOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_TRANSMOGRIFY_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTransmogrifyItems );
@@ -851,6 +872,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_UNACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnacceptTradeOpcode );
DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::UndeleteCharacter, &WorldSession::HandleCharUndeleteOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLEARN_SKILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnlearnSkillOpcode );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_UNREGISTER_ALL_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnregisterAddonPrefixesOpcode);
DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::ClientConfig::UserClientUpdateAccountData, &WorldSession::HandleUpdateAccountData);
DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_CLIENT_SETTINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -858,8 +880,10 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_PROJECTILE_POSITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateProjectilePosition );
DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_RAID_TARGET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRaidTargetUpdateOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_UPGRADE_GARRISON, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_UPGRADE_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_CRITTER_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
+ DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_EQUIPMENT_SET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetUse );
DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUseItemOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_TOY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_VIOLENCE_LEVEL, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Misc::ViolenceLevel, &WorldSession::HandleViolenceLevel);
@@ -912,6 +936,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTION_BUTTONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACTIVATE_TAXI_REPLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADDON_INFO, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_BATTLENET_FRIEND_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_ITEM_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADD_RUNE_POWER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ADJUST_SPLINE_DURATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -921,13 +947,16 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACCOUNT_CRITERIA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ALL_GUILD_ACHIEVEMENTS, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARCHAEOLOGY_SURVERY_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_SPIRIT_HEALER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_DENIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_MOVEMENT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_NO_CORPSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_RE_PATH, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_AREA_TRIGGER_RE_SHAPE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ARENA_TEAM_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -939,6 +968,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTART, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSTOP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_ERROR, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ATTACKSWING_LANDED_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_BIDDER_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_CLOSED_NOTIFICATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AUCTION_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -962,6 +992,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AVERAGE_ITEM_LEVEL_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BARBER_SHOP_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_DROP_TIMER_CANCELED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_DROP_TIMER_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_EJECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_EJECT_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLEFIELD_MGR_ENTERED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1008,7 +1040,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_LICENSE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_RESTORED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_REVOKED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_SLOT_UPDATES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_TRAP_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_UPDATES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1056,6 +1087,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAN_DUEL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAST_FAILED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_ALL_MAP_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1064,6 +1096,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_REWARDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1072,6 +1105,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_LOGIN_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_OBJECT_TEST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_UPGRADE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CREATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CUSTOMIZE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_CUSTOMIZE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1079,23 +1115,29 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_ENUM, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_RENAME, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_UPGRADE_STARTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_AUTO_RESPONDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IGNORED_ACCOUNT_MUTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_IS_DOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_NOT_IN_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_PLAYER_NOT_FOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RECONNECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_RESTRICTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_SERVER_DISCONNECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_SERVER_DISCONNECTED_2, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_SERVER_RECONNECTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAT_WRONG_FACTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHEAT_IGNORE_DIMISHING_RETURNS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHECK_FOR_BOTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHECK_WARGAME_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_ALL_SPELL_CHARGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_BOSS_EMOTES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_COOLDOWNS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_QUEST_COMPLETED_BIT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_QUEST_COMPLETED_BITS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENT_CONTROL_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1108,7 +1150,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_STATE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLAIN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLAINT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPLETE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPRESSED_MOVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMPRESSED_PACKET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1116,6 +1158,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_DISCONNECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMSAT_RECONNECT_TRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONQUEST_FORMULA_CONSTANTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONSOLE_WRITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONVERT_RUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1139,7 +1182,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_STUDIO_CREATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEBUG_RUNE_REGEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEBUG_SERVER_GEO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DESTROY_ARENA_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1147,7 +1189,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DIFFERENT_INSTANCE_FROM_PARTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISENCHANT_CREDIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISMOUNT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISMOUNTRESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISMOUNT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISPEL_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISPLAY_GAME_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DISPLAY_PLAYER_CHOICE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1158,8 +1200,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DROP_NEW_CONNECTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_COUNTDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_INBOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_OUTOFBOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_IN_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_OUT_OF_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_REQUESTED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUEL_WINNER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DUMP_RIDE_TICKETS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1173,7 +1215,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENVIRONMENTALDAMAGELOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_SAVED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_EQUIPMENT_SET_USE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPECTED_SPAM_RECORDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_EXPLORATION_EXPERIENCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FACTION_BONUS_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1189,6 +1230,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCED_DEATH_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_DISPLAY_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORCE_OBJECT_RELINK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FORGE_MASTER_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FRIEND_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_ACTIVATE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1197,11 +1239,12 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_DESPAWN_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_PAGETEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_QUERY_RESPONSE, STATUS_LOGGEDIN, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMEOBJECT_RESET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMESPEED_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAMETIME_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_EVENT_DEBUG_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_SPEED_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_SET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_FOLLOWER_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_ADD_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1209,10 +1252,13 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_ACTIVATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_BUILDING_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_XP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LANDINGPAGE_SHIPMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_TRADESKILL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_OPEN_TRADESKILL_NPC_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLACE_BUILDING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_PLOT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REMOTE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1223,11 +1269,13 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADEABLE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_FOLLOWER_ITEM_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_UPGRADE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_GARRISON_INFO_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_SHIPMENT_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GET_TROPHY_LIST_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_MESSAGECHAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_REQUEST_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_CASE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_GET_TICKET_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_RESOLVE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1236,7 +1284,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_STATUS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_SYSTEM_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GODMODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOD_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GOSSIP_POI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1319,24 +1367,26 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_NOTIFY_BLOB, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIALIZE_FACTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIAL_SETUP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INITIAL_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INIT_WORLD_STATES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_HONOR_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_PVP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_RATED_BG_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_TALENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_HONOR_STATS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_PVP, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_END, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_ENCOUNTER_TIMER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_GROUP_SIZE_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_LOCK_WARNING_QUERY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1348,7 +1398,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALID_PROMOTION_CODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_IS_QUEST_COMPLETE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ADD_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_BONUS_DEBUG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1356,10 +1406,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PUSH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_REFUND_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_REFUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_REMOVE_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_SEND_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TEXT_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_UPGRADE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_JOINED_BATTLEGROUND_QUEUE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_KICK_REASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEARNED_DANCE_MOVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1438,7 +1487,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIGAME_SETUP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIGAME_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MINIMAP_PING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRRORIMAGE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_COMPONENTED_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MIRROR_IMAGE_CREATURE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MISSILE_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1512,6 +1560,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_TELEPORT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNROOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_WALK_IN_AIR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1540,6 +1589,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_DEST_LOC_SPELL_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_MONEY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NOTIFY_RECEIVED_MAIL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NPC_TEXT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NPC_WONT_TALK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1560,9 +1610,11 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_MEMBER_STATS_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PARTY_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PAUSE_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PENDING_RAID_LOCK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PERIODICAURALOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETGODMODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_ALREADY_SIGNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_DECLINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_RENAME_GUILD_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_SHOW_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PETITION_SHOW_SIGNATURES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1584,11 +1636,12 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_REPLACEMENTS_MADE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_REQUEST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_ROUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_SLOT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BATTLE_SLOT_UPDATES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_BROKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_CAST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_CLEAR_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_DISMISS_SOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_GOD_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_GUIDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_LEARNED_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1606,7 +1659,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYED_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYERBINDERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_BOUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_DIFFICULTY_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SKINNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_VEHICLE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1623,7 +1675,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PONG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_POWER_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESSURECT, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROCRESIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROC_RESIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PROPOSE_LEVEL_GRANT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PUREMOUNT_CANCELLED_OBSOLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1657,6 +1708,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_FAILED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAF_EMAIL_ENABLED_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_GROUP_ONLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1679,8 +1731,10 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REDIRECT_CLIENT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_EXPIRED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFER_A_FRIEND_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_COMPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REFRESH_SPELL_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVED_SPELL, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_ITEM_PASSIVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REMOVE_LOSS_OF_CONTROL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPLACE_TROPHY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPORT_PVP_AFK_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1705,13 +1759,15 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_CHOSEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ROLE_POLL_INFORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_RWHOIS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RUNE_REGEN_DEBUG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SAVE_GUILD_EMBLEM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_BOOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_OUT_OF_BOUNDS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_POIS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_PROGRESS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENARIO_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1721,18 +1777,19 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCRIPT_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_ITEM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_ITEM_PASSIVES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_MAIL_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_ALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_SINGLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_UNLEARN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVERTIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_INFO_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_PERF, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_TROPHY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1741,7 +1798,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DF_FAST_LAUNCH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DUNGEON_DIFFICULTY, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_ATWAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_AT_WAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_NOT_VISIBLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_STANDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_VISIBLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1772,7 +1829,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_RATINGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TAXI_NODES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TRADE_SKILL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOCKET_GEMS_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOCKET_GEMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SORT_BAGS_ACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SOR_START_EXPERIENCE_INCOMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPECIAL_MOUNT_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1849,12 +1906,14 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNIT_HEALTH_FREQUENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNIT_SPELLCAST_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNLEARNED_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_UNLEARNED_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_ACCOUNT_DATA, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CAPTURE_POINT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CHARACTER_FLAGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_COMBO_POINTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_CURRENCY_WEEK_LIMIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_EXPANSION_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_INSTANCE_OWNERSHIP, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_UPDATE_LAST_INSTANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1865,6 +1924,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_ADD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_REMOVE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_USERLIST_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_USE_EQUIPMENT_SET_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICESESSION_FULL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_CHAT_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_VOICE_PARENTAL_CONTROLS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1881,6 +1941,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARDEN_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARGAME_CHECK_ENTRY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARGAME_REQUEST_SENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEATHER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_LAST_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_RESET_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index fa0ffde42cb..ba2914c7901 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -49,8 +49,10 @@ enum OpcodeClient : uint32
CMSG_ACCEPT_GUILD_INVITE = 0x0384,
CMSG_ACCEPT_LEVEL_GRANT = 0x0B12,
CMSG_ACCEPT_TRADE = 0x01E5,
+ CMSG_ACCEPT_WARGAME_INVITE = 0x0B40,
CMSG_ACTIVATE_TAXI = 0x0311,
CMSG_ACTIVATE_TAXI_EXPRESS = 0x1B52,
+ CMSG_ADD_BATTLENET_FRIEND = 0x0B36,
CMSG_ADD_FRIEND = 0x0DB9,
CMSG_ADD_IGNORE = 0x1321,
CMSG_ADD_MUTE = 0x098A,
@@ -158,10 +160,11 @@ enum OpcodeClient : uint32
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x0939,
CMSG_CANCEL_CAST = 0x0071,
CMSG_CANCEL_CHANNELLING = 0x0BE6,
- CMSG_CANCEL_GROWTH_AURA = 0xBADD,
+ CMSG_CANCEL_GROWTH_AURA = 0x09B3,
CMSG_CANCEL_MASTER_LOOT_ROLL = 0x0664,
+ CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x02AE,
CMSG_CANCEL_MOUNT_AURA = 0x03E6,
- CMSG_CANCEL_QUEUED_SPELL = 0xBADD,
+ CMSG_CANCEL_QUEUED_SPELL = 0x02DD,
CMSG_CANCEL_TEMP_ENCHANTMENT = 0x13C4,
CMSG_CANCEL_TRADE = 0x1159,
CMSG_CAN_DUEL = 0x0B25,
@@ -169,6 +172,7 @@ enum OpcodeClient : uint32
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x0E66,
CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0x0E78,
CMSG_CHANGE_BAG_SLOT_FLAG = 0x1959,
+ CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x0ADE,
CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 0xBADD,
CMSG_CHANGE_SUB_GROUP = 0x0BA4,
CMSG_CHANGE_TROPHY = 0x0B91,
@@ -201,27 +205,27 @@ enum OpcodeClient : uint32
CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x1209,
CMSG_CHAR_RENAME = 0x038B,
CMSG_CHAR_UNDELETE_ENUM = 0x0F2D,
- CMSG_CHAT_FILTERED = 0xBADD,
- CMSG_CHAT_IGNORED = 0xBADD,
+ CMSG_CHAT_REPORT_FILTERED = 0x1B5C,
+ CMSG_CHAT_REPORT_IGNORED = 0x1B14,
+ CMSG_CHECK_RAF_EMAIL_ENABLED = 0x0906,
CMSG_CHOICE_RESPONSE = 0x00C3,
- CMSG_CLEAR_RAID_MARKER = 0xBADD,
+ CMSG_CLEAR_RAID_MARKER = 0x1C9C,
CMSG_CLEAR_TRADE_ITEM = 0x1149,
CMSG_CLOSE_INTERACTION = 0x1B19,
- CMSG_COMMENTATOR_ENABLE = 0xBADD,
- CMSG_COMMENTATOR_ENTER_INSTANCE = 0xBADD,
- CMSG_COMMENTATOR_EXIT_INSTANCE = 0xBADD,
- CMSG_COMMENTATOR_GET_MAP_INFO = 0xBADD,
+ CMSG_COMMENTATOR_ENABLE = 0x0322,
+ CMSG_COMMENTATOR_ENTER_INSTANCE = 0x19A1,
+ CMSG_COMMENTATOR_EXIT_INSTANCE = 0x1303,
+ CMSG_COMMENTATOR_GET_MAP_INFO = 0x0B82,
CMSG_COMMENTATOR_GET_PARTY_INFO = 0xBADD,
- CMSG_COMMENTATOR_GET_PLAYER_INFO = 0xBADD,
+ CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x013D,
CMSG_COMMENTATOR_INSTANCE_COMMAND = 0xBADD,
CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND = 0xBADD,
- CMSG_COMMENTATOR_START_WARGAME = 0xBADD,
+ CMSG_COMMENTATOR_START_WARGAME = 0x1B89,
CMSG_COMPLAIN = 0x0917,
CMSG_COMPLETE_CINEMATIC = 0x1B51,
CMSG_COMPLETE_MOVIE = 0x13D4,
CMSG_CONFIRM_RESPEC_WIPE = 0x14B4,
CMSG_CONNECT_TO_FAILED = 0x0135,
- CMSG_CONTACT_LIST = 0xBADD,
CMSG_CONVERSATION_UNK1 = 0x0912,
CMSG_CONVERT_RAID = 0x0137,
CMSG_CREATE_SHIPMENT = 0x068B,
@@ -241,6 +245,9 @@ enum OpcodeClient : uint32
CMSG_DF_JOIN = 0x0925,
CMSG_DF_LEAVE = 0x01A2,
CMSG_DF_PROPOSAL_RESPONSE = 0x0509,
+ CMSG_DF_SEARCH_JOIN = 0x1183,
+ CMSG_DF_SEARCH_LEAVE = 0x0983,
+ CMSG_DF_SET_COMMENT = 0x0B89,
CMSG_DF_SET_ROLES = 0x1B82,
CMSG_DF_TELEPORT = 0x0316,
CMSG_DISCARDED_TIME_SYNC_ACKS = 0x0142,
@@ -249,12 +256,11 @@ enum OpcodeClient : uint32
CMSG_DO_MASTER_LOOT_ROLL = 0x09BE,
CMSG_DO_READY_CHECK = 0x1221,
CMSG_DUEL_RESPONSE = 0x1BD2,
- CMSG_EJECT_PASSENGER = 0xBADD,
+ CMSG_EJECT_PASSENGER = 0x1029,
CMSG_EMOTE = 0x0A27,
CMSG_ENABLE_NAGLE = 0x0460,
CMSG_ENABLE_TAXI_NODE = 0x00D2,
CMSG_EQUIPMENT_SET_SAVE = 0x1B54,
- CMSG_EQUIPMENT_SET_USE = 0xBADD,
CMSG_FAR_SIGHT = 0x1C8A,
CMSG_GAMEOBJECT_QUERY = 0x03AE,
CMSG_GAMEOBJ_REPORT_USE = 0x082E,
@@ -264,35 +270,31 @@ enum OpcodeClient : uint32
CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x095A,
CMSG_GARRISON_COMPLETE_MISSION = 0x102C,
CMSG_GARRISON_MISSION_BONUS_ROLL = 0x02C2,
+ CMSG_GARRISON_OPEN_TRADESKILL_NPC = 0x099D,
CMSG_GARRISON_PURCHASE_BUILDING = 0x04A2,
CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x01BB,
CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x16F2,
CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x0623,
CMSG_GARRISON_REQUEST_UPGRADEABLE = 0x02BD,
CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x03BC,
+ CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x0074,
CMSG_GARRISON_START_MISSION = 0x1624,
CMSG_GARRISON_UNK1 = 0x02F5,
CMSG_GETDEATHBINDZONE = 0xBADD,
CMSG_GET_CHALLENGE_MODE_REWARDS = 0x1C2F,
CMSG_GET_GARRISON_INFO = 0x03CA,
+ CMSG_GET_ITEM_PURCHASE_DATA = 0x0924,
CMSG_GET_MAIL_LIST = 0x0BD3,
- CMSG_GET_MIRRORIMAGE_DATA = 0xBADD,
CMSG_GET_MIRROR_IMAGE_DATA = 0x08F6,
CMSG_GET_SHIPMENT_INFO = 0x06E3,
CMSG_GET_TROPHY_LIST = 0x13B1,
CMSG_GET_UNDELETE_COOLDOWN_STATUS = 0x19A9,
CMSG_GHOST = 0xBADD,
- CMSG_GMRESPONSE_RESOLVE = 0xBADD,
- CMSG_GMSURVEY_SUBMIT = 0xBADD,
- CMSG_GMTICKET_CREATE = 0xBADD,
- CMSG_GMTICKET_DELETETICKET = 0xBADD,
- CMSG_GMTICKET_GETTICKET = 0xBADD,
- CMSG_GMTICKET_SYSTEMSTATUS = 0xBADD,
- CMSG_GMTICKET_UPDATETEXT = 0xBADD,
CMSG_GM_INVIS = 0xBADD,
+ CMSG_GM_LAG_REPORT = 0x0101,
CMSG_GM_NUKE = 0xBADD,
- CMSG_GM_REPORT_LAG = 0xBADD,
CMSG_GM_SET_SECURITY_GROUP = 0xBADD,
+ CMSG_GM_SURVEY_SUBMIT = 0x01AB,
CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x0327,
CMSG_GM_TICKET_CREATE = 0x0935,
CMSG_GM_TICKET_DELETE_TICKET = 0x0F2E,
@@ -327,6 +329,7 @@ enum OpcodeClient : uint32
CMSG_GUILD_BANK_QUERY_TAB = 0x1139,
CMSG_GUILD_BANK_QUERY_TEXT = 0x062D,
CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x063D,
+ CMSG_GUILD_BANK_SET_TAB_TEXT = 0x0E30,
CMSG_GUILD_BANK_SWAP_ITEMS = 0x1131,
CMSG_GUILD_BANK_UPDATE_TAB = 0x13C1,
CMSG_GUILD_BANK_WITHDRAW_MONEY = 0xBADD,
@@ -368,17 +371,21 @@ enum OpcodeClient : uint32
CMSG_GUILD_UPDATE_MOTD_TEXT = 0x0C2F,
CMSG_HEARTH_AND_RESURRECT = 0x0D9D,
CMSG_IGNORE_TRADE = 0x1419,
+ CMSG_INCREASE_CAST_TIME_FOR_SPELL = 0x100A,
+ CMSG_INITIATE_ROLE_POLL = 0x1BA2,
CMSG_INITIATE_TRADE = 0x19BB,
CMSG_INSPECT = 0x01EC,
- CMSG_INSTANCE_LOCK_WARNING_RESPONSE = 0xBADD,
+ CMSG_INSPECT_PVP = 0x0382,
+ CMSG_INSTANCE_LOCK_RESPONSE = 0x0808,
+ CMSG_ITEM_PURCHASE_REFUND = 0x1111,
CMSG_ITEM_REFUND = 0xBADD,
- CMSG_ITEM_REFUND_INFO = 0x0924,
CMSG_ITEM_TEXT_QUERY = 0xBADD,
CMSG_JOIN_ARENA_SKIRMISH = 0x09EB,
CMSG_JOIN_CHANNEL = 0x0B4B,
CMSG_JOIN_PET_BATTLE_QUEUE = 0x04F4,
CMSG_JOIN_RATED_BATTLEGROUND = 0x065A,
CMSG_KEEP_ALIVE = 0x0981,
+ CMSG_KEYBOUND_OVERRIDE = 0x0BBA,
CMSG_LEARN_TALENTS = 0x0BB6,
CMSG_LEAVE_CHANNEL = 0x19F2,
CMSG_LEAVE_GROUP = 0x1BA3,
@@ -388,6 +395,7 @@ enum OpcodeClient : uint32
CMSG_LFG_LEAVE = 0xBADD,
CMSG_LFG_LFR_JOIN = 0xBADD,
CMSG_LFG_LFR_LEAVE = 0xBADD,
+ CMSG_LFG_LIST_CANCEL_APPLICATION = 0x1B83,
CMSG_LFG_LIST_DECLINE_APPLICANT = 0x0916,
CMSG_LFG_LIST_GET_STATUS = 0x0B17,
CMSG_LFG_LIST_INVITE_APPLICANT = 0x12AB,
@@ -395,6 +403,7 @@ enum OpcodeClient : uint32
CMSG_LFG_LIST_JOIN = 0x0B84,
CMSG_LFG_LIST_LEAVE = 0x0DA9,
CMSG_LFG_LIST_SEARCH = 0x0915,
+ CMSG_LFG_LIST_UPDATE_REQUEST = 0x07BD,
CMSG_LFG_LOCK_INFO_REQUEST = 0x030F,
CMSG_LFG_PROPOSAL_RESULT = 0xBADD,
CMSG_LFG_SET_BOOT_VOTE = 0xBADD,
@@ -413,6 +422,7 @@ enum OpcodeClient : uint32
CMSG_LIST_INVENTORY = 0x0B39,
CMSG_LOAD_SCREEN = 0x0B08,
CMSG_LOGOUT_CANCEL = 0x03C2,
+ CMSG_LOGOUT_INSTANT = 0x00F1,
CMSG_LOGOUT_REQUEST = 0x1911,
CMSG_LOG_DISCONNECT = 0x04D5,
CMSG_LOOT = 0x01B1,
@@ -422,6 +432,8 @@ enum OpcodeClient : uint32
CMSG_LOOT_MONEY = 0x1991,
CMSG_LOOT_RELEASE = 0x1199,
CMSG_LOOT_ROLL = 0x09C5,
+ CMSG_LOW_LEVEL_RAID1 = 0x09E9,
+ CMSG_LOW_LEVEL_RAID2 = 0x0102,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x13D1,
CMSG_MAIL_DELETE = 0x068C,
CMSG_MAIL_MARK_AS_READ = 0x02D1,
@@ -430,6 +442,7 @@ enum OpcodeClient : uint32
CMSG_MAIL_TAKE_MONEY = 0x0806,
CMSG_MASTER_LOOT_ITEM = 0x0AA6,
CMSG_MEETINGSTONE_INFO = 0xBADD,
+ CMSG_MESSAGECHAT_ADDON_CHANNEL = 0x13DC,
CMSG_MESSAGECHAT_ADDON_GUILD = 0x137C,
CMSG_MESSAGECHAT_ADDON_INSTANCE = 0x1823,
CMSG_MESSAGECHAT_ADDON_OFFICER = 0x188A,
@@ -452,7 +465,6 @@ enum OpcodeClient : uint32
CMSG_MINIGAME_MOVE = 0xBADD,
CMSG_MINIMAP_PING = 0x0116,
CMSG_MISSILE_TRAJECTORY_COLLISION = 0x1B92,
- CMSG_MOUNTSPECIAL_ANIM = 0xBADD,
CMSG_MOUNT_SET_FAVORITE = 0x090E,
CMSG_MOUNT_SPECIAL_ANIM = 0x06DB,
CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x196C,
@@ -531,7 +543,7 @@ enum OpcodeClient : uint32
CMSG_OBJECT_UPDATE_FAILED = 0x14E2,
CMSG_OBJECT_UPDATE_RESCUED = 0x0AD6,
CMSG_OFFER_PETITION = 0x0315,
- CMSG_OPENING_CINEMATIC = 0xBADD,
+ CMSG_OPENING_CINEMATIC = 0x02D2,
CMSG_OPEN_GARRISON_MISSION_NPC = 0x03D9,
CMSG_OPEN_ITEM = 0x08AD,
CMSG_OPEN_SHIPMENT_GAME_OBJ = 0x1359,
@@ -559,7 +571,7 @@ enum OpcodeClient : uint32
CMSG_PET_BATTLE_REQUEST_PVP = 0x1CDC,
CMSG_PET_BATTLE_REQUEST_WILD = 0x03C6,
CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x09CA,
- CMSG_PET_CANCEL_AURA = 0xBADD,
+ CMSG_PET_CANCEL_AURA = 0x0A30,
CMSG_PET_CAST_SPELL = 0x0286,
CMSG_PET_LEARN_TALENT = 0xBADD,
CMSG_PET_NAME_CACHE = 0xBADD,
@@ -572,6 +584,7 @@ enum OpcodeClient : uint32
CMSG_PING = 0x0416,
CMSG_PLAYED_TIME = 0x1BB2,
CMSG_PLAYER_LOGIN = 0x0B1D,
+ CMSG_PLAYER_TIME_ADJUSTMENT_RESPONSE = 0x0289,
CMSG_PLAYER_VEHICLE_ENTER = 0xBADD,
CMSG_PLAY_DANCE = 0xBADD,
CMSG_PORT_GRAVEYARD = 0x0D3E,
@@ -608,6 +621,7 @@ enum OpcodeClient : uint32
CMSG_RANDOM_ROLL = 0x12AA,
CMSG_READY_CHECK_RESPONSE = 0x071A,
CMSG_READ_ITEM = 0x09B9,
+ CMSG_REAGENT_BANK_BUY_TAB = 0x11E4,
CMSG_REALM_NAME_QUERY = 0x1189,
CMSG_RECLAIM_CORPSE = 0x1BC4,
CMSG_RECRUIT_A_FRIEND = 0x07BA,
@@ -627,8 +641,6 @@ enum OpcodeClient : uint32
CMSG_REQUEST_FORCED_REACTIONS = 0x02C3,
CMSG_REQUEST_GUILD_REWARDS_LIST = 0x028D,
CMSG_REQUEST_HONOR_STATS = 0x09FD,
- CMSG_REQUEST_INSPECT_PVP = 0x0382,
- CMSG_REQUEST_INSPECT_RATED_BG_STATS = 0xBADD,
CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x0BCA,
CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x071D,
CMSG_REQUEST_PARTY_MEMBER_STATS = 0x031D,
@@ -637,18 +649,19 @@ enum OpcodeClient : uint32
CMSG_REQUEST_PVP_REWARDS = 0x1399,
CMSG_REQUEST_RAID_INFO = 0x0104,
CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0x1323,
- CMSG_REQUEST_RATED_BG_INFO = 0xBADD,
CMSG_REQUEST_RATED_BG_STATS = 0xBADD,
CMSG_REQUEST_RESEARCH_HISTORY = 0xBADD,
CMSG_REQUEST_STABLED_PETS = 0x059D,
CMSG_REQUEST_VEHICLE_EXIT = 0x09CE,
- CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0xBADD,
+ CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x1672,
CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x0527,
- CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0xBADD,
+ CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x0AED,
+ CMSG_RESET_CHALLENGE_MODE = 0x1619,
CMSG_RESET_FACTION_CHEAT = 0xBADD,
CMSG_RESET_INSTANCES = 0x0389,
CMSG_RESURRECT_RESPONSE = 0x073E,
CMSG_REVERT_TROPHY = 0x0085,
+ CMSG_RIDE_VEHICLE_INTERACT = 0x11BC,
CMSG_ROLE_POLL_BEGIN = 0xBADD,
CMSG_ROUTER_CLIENT_LOG_STREAMING_ERROR = 0x0C10,
CMSG_SAVE_CUF_PROFILES = 0x0053,
@@ -661,48 +674,51 @@ enum OpcodeClient : uint32
CMSG_SELL_ITEM = 0x0351,
CMSG_SEND_CONTACT_LIST = 0x079E,
CMSG_SEND_MAIL = 0x0910,
- CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0xBADD,
- CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID = 0xBADD,
+ CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0x0D39,
+ CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID = 0x13A2,
CMSG_SERVERTIME = 0xBADD,
CMSG_SETDEATHBINDPOINT = 0xBADD,
- CMSG_SETSHEATHED = 0x1B43,
+ CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x0464,
CMSG_SET_ACTIONBAR_TOGGLES = 0x0BD2,
CMSG_SET_ACTION_BUTTON = 0x0599,
CMSG_SET_ACTIVE_MOVER = 0x0971,
CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x031E,
- CMSG_SET_ALLOW_LOW_LEVEL_RAID1 = 0xBADD,
- CMSG_SET_ALLOW_LOW_LEVEL_RAID2 = 0xBADD,
+ CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x0ECC,
+ CMSG_SET_ASSISTANT_LEADER = 0x0B26,
CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x0C9C,
CMSG_SET_BANK_AUTOSORT_DISABLED = 0x1393,
- CMSG_SET_CONTACT_NOTES = 0xBADD,
- CMSG_SET_CURRENCY_FLAGS = 0xBADD,
+ CMSG_SET_CONTACT_NOTES = 0x03AC,
+ CMSG_SET_CURRENCY_FLAGS = 0x14A1,
+ CMSG_SET_DIFFICULTY_ID = 0x01F6,
CMSG_SET_DUNGEON_DIFFICULTY = 0x012F,
- CMSG_SET_EVERYONE_IS_ASSISTANT = 0xBADD,
+ CMSG_SET_EVERYONE_IS_ASSISTANT = 0x0F3D,
CMSG_SET_FACTION_AT_WAR = 0x051E,
CMSG_SET_FACTION_CHEAT = 0xBADD,
CMSG_SET_FACTION_INACTIVE = 0x09E2,
CMSG_SET_FACTION_NOT_AT_WAR = 0x0A06,
CMSG_SET_GUILD_BANK_TEXT = 0xBADD,
+ CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x02C4,
CMSG_SET_LFG_BONUS_FACTION_ID = 0x009D,
CMSG_SET_LFG_COMMENT = 0xBADD,
CMSG_SET_LOOT_SPECIALIZATION = 0x0226,
CMSG_SET_PARTY_ASSIGNMENT = 0x050A,
CMSG_SET_PARTY_LEADER = 0x091E,
- CMSG_SET_PET_SLOT = 0xBADD,
+ CMSG_SET_PET_SLOT = 0x0BFD,
CMSG_SET_PLAYER_DECLINED_NAMES = 0x018B,
- CMSG_SET_PREFERED_CEMETERY = 0xBADD,
+ CMSG_SET_PREFERED_CEMETERY = 0x1461,
CMSG_SET_PVP = 0x19B9,
CMSG_SET_RAID_DIFFICULTY = 0x1121,
CMSG_SET_RELATIVE_POSITION = 0xBADD,
CMSG_SET_ROLE = 0x0326,
CMSG_SET_SAVED_INSTANCE_EXTEND = 0x1222,
CMSG_SET_SELECTION = 0x05BD,
+ CMSG_SET_SHEATHED = 0x1B43,
CMSG_SET_SKILL_CHEAT = 0xBADD,
CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x089D,
CMSG_SET_SPECIALIZATION = 0x0AC5,
CMSG_SET_TAXI_BENCHMARK_MODE = 0x1332,
CMSG_SET_TITLE = 0x0BC6,
- CMSG_SET_TRADE_CURRENCY = 0xBADD,
+ CMSG_SET_TRADE_CURRENCY = 0x1462,
CMSG_SET_TRADE_GOLD = 0x064C,
CMSG_SET_TRADE_ITEM = 0x14A2,
CMSG_SET_VEHICLE_REC_ID_ACK = 0xBADD,
@@ -721,12 +737,14 @@ enum OpcodeClient : uint32
CMSG_SPLIT_ITEM = 0x0795,
CMSG_STAND_STATE_CHANGE = 0x0ABD,
CMSG_START_QUEST = 0xBADD,
+ CMSG_START_SPECTATOR_WARGAME = 0x13A3,
+ CMSG_START_WARGAME = 0x03A2,
CMSG_STOP_DANCE = 0xBADD,
CMSG_STORE_LOOT_IN_SLOT = 0xBADD,
CMSG_SUBMIT_BUG = 0xBADD,
CMSG_SUBMIT_COMPLAIN = 0xBADD,
CMSG_SUGGESTION_SUBMIT = 0xBADD,
- CMSG_SUMMON_RESPONSE = 0xBADD,
+ CMSG_SUMMON_RESPONSE = 0x1124,
CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x0B0D,
CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x0B37,
CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x0D0A,
@@ -742,14 +760,16 @@ enum OpcodeClient : uint32
CMSG_TAXISHOWNODES = 0xBADD,
CMSG_TAXI_NODE_STATUS_QUERY = 0x1BC1,
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x000E,
- CMSG_TELEPORT_TO_UNIT = 0xBADD,
+ CMSG_TELEPORT_TO_UNIT = 0x0F19,
CMSG_TEXT_EMOTE = 0x1901,
CMSG_TIME_ADJUSTMENT_RESPONSE = 0xBADD,
CMSG_TIME_SYNC_RESPONSE = 0x0003,
CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x0D93,
CMSG_TIME_SYNC_RESPONSE_FAILED = 0x1B73,
+ CMSG_TOGGLE_DIFFICULTY = 0x0123,
CMSG_TOGGLE_PVP = 0x149B,
CMSG_TOTEM_DESTROYED = 0x000D,
+ CMSG_TOY_SET_FAVORITE = 0x0105,
CMSG_TRAINER_BUY_SPELL = 0x0A28,
CMSG_TRAINER_LIST = 0x0A2E,
CMSG_TRANSMOGRIFY_ITEMS = 0x0A85,
@@ -761,15 +781,18 @@ enum OpcodeClient : uint32
CMSG_UNACCEPT_TRADE = 0x13BA,
CMSG_UNDELETE_CHARACTER = 0x0D99,
CMSG_UNLEARN_SKILL = 0x0A26,
+ CMSG_UNLEARN_SPECIALIZATION = 0x16CB,
CMSG_UNREGISTER_ALL_ADDON_PREFIXES = 0x082A,
CMSG_UPDATE_ACCOUNT_DATA = 0x12A1,
CMSG_UPDATE_CLIENT_SETTINGS = 0x090F,
- CMSG_UPDATE_MISSILE_TRAJECTORY = 0xBADD,
+ CMSG_UPDATE_MISSILE_TRAJECTORY = 0x1CDB,
CMSG_UPDATE_PROJECTILE_POSITION = 0xBADD,
CMSG_UPDATE_RAID_TARGET = 0x1122,
CMSG_UPGRADE_GARRISON = 0x0526,
+ CMSG_UPGRADE_ITEM = 0x0518,
CMSG_USED_FOLLOW = 0x1609,
CMSG_USE_CRITTER_ITEM = 0x0BBE,
+ CMSG_USE_EQUIPMENT_SET = 0x0756,
CMSG_USE_ITEM = 0x08B6,
CMSG_USE_TOY = 0x16E2,
CMSG_VIOLENCE_LEVEL = 0x098D,
@@ -783,8 +806,8 @@ enum OpcodeClient : uint32
CMSG_WARGAME_START = 0xBADD,
CMSG_WHO = 0x1322,
CMSG_WHOIS = 0x011F,
- CMSG_WORLD_TELEPORT = 0xBADD,
- CMSG_WRAP_ITEM = 0xBADD,
+ CMSG_WORLD_TELEPORT = 0x038A,
+ CMSG_WRAP_ITEM = 0x0797,
CMSG_ZONEUPDATE = 0xBADD,
MSG_GM_BIND_OTHER = 0xBADD,
MSG_GM_SHOWLABEL = 0xBADD,
@@ -820,6 +843,8 @@ enum OpcodeServer : uint32
SMSG_ACTION_BUTTONS = 0x1D1F,
SMSG_ACTIVATE_TAXI_REPLY = 0x1321,
SMSG_ADDON_INFO = 0x1D9F,
+ SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x1BD4,
+ SMSG_ADD_ITEM_PASSIVE = 0x13D2,
SMSG_ADD_LOSS_OF_CONTROL = 0x02F4,
SMSG_ADD_RUNE_POWER = 0x0322,
SMSG_ADJUST_SPLINE_DURATION = 0x0104,
@@ -829,13 +854,16 @@ enum OpcodeServer : uint32
SMSG_ALL_ACCOUNT_CRITERIA = 0x0123,
SMSG_ALL_ACHIEVEMENT_DATA = 0x0030,
SMSG_ALL_GUILD_ACHIEVEMENTS = 0x1866,
+ SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x0008,
SMSG_AREA_SPIRIT_HEALER_TIME = 0x1182,
SMSG_AREA_TRIGGER_DENIED = 0x018A,
SMSG_AREA_TRIGGER_MESSAGE = 0xBADD,
SMSG_AREA_TRIGGER_MOVEMENT_UPDATE = 0xBADD,
SMSG_AREA_TRIGGER_NO_CORPSE = 0x0D3F,
SMSG_AREA_TRIGGER_RE_PATH = 0x0D20,
- SMSG_ARENA_ERROR = 0xBADD,
+ SMSG_AREA_TRIGGER_RE_SHAPE = 0x12A3,
+ SMSG_ARENA_ERROR = 0x120B,
+ SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x03AA,
SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0xBADD,
SMSG_ARENA_TEAM_COMMAND_RESULT = 0xBADD,
SMSG_ARENA_TEAM_EVENT = 0xBADD,
@@ -847,6 +875,7 @@ enum OpcodeServer : uint32
SMSG_ATTACKSTART = 0x1D3E,
SMSG_ATTACKSTOP = 0x1382,
SMSG_ATTACKSWING_ERROR = 0x0509,
+ SMSG_ATTACKSWING_LANDED_LOG = 0x178E,
SMSG_AUCTION_BIDDER_NOTIFICATION = 0xBADD,
SMSG_AUCTION_CLOSED_NOTIFICATION = 0x058E,
SMSG_AUCTION_COMMAND_RESULT = 0x0B2D,
@@ -870,6 +899,8 @@ enum OpcodeServer : uint32
SMSG_AVERAGE_ITEM_LEVEL_INFORM = 0xBADD,
SMSG_BARBER_SHOP_RESULT = 0x150D,
SMSG_BATTLEFIELD_LIST = 0x11A1,
+ SMSG_BATTLEFIELD_MGR_DROP_TIMER_CANCELED = 0x179A,
+ SMSG_BATTLEFIELD_MGR_DROP_TIMER_STARTED = 0x098B,
SMSG_BATTLEFIELD_MGR_EJECTED = 0x0DAF,
SMSG_BATTLEFIELD_MGR_EJECT_PENDING = 0x09A1,
SMSG_BATTLEFIELD_MGR_ENTERED = 0x11A3,
@@ -916,7 +947,6 @@ enum OpcodeServer : uint32
SMSG_BATTLE_PET_LICENSE_CHANGED = 0x0FA9,
SMSG_BATTLE_PET_RESTORED = 0x159D,
SMSG_BATTLE_PET_REVOKED = 0x0936,
- SMSG_BATTLE_PET_SLOT_UPDATES = 0x1D8F,
SMSG_BATTLE_PET_TRAP_LEVEL = 0x0911,
SMSG_BATTLE_PET_UPDATES = 0x0354,
SMSG_BINDER_CONFIRM = 0x0B11,
@@ -941,13 +971,13 @@ enum OpcodeServer : uint32
SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x0A0F,
SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS = 0x0B52,
SMSG_CALENDAR_EVENT_INVITE_NOTES = 0x0208,
- SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0x1124,
+ SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT = 0x1104,
SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x1F0E,
SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x0116,
SMSG_CALENDAR_EVENT_INVITE_STATUS = 0x1183,
SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0x1BD3,
SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT = 0xBADD,
- SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0xBADD,
+ SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x1124,
SMSG_CALENDAR_EVENT_STATUS = 0xBADD,
SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x1D9D,
SMSG_CALENDAR_FILTER_GUILD = 0xBADD,
@@ -958,12 +988,13 @@ enum OpcodeServer : uint32
SMSG_CALENDAR_SEND_EVENT = 0x0225,
SMSG_CALENDAR_SEND_NUM_PENDING = 0x1B3A,
SMSG_CALENDAR_UPDATE_INVITE_LIST = 0xBADD,
- SMSG_CAMERA_SHAKE = 0xBADD,
+ SMSG_CAMERA_SHAKE = 0x0926,
SMSG_CANCEL_AUTO_REPEAT = 0x0B18,
SMSG_CANCEL_COMBAT = 0x05AD,
SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x1BFB,
SMSG_CANCEL_SCENE = 0x033F,
SMSG_CANCEL_SPELL_VISUAL = 0x0361,
+ SMSG_CANCEL_SPELL_VISUAL_KIT = 0x1173,
SMSG_CAN_DUEL_RESULT = 0x03E9,
SMSG_CAST_FAILED = 0x1A89,
SMSG_CHALLENGE_MODE_ALL_MAP_STATS = 0x0904,
@@ -972,6 +1003,7 @@ enum OpcodeServer : uint32
SMSG_CHALLENGE_MODE_NEW_PLAYER_RECORD = 0x13A3,
SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = 0x07AA,
SMSG_CHALLENGE_MODE_REWARDS = 0x1CC9,
+ SMSG_CHALLENGE_MODE_START = 0x1221,
SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x0826,
SMSG_CHANNEL_LIST = 0x1411,
SMSG_CHANNEL_NOTIFY = 0x0643,
@@ -980,6 +1012,9 @@ enum OpcodeServer : uint32
SMSG_CHANNEL_START = 0x016C,
SMSG_CHANNEL_UPDATE = 0x19DB,
SMSG_CHARACTER_LOGIN_FAILED = 0x091E,
+ SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x038A,
+ SMSG_CHARACTER_UPGRADE_COMPLETE = 0x0806,
+ SMSG_CHARACTER_UPGRADE_SPELL_TIER_SET = 0x0B23,
SMSG_CHAR_CREATE = 0x0107,
SMSG_CHAR_CUSTOMIZE = 0x1932,
SMSG_CHAR_CUSTOMIZE_RESULT = 0x0BAA,
@@ -987,36 +1022,42 @@ enum OpcodeServer : uint32
SMSG_CHAR_ENUM = 0x05AF,
SMSG_CHAR_FACTION_CHANGE = 0x0810,
SMSG_CHAR_RENAME = 0x0D89,
- SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0xBADD,
+ SMSG_CHAR_UPGRADE_STARTED = 0x01E2,
+ SMSG_CHAT_AUTO_RESPONDED = 0x1482,
+ SMSG_CHAT_DOWN = 0x0611,
+ SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0x14C2,
+ SMSG_CHAT_IS_DOWN = 0x0404,
SMSG_CHAT_NOT_IN_PARTY = 0x0604,
- SMSG_CHAT_PLAYER_AMBIGUOUS = 0xBADD,
+ SMSG_CHAT_PLAYER_AMBIGUOUS = 0x06C1,
SMSG_CHAT_PLAYER_NOT_FOUND = 0x0614,
+ SMSG_CHAT_RECONNECT = 0x0613,
SMSG_CHAT_RESTRICTED = 0x0484,
- SMSG_CHAT_SERVER_DISCONNECTED = 0xBADD,
- SMSG_CHAT_SERVER_DISCONNECTED_2 = 0xBADD,
- SMSG_CHAT_SERVER_RECONNECTED = 0xBADD,
SMSG_CHAT_WRONG_FACTION = 0xBADD,
+ SMSG_CHEAT_IGNORE_DIMISHING_RETURNS = 0x194C,
SMSG_CHECK_FOR_BOTS = 0xBADD,
+ SMSG_CHECK_WARGAME_ENTRY = 0x1203,
SMSG_CLEAR_ALL_SPELL_CHARGE = 0x088B,
SMSG_CLEAR_BOSS_EMOTES = 0x118B,
SMSG_CLEAR_COOLDOWN = 0x0226,
SMSG_CLEAR_COOLDOWNS = 0x0BFA,
SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0xBADD,
+ SMSG_CLEAR_LOSS_OF_CONTROL = 0x1D20,
SMSG_CLEAR_QUEST_COMPLETED_BIT = 0x1563,
SMSG_CLEAR_QUEST_COMPLETED_BITS = 0x1D47,
+ SMSG_CLEAR_SPELL_CHARGES = 0x1AA1,
SMSG_CLEAR_TARGET = 0x17AE,
SMSG_CLIENTCACHE_VERSION = 0x080D,
SMSG_CLIENT_CONTROL_UPDATE = 0x080E,
SMSG_COIN_REMOVED = 0x0D30,
SMSG_COMBAT_EVENT_FAILED = 0x1DAF,
SMSG_COMBAT_LOG_MULTIPLE = 0xBADD,
- SMSG_COMMENTATOR_MAP_INFO = 0xBADD,
+ SMSG_COMMENTATOR_MAP_INFO = 0x1922,
SMSG_COMMENTATOR_PARTY_INFO = 0xBADD,
- SMSG_COMMENTATOR_PLAYER_INFO = 0xBADD,
+ SMSG_COMMENTATOR_PLAYER_INFO = 0x1B23,
SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1 = 0xBADD,
SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2 = 0xBADD,
- SMSG_COMMENTATOR_STATE_CHANGED = 0xBADD,
- SMSG_COMPLAIN_RESULT = 0xBADD,
+ SMSG_COMMENTATOR_STATE_CHANGED = 0x133A,
+ SMSG_COMPLAINT_RESULT = 0x0B15,
SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x0F3A,
SMSG_COMPRESSED_MOVES = 0xBADD,
SMSG_COMPRESSED_PACKET = 0x07CA,
@@ -1024,10 +1065,11 @@ enum OpcodeServer : uint32
SMSG_COMSAT_DISCONNECT = 0xBADD,
SMSG_COMSAT_RECONNECT_TRY = 0xBADD,
SMSG_CONQUEST_FORMULA_CONSTANTS = 0x1342,
+ SMSG_CONSOLE_WRITE = 0x0230,
SMSG_CONTACT_LIST = 0x0210,
SMSG_CONTACT_STATUS = 0x1BEA,
SMSG_CONVERT_RUNE = 0x1C89,
- SMSG_COOLDOWN_CHEAT = 0xBADD,
+ SMSG_COOLDOWN_CHEAT = 0x118A,
SMSG_COOLDOWN_EVENT = 0x05B0,
SMSG_CORPSE_LOCATION = 0x09E1,
SMSG_CORPSE_RECLAIM_DELAY = 0x0BE2,
@@ -1041,13 +1083,12 @@ enum OpcodeServer : uint32
SMSG_CURRENCY_LOOT_RESTORED = 0xBADD,
SMSG_CUSTOM_LOAD_SCREEN = 0x0D1A,
SMSG_DAILY_QUESTS_RESET = 0x1514,
- SMSG_DAMAGE_CALC_LOG = 0xBADD,
+ SMSG_DAMAGE_CALC_LOG = 0x1689,
SMSG_DAMAGE_DONE_OBSOLETE = 0xBADD,
SMSG_DANCE_QUERY_RESPONSE = 0xBADD,
SMSG_DANCE_STUDIO_CREATE_RESULT = 0x178D,
SMSG_DB_REPLY = 0x1939,
SMSG_DEATH_RELEASE_LOC = 0x098C,
- SMSG_DEBUG_RUNE_REGEN = 0xBADD,
SMSG_DEBUG_SERVER_GEO = 0xBADD,
SMSG_DEFENSE_MESSAGE = 0x1442,
SMSG_DESTROY_ARENA_UNIT = 0x19E1,
@@ -1055,19 +1096,19 @@ enum OpcodeServer : uint32
SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x0B12,
SMSG_DISENCHANT_CREDIT = 0x050F,
SMSG_DISMOUNT = 0x0B89,
- SMSG_DISMOUNTRESULT = 0xBADD,
- SMSG_DISPEL_FAILED = 0xBADD,
+ SMSG_DISMOUNT_RESULT = 0x0381,
+ SMSG_DISPEL_FAILED = 0x0AA3,
SMSG_DISPLAY_GAME_ERROR = 0x090D,
SMSG_DISPLAY_PLAYER_CHOICE = 0x0907,
SMSG_DISPLAY_PROMOTION = 0x151D,
SMSG_DISPLAY_QUEST_POPUP = 0x15D7,
SMSG_DISPLAY_TOAST = 0x17BD,
- SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0xBADD,
+ SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x13D1,
SMSG_DROP_NEW_CONNECTION = 0xBADD,
SMSG_DUEL_COMPLETE = 0x14C9,
SMSG_DUEL_COUNTDOWN = 0x020E,
- SMSG_DUEL_INBOUNDS = 0xBADD,
- SMSG_DUEL_OUTOFBOUNDS = 0xBADD,
+ SMSG_DUEL_IN_BOUNDS = 0x03E4,
+ SMSG_DUEL_OUT_OF_BOUNDS = 0x0111,
SMSG_DUEL_REQUESTED = 0x0827,
SMSG_DUEL_WINNER = 0x0935,
SMSG_DUMP_RIDE_TICKETS_RESPONSE = 0xBADD,
@@ -1081,22 +1122,22 @@ enum OpcodeServer : uint32
SMSG_ENVIRONMENTALDAMAGELOG = 0x0AAB,
SMSG_EQUIPMENT_SET_LIST = 0x0F1E,
SMSG_EQUIPMENT_SET_SAVED = 0x0027,
- SMSG_EQUIPMENT_SET_USE_RESULT = 0xBADD,
- SMSG_EXPECTED_SPAM_RECORDS = 0xBADD,
+ SMSG_EXPECTED_SPAM_RECORDS = 0x0452,
SMSG_EXPLORATION_EXPERIENCE = 0x07AE,
SMSG_FACTION_BONUS_INFO = 0x0928,
SMSG_FAILED_PLAYER_CONDITION = 0x09AB,
SMSG_FEATURE_SYSTEM_STATUS = 0x0B1E,
SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x1540,
- SMSG_FEIGN_DEATH_RESISTED = 0xBADD,
- SMSG_FISH_ESCAPED = 0xBADD,
+ SMSG_FEIGN_DEATH_RESISTED = 0x1B43,
+ SMSG_FISH_ESCAPED = 0x0530,
SMSG_FISH_NOT_HOOKED = 0x0DC0,
SMSG_FLIGHT_SPLINE_SYNC = 0x08A5,
SMSG_FLOOD_DETECTED = 0xBADD,
SMSG_FORCEACTIONSHOW = 0xBADD,
- SMSG_FORCED_DEATH_UPDATE = 0xBADD,
- SMSG_FORCE_ANIM = 0xBADD,
+ SMSG_FORCED_DEATH_UPDATE = 0x09EB,
+ SMSG_FORCE_ANIM = 0x0028,
SMSG_FORCE_DISPLAY_UPDATE = 0xBADD,
+ SMSG_FORCE_OBJECT_RELINK = 0x059D,
SMSG_FORGE_MASTER_SET = 0xBADD,
SMSG_FRIEND_STATUS = 0xBADD,
SMSG_GAMEOBJECT_ACTIVATE_ANIM_KIT = 0x038C,
@@ -1105,11 +1146,12 @@ enum OpcodeServer : uint32
SMSG_GAMEOBJECT_DESPAWN_ANIM = 0xBADD,
SMSG_GAMEOBJECT_PAGETEXT = 0xBADD,
SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL = 0x191B,
+ SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL_KIT = 0x01DB,
SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x128A,
SMSG_GAMEOBJECT_RESET_STATE = 0x090E,
- SMSG_GAMESPEED_SET = 0xBADD,
- SMSG_GAMETIME_SET = 0xBADD,
SMSG_GAME_EVENT_DEBUG_LOG = 0xBADD,
+ SMSG_GAME_SPEED_SET = 0x0D40,
+ SMSG_GAME_TIME_SET = 0x0B40,
SMSG_GAME_TIME_UPDATE = 0x1709,
SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0x0544,
SMSG_GARRISON_ADD_MISSION_RESULT = 0x0973,
@@ -1117,11 +1159,13 @@ enum OpcodeServer : uint32
SMSG_GARRISON_BUILDING_ACTIVATED = 0x1974,
SMSG_GARRISON_BUILDING_REMOVED = 0x1151,
SMSG_GARRISON_COMPLETE_MISSION_RESULT = 0x0D54,
- SMSG_GARRISON_FOLLOWER_XP_CHANGED = 0x1B64,
+ SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0x1B64,
SMSG_GARRISON_LANDINGPAGE_SHIPMENTS = 0x1901,
+ SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = 0x000B,
SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT = 0x0952,
SMSG_GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED = 0x09EA,
- SMSG_GARRISON_OPEN_TRADESKILL = 0x09C1,
+ SMSG_GARRISON_OPEN_TRADESKILL_NPC_RESPONSE = 0x09C1,
+ SMSG_GARRISON_PLACE_BUILDING_RESULT = 0x0082,
SMSG_GARRISON_PLOT_REMOVED = 0x0513,
SMSG_GARRISON_REMOTE_INFO = 0x0151,
SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT = 0x0964,
@@ -1132,11 +1176,13 @@ enum OpcodeServer : uint32
SMSG_GARRISON_UPGRADEABLE_RESULT = 0x0522,
SMSG_GARRISON_UPGRADE_FOLLOWER_ITEM_LEVEL = 0x000C,
SMSG_GARRISON_UPGRADE_RESULT = 0x0D51,
+ SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x1D3F,
SMSG_GET_GARRISON_INFO_RESULT = 0x0521,
SMSG_GET_SHIPMENT_INFO_RESPONSE = 0x1BAB,
SMSG_GET_TROPHY_LIST_RESPONSE = 0x0126,
SMSG_GM_MESSAGECHAT = 0xBADD,
- SMSG_GM_PLAYER_INFO = 0xBADD,
+ SMSG_GM_PLAYER_INFO = 0x0118,
+ SMSG_GM_REQUEST_PLAYER_INFO = 0x1381,
SMSG_GM_TICKET_CASE_STATUS = 0x1D8D,
SMSG_GM_TICKET_GET_TICKET_RESPONSE = 0x0389,
SMSG_GM_TICKET_RESOLVE_RESPONSE = 0x091F,
@@ -1145,7 +1191,7 @@ enum OpcodeServer : uint32
SMSG_GM_TICKET_STATUS_UPDATE = 0x1D2E,
SMSG_GM_TICKET_SYSTEM_STATUS = 0x1229,
SMSG_GM_TICKET_UPDATE = 0x13EB,
- SMSG_GODMODE = 0xBADD,
+ SMSG_GOD_MODE = 0x0B36,
SMSG_GOSSIP_COMPLETE = 0x15D1,
SMSG_GOSSIP_MESSAGE = 0x1746,
SMSG_GOSSIP_POI = 0x011E,
@@ -1228,24 +1274,26 @@ enum OpcodeServer : uint32
SMSG_HOTFIX_NOTIFY_BLOB = 0x1D1D,
SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0xBADD,
SMSG_IGNORE_REQUIREMENTS_CHEAT = 0xBADD,
+ SMSG_INCREASE_CAST_TIME_FOR_SPELL = 0x1179,
SMSG_INITIALIZE_FACTIONS = 0x0B10,
SMSG_INITIAL_SETUP = 0x0B07,
SMSG_INITIAL_SPELLS = 0x0A81,
SMSG_INIT_WORLD_STATES = 0x0B04,
- SMSG_INSPECT = 0xBADD,
SMSG_INSPECT_HONOR_STATS = 0x02D3,
SMSG_INSPECT_PVP = 0x050A,
- SMSG_INSPECT_RATED_BG_STATS = 0xBADD,
SMSG_INSPECT_RESULT = 0x052E,
- SMSG_INSPECT_TALENT = 0xBADD,
SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x0B03,
SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x05AE,
SMSG_INSTANCE_ENCOUNTER_END = 0x0B1A,
SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x0137,
SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x15BD,
SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x13A1,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x150E,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x0F8D,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x0B0D,
SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x19EA,
SMSG_INSTANCE_ENCOUNTER_START = 0x051A,
+ SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x010F,
SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x1B8B,
SMSG_INSTANCE_INFO = 0x0DA0,
SMSG_INSTANCE_LOCK_WARNING_QUERY = 0xBADD,
@@ -1254,10 +1302,10 @@ enum OpcodeServer : uint32
SMSG_INSTANCE_SAVE_CREATED = 0x093A,
SMSG_INVALIDATE_DANCE = 0xBADD,
SMSG_INVALIDATE_PLAYER = 0x0B37,
- SMSG_INVALID_PROMOTION_CODE = 0xBADD,
+ SMSG_INVALID_PROMOTION_CODE = 0x1F09,
SMSG_INVENTORY_CHANGE_FAILURE = 0x0112,
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x17E1,
- SMSG_ITEM_ADD_PASSIVE = 0xBADD,
+ SMSG_ITEM_BONUS_DEBUG = 0x1D8E,
SMSG_ITEM_COOLDOWN = 0x090F,
SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x010D,
SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x1282,
@@ -1265,12 +1313,11 @@ enum OpcodeServer : uint32
SMSG_ITEM_PUSH_RESULT = 0x0183,
SMSG_ITEM_REFUND_INFO_RESPONSE = 0xBADD,
SMSG_ITEM_REFUND_RESULT = 0xBADD,
- SMSG_ITEM_REMOVE_PASSIVE = 0xBADD,
- SMSG_ITEM_SEND_PASSIVE = 0xBADD,
- SMSG_ITEM_TEXT_QUERY_RESPONSE = 0xBADD,
+ SMSG_ITEM_TEXT_QUERY_RESPONSE = 0x011A,
SMSG_ITEM_TIME_UPDATE = 0x0F3E,
+ SMSG_ITEM_UPGRADE_RESULT = 0x0B2E,
SMSG_JOINED_BATTLEGROUND_QUEUE = 0xBADD,
- SMSG_KICK_REASON = 0xBADD,
+ SMSG_KICK_REASON = 0x018C,
SMSG_LEARNED_DANCE_MOVES = 0xBADD,
SMSG_LEARNED_SPELLS = 0x08AB,
SMSG_LEARN_TALENT_FAILED = 0x1BA3,
@@ -1343,11 +1390,10 @@ enum OpcodeServer : uint32
SMSG_MEETINGSTONE_MEMBER_ADDED = 0xBADD,
SMSG_MEETINGSTONE_SETQUEUE = 0xBADD,
SMSG_MESSAGECHAT = 0x0603,
- SMSG_MESSAGE_BOX = 0xBADD,
+ SMSG_MESSAGE_BOX = 0x0D10,
SMSG_MINIGAME_SETUP = 0xBADD,
SMSG_MINIGAME_STATE = 0xBADD,
SMSG_MINIMAP_PING = 0x07BA,
- SMSG_MIRRORIMAGE_DATA = 0xBADD,
SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x1B5C,
SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x1B14,
SMSG_MISSILE_CANCEL = 0x0337,
@@ -1357,10 +1403,10 @@ enum OpcodeServer : uint32
SMSG_MOUNT_RESULT = 0x000F,
SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x06CB,
SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x00C5,
- SMSG_MOVE_DISABLE_COLLISION = 0xBADD,
+ SMSG_MOVE_DISABLE_COLLISION = 0x135A,
SMSG_MOVE_DISABLE_GRAVITY = 0x02C6,
SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x08CE,
- SMSG_MOVE_ENABLE_COLLISION = 0xBADD,
+ SMSG_MOVE_ENABLE_COLLISION = 0x01B5,
SMSG_MOVE_ENABLE_GRAVITY = 0x03B4,
SMSG_MOVE_KNOCK_BACK = 0x0CCB,
SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x0073,
@@ -1372,18 +1418,18 @@ enum OpcodeServer : uint32
SMSG_MOVE_SET_COLLISION_HEIGHT = 0x008D,
SMSG_MOVE_SET_COMPOUND_STATE = 0x02E5,
SMSG_MOVE_SET_FEATHER_FALL = 0x01DD,
- SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0xBADD,
+ SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x0BDA,
SMSG_MOVE_SET_FLIGHT_SPEED = 0x100B,
SMSG_MOVE_SET_HOVER = 0x0296,
SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x1BD9,
SMSG_MOVE_SET_LAND_WALK = 0x13DA,
SMSG_MOVE_SET_NORMAL_FALL = 0x0193,
- SMSG_MOVE_SET_PITCH_RATE = 0xBADD,
+ SMSG_MOVE_SET_PITCH_RATE = 0x0BBC,
SMSG_MOVE_SET_RUN_BACK_SPEED = 0x09C5,
SMSG_MOVE_SET_RUN_SPEED = 0x08F5,
- SMSG_MOVE_SET_SWIM_BACK_SPEED = 0xBADD,
+ SMSG_MOVE_SET_SWIM_BACK_SPEED = 0x09E6,
SMSG_MOVE_SET_SWIM_SPEED = 0x061A,
- SMSG_MOVE_SET_TURN_RATE = 0xBADD,
+ SMSG_MOVE_SET_TURN_RATE = 0x0B4A,
SMSG_MOVE_SET_VEHICLE_REC_ID = 0x09DD,
SMSG_MOVE_SET_WALK_IN_AIR = 0xBADD,
SMSG_MOVE_SET_WALK_SPEED = 0x0396,
@@ -1421,6 +1467,7 @@ enum OpcodeServer : uint32
SMSG_MOVE_TELEPORT = 0x03A6,
SMSG_MOVE_UNROOT = 0x08BD,
SMSG_MOVE_UNSET_CAN_FLY = 0x0BAE,
+ SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x1192,
SMSG_MOVE_UNSET_HOVER = 0x01A5,
SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x039E,
SMSG_MOVE_UNSET_WALK_IN_AIR = 0xBADD,
@@ -1449,13 +1496,14 @@ enum OpcodeServer : uint32
SMSG_NOTIFY_DANCE = 0xBADD,
SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x01F1,
SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x0B84,
+ SMSG_NOTIFY_MONEY = 0x19AC,
SMSG_NOTIFY_RECEIVED_MAIL = 0x1F0D,
SMSG_NPC_TEXT_UPDATE = 0x1122,
SMSG_NPC_WONT_TALK = 0xBADD,
SMSG_OFFER_PETITION_ERROR = 0x0B41,
SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x053F,
SMSG_ON_MONSTER_MOVE = 0x0994,
- SMSG_OPEN_CONTAINER = 0xBADD,
+ SMSG_OPEN_CONTAINER = 0x05AA,
SMSG_OPEN_LFG_DUNGEON_FINDER = 0x0F17,
SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP = 0x0709,
SMSG_OVERRIDE_LIGHT = 0x01EA,
@@ -1468,15 +1516,17 @@ enum OpcodeServer : uint32
SMSG_PARTY_MEMBER_STATS = 0x1729,
SMSG_PARTY_MEMBER_STATS_FULL = 0xBADD,
SMSG_PARTY_UPDATE = 0x15BE,
- SMSG_PAUSE_MIRROR_TIMER = 0xBADD,
+ SMSG_PAUSE_MIRROR_TIMER = 0x073A,
+ SMSG_PENDING_RAID_LOCK = 0x178A,
SMSG_PERIODICAURALOG = 0x0B1B,
SMSG_PETGODMODE = 0xBADD,
SMSG_PETITION_ALREADY_SIGNED = 0x0D8E,
+ SMSG_PETITION_DECLINED = 0x1B32,
SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x1055,
SMSG_PETITION_SHOW_LIST = 0x0915,
SMSG_PETITION_SHOW_SIGNATURES = 0x0830,
SMSG_PETITION_SIGN_RESULTS = 0x11E9,
- SMSG_PET_ACTION_FEEDBACK = 0xBADD,
+ SMSG_PET_ACTION_FEEDBACK = 0x0D9E,
SMSG_PET_ACTION_SOUND = 0x0D39,
SMSG_PET_ADDED = 0x0327,
SMSG_PET_BATTLE_CHAT_RESTRICTED = 0x0982,
@@ -1493,15 +1543,16 @@ enum OpcodeServer : uint32
SMSG_PET_BATTLE_REPLACEMENTS_MADE = 0x1B83,
SMSG_PET_BATTLE_REQUEST_FAILED = 0x1353,
SMSG_PET_BATTLE_ROUND_RESULT = 0x0341,
- SMSG_PET_BATTLE_SLOT_UPDATE = 0x1D8E,
+ SMSG_PET_BATTLE_SLOT_UPDATES = 0x1D8F,
SMSG_PET_BROKEN = 0xBADD,
SMSG_PET_CAST_FAILED = 0x1914,
SMSG_PET_CLEAR_SPELLS = 0x1113,
SMSG_PET_DISMISS_SOUND = 0x09A3,
+ SMSG_PET_GOD_MODE = 0x13EC,
SMSG_PET_GUIDS = 0x150F,
SMSG_PET_LEARNED_SPELL = 0x1822,
SMSG_PET_MODE = 0x1D40,
- SMSG_PET_NAME_INVALID = 0xBADD,
+ SMSG_PET_NAME_INVALID = 0x0007,
SMSG_PET_NAME_QUERY_RESPONSE = 0x0D0E,
SMSG_PET_REMOVED_SPELL = 0x011B,
SMSG_PET_RENAMEABLE = 0xBADD,
@@ -1510,12 +1561,11 @@ enum OpcodeServer : uint32
SMSG_PET_SPELLS = 0x0174,
SMSG_PET_STABLE_LIST = 0x0B1F,
SMSG_PET_STABLE_RESULT = 0x1383,
- SMSG_PET_TAME_FAILURE = 0xBADD,
+ SMSG_PET_TAME_FAILURE = 0x0025,
SMSG_PET_UPDATE_COMBO_POINTS = 0xBADD,
SMSG_PLAYED_TIME = 0x038B,
SMSG_PLAYERBINDERROR = 0xBADD,
SMSG_PLAYER_BOUND = 0x078E,
- SMSG_PLAYER_DIFFICULTY_CHANGE = 0xBADD,
SMSG_PLAYER_SKINNED = 0x00D2,
SMSG_PLAYER_VEHICLE_DATA = 0xBADD,
SMSG_PLAY_DANCE = 0xBADD,
@@ -1532,9 +1582,8 @@ enum OpcodeServer : uint32
SMSG_PONG = 0x17CA,
SMSG_POWER_UPDATE = 0x0B27,
SMSG_PRE_RESSURECT = 0x0D2E,
- SMSG_PROCRESIST = 0xBADD,
SMSG_PROC_RESIST = 0x1DAD,
- SMSG_PROPOSE_LEVEL_GRANT = 0xBADD,
+ SMSG_PROPOSE_LEVEL_GRANT = 0x1B8C,
SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0xBADD,
SMSG_PVP_CREDIT = 0x13A9,
SMSG_PVP_LOG_DATA = 0x1ECA,
@@ -1566,6 +1615,7 @@ enum OpcodeServer : uint32
SMSG_QUEST_UPDATE_COMPLETE = 0x1787,
SMSG_QUEST_UPDATE_FAILED = 0x1542,
SMSG_QUEST_UPDATE_FAILED_TIMER = 0x1D01,
+ SMSG_RAF_EMAIL_ENABLED_RESPONSE = 0x1111,
SMSG_RAID_GROUP_ONLY = 0x0D9D,
SMSG_RAID_INSTANCE_INFO = 0xBADD,
SMSG_RAID_INSTANCE_MESSAGE = 0x0494,
@@ -1578,23 +1628,25 @@ enum OpcodeServer : uint32
SMSG_READY_CHECK_COMPLETED = 0x0BC3,
SMSG_READY_CHECK_RESPONSE = 0x0A10,
SMSG_READY_CHECK_STARTED = 0x17A9,
- SMSG_READ_ITEM_FAILED = 0xBADD,
+ SMSG_READ_ITEM_FAILED = 0x0BD4,
SMSG_READ_ITEM_RESULT_OK = 0x1BE1,
SMSG_REALM_QUERY_RESPONSE = 0x011D,
- SMSG_REALM_SPLIT = 0xBADD,
+ SMSG_REALM_SPLIT = 0x19EC,
SMSG_REAL_GROUP_UPDATE = 0xBADD,
SMSG_RECEIVED_MAIL = 0xBADD,
SMSG_RECRUIT_A_FRIEND_RESPONSE = 0x0B3E,
SMSG_REDIRECT_CLIENT = 0x175A,
- SMSG_REFER_A_FRIEND_EXPIRED = 0xBADD,
- SMSG_REFER_A_FRIEND_FAILURE = 0xBADD,
+ SMSG_REFER_A_FRIEND_EXPIRED = 0x0318,
+ SMSG_REFER_A_FRIEND_FAILURE = 0x0931,
+ SMSG_REFRESH_COMPONENT = 0x01A1,
SMSG_REFRESH_SPELL_HISTORY = 0x0A2A,
- SMSG_REMOVED_SPELL = 0x0B3B,
+ SMSG_REMOVE_ITEM_PASSIVE = 0x148A,
+ SMSG_REMOVE_LOSS_OF_CONTROL = 0x0307,
SMSG_REPLACE_TROPHY_RESPONSE = 0x13C2,
SMSG_REPORT_PVP_AFK_RESULT = 0x0A0E,
SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x059E,
SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x1DAE,
- SMSG_RESEARCH_COMPLETE = 0xBADD,
+ SMSG_RESEARCH_COMPLETE = 0x0B3A,
SMSG_RESEARCH_SETUP_HISTORY = 0x0A25,
SMSG_RESET_COMPRESSION_CONTEXT = 0xBADD,
SMSG_RESET_FAILED_NOTIFY = 0x1B01,
@@ -1614,13 +1666,15 @@ enum OpcodeServer : uint32
SMSG_ROLE_CHOSEN = 0x07D3,
SMSG_ROLE_POLL_BEGIN = 0xBADD,
SMSG_ROLE_POLL_INFORM = 0x0F89,
- SMSG_RWHOIS = 0xBADD,
+ SMSG_RUNE_REGEN_DEBUG = 0x032E,
SMSG_SAVE_GUILD_EMBLEM = 0x1037,
SMSG_SCENARIO_BOOT = 0x1BEB,
SMSG_SCENARIO_COMPLETED = 0x1BA4,
+ SMSG_SCENARIO_OUT_OF_BOUNDS = 0x01E4,
SMSG_SCENARIO_POIS = 0x0343,
SMSG_SCENARIO_PROGRESS_UPDATE = 0x0324,
SMSG_SCENARIO_STATE = 0x152D,
+ SMSG_SCENE_OBJECT_EVENT = 0x0382,
SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x092E,
SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x1B44,
SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x000E,
@@ -1630,18 +1684,19 @@ enum OpcodeServer : uint32
SMSG_SCRIPT_CAST = 0x1B1C,
SMSG_SELL_ITEM = 0xBADD,
SMSG_SELL_RESPONSE = 0x1352,
+ SMSG_SEND_ITEM_PASSIVES = 0x059F,
SMSG_SEND_MAIL_RESULT = 0x0302,
SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x000D,
SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x0D3E,
SMSG_SEND_SPELL_CHARGES = 0x1A82,
SMSG_SEND_SPELL_HISTORY = 0x1933,
SMSG_SEND_UNLEARN_SPELLS = 0x0BCB,
- SMSG_SERVERTIME = 0xBADD,
SMSG_SERVER_FIRST_ACHIEVEMENT = 0x1413,
SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x0BAC,
SMSG_SERVER_INFO_RESPONSE = 0xBADD,
SMSG_SERVER_MESSAGE = 0x0683,
SMSG_SERVER_PERF = 0xBADD,
+ SMSG_SERVER_TIME = 0x0339,
SMSG_SETUP_CURRENCY = 0x0B06,
SMSG_SETUP_TROPHY = 0x0B63,
SMSG_SET_AI_ANIM_KIT = 0x0335,
@@ -1650,7 +1705,7 @@ enum OpcodeServer : uint32
SMSG_SET_CURRENCY = 0x17BE,
SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x0F52,
SMSG_SET_DUNGEON_DIFFICULTY = 0x0719,
- SMSG_SET_FACTION_ATWAR = 0xBADD,
+ SMSG_SET_FACTION_AT_WAR = 0x079A,
SMSG_SET_FACTION_NOT_VISIBLE = 0x1224,
SMSG_SET_FACTION_STANDING = 0x1B03,
SMSG_SET_FACTION_VISIBLE = 0x138B,
@@ -1660,11 +1715,11 @@ enum OpcodeServer : uint32
SMSG_SET_LFG_TIME_WALKER = 0x0731,
SMSG_SET_LOOT_METHOD_FAILED = 0x070E,
SMSG_SET_MAX_WEEKLY_QUANTITY = 0x1489,
- SMSG_SET_MELEE_ANIM_KIT = 0xBADD,
+ SMSG_SET_MELEE_ANIM_KIT = 0x17AA,
SMSG_SET_MOVEMENT_ANIM_KIT = 0xBADD,
SMSG_SET_PCT_SPELL_MODIFIER = 0x113C,
SMSG_SET_PHASE_SHIFT_CHANGE = 0x00D1,
- SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0xBADD,
+ SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x13E2,
SMSG_SET_PLAY_HOVER_ANIM = 0x02D4,
SMSG_SET_PROFICIENCY = 0x00D3,
SMSG_SET_PROJECTILE_POSITION = 0xBADD,
@@ -1676,14 +1731,14 @@ enum OpcodeServer : uint32
SMSG_SET_VEHICLE_REC_ID = 0x1BA1,
SMSG_SET_VIGNETTE = 0x09AC,
SMSG_SHOW_BANK = 0x1B51,
- SMSG_SHOW_MAILBOX = 0xBADD,
+ SMSG_SHOW_MAILBOX = 0x152F,
SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x053D,
SMSG_SHOW_RATINGS = 0xBADD,
SMSG_SHOW_TAXI_NODES = 0x12A1,
SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x15C0,
- SMSG_SOCKET_GEMS_RESULT = 0xBADD,
+ SMSG_SOCKET_GEMS = 0x1302,
SMSG_SORT_BAGS_ACK = 0x09E4,
- SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0xBADD,
+ SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0x198B,
SMSG_SPECIAL_MOUNT_ANIM = 0x159F,
SMSG_SPELLBREAKLOG = 0xBADD,
SMSG_SPELLSTEALLOG = 0xBADD,
@@ -1718,9 +1773,9 @@ enum OpcodeServer : uint32
SMSG_STOP_ELAPSED_TIMER = 0x1D10,
SMSG_STOP_MIRROR_TIMER = 0x0D1E,
SMSG_STREAMING_MOVIE = 0x158F,
- SMSG_SUMMON_CANCEL = 0xBADD,
+ SMSG_SUMMON_CANCEL = 0x078A,
SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x1B24,
- SMSG_SUMMON_REQUEST = 0xBADD,
+ SMSG_SUMMON_REQUEST = 0x0599,
SMSG_SUPERCEDED_SPELL = 0x0172,
SMSG_SUPPRESS_NPC_GREETINGS = 0x193A,
SMSG_SUSPEND_COMMS = 0x076A,
@@ -1728,7 +1783,7 @@ enum OpcodeServer : uint32
SMSG_TABARD_VENDOR_ACTIVATE = 0x1389,
SMSG_TALENTS_ERROR = 0xBADD,
SMSG_TALENTS_INFO = 0x012D,
- SMSG_TALENTS_INVOLUNTARILY_RESET = 0xBADD,
+ SMSG_TALENTS_INVOLUNTARILY_RESET = 0x01E3,
SMSG_TAXINODE_STATUS = 0x0338,
SMSG_TEST_DROP_RATE_RESULT = 0xBADD,
SMSG_TEXT_EMOTE = 0x0383,
@@ -1761,11 +1816,13 @@ enum OpcodeServer : uint32
SMSG_UNLEARNED_SPELLS = 0x0B3B,
SMSG_UPDATE_ACCOUNT_DATA = 0x1520,
SMSG_UPDATE_CAPTURE_POINT = 0x1B11,
+ SMSG_UPDATE_CHARACTER_FLAGS = 0x03D3,
SMSG_UPDATE_COMBO_POINTS = 0xBADD,
SMSG_UPDATE_CURRENCY_WEEK_LIMIT = 0xBADD,
SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT = 0x0774,
+ SMSG_UPDATE_EXPANSION_LEVEL = 0x173E,
SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT = 0xBADD,
- SMSG_UPDATE_INSTANCE_OWNERSHIP = 0xBADD,
+ SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x093E,
SMSG_UPDATE_LAST_INSTANCE = 0x13A4,
SMSG_UPDATE_OBJECT = 0x122C,
SMSG_UPDATE_SERVER_PLAYER_POSITION = 0xBADD,
@@ -1774,11 +1831,12 @@ enum OpcodeServer : uint32
SMSG_USERLIST_ADD = 0x0441,
SMSG_USERLIST_REMOVE = 0x0641,
SMSG_USERLIST_UPDATE = 0x04C4,
+ SMSG_USE_EQUIPMENT_SET_RESULT = 0x0128,
SMSG_VOICESESSION_FULL = 0xBADD,
- SMSG_VOICE_CHAT_STATUS = 0xBADD,
- SMSG_VOICE_PARENTAL_CONTROLS = 0xBADD,
+ SMSG_VOICE_CHAT_STATUS = 0x06D3,
+ SMSG_VOICE_PARENTAL_CONTROLS = 0x1414,
SMSG_VOICE_SESSION_LEAVE = 0x0403,
- SMSG_VOICE_SESSION_ROSTER_UPDATE = 0xBADD,
+ SMSG_VOICE_SESSION_ROSTER_UPDATE = 0x0443,
SMSG_VOICE_SET_TALKER_MUTED = 0xBADD,
SMSG_VOID_ITEM_SWAP_RESPONSE = 0x1131,
SMSG_VOID_STORAGE_CONTENTS = 0x0108,
@@ -1790,8 +1848,9 @@ enum OpcodeServer : uint32
SMSG_WARDEN_DATA = 0x0BEC,
SMSG_WARGAME_CHECK_ENTRY = 0xBADD,
SMSG_WARGAME_REQUEST_SENT = 0xBADD,
+ SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x01A2,
SMSG_WEATHER = 0x073E,
- SMSG_WEEKLY_LAST_RESET = 0xBADD,
+ SMSG_WEEKLY_LAST_RESET = 0x030D,
SMSG_WEEKLY_RESET_CURRENCY = 0xBADD,
SMSG_WEEKLY_SPELL_USAGE = 0x13DC,
SMSG_WEEKLY_SPELL_USAGE_UPDATE = 0x1829,
@@ -1809,8 +1868,8 @@ inline bool IsInstanceOnlyOpcode(uint32 opcode)
switch (opcode)
{
case SMSG_MOUNT_RESULT: // Client
- case 0x0111: // Client
- case 0x03E4: // Client
+ case SMSG_DUEL_OUT_OF_BOUNDS: // Client
+ case SMSG_DUEL_IN_BOUNDS: // Client
case 0x0549: // Client
case 0x055A: // Client
case 0x055C: // Client
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 166a432077c..b61a0237ac2 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -1207,7 +1207,7 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
//case CMSG_CORPSE_MAP_POSITION_QUERY: // 0 1
case CMSG_MOVE_TIME_SKIPPED: // 0 1
//case MSG_QUERY_NEXT_MAIL_TIME: // 0 1
- case CMSG_SETSHEATHED: // 0 1
+ case CMSG_SET_SHEATHED: // 0 1
//case MSG_RAID_TARGET_UPDATE: // 0 1
case CMSG_LOGOUT_REQUEST: // 0 1
//case CMSG_PET_RENAME: // 0 1
@@ -1293,7 +1293,7 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
case CMSG_QUESTGIVER_ACCEPT_QUEST: // 0 4
//case CMSG_QUESTLOG_REMOVE_QUEST: // 0 4
case CMSG_QUESTGIVER_CHOOSE_REWARD: // 0 4
- //case CMSG_CONTACT_LIST: // 0 5
+ //case CMSG_SEND_CONTACT_LIST: // 0 5
case CMSG_AUTOBANK_ITEM: // 0 6
case CMSG_AUTOSTORE_BANK_ITEM: // 0 6
case CMSG_WHO: // 0 7
@@ -1365,10 +1365,10 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
case CMSG_CHAR_CREATE: // 7 5 3 async db queries
case CMSG_CHAR_ENUM: // 22 3 2 async db queries
- //case CMSG_GMTICKET_CREATE: // 1 25 1 async db query
- //case CMSG_GMTICKET_UPDATETEXT: // 0 15 1 async db query
- //case CMSG_GMTICKET_DELETETICKET: // 1 25 1 async db query
- //case CMSG_GMRESPONSE_RESOLVE: // 1 25 1 async db query
+ //case CMSG_GM_TICKET_CREATE: // 1 25 1 async db query
+ //case CMSG_GM_TICKET_UPDATETEXT: // 0 15 1 async db query
+ //case CMSG_GM_TICKET_DELETETICKET: // 1 25 1 async db query
+ //case CMSG_GM_TICKET_RESPONSE_RESOLVE: // 1 25 1 async db query
//case CMSG_CALENDAR_UPDATE_EVENT: // not profiled
//case CMSG_CALENDAR_REMOVE_EVENT: // not profiled
//case CMSG_CALENDAR_COPY_EVENT: // not profiled
@@ -1413,7 +1413,7 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co
break;
}
- case CMSG_ITEM_REFUND_INFO: // not profiled
+ case CMSG_GET_ITEM_PURCHASE_DATA: // not profiled
{
maxPacketCounterAllowed = PLAYER_SLOTS_COUNT;
break;
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 291ba0a9f66..e2a9634c228 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -167,13 +167,21 @@ namespace WorldPackets
class QueryGuildInfo;
}
+ namespace Inspect
+ {
+ class Inspect;
+ class InspectPVPRequest;
+ class QueryInspectAchievements;
+ class RequestHonorStats;
+ }
+
namespace Item
{
class AutoEquipItem;
class AutoStoreBagItem;
class BuyBackItem;
class DestroyItem;
- class ItemRefundInfo;
+ class GetItemPurchaseData;
class RepairItem;
class SellItem;
class SplitItem;
@@ -685,11 +693,11 @@ class WorldSession
void HandlePortGraveyard(WorldPackets::Misc::PortGraveyard& packet);
void HandleRequestCemeteryList(WorldPackets::Misc::RequestCemeteryList& packet);
- // new inspect
- void HandleInspectOpcode(WorldPacket& recvPacket);
-
- // new party stats
- void HandleInspectHonorStatsOpcode(WorldPacket& recvPacket);
+ // Inspect
+ void HandleInspectOpcode(WorldPackets::Inspect::Inspect& inspect);
+ void HandleRequestHonorStatsOpcode(WorldPackets::Inspect::RequestHonorStats& request);
+ void HandleInspectPVP(WorldPackets::Inspect::InspectPVPRequest& request);
+ void HandleQueryInspectAchievements(WorldPackets::Inspect::QueryInspectAchievements& inspect);
void HandleMoveWaterWalkAck(WorldPacket& recvPacket);
void HandleFeatherFallAck(WorldPacket& recvData);
@@ -1049,7 +1057,7 @@ class WorldSession
void HandleBattlefieldLeaveOpcode(WorldPacket& recvData);
void HandleBattlemasterJoinArena(WorldPacket& recvData);
void HandleReportPvPAFK(WorldPacket& recvData);
- void HandleRequestRatedBgInfo(WorldPacket& recvData);
+ void HandleRequestRatedBattlefieldInfo(WorldPacket& recvData);
void HandleRequestPvpOptions(WorldPacket& recvData);
void HandleRequestPvpReward(WorldPacket& recvData);
void HandleRequestRatedBgStats(WorldPacket& recvData);
@@ -1133,7 +1141,7 @@ class WorldSession
void HandleCancelTempEnchantmentOpcode(WorldPacket& recvData);
- void HandleItemRefundInfoRequest(WorldPackets::Item::ItemRefundInfo& packet);
+ void HandleGetItemPurchaseData(WorldPackets::Item::GetItemPurchaseData& packet);
void HandleItemRefund(WorldPacket& recvData);
void HandleSetTaxiBenchmarkOpcode(WorldPacket& recvData);
@@ -1194,7 +1202,6 @@ class WorldSession
void HandleSpellClick(WorldPacket& recvData);
void HandleMirrorImageDataRequest(WorldPacket& recvData);
void HandleRemoveGlyph(WorldPacket& recvData);
- void HandleQueryInspectAchievements(WorldPacket& recvData);
void HandleGuildSetFocusedAchievement(WorldPackets::Achievement::GuildSetFocusedAchievement& setFocusedAchievement);
void HandleEquipmentSetSave(WorldPackets::EquipmentSet::SaveEquipmentSet& packet);
void HandleEquipmentSetDelete(WorldPacket& recvData);