aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/collision/Management/MMapManager.cpp14
-rw-r--r--src/server/collision/Maps/MapTree.cpp5
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp2
-rw-r--r--src/server/game/Entities/Object/ObjectGuid.h2
-rw-r--r--src/server/game/Entities/Player/Player.cpp108
-rw-r--r--src/server/game/Entities/Player/Player.h10
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.cpp2
-rw-r--r--src/server/game/Grids/Notifiers/GridNotifiers.h2
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp10
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp15
-rw-r--r--src/server/game/Handlers/MovementHandler.cpp36
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp34
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp9
-rw-r--r--src/server/game/Maps/Map.cpp22
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h83
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp4
-rw-r--r--src/server/game/Scripting/ScriptMgr.h4
-rw-r--r--src/server/game/Server/Packets/ChannelPackets.cpp24
-rw-r--r--src/server/game/Server/Packets/ChannelPackets.h24
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h16
-rw-r--r--src/server/game/Server/Packets/CombatPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/CombatPackets.h11
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp18
-rw-r--r--src/server/game/Server/Packets/MovementPackets.h23
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp10
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h11
-rw-r--r--src/server/game/Server/Packets/QuestPackets.cpp23
-rw-r--r--src/server/game/Server/Packets/QuestPackets.h28
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h17
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp339
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h747
-rw-r--r--src/server/game/Server/WorldSession.cpp16
-rw-r--r--src/server/game/Server/WorldSession.h22
-rw-r--r--src/server/game/Server/WorldSocket.cpp20
-rw-r--r--src/server/game/Spells/Spell.cpp22
-rw-r--r--src/server/game/Spells/SpellEffects.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/zone_undercity.cpp242
-rw-r--r--src/server/shared/Debugging/WheatyExceptionReport.cpp14
-rw-r--r--src/server/shared/Debugging/WheatyExceptionReport.h2
-rw-r--r--src/server/shared/Logging/Log.cpp7
-rw-r--r--src/server/shared/Logging/Log.h5
43 files changed, 1046 insertions, 983 deletions
diff --git a/src/server/collision/Management/MMapManager.cpp b/src/server/collision/Management/MMapManager.cpp
index 8c549017f12..b9277d60820 100644
--- a/src/server/collision/Management/MMapManager.cpp
+++ b/src/server/collision/Management/MMapManager.cpp
@@ -73,7 +73,7 @@ namespace MMAP
delete [] fileName;
- TC_LOG_INFO("maps", "MMAP:loadMapData: Loaded %03i.mmap", mapId);
+ TC_LOG_DEBUG("maps", "MMAP:loadMapData: Loaded %03i.mmap", mapId);
// store inside our map list
MMapData* mmap_data = new MMapData(mesh);
@@ -156,7 +156,7 @@ namespace MMAP
{
mmap->mmapLoadedTiles.insert(std::pair<uint32, dtTileRef>(packedGridPos, tileRef));
++loadedTiles;
- TC_LOG_INFO("maps", "MMAP:loadMap: Loaded mmtile %03i[%02i, %02i] into %03i[%02i, %02i]", mapId, x, y, mapId, header->x, header->y);
+ TC_LOG_DEBUG("maps", "MMAP:loadMap: Loaded mmtile %03i[%02i, %02i] into %03i[%02i, %02i]", mapId, x, y, mapId, header->x, header->y);
return true;
}
@@ -201,7 +201,7 @@ namespace MMAP
{
mmap->mmapLoadedTiles.erase(packedGridPos);
--loadedTiles;
- TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
+ TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
return true;
}
@@ -228,13 +228,13 @@ namespace MMAP
else
{
--loadedTiles;
- TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
+ TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded mmtile %03i[%02i, %02i] from %03i", mapId, x, y, mapId);
}
}
delete mmap;
loadedMMaps.erase(mapId);
- TC_LOG_INFO("maps", "MMAP:unloadMap: Unloaded %03i.mmap", mapId);
+ TC_LOG_DEBUG("maps", "MMAP:unloadMap: Unloaded %03i.mmap", mapId);
return true;
}
@@ -260,7 +260,7 @@ namespace MMAP
dtFreeNavMeshQuery(query);
mmap->navMeshQueries.erase(instanceId);
- TC_LOG_INFO("maps", "MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId);
+ TC_LOG_DEBUG("maps", "MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId);
return true;
}
@@ -291,7 +291,7 @@ namespace MMAP
return NULL;
}
- TC_LOG_INFO("maps", "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId);
+ TC_LOG_DEBUG("maps", "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId);
mmap->navMeshQueries.insert(std::pair<uint32, dtNavMeshQuery*>(instanceId, query));
}
diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp
index 72435594ad0..b493ec18f5f 100644
--- a/src/server/collision/Maps/MapTree.cpp
+++ b/src/server/collision/Maps/MapTree.cpp
@@ -386,13 +386,12 @@ namespace VMAP
{
if (!iLoadedSpawns.count(referencedVal))
{
-#ifdef VMAP_DEBUG
if (referencedVal > iNTreeValues)
{
- TC_LOG_DEBUG("maps", "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues);
+ VMAP_ERROR_LOG("maps", "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u) referenced in tile %s", referencedVal, iNTreeValues, tilefile.c_str());
continue;
}
-#endif
+
iTreeValues[referencedVal] = ModelInstance(spawn, model);
iLoadedSpawns[referencedVal] = 1;
}
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 4932a83d665..40401b2ba31 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -1738,7 +1738,7 @@ void AchievementMgr<Player>::CompletedAchievement(AchievementEntry const* achiev
if (!GetOwner()->GetSession()->PlayerLoading())
SendAchievementEarned(achievement);
- TC_LOG_INFO("achievement", "AchievementMgr::CompletedAchievement(%u). %s %s",
+ TC_LOG_DEBUG("achievement", "AchievementMgr::CompletedAchievement(%u). %s %s",
achievement->ID, GetOwner()->GetGUID().ToString().c_str(), GetOwner()->GetName().c_str());
CompletedAchievementData& ca = m_completedAchievements[achievement->ID];
diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h
index b4b08d7ace2..72fda2feb5e 100644
--- a/src/server/game/Entities/Object/ObjectGuid.h
+++ b/src/server/game/Entities/Object/ObjectGuid.h
@@ -24,6 +24,7 @@
#include <boost/functional/hash.hpp>
#include <functional>
+#include <unordered_set>
enum TypeID
{
@@ -266,6 +267,7 @@ typedef std::set<ObjectGuid> GuidSet;
typedef std::list<ObjectGuid> GuidList;
typedef std::deque<ObjectGuid> GuidDeque;
typedef std::vector<ObjectGuid> GuidVector;
+typedef std::unordered_set<ObjectGuid> GuidUnorderedSet;
// maximum buffer size for packed guid is 18 bytes
#define PACKED_GUID_MIN_BUFFER_SIZE 18
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 83fc7fd9bcf..b1b441e678c 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -96,7 +96,6 @@
#include "ItemPackets.h"
#include "QuestPackets.h"
#include "LootPackets.h"
-#include <boost/dynamic_bitset.hpp>
#define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS)
@@ -869,7 +868,6 @@ Player::Player(WorldSession* session): Unit(true)
isDebugAreaTriggers = false;
- _completedQuestBits = new boost::dynamic_bitset<uint8>(QUESTS_COMPLETED_BITS_SIZE * 8);
m_WeeklyQuestChanged = false;
m_MonthlyQuestChanged = false;
m_SeasonalQuestChanged = false;
@@ -914,7 +912,6 @@ Player::~Player()
delete m_declinedname;
delete m_runes;
- delete _completedQuestBits;
delete m_achievementMgr;
delete m_reputationMgr;
@@ -14761,14 +14758,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST, quest->GetQuestId());
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- {
- _completedQuestBits->set(questBit - 1);
-
- WorldPackets::Quest::SetQuestCompletedBit setCompletedBit;
- setCompletedBit.QuestID = quest_id;
- setCompletedBit.Bit = questBit;
- SendDirectMessage(setCompletedBit.Write());
- }
+ SetQuestCompletedBit(questBit, true);
if (quest->HasFlag(QUEST_FLAGS_FLAGS_PVP))
{
@@ -15400,14 +15390,7 @@ void Player::RemoveRewardedQuest(uint32 questId, bool update /*= true*/)
}
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
- {
- _completedQuestBits->reset(questBit - 1);
-
- WorldPackets::Quest::ClearQuestCompletedBit clearCompletedBit;
- clearCompletedBit.QuestID = questId;
- clearCompletedBit.Bit = questBit;
- SendDirectMessage(clearCompletedBit.Write());
- }
+ SetQuestCompletedBit(questBit, false);
if (update)
SendQuestUpdate(questId);
@@ -15649,6 +15632,18 @@ void Player::SwapQuestSlot(uint16 slot1, uint16 slot2)
}
}
+void Player::SetQuestCompletedBit(uint32 questBit, bool completed)
+{
+ if (!questBit)
+ return;
+
+ uint32 fieldOffset = (questBit - 1) >> 5;
+ if (fieldOffset >= QUESTS_COMPLETED_BITS_SIZE)
+ return;
+
+ ApplyModFlag(PLAYER_FIELD_QUEST_COMPLETED + ((questBit - 1) >> 5), 1 << ((questBit - 1) & 31), completed);
+}
+
void Player::AreaExploredOrEventHappens(uint32 questId)
{
if (questId)
@@ -18057,7 +18052,7 @@ void Player::_LoadQuestStatusRewarded(PreparedQueryResult result)
// instead add them separately from load daily/weekly/monthly/seasonal
if (!quest->IsDailyOrWeekly() && !quest->IsMonthly() && !quest->IsSeasonal())
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits->set(questBit - 1);
+ SetQuestCompletedBit(questBit, true);
}
m_RewardedQuests.insert(quest_id);
@@ -18097,7 +18092,7 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result)
AddDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits->set(questBit - 1);
+ SetQuestCompletedBit(questBit, true);
TC_LOG_DEBUG("entities.player.loading", "Daily quest (%u) cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -18123,7 +18118,7 @@ void Player::_LoadWeeklyQuestStatus(PreparedQueryResult result)
m_weeklyquests.insert(quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits->set(questBit - 1);
+ SetQuestCompletedBit(questBit, true);
TC_LOG_DEBUG("entities.player.loading", "Weekly quest {%u} cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -18150,7 +18145,7 @@ void Player::_LoadSeasonalQuestStatus(PreparedQueryResult result)
m_seasonalquests[event_id].insert(quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits->set(questBit - 1);
+ SetQuestCompletedBit(questBit, true);
TC_LOG_DEBUG("entities.player.loading", "Seasonal quest {%u} cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -18176,7 +18171,7 @@ void Player::_LoadMonthlyQuestStatus(PreparedQueryResult result)
m_monthlyquests.insert(quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits->set(questBit - 1);
+ SetQuestCompletedBit(questBit, true);
TC_LOG_DEBUG("entities.player.loading", "Monthly quest {%u} cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -22047,13 +22042,13 @@ bool Player::IsVisibleGloballyFor(Player const* u) const
}
template<class T>
-inline void UpdateVisibilityOf_helper(GuidSet& s64, T* target, std::set<Unit*>& /*v*/)
+inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, T* target, std::set<Unit*>& /*v*/)
{
s64.insert(target->GetGUID());
}
template<>
-inline void UpdateVisibilityOf_helper(GuidSet& s64, GameObject* target, std::set<Unit*>& /*v*/)
+inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, GameObject* target, std::set<Unit*>& /*v*/)
{
// @HACK: This is to prevent objects like deeprun tram from disappearing when player moves far from its spawn point while riding it
// But exclude stoppable elevators from this hack - they would be teleporting from one end to another
@@ -22064,14 +22059,14 @@ inline void UpdateVisibilityOf_helper(GuidSet& s64, GameObject* target, std::set
}
template<>
-inline void UpdateVisibilityOf_helper(GuidSet& s64, Creature* target, std::set<Unit*>& v)
+inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, Creature* target, std::set<Unit*>& v)
{
s64.insert(target->GetGUID());
v.insert(target);
}
template<>
-inline void UpdateVisibilityOf_helper(GuidSet& s64, Player* target, std::set<Unit*>& v)
+inline void UpdateVisibilityOf_helper(GuidUnorderedSet& s64, Player* target, std::set<Unit*>& v)
{
s64.insert(target->GetGUID());
v.insert(target);
@@ -22133,7 +22128,7 @@ void Player::UpdateTriggerVisibility()
UpdateData udata(GetMapId());
WorldPacket packet;
- for (GuidSet::iterator itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
+ for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
{
if (itr->IsCreature())
{
@@ -22476,7 +22471,6 @@ void Player::SendInitialPacketsBeforeAddToMap()
WorldPackets::Character::InitialSetup initialSetup;
initialSetup.ServerExpansionLevel = sWorld->getIntConfig(CONFIG_EXPANSION);
- boost::to_block_range(*_completedQuestBits, std::back_inserter(initialSetup.QuestsCompleted));
SendDirectMessage(initialSetup.Write());
SetMover(this);
@@ -22976,22 +22970,9 @@ void Player::SetMonthlyQuestStatus(uint32 quest_id)
void Player::ResetDailyQuestStatus()
{
- std::vector<uint32> dailies = GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS);
- if (!dailies.empty())
- {
- WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
- for (uint32 questId : dailies)
- {
- if (uint32 questBit = GetQuestUniqueBitFlag(questId))
- {
- clearCompletedBits.Qbits.push_back(questBit);
- _completedQuestBits->reset(questBit - 1);
- }
- }
-
- if (!clearCompletedBits.Qbits.empty())
- SendDirectMessage(clearCompletedBits.Write());
- }
+ for (uint32 questId : GetDynamicValues(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS))
+ if (uint32 questBit = GetQuestUniqueBitFlag(questId))
+ SetQuestCompletedBit(questBit, false);
ClearDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS);
@@ -23007,18 +22988,9 @@ void Player::ResetWeeklyQuestStatus()
if (m_weeklyquests.empty())
return;
- WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : m_weeklyquests)
- {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
- {
- clearCompletedBits.Qbits.push_back(questBit);
- _completedQuestBits->reset(questBit - 1);
- }
- }
-
- if (!clearCompletedBits.Qbits.empty())
- SendDirectMessage(clearCompletedBits.Write());
+ SetQuestCompletedBit(questBit, false);
m_weeklyquests.clear();
// DB data deleted in caller
@@ -23034,18 +23006,9 @@ void Player::ResetSeasonalQuestStatus(uint16 event_id)
if (eventItr->second.empty())
return;
- WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : eventItr->second)
- {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
- {
- clearCompletedBits.Qbits.push_back(questBit);
- _completedQuestBits->reset(questBit - 1);
- }
- }
-
- if (!clearCompletedBits.Qbits.empty())
- SendDirectMessage(clearCompletedBits.Write());
+ SetQuestCompletedBit(questBit, false);
m_seasonalquests.erase(eventItr);
// DB data deleted in caller
@@ -23057,18 +23020,9 @@ void Player::ResetMonthlyQuestStatus()
if (m_monthlyquests.empty())
return;
- WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : m_monthlyquests)
- {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
- {
- clearCompletedBits.Qbits.push_back(questBit);
- _completedQuestBits->reset(questBit - 1);
- }
- }
-
- if (!clearCompletedBits.Qbits.empty())
- SendDirectMessage(clearCompletedBits.Write());
+ SetQuestCompletedBit(questBit, false);
m_monthlyquests.clear();
// DB data deleted in caller
@@ -23281,7 +23235,7 @@ void Player::UpdateForQuestWorldObjects()
UpdateData udata(GetMapId());
WorldPacket packet;
- for (GuidSet::iterator itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
+ for (auto itr = m_clientGUIDs.begin(); itr != m_clientGUIDs.end(); ++itr)
{
if (itr->IsGameObject())
{
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 79ee97e16c9..596693e5da4 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -35,7 +35,6 @@
#include <limits>
#include <string>
#include <vector>
-#include <boost/dynamic_bitset_fwd.hpp>
struct CreatureTemplate;
struct Mail;
@@ -664,8 +663,8 @@ enum QuestSaveType
// quest
typedef std::map<uint32, QuestSaveType> QuestStatusSaveMap;
-// Size (in bytes) of client completed quests bit map
-#define QUESTS_COMPLETED_BITS_SIZE 2500
+// Size of client completed quests bit map
+#define QUESTS_COMPLETED_BITS_SIZE 625
enum QuestSlotOffsets
{
@@ -1691,6 +1690,7 @@ class Player : public Unit, public GridObject<Player>
void RemoveQuestSlotState(uint16 slot, uint32 state);
void SetQuestSlotTimer(uint16 slot, uint32 timer);
void SwapQuestSlot(uint16 slot1, uint16 slot2);
+ void SetQuestCompletedBit(uint32 questBit, bool completed);
uint16 GetReqKillOrCastCurrentCount(uint32 quest_id, int32 entry);
void AreaExploredOrEventHappens(uint32 questId);
@@ -2435,7 +2435,7 @@ class Player : public Unit, public GridObject<Player>
WorldLocation GetStartPosition() const;
// currently visible objects at player client
- GuidSet m_clientGUIDs;
+ GuidUnorderedSet m_clientGUIDs;
bool HaveAtClient(WorldObject const* u) const;
@@ -2801,8 +2801,6 @@ class Player : public Unit, public GridObject<Player>
RewardedQuestSet m_RewardedQuests;
QuestStatusSaveMap m_RewardedQuestsSave;
- boost::dynamic_bitset<uint8>* _completedQuestBits;
-
SkillStatusMap mSkillStatus;
ObjectGuid::LowType m_GuildIdInvited;
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.cpp b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
index 533f2845b17..d5562a9a3c7 100644
--- a/src/server/game/Grids/Notifiers/GridNotifiers.cpp
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.cpp
@@ -65,7 +65,7 @@ void VisibleNotifier::SendToSelf()
}
}
- for (GuidSet::const_iterator it = vis_guids.begin(); it != vis_guids.end(); ++it)
+ for (auto it = vis_guids.begin(); it != vis_guids.end(); ++it)
{
i_player.m_clientGUIDs.erase(*it);
i_data.AddOutOfRangeGUID(*it);
diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h
index ae8c96aff94..0936f8ff753 100644
--- a/src/server/game/Grids/Notifiers/GridNotifiers.h
+++ b/src/server/game/Grids/Notifiers/GridNotifiers.h
@@ -45,7 +45,7 @@ namespace Trinity
Player &i_player;
UpdateData i_data;
std::set<Unit*> i_visibleNow;
- GuidSet vis_guids;
+ GuidUnorderedSet vis_guids;
VisibleNotifier(Player &player) : i_player(player), i_data(player.GetMapId()), vis_guids(player.m_clientGUIDs) { }
template<class T> void Visit(GridRefManager<T> &m);
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index c908a772458..4818d428db9 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -377,7 +377,7 @@ void WorldSession::HandleChatAddonMessageOpcode(WorldPackets::Chat::ChatAddonMes
ChatMsg type;
switch (packet.GetOpcode())
- {/*
+ {
case CMSG_MESSAGECHAT_ADDON_GUILD:
type = CHAT_MSG_GUILD;
break;
@@ -389,7 +389,7 @@ void WorldSession::HandleChatAddonMessageOpcode(WorldPackets::Chat::ChatAddonMes
break;
case CMSG_MESSAGECHAT_ADDON_RAID:
type = CHAT_MSG_RAID;
- break;*/
+ break;
default:
TC_LOG_ERROR("network", "HandleChatAddonMessageOpcode: Unknown addon chat opcode (%u)", packet.GetOpcode());
return;
@@ -529,8 +529,10 @@ void WorldSession::HandleEmoteOpcode(WorldPackets::Chat::EmoteClient& /* packet
if (!GetPlayer()->IsAlive() || GetPlayer()->HasUnitState(UNIT_STATE_DIED))
return;
- sScriptMgr->OnPlayerEmote(GetPlayer(), 0);
- GetPlayer()->HandleEmoteCommand(0);
+ sScriptMgr->OnPlayerClearEmote(GetPlayer());
+
+ if (_player->GetUInt32Value(UNIT_NPC_EMOTESTATE))
+ _player->SetUInt32Value(UNIT_NPC_EMOTESTATE, 0);
}
void WorldSession::HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet)
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 2759b4f2f5e..13b60d571d3 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -1146,23 +1146,20 @@ void WorldSession::HandleFarSightOpcode(WorldPacket& recvData)
GetPlayer()->UpdateVisibilityForPlayer();
}
-void WorldSession::HandleSetTitleOpcode(WorldPacket& recvData)
+void WorldSession::HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet)
{
TC_LOG_DEBUG("network", "CMSG_SET_TITLE");
-
- int32 title;
- recvData >> title;
-
+
// -1 at none
- if (title > 0 && title < MAX_TITLE_INDEX)
+ if (packet.TitleID > 0 && packet.TitleID < MAX_TITLE_INDEX)
{
- if (!GetPlayer()->HasTitle(title))
+ if (!GetPlayer()->HasTitle(packet.TitleID))
return;
}
else
- title = 0;
+ packet.TitleID = 0;
- GetPlayer()->SetUInt32Value(PLAYER_CHOSEN_TITLE, title);
+ GetPlayer()->SetUInt32Value(PLAYER_CHOSEN_TITLE, packet.TitleID);
}
void WorldSession::HandleTimeSyncResponse(WorldPackets::Misc::TimeSyncResponse& packet)
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index c47fe33e3b2..d1f4c862b0c 100644
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -392,22 +392,16 @@ void WorldSession::HandleMovementOpcodes(WorldPackets::Movement::ClientPlayerMov
}
}
-void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
+void WorldSession::HandleForceSpeedChangeAck(WorldPackets::Movement::MovementSpeedAck& packet)
{
- /* extract packet */
- MovementInfo movementInfo;
- static MovementStatusElements const speedElement = MSEExtraFloat;
- Movement::ExtraMovementStatusElement extras(&speedElement);
- GetPlayer()->ReadMovementInfo(recvData, &movementInfo, &extras);
+ OpcodeClient opcode = packet.GetOpcode();
// now can skip not our packet
- if (_player->GetGUID() != movementInfo.guid)
+ if (_player->GetGUID() != packet.movementInfo.guid)
{
- recvData.rfinish(); // prevent warnings spam
return;
}
- float newspeed = extras.Data.floatData;
/*----------------*/
// client ACK send one packet for mounted/run case and need skip all except last from its
@@ -427,21 +421,21 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
"PitchRate"
};
- switch (recvData.GetOpcode())
+ switch (opcode)
{
- /*
+
case CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK: move_type = MOVE_WALK; break;
case CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK: move_type = MOVE_RUN; break;
case CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK: move_type = MOVE_RUN_BACK; break;
case CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK: move_type = MOVE_SWIM; break;
- case CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK: move_type = MOVE_SWIM_BACK; break;
- case CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK: move_type = MOVE_TURN_RATE; break;
+ //case CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK: move_type = MOVE_SWIM_BACK; break;
+ //case CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK: move_type = MOVE_TURN_RATE; break;
case CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK: move_type = MOVE_FLIGHT; break;
- case CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK: move_type = MOVE_FLIGHT_BACK; break;
- case CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK: move_type = MOVE_PITCH_RATE; break;
- */
+ //case CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK: move_type = MOVE_FLIGHT_BACK; break;
+ //case CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK: move_type = MOVE_PITCH_RATE; break;
+
default:
- TC_LOG_ERROR("network", "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", recvData.GetOpcode());
+ TC_LOG_ERROR("network", "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode);
return;
}
@@ -454,18 +448,18 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPacket &recvData)
return;
}
- if (!_player->GetTransport() && std::fabs(_player->GetSpeed(move_type) - newspeed) > 0.01f)
+ if (!_player->GetTransport() && std::fabs(_player->GetSpeed(move_type) - packet.Speed) > 0.01f)
{
- if (_player->GetSpeed(move_type) > newspeed) // must be greater - just correct
+ if (_player->GetSpeed(move_type) > packet.Speed) // must be greater - just correct
{
TC_LOG_ERROR("network", "%sSpeedChange player %s is NOT correct (must be %f instead %f), force set to correct value",
- move_type_name[move_type], _player->GetName().c_str(), _player->GetSpeed(move_type), newspeed);
+ move_type_name[move_type], _player->GetName().c_str(), _player->GetSpeed(move_type), packet.Speed);
_player->SetSpeed(move_type, _player->GetSpeedRate(move_type), true);
}
else // must be lesser - cheating
{
TC_LOG_DEBUG("misc", "Player %s from account id %u kicked for incorrect speed (must be %f instead %f)",
- _player->GetName().c_str(), _player->GetSession()->GetAccountId(), _player->GetSpeed(move_type), newspeed);
+ _player->GetName().c_str(), _player->GetSession()->GetAccountId(), _player->GetSpeed(move_type), packet.Speed);
_player->GetSession()->KickPlayer();
}
}
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index c5e0fc2e3b5..df5fae683fe 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -95,16 +95,11 @@ void WorldSession::HandleQuestgiverHelloOpcode(WorldPackets::Quest::QuestGiverHe
creature->AI()->sGossipHello(_player);
}
-void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
+void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPackets::Quest::QuestGiverAcceptQuest& packet)
{
- ObjectGuid guid;
- uint32 questId;
- uint32 unk1;
- recvData >> guid >> questId >> unk1;
-
- TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_ACCEPT_QUEST %s, quest = %u, unk1 = %u", guid.ToString().c_str(), questId, unk1);
+ TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTGIVER_ACCEPT_QUEST %s, quest = %u, startcheat = %u", packet.QuestGiverGUID.ToString().c_str(), packet.QuestID, packet.StartCheat);
- Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, guid, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT|TYPEMASK_ITEM|TYPEMASK_PLAYER);
+ Object* object = ObjectAccessor::GetObjectByTypeMask(*_player, packet.QuestGiverGUID, TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM | TYPEMASK_PLAYER);
#define CLOSE_GOSSIP_CLEAR_DIVIDER() \
do { \
@@ -121,8 +116,8 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
if (Player* playerQuestObject = object->ToPlayer())
{
- if ((!_player->GetDivider().IsEmpty() && _player->GetDivider() != guid) ||
- ((object != _player && !playerQuestObject->CanShareQuest(questId))))
+ if ((!_player->GetDivider().IsEmpty() && _player->GetDivider() != packet.QuestGiverGUID) ||
+ ((object != _player && !playerQuestObject->CanShareQuest(packet.QuestID))))
{
CLOSE_GOSSIP_CLEAR_DIVIDER();
return;
@@ -130,7 +125,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
}
else
{
- if (!object->hasQuest(questId))
+ if (!object->hasQuest(packet.QuestID))
{
CLOSE_GOSSIP_CLEAR_DIVIDER();
return;
@@ -141,7 +136,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvData)
if (!_player->CanInteractWithQuestGiver(object))
return;
- if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
+ if (Quest const* quest = sObjectMgr->GetQuestTemplate(packet.QuestID))
{
// prevent cheating
if (!GetPlayer()->CanTakeQuest(quest, true))
@@ -378,16 +373,13 @@ void WorldSession::HandleQuestLogSwapQuest(WorldPacket& recvData)
GetPlayer()->SwapQuestSlot(slot1, slot2);
}
-void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recvData)
+void WorldSession::HandleQuestLogRemoveQuest(WorldPackets::Quest::QuestLogRemoveQuest& packet)
{
- uint8 slot;
- recvData >> slot;
-
- TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTLOG_REMOVE_QUEST slot = %u", slot);
+ TC_LOG_DEBUG("network", "WORLD: Received CMSG_QUESTLOG_REMOVE_QUEST slot = %u", packet.Entry);
- if (slot < MAX_QUEST_LOG_SIZE)
+ if (packet.Entry < MAX_QUEST_LOG_SIZE)
{
- if (uint32 questId = _player->GetQuestSlotQuestId(slot))
+ if (uint32 questId = _player->GetQuestSlotQuestId(packet.Entry))
{
if (!_player->TakeQuestSourceItem(questId, true))
return; // can't un-equip some items, reject quest cancel
@@ -422,7 +414,7 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recvData)
}
}
- _player->SetQuestSlot(slot, 0);
+ _player->SetQuestSlot(packet.Entry, 0);
_player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED, 1);
}
@@ -627,7 +619,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPackets::Quest::Ques
WorldPackets::Quest::QuestGiverStatusMultiple response;
- for (GuidSet::const_iterator itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr)
+ for (auto itr = _player->m_clientGUIDs.begin(); itr != _player->m_clientGUIDs.end(); ++itr)
{
if (itr->IsAnyTypeCreature())
{
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index b3a094b86c5..0553d99dd8f 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -324,15 +324,10 @@ void WorldSession::HandleCastSpellOpcode(WorldPackets::Spells::CastSpell& cast)
spell->prepare(&targets);
}
-void WorldSession::HandleCancelCastOpcode(WorldPacket& recvPacket)
+void WorldSession::HandleCancelCastOpcode(WorldPackets::Spells::CancelCast& packet)
{
- uint32 spellId;
-
- recvPacket.read_skip<uint8>(); // counter, increments with every CANCEL packet, don't use for now
- recvPacket >> spellId;
-
if (_player->IsNonMeleeSpellCast(false))
- _player->InterruptNonMeleeSpells(false, spellId, false);
+ _player->InterruptNonMeleeSpells(false, packet.SpellID, false);
}
void WorldSession::HandleCancelAuraOpcode(WorldPackets::Spells::CancelAura& cancelAura)
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 71d05031483..b4669846af6 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -136,9 +136,9 @@ void Map::LoadMMap(int gx, int gy)
bool mmapLoadResult = MMAP::MMapFactory::createOrGetMMapManager()->loadMap((sWorld->GetDataPath() + "mmaps").c_str(), GetId(), gx, gy);
if (mmapLoadResult)
- TC_LOG_INFO("maps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+ TC_LOG_DEBUG("maps", "MMAP loaded name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
else
- TC_LOG_INFO("maps", "Could not load MMAP name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+ TC_LOG_ERROR("maps", "Could not load MMAP name:%s, id:%d, x:%d, y:%d (mmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
}
void Map::LoadVMap(int gx, int gy)
@@ -150,10 +150,10 @@ void Map::LoadVMap(int gx, int gy)
switch (vmapLoadResult)
{
case VMAP::VMAP_LOAD_RESULT_OK:
- TC_LOG_INFO("maps", "VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+ TC_LOG_DEBUG("maps", "VMAP loaded name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
break;
case VMAP::VMAP_LOAD_RESULT_ERROR:
- TC_LOG_INFO("maps", "Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
+ TC_LOG_ERROR("maps", "Could not load VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
break;
case VMAP::VMAP_LOAD_RESULT_IGNORED:
TC_LOG_DEBUG("maps", "Ignored VMAP name:%s, id:%d, x:%d, y:%d (vmap rep.: x:%d, y:%d)", GetMapName(), GetId(), gx, gy, gx, gy);
@@ -183,7 +183,7 @@ void Map::LoadMap(int gx, int gy, bool reload)
//map already load, delete it before reloading (Is it necessary? Do we really need the ability the reload maps during runtime?)
if (GridMaps[gx][gy])
{
- TC_LOG_INFO("maps", "Unloading previously loaded map %u before reloading.", GetId());
+ TC_LOG_DEBUG("maps", "Unloading previously loaded map %u before reloading.", GetId());
sScriptMgr->OnUnloadGridMap(this, GridMaps[gx][gy], gx, gy);
delete (GridMaps[gx][gy]);
@@ -195,7 +195,7 @@ void Map::LoadMap(int gx, int gy, bool reload)
int len = sWorld->GetDataPath().length() + strlen("maps/%03u%02u%02u.map") + 1;
tmp = new char[len];
snprintf(tmp, len, (char *)(sWorld->GetDataPath() + "maps/%03u%02u%02u.map").c_str(), GetId(), gx, gy);
- TC_LOG_INFO("maps", "Loading map %s", tmp);
+ TC_LOG_DEBUG("maps", "Loading map %s", tmp);
// loading data
GridMaps[gx][gy] = new GridMap();
if (!GridMaps[gx][gy]->loadData(tmp))
@@ -2507,7 +2507,7 @@ void Map::UpdateObjectsVisibilityFor(Player* player, Cell cell, CellCoord cellpa
void Map::SendInitSelf(Player* player)
{
- TC_LOG_INFO("maps", "Creating player data for himself %s", player->GetGUID().ToString().c_str());
+ TC_LOG_DEBUG("maps", "Creating player data for himself %s", player->GetGUID().ToString().c_str());
UpdateData data(player->GetMapId());
@@ -2953,7 +2953,7 @@ bool InstanceMap::AddPlayerToMap(Player* player)
InstanceSave* mapSave = sInstanceSaveMgr->GetInstanceSave(GetInstanceId());
if (!mapSave)
{
- TC_LOG_INFO("maps", "InstanceMap::Add: creating instance save for map %d spawnmode %d with instance id %d", GetId(), GetSpawnMode(), GetInstanceId());
+ TC_LOG_DEBUG("maps", "InstanceMap::Add: creating instance save for map %d spawnmode %d with instance id %d", GetId(), GetSpawnMode(), GetInstanceId());
mapSave = sInstanceSaveMgr->AddInstanceSave(GetId(), GetInstanceId(), Difficulty(GetSpawnMode()), 0, true);
}
@@ -3030,7 +3030,7 @@ bool InstanceMap::AddPlayerToMap(Player* player)
// first player enters (no players yet)
SetResetSchedule(false);
- TC_LOG_INFO("maps", "MAP: Player '%s' entered instance '%u' of map '%s'", player->GetName().c_str(), GetInstanceId(), GetMapName());
+ TC_LOG_DEBUG("maps", "MAP: Player '%s' entered instance '%u' of map '%s'", player->GetName().c_str(), GetInstanceId(), GetMapName());
// initialize unload state
m_unloadTimer = 0;
m_resetAfterUnload = false;
@@ -3056,7 +3056,7 @@ void InstanceMap::Update(const uint32 t_diff)
void InstanceMap::RemovePlayerFromMap(Player* player, bool remove)
{
- TC_LOG_INFO("maps", "MAP: Removing player '%s' from instance '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
+ TC_LOG_DEBUG("maps", "MAP: Removing player '%s' from instance '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
//if last player set unload timer
if (!m_unloadTimer && m_mapRefManager.getSize() == 1)
m_unloadTimer = m_unloadWhenEmpty ? MIN_UNLOAD_DELAY : std::max(sWorld->getIntConfig(CONFIG_INSTANCE_UNLOAD_DELAY), (uint32)MIN_UNLOAD_DELAY);
@@ -3308,7 +3308,7 @@ bool BattlegroundMap::AddPlayerToMap(Player* player)
void BattlegroundMap::RemovePlayerFromMap(Player* player, bool remove)
{
- TC_LOG_INFO("maps", "MAP: Removing player '%s' from bg '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
+ TC_LOG_DEBUG("maps", "MAP: Removing player '%s' from bg '%u' of map '%s' before relocating to another map", player->GetName().c_str(), GetInstanceId(), GetMapName());
Map::RemovePlayerFromMap(player, remove);
}
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index 851cbbc27a8..5142eebbaa2 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -4461,47 +4461,48 @@ enum ResponseCodes
CHAR_CREATE_CHARACTER_GOLD_LIMIT = 68,
CHAR_CREATE_FORCE_LOGIN = 69,
CHAR_CREATE_TRIAL = 70,
-
- CHAR_DELETE_IN_PROGRESS = 71,
- CHAR_DELETE_SUCCESS = 72,
- CHAR_DELETE_FAILED = 73,
- CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 74,
- CHAR_DELETE_FAILED_GUILD_LEADER = 75,
- CHAR_DELETE_FAILED_ARENA_CAPTAIN = 76,
- CHAR_DELETE_FAILED_HAS_HEIRLOOM_OR_MAIL = 77,
-
- CHAR_LOGIN_IN_PROGRESS = 78,
- CHAR_LOGIN_SUCCESS = 79,
- CHAR_LOGIN_NO_WORLD = 80,
- CHAR_LOGIN_DUPLICATE_CHARACTER = 81,
- CHAR_LOGIN_NO_INSTANCES = 82,
- CHAR_LOGIN_FAILED = 83,
- CHAR_LOGIN_DISABLED = 84,
- CHAR_LOGIN_NO_CHARACTER = 85,
- CHAR_LOGIN_LOCKED_FOR_TRANSFER = 86,
- CHAR_LOGIN_LOCKED_BY_BILLING = 87,
- CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 88,
- CHAR_LOGIN_TEMPORARY_GM_LOCK = 89,
- CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 90,
- CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 91,
-
- CHAR_NAME_SUCCESS = 92,
- CHAR_NAME_FAILURE = 93,
- CHAR_NAME_NO_NAME = 94,
- CHAR_NAME_TOO_SHORT = 95,
- CHAR_NAME_TOO_LONG = 96,
- CHAR_NAME_INVALID_CHARACTER = 97,
- CHAR_NAME_MIXED_LANGUAGES = 98,
- CHAR_NAME_PROFANE = 99,
- CHAR_NAME_RESERVED = 100,
- CHAR_NAME_INVALID_APOSTROPHE = 101,
- CHAR_NAME_MULTIPLE_APOSTROPHES = 102,
- CHAR_NAME_THREE_CONSECUTIVE = 103,
- CHAR_NAME_INVALID_SPACE = 104,
- CHAR_NAME_CONSECUTIVE_SPACES = 105,
- CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 106,
- CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 107,
- CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 108
+ CHAR_CREATE_VETERAN = 71,
+
+ CHAR_DELETE_IN_PROGRESS = 72,
+ CHAR_DELETE_SUCCESS = 73,
+ CHAR_DELETE_FAILED = 74,
+ CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 75,
+ CHAR_DELETE_FAILED_GUILD_LEADER = 76,
+ CHAR_DELETE_FAILED_ARENA_CAPTAIN = 77,
+ CHAR_DELETE_FAILED_HAS_HEIRLOOM_OR_MAIL = 78,
+
+ CHAR_LOGIN_IN_PROGRESS = 79,
+ CHAR_LOGIN_SUCCESS = 80,
+ CHAR_LOGIN_NO_WORLD = 81,
+ CHAR_LOGIN_DUPLICATE_CHARACTER = 82,
+ CHAR_LOGIN_NO_INSTANCES = 83,
+ CHAR_LOGIN_FAILED = 84,
+ CHAR_LOGIN_DISABLED = 85,
+ CHAR_LOGIN_NO_CHARACTER = 86,
+ CHAR_LOGIN_LOCKED_FOR_TRANSFER = 87,
+ CHAR_LOGIN_LOCKED_BY_BILLING = 88,
+ CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 89,
+ CHAR_LOGIN_TEMPORARY_GM_LOCK = 90,
+ CHAR_LOGIN_LOCKED_BY_CHARACTER_UPGRADE = 91,
+ CHAR_LOGIN_LOCKED_BY_REVOKED_CHARACTER_UPGRADE = 92,
+
+ CHAR_NAME_SUCCESS = 93,
+ CHAR_NAME_FAILURE = 94,
+ CHAR_NAME_NO_NAME = 95,
+ CHAR_NAME_TOO_SHORT = 96,
+ CHAR_NAME_TOO_LONG = 97,
+ CHAR_NAME_INVALID_CHARACTER = 98,
+ CHAR_NAME_MIXED_LANGUAGES = 99,
+ CHAR_NAME_PROFANE = 100,
+ CHAR_NAME_RESERVED = 101,
+ CHAR_NAME_INVALID_APOSTROPHE = 102,
+ CHAR_NAME_MULTIPLE_APOSTROPHES = 103,
+ CHAR_NAME_THREE_CONSECUTIVE = 104,
+ CHAR_NAME_INVALID_SPACE = 105,
+ CHAR_NAME_CONSECUTIVE_SPACES = 106,
+ CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 107,
+ CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 108,
+ CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 109
};
enum CharacterUndeleteResult
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index dd996ee0f50..8b05ec98fa5 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -1257,9 +1257,9 @@ void ScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::stri
FOREACH_SCRIPT(PlayerScript)->OnChat(player, type, lang, msg, channel);
}
-void ScriptMgr::OnPlayerEmote(Player* player, uint32 emote)
+void ScriptMgr::OnPlayerClearEmote(Player* player)
{
- FOREACH_SCRIPT(PlayerScript)->OnEmote(player, emote);
+ FOREACH_SCRIPT(PlayerScript)->OnClearEmote(player);
}
void ScriptMgr::OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid)
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 84275b95d81..97f4c4e6bc9 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -735,7 +735,7 @@ class PlayerScript : public UnitScript
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string& /*msg*/, Channel* /*channel*/) { }
// Both of the below are called on emote opcodes.
- virtual void OnEmote(Player* /*player*/, uint32 /*emote*/) { }
+ virtual void OnClearEmote(Player* /*player*/) { }
virtual void OnTextEmote(Player* /*player*/, uint32 /*textEmote*/, uint32 /*emoteNum*/, ObjectGuid /*guid*/) { }
@@ -1076,7 +1076,7 @@ class ScriptMgr
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group);
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild);
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string& msg, Channel* channel);
- void OnPlayerEmote(Player* player, uint32 emote);
+ void OnPlayerClearEmote(Player* player);
void OnPlayerTextEmote(Player* player, uint32 textEmote, uint32 emoteNum, ObjectGuid guid);
void OnPlayerSpellCast(Player* player, Spell* spell, bool skipCheck);
void OnPlayerLogin(Player* player, bool firstLogin);
diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp
index 52b83b13a54..9ee652fac06 100644
--- a/src/server/game/Server/Packets/ChannelPackets.cpp
+++ b/src/server/game/Server/Packets/ChannelPackets.cpp
@@ -86,7 +86,7 @@ WorldPacket const* WorldPackets::Channel::ChannelNotifyLeft::Write()
void WorldPackets::Channel::ChannelPlayerCommand::Read()
{
switch (GetOpcode())
- {/*
+ {
case CMSG_CHANNEL_BAN:
case CMSG_CHANNEL_INVITE:
case CMSG_CHANNEL_KICK:
@@ -94,12 +94,12 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read()
case CMSG_CHANNEL_MUTE:
case CMSG_CHANNEL_SET_OWNER:
case CMSG_CHANNEL_SILENCE_ALL:
- case CMSG_CHANNEL_SILENCE_VOICE:
+ //case CMSG_CHANNEL_SILENCE_VOICE:
case CMSG_CHANNEL_UNBAN:
case CMSG_CHANNEL_UNMODERATOR:
case CMSG_CHANNEL_UNMUTE:
- case CMSG_CHANNEL_UNSILENCE_ALL:
- case CMSG_CHANNEL_UNSILENCE_VOICE:
+ //case CMSG_CHANNEL_UNSILENCE_ALL:
+ //case CMSG_CHANNEL_UNSILENCE_VOICE:
{
uint32 channelNameLength = _worldPacket.ReadBits(7);
uint32 nameLength = _worldPacket.ReadBits(9);
@@ -107,14 +107,14 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read()
Name = _worldPacket.ReadString(nameLength);
break;
}
- case CMSG_CHANNEL_ANNOUNCEMENTS:
- case CMSG_CHANNEL_DECLINE_INVITE:
- case CMSG_CHANNEL_DISPLAY_LIST:
- case CMSG_CHANNEL_LIST:
+ //case CMSG_CHANNEL_ANNOUNCEMENTS:
+ //case CMSG_CHANNEL_DECLINE_INVITE:
+ //case CMSG_CHANNEL_DISPLAY_LIST:
+ //case CMSG_CHANNEL_LIST:
//case CMSG_CHANNEL_MODERATE:
- case CMSG_CHANNEL_OWNER:
- case CMSG_CHANNEL_VOICE_OFF:
- case CMSG_CHANNEL_VOICE_ON:
+ //case CMSG_CHANNEL_OWNER:
+ //case CMSG_CHANNEL_VOICE_OFF:
+ //case CMSG_CHANNEL_VOICE_ON:
{
ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7));
break;
@@ -126,7 +126,7 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read()
ChannelName = _worldPacket.ReadString(channelNameLength);
Name = _worldPacket.ReadString(nameLength);
break;
- }*/
+ }
default:
break;
}
diff --git a/src/server/game/Server/Packets/ChannelPackets.h b/src/server/game/Server/Packets/ChannelPackets.h
index 594b79bf504..6948628c6c0 100644
--- a/src/server/game/Server/Packets/ChannelPackets.h
+++ b/src/server/game/Server/Packets/ChannelPackets.h
@@ -103,29 +103,29 @@ namespace WorldPackets
switch (GetOpcode())
{
default:
- ASSERT(false);/*
- case CMSG_CHANNEL_ANNOUNCEMENTS:
+ ASSERT(false);
+ //case CMSG_CHANNEL_ANNOUNCEMENTS:
case CMSG_CHANNEL_BAN:
- case CMSG_CHANNEL_DECLINE_INVITE:
- case CMSG_CHANNEL_DISPLAY_LIST:
+ //case CMSG_CHANNEL_DECLINE_INVITE:
+ //case CMSG_CHANNEL_DISPLAY_LIST:
case CMSG_CHANNEL_INVITE:
case CMSG_CHANNEL_KICK:
- case CMSG_CHANNEL_LIST:
+ //case CMSG_CHANNEL_LIST:
//case CMSG_CHANNEL_MODERATE:
case CMSG_CHANNEL_MODERATOR:
case CMSG_CHANNEL_MUTE:
- case CMSG_CHANNEL_OWNER:
+ //case CMSG_CHANNEL_OWNER:
case CMSG_CHANNEL_PASSWORD:
case CMSG_CHANNEL_SET_OWNER:
- case CMSG_CHANNEL_SILENCE_ALL:
- case CMSG_CHANNEL_SILENCE_VOICE:
+ //case CMSG_CHANNEL_SILENCE_ALL:
+ //case CMSG_CHANNEL_SILENCE_VOICE:
case CMSG_CHANNEL_UNBAN:
case CMSG_CHANNEL_UNMODERATOR:
case CMSG_CHANNEL_UNMUTE:
- case CMSG_CHANNEL_UNSILENCE_ALL:
- case CMSG_CHANNEL_UNSILENCE_VOICE:
- case CMSG_CHANNEL_VOICE_OFF:
- case CMSG_CHANNEL_VOICE_ON:*/
+ //case CMSG_CHANNEL_UNSILENCE_ALL:
+ //case CMSG_CHANNEL_UNSILENCE_VOICE:
+ //case CMSG_CHANNEL_VOICE_OFF:
+ //case CMSG_CHANNEL_VOICE_ON:
break;
}
}
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp
index 69ffb8a7502..010183ed56e 100644
--- a/src/server/game/Server/Packets/CharacterPackets.cpp
+++ b/src/server/game/Server/Packets/CharacterPackets.cpp
@@ -386,13 +386,10 @@ void WorldPackets::Character::LoadingScreenNotify::Read()
WorldPacket const* WorldPackets::Character::InitialSetup::Write()
{
- _worldPacket << uint32(QuestsCompleted.size());
_worldPacket << uint8(ServerExpansionLevel);
_worldPacket << uint8(ServerExpansionTier);
_worldPacket << int32(ServerRegionID);
_worldPacket << uint32(RaidOrigin);
- if (!QuestsCompleted.empty())
- _worldPacket.append(QuestsCompleted.data(), QuestsCompleted.size());
return &_worldPacket;
}
@@ -426,3 +423,8 @@ void WorldPackets::Character::ShowingHelm::Read()
{
ShowHelm = _worldPacket.ReadBit();
}
+
+void WorldPackets::Character::SetTitle::Read()
+{
+ _worldPacket >> TitleID;
+}
diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h
index b185fc3301e..3cbf969f4d3 100644
--- a/src/server/game/Server/Packets/CharacterPackets.h
+++ b/src/server/game/Server/Packets/CharacterPackets.h
@@ -515,17 +515,13 @@ namespace WorldPackets
class InitialSetup final : public ServerPacket
{
public:
- InitialSetup() : ServerPacket(SMSG_INITIAL_SETUP, 1 + 1 + 4 + QUESTS_COMPLETED_BITS_SIZE + 4)
- {
- QuestsCompleted.reserve(QUESTS_COMPLETED_BITS_SIZE);
- }
+ InitialSetup() : ServerPacket(SMSG_INITIAL_SETUP, 1 + 1 + 4 + 4) { }
WorldPacket const* Write() override;
uint8 ServerExpansionTier = 0;
uint8 ServerExpansionLevel = 0;
time_t RaidOrigin = time_t(1135753200); // 28/12/2005 07:00:00
- std::vector<uint8> QuestsCompleted;
int32 ServerRegionID = 3; // Cfg_Regions.dbc, EU
};
@@ -580,6 +576,16 @@ namespace WorldPackets
bool ShowHelm = false;
};
+
+ class SetTitle final : public ClientPacket
+ {
+ public:
+ SetTitle(WorldPacket&& packet) : ClientPacket(CMSG_SET_TITLE, std::move(packet)) { }
+
+ void Read() override;
+
+ int32 TitleID = 0;
+ };
}
}
diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp
index f7430e08f21..473e49d2921 100644
--- a/src/server/game/Server/Packets/CombatPackets.cpp
+++ b/src/server/game/Server/Packets/CombatPackets.cpp
@@ -183,3 +183,11 @@ WorldPacket const* WorldPackets::Combat::CancelAutoRepeat::Write()
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Combat::HealthUpdate::Write()
+{
+ _worldPacket << Guid;
+ _worldPacket << int32(Health);
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h
index 766c4024cab..0e9ea087d38 100644
--- a/src/server/game/Server/Packets/CombatPackets.h
+++ b/src/server/game/Server/Packets/CombatPackets.h
@@ -225,6 +225,17 @@ namespace WorldPackets
ObjectGuid Guid;
};
+
+ class HealthUpdate final : public ServerPacket
+ {
+ public:
+ HealthUpdate() : ServerPacket(SMSG_HEALTH_UPDATE, 16 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid Guid;
+ int32 Health = 0;
+ };
}
}
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 1138885c842..d0a3e0038e9 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -27,6 +27,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
bool hasTransportData = !movementInfo.transport.guid.IsEmpty();
bool hasFallDirection = movementInfo.HasMovementFlag(MOVEMENTFLAG_FALLING | MOVEMENTFLAG_FALLING_FAR);
bool hasFallData = hasFallDirection || movementInfo.jump.fallTime != 0;
+ bool hasSpline = false; // todo 6.x send this infos
data << movementInfo.guid;
data << movementInfo.time;
@@ -50,6 +51,7 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
data.WriteBit(hasTransportData);
data.WriteBit(hasFallData);
+ data.WriteBit(hasSpline);
data.WriteBit(0); // HeightChangeFailed
data.WriteBit(0); // RemoteTimeValid
@@ -78,6 +80,8 @@ ByteBuffer& operator<<(ByteBuffer& data, MovementInfo& movementInfo)
ByteBuffer& operator>>(ByteBuffer& data, MovementInfo& movementInfo)
{
+ bool hasSpline = false;
+
data >> movementInfo.guid;
data >> movementInfo.time;
data >> movementInfo.pos.PositionXYZOStream();
@@ -101,6 +105,7 @@ ByteBuffer& operator>>(ByteBuffer& data, MovementInfo& movementInfo)
bool hasTransport = data.ReadBit();
bool hasFall = data.ReadBit();
+ hasSpline = data.ReadBit(); // todo 6.x read this infos
data.ReadBit(); // HeightChangeFailed
data.ReadBit(); // RemoteTimeValid
@@ -590,3 +595,16 @@ void WorldPackets::Movement::MoveTeleportAck::Read()
_worldPacket >> AckIndex;
_worldPacket >> MoveTime;
}
+
+void WorldPackets::Movement::MovementAck::Read()
+{
+ _worldPacket >> movementInfo;
+ _worldPacket >> AckIndex;
+}
+
+void WorldPackets::Movement::MovementSpeedAck::Read()
+{
+ _worldPacket >> movementInfo;
+ _worldPacket >> AckIndex;
+ _worldPacket >> Speed;
+}
diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h
index 85156234477..0e5449c7947 100644
--- a/src/server/game/Server/Packets/MovementPackets.h
+++ b/src/server/game/Server/Packets/MovementPackets.h
@@ -285,6 +285,29 @@ namespace WorldPackets
int32 AckIndex = 0;
int32 MoveTime = 0;
};
+
+ class MovementAck final : public ClientPacket
+ {
+ public:
+ MovementAck(WorldPacket&& packet) : ClientPacket(std::move(packet)) { }
+
+ void Read() override;
+
+ MovementInfo movementInfo;
+ int32 AckIndex = 0;
+ };
+
+ class MovementSpeedAck final : public ClientPacket
+ {
+ public:
+ MovementSpeedAck(WorldPacket&& packet) : ClientPacket(std::move(packet)) { }
+
+ void Read() override;
+
+ MovementInfo movementInfo;
+ int32 AckIndex = 0;
+ float Speed = 0.0f;
+ };
}
ByteBuffer& operator<<(ByteBuffer& data, Movement::MonsterSplineFilterKey const& monsterSplineFilterKey);
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index 7bf96b03bab..33e33bece55 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -134,9 +134,19 @@ void WorldPackets::NPC::GossipSelectOption::Read()
uint32 length = _worldPacket.ReadBits(8);
PromotionCode = _worldPacket.ReadString(length);
}
+
WorldPacket const* WorldPackets::NPC::PlayerTabardVendorActivate::Write()
{
_worldPacket << Vendor;
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::NPC::SuppressNPCGreetings::Write()
+{
+ _worldPacket << UnitGUID;
+ _worldPacket.WriteBit(SuppressNPCGreeting);
+ _worldPacket.FlushBits();
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index e02fd21dd39..b4c7a377187 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -168,6 +168,17 @@ namespace WorldPackets
ObjectGuid Vendor;
};
+
+ class SuppressNPCGreetings final : public ServerPacket
+ {
+ public:
+ SuppressNPCGreetings() : ServerPacket(SMSG_SUPPRESS_NPC_GREETINGS, 16 + 1) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid UnitGUID;
+ bool SuppressNPCGreeting = false;
+ };
}
}
diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp
index db30e8d2ec0..9801db09844 100644
--- a/src/server/game/Server/Packets/QuestPackets.cpp
+++ b/src/server/game/Server/Packets/QuestPackets.cpp
@@ -427,25 +427,14 @@ void WorldPackets::Quest::QuestGiverQueryQuest::Read()
RespondToGiver = _worldPacket.ReadBit();
}
-WorldPacket const* WorldPackets::Quest::SetQuestCompletedBit::Write()
+void WorldPackets::Quest::QuestGiverAcceptQuest::Read()
{
- _worldPacket << int32(Bit);
- _worldPacket << int32(QuestID);
- return &_worldPacket;
-}
-
-WorldPacket const* WorldPackets::Quest::ClearQuestCompletedBit::Write()
-{
- _worldPacket << int32(Bit);
- _worldPacket << int32(QuestID);
- return &_worldPacket;
+ _worldPacket >> QuestGiverGUID;
+ _worldPacket >> QuestID;
+ StartCheat = _worldPacket.ReadBit();
}
-WorldPacket const* WorldPackets::Quest::ClearQuestCompletedBits::Write()
+void WorldPackets::Quest::QuestLogRemoveQuest::Read()
{
- _worldPacket << uint32(Qbits.size());
- if (!Qbits.empty())
- _worldPacket.append(Qbits.data(), Qbits.size());
-
- return &_worldPacket;
+ _worldPacket >> Entry;
}
diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h
index 3796649f2c9..440c8ea5478 100644
--- a/src/server/game/Server/Packets/QuestPackets.h
+++ b/src/server/game/Server/Packets/QuestPackets.h
@@ -406,36 +406,26 @@ namespace WorldPackets
bool RespondToGiver = false;
};
- class SetQuestCompletedBit final : public ServerPacket
+ class QuestGiverAcceptQuest final : public ClientPacket
{
public:
- SetQuestCompletedBit() : ServerPacket(SMSG_SET_QUEST_COMPLETED_BIT, 4 + 4) { }
+ QuestGiverAcceptQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_ACCEPT_QUEST, std::move(packet)) { }
- WorldPacket const* Write() override;
-
- int32 Bit = 0;
- int32 QuestID = 0;
- };
-
- class ClearQuestCompletedBit final : public ServerPacket
- {
- public:
- ClearQuestCompletedBit() : ServerPacket(SMSG_CLEAR_QUEST_COMPLETED_BIT, 4 + 4) { }
-
- WorldPacket const* Write() override;
+ void Read() override;
- int32 Bit = 0;
+ ObjectGuid QuestGiverGUID;
int32 QuestID = 0;
+ bool StartCheat = false;
};
- class ClearQuestCompletedBits final : public ServerPacket
+ class QuestLogRemoveQuest final : public ClientPacket
{
public:
- ClearQuestCompletedBits() : ServerPacket(SMSG_CLEAR_QUEST_COMPLETED_BITS, 4) { }
+ QuestLogRemoveQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUESTLOG_REMOVE_QUEST, std::move(packet)) { }
- WorldPacket const* Write() override;
+ void Read() override;
- std::vector<int32> Qbits;
+ uint8 Entry = 0;
};
}
}
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index d840a4aae49..fabecce0d34 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -418,7 +418,7 @@ WorldPacket const* WorldPackets::Spells::SpellFailure::Write()
_worldPacket << CasterUnit;
_worldPacket << uint8(CastID);
_worldPacket << int32(SpellID);
- _worldPacket << uint8(Reason);
+ _worldPacket << uint16(Reason);
return &_worldPacket;
}
@@ -620,3 +620,9 @@ WorldPacket const* WorldPackets::Spells::CancelSpellVisual::Write()
return &_worldPacket;
}
+
+void WorldPackets::Spells::CancelCast::Read()
+{
+ _worldPacket >> SpellID;
+ _worldPacket >> CastID;
+}
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index f29e7599707..634f4b40e7f 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -340,13 +340,13 @@ namespace WorldPackets
class SpellFailure final : public ServerPacket
{
public:
- SpellFailure() : ServerPacket(SMSG_SPELL_FAILURE, 16+4+1+1) { }
+ SpellFailure() : ServerPacket(SMSG_SPELL_FAILURE, 16+4+2+1) { }
WorldPacket const* Write() override;
ObjectGuid CasterUnit;
uint32 SpellID = 0;
- uint8 Reason = 0;
+ uint16 Reason = 0;
uint8 CastID = 0;
};
@@ -359,7 +359,7 @@ namespace WorldPackets
ObjectGuid CasterUnit;
uint32 SpellID = 0;
- uint16 Reason = 0;
+ uint8 Reason = 0;
uint8 CastID = 0;
};
@@ -577,6 +577,17 @@ namespace WorldPackets
ObjectGuid Source;
int32 SpellVisualID = 0;
};
+
+ class CancelCast final : public ClientPacket
+ {
+ public:
+ CancelCast(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_CAST, std::move(packet)) { }
+
+ void Read() override;
+
+ uint32 SpellID = 0;
+ uint8 CastID = 0;
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index f5f23bee02e..6a60b79d094 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -152,7 +152,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_ADD_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::AddFriend, &WorldSession::HandleAddFriendOpcode);
DEFINE_HANDLER(CMSG_ADD_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::AddIgnore, &WorldSession::HandleAddIgnoreOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_ALTER_APPEARANCE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAlterAppearance );
- DEFINE_HANDLER(CMSG_AREATRIGGER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::AreaTrigger, &WorldSession::HandleAreaTriggerOpcode);
+ DEFINE_HANDLER(CMSG_AREATRIGGER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::AreaTrigger, &WorldSession::HandleAreaTriggerOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_AREA_SPIRIT_HEALER_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaSpiritHealerQueryOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_AREA_SPIRIT_HEALER_QUEUE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAreaSpiritHealerQueueOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_ACCEPT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamAcceptOpcode );
@@ -167,7 +167,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_ROSTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamRosterOpcode );
DEFINE_HANDLER(CMSG_ATTACKSTOP, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::AttackStop, &WorldSession::HandleAttackStopOpcode);
DEFINE_HANDLER(CMSG_ATTACKSWING, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::AttackSwing, &WorldSession::HandleAttackSwingOpcode);
- DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::AuctionHouse::AuctionHelloRequest, &WorldSession::HandleAuctionHelloOpcode);
+ DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::AuctionHouse::AuctionHelloRequest, &WorldSession::HandleAuctionHelloOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBidderItems );
DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_LIST_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItems );
DEFINE_OPCODE_HANDLER_OLD(CMSG_AUCTION_LIST_OWNER_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListOwnerItems );
@@ -186,7 +186,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOSTORE_BANK_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoStoreBankItemOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOSTORE_GROUND_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_AUTOSTORE_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::AutoStoreLootItem, &WorldSession::HandleAutostoreLootItemOpcode);
- DEFINE_HANDLER(CMSG_BANKER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBankerActivateOpcode);
+ DEFINE_HANDLER(CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBankerActivateOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBattlefieldLeaveOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlefieldListOpcode );
@@ -220,9 +220,9 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_SUMMON, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_UPDATE_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BEGIN_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBeginTradeOpcode );
- DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode);
+ DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleBinderActivateOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_BLACK_MARKET_BID_ON_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::BlackMarket::BlackMarketOpen, &WorldSession::HandleBlackMarketOpen);
+ DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::BlackMarket::BlackMarketOpen, &WorldSession::HandleBlackMarketOpen);
DEFINE_OPCODE_HANDLER_OLD(CMSG_BLACK_MARKET_REQUEST_ITEMS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BOT_DETECTED2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_BUG_REPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBugReportOpcode );
@@ -250,7 +250,7 @@ void OpcodeTable::Initialize()
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_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_HANDLER(CMSG_CANCEL_CAST, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Spells::CancelCast, &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 );
@@ -268,30 +268,30 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_SUB_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupChangeSubGroupOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Announce>);
- DEFINE_HANDLER(CMSG_CHANNEL_BAN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Ban>);
+ DEFINE_HANDLER(CMSG_CHANNEL_BAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Ban>);
DEFINE_HANDLER(CMSG_CHANNEL_DECLINE_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeclineInvite>);
DEFINE_HANDLER(CMSG_CHANNEL_DISPLAY_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>);
- DEFINE_HANDLER(CMSG_CHANNEL_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Invite>);
- DEFINE_HANDLER(CMSG_CHANNEL_KICK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Kick>);
+ DEFINE_HANDLER(CMSG_CHANNEL_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Invite>);
+ DEFINE_HANDLER(CMSG_CHANNEL_KICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Kick>);
DEFINE_HANDLER(CMSG_CHANNEL_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>);
DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANNEL_MODERATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_CHANNEL_MODERATOR, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetModerator>);
- DEFINE_HANDLER(CMSG_CHANNEL_MUTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetMute>);
+ DEFINE_HANDLER(CMSG_CHANNEL_MODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetModerator>);
+ DEFINE_HANDLER(CMSG_CHANNEL_MUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetMute>);
DEFINE_HANDLER(CMSG_CHANNEL_OWNER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>);
- DEFINE_HANDLER(CMSG_CHANNEL_PASSWORD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Password>);
- DEFINE_HANDLER(CMSG_CHANNEL_SET_OWNER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetOwner>);
+ DEFINE_HANDLER(CMSG_CHANNEL_PASSWORD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Password>);
+ DEFINE_HANDLER(CMSG_CHANNEL_SET_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetOwner>);
DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_ALL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>);
DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_VOICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>);
- DEFINE_HANDLER(CMSG_CHANNEL_UNBAN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnBan>);
- DEFINE_HANDLER(CMSG_CHANNEL_UNMODERATOR, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetModerator>);
- DEFINE_HANDLER(CMSG_CHANNEL_UNMUTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetMute>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNBAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnBan>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNMODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetModerator>);
+ DEFINE_HANDLER(CMSG_CHANNEL_UNMUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetMute>);
DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_ALL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>);
DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>);
DEFINE_HANDLER(CMSG_CHANNEL_VOICE_OFF, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeVoice>);
DEFINE_HANDLER(CMSG_CHANNEL_VOICE_ON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Voice>);
DEFINE_HANDLER(CMSG_CHAR_CREATE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CreateChar, &WorldSession::HandleCharCreateOpcode);
DEFINE_HANDLER(CMSG_CHAR_CUSTOMIZE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharCustomize, &WorldSession::HandleCharCustomizeOpcode);
- DEFINE_HANDLER(CMSG_CHAR_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::DeleteChar, &WorldSession::HandleCharDeleteOpcode);
+ DEFINE_HANDLER(CMSG_CHAR_DELETE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::DeleteChar, &WorldSession::HandleCharDeleteOpcode);
DEFINE_HANDLER(CMSG_CHAR_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharEnumOpcode);
DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharRaceOrFactionChange, &WorldSession::HandleCharRaceOrFactionChangeOpcode);
DEFINE_HANDLER(CMSG_CHAR_RENAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode);
@@ -344,7 +344,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_DUEL_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Duel::DuelResponse, &WorldSession::HandleDuelResponseOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_EJECT_PASSENGER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::EmoteClient, &WorldSession::HandleEmoteOpcode);
- DEFINE_HANDLER(CMSG_ENABLE_NAGLE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess);
+ DEFINE_HANDLER(CMSG_ENABLE_NAGLE, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &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_FAR_SIGHT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleFarSightOpcode );
@@ -391,7 +391,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_GM_TICKET_RESPONSE_RESOLVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMTicketResponseResolve, &WorldSession::HandleGMResponseResolve);
DEFINE_HANDLER(CMSG_GM_TICKET_UPDATE_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMTicketUpdateText, &WorldSession::HandleGMTicketUpdateTextOpcode);
DEFINE_HANDLER(CMSG_GOSSIP_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleGossipHelloOpcode);
- DEFINE_HANDLER(CMSG_GOSSIP_SELECT_OPTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::GossipSelectOption, &WorldSession::HandleGossipSelectOptionOpcode);
+ DEFINE_HANDLER(CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::GossipSelectOption, &WorldSession::HandleGossipSelectOptionOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GRANT_LEVEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGrantLevel );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GROUP_CANCEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GROUP_REQUEST_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupRequestJoinUpdates );
@@ -399,12 +399,12 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_GUILD_ADD_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAddRank, &WorldSession::HandleGuildAddRank);
DEFINE_HANDLER(CMSG_GUILD_ASSIGN_MEMBER_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildAssignMemberRank, &WorldSession::HandleGuildAssignRank);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_AUTO_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_GUILD_BANK_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankActivate, &WorldSession::HandleGuildBankActivate);
+ DEFINE_HANDLER(CMSG_GUILD_BANK_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankActivate, &WorldSession::HandleGuildBankActivate);
DEFINE_HANDLER(CMSG_GUILD_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankBuyTab, &WorldSession::HandleGuildBankBuyTab);
DEFINE_HANDLER(CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankDepositMoney, &WorldSession::HandleGuildBankDepositMoney);
DEFINE_HANDLER(CMSG_GUILD_BANK_LOG_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankLogQuery, &WorldSession::HandleGuildBankLogQuery);
DEFINE_HANDLER(CMSG_GUILD_BANK_QUERY_TAB, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankQueryTab, &WorldSession::HandleGuildBankQueryTab);
- DEFINE_HANDLER(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankRemainingWithdrawMoneyQuery, &WorldSession::HandleGuildBankMoneyWithdrawn);
+ DEFINE_HANDLER(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankRemainingWithdrawMoneyQuery, &WorldSession::HandleGuildBankMoneyWithdrawn);
DEFINE_HANDLER(CMSG_GUILD_BANK_SET_TAB_TEXT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankSetTabText, &WorldSession::HandleGuildBankSetTabText);
DEFINE_HANDLER(CMSG_GUILD_BANK_SWAP_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankSwapItems, &WorldSession::HandleGuildBankSwapItems);
DEFINE_HANDLER(CMSG_GUILD_BANK_TEXT_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildBankTextQuery, &WorldSession::HandleGuildBankTextQuery);
@@ -418,14 +418,14 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_GUILD_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDelete, &WorldSession::HandleGuildDelete);
DEFINE_HANDLER(CMSG_GUILD_EVENT_LOG_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildEventLogQuery, &WorldSession::HandleGuildEventLogQuery);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_GUILD_GET_RANKS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRanks, &WorldSession::HandleGuildGetRanks);
- DEFINE_HANDLER(CMSG_GUILD_GET_ROSTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRoster, &WorldSession::HandleGuildGetRoster);
+ DEFINE_HANDLER(CMSG_GUILD_GET_RANKS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRanks, &WorldSession::HandleGuildGetRanks);
+ DEFINE_HANDLER(CMSG_GUILD_GET_ROSTER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildGetRoster, &WorldSession::HandleGuildGetRoster);
DEFINE_HANDLER(CMSG_GUILD_INVITE_BY_NAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildInviteByName, &WorldSession::HandleGuildInviteByName);
DEFINE_HANDLER(CMSG_GUILD_LEAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildLeave, &WorldSession::HandleGuildLeave);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_MEMBER_SEND_SOR_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_GUILD_NEWS_UPDATE_STICKY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::GuildNewsUpdateSticky, &WorldSession::HandleGuildNewsUpdateSticky);
DEFINE_HANDLER(CMSG_GUILD_OFFICER_REMOVE_MEMBER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildOfficerRemoveMember, &WorldSession::HandleGuildOfficerRemoveMember);
- DEFINE_HANDLER(CMSG_GUILD_PERMISSIONS_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildPermissionsQuery, &WorldSession::HandleGuildPermissionsQuery);
+ DEFINE_HANDLER(CMSG_GUILD_PERMISSIONS_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildPermissionsQuery, &WorldSession::HandleGuildPermissionsQuery);
DEFINE_HANDLER(CMSG_GUILD_PROMOTE_MEMBER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildPromoteMember, &WorldSession::HandleGuildPromoteMember);
DEFINE_HANDLER(CMSG_GUILD_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::QueryGuildInfo, &WorldSession::HandleGuildQueryOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -433,7 +433,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_GUILD_QUERY_NEWS, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::GuildQueryNews, &WorldSession::HandleGuildQueryNews);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_QUERY_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_REPLACE_GUILD_MASTER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_GUILD_REQUEST_PARTY_STATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::RequestGuildPartyState, &WorldSession::HandleGuildRequestPartyState);
+ DEFINE_HANDLER(CMSG_GUILD_REQUEST_PARTY_STATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::RequestGuildPartyState, &WorldSession::HandleGuildRequestPartyState);
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildSetAchievementTracking);
DEFINE_HANDLER(CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Achievement::GuildSetFocusedAchievement, &WorldSession::HandleGuildSetFocusedAchievement);
DEFINE_HANDLER(CMSG_GUILD_SET_GUILD_MASTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildSetGuildMaster, &WorldSession::HandleGuildSetGuildMaster);
@@ -453,13 +453,13 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_ITEM_PURCHASE_REFUND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleItemRefund );
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_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::JoinChannel, &WorldSession::HandleJoinChannel);
+ 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_HANDLER(CMSG_KEEP_ALIVE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess);
+ DEFINE_HANDLER(CMSG_KEEP_ALIVE, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess);
DEFINE_OPCODE_HANDLER_OLD(CMSG_KEYBOUND_OVERRIDE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode);
- DEFINE_HANDLER(CMSG_LEAVE_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Channel::LeaveChannel, &WorldSession::HandleLeaveChannel);
+ 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::HandleGroupDisbandOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LEAVE_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_GET_STATUS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleLfgGetStatus );
@@ -497,8 +497,8 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_CURRENCY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_MASTER_GIVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMasterGiveOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_LOOT_METHOD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMethodOpcode );
- DEFINE_HANDLER(CMSG_LOOT_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootMoney, &WorldSession::HandleLootMoneyOpcode);
- DEFINE_HANDLER(CMSG_LOOT_RELEASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootRelease, &WorldSession::HandleLootReleaseOpcode);
+ 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 );
@@ -511,14 +511,14 @@ void OpcodeTable::Initialize()
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_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
+ 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_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
- DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_PARTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
- DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_RAID, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
- DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_WHISPER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessageWhisper, &WorldSession::HandleChatAddonMessageWhisperOpcode);
+ DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
+ DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
+ DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode);
+ DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessageWhisper, &WorldSession::HandleChatAddonMessageWhisperOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageAFK, &WorldSession::HandleChatMessageAFKOpcode);
- DEFINE_HANDLER(CMSG_MESSAGECHAT_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageChannel, &WorldSession::HandleChatMessageChannelOpcode);
+ DEFINE_HANDLER(CMSG_MESSAGECHAT_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageChannel, &WorldSession::HandleChatMessageChannelOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_DND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageDND, &WorldSession::HandleChatMessageDNDOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageEmote, &WorldSession::HandleChatMessageEmoteOpcode);
DEFINE_HANDLER(CMSG_MESSAGECHAT_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode);
@@ -536,25 +536,25 @@ void OpcodeTable::Initialize()
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_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_MOVE_CHANGE_TRANSPORT, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_CHANGE_TRANSPORT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_CHANGE_VEHICLE_SEATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleChangeSeatsOnControlledVehicle);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_CHARM_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_DISMISS_VEHICLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleDismissControlledVehicle );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_FALL_RESET, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FEATHER_FALL_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleFeatherFallAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_ROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveRootAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_UNROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveUnRootAck );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
+ DEFINE_HANDLER(CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_GRAVITY_DISABLE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_GRAVITY_ENABLE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_MOVE_HEARTBEAT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
@@ -569,38 +569,38 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_COLLISION_HEIGHT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleSetCollisionHeightAck );
DEFINE_HANDLER(CMSG_MOVE_SET_FACING, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_SET_FLY, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_SET_FLY, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_MOVE_SET_PITCH, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_SET_PITCH, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_RELATIVE_POSITION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_RUN_MODE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_VEHICLE_REC_ID_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_WALK_MODE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SPLINE_DONE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveSplineDoneOpcode );
- DEFINE_HANDLER(CMSG_MOVE_START_ASCEND, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_START_ASCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_START_BACKWARD, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_START_DESCEND, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_START_DESCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_START_FORWARD, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_START_PITCH_DOWN, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_START_PITCH_UP, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_START_PITCH_DOWN, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_START_PITCH_UP, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_START_STRAFE_LEFT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_START_STRAFE_RIGHT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_START_SWIM, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_START_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_START_TURN_LEFT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_START_TURN_RIGHT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_STOP, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_STOP_ASCEND, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_STOP_PITCH, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_STOP_ASCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_STOP_PITCH, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_STOP_STRAFE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_STOP_SWIM, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
+ DEFINE_HANDLER(CMSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
DEFINE_HANDLER(CMSG_MOVE_STOP_TURN, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes);
- DEFINE_HANDLER(CMSG_MOVE_TELEPORT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, WorldPackets::Movement::MoveTeleportAck, &WorldSession::HandleMoveTeleportAck);
+ DEFINE_HANDLER(CMSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MoveTeleportAck, &WorldSession::HandleMoveTeleportAck);
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TIME_SKIPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TOGGLE_COLLISION_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_WATER_WALK_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveWaterWalkAck );
- DEFINE_HANDLER(CMSG_MOVE_WORLDPORT_ACK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Movement::WorldPortAck, &WorldSession::HandleMoveWorldportAckOpcode);
+ DEFINE_HANDLER(CMSG_MOVE_WORLDPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Movement::WorldPortAck, &WorldSession::HandleMoveWorldportAckOpcode);
DEFINE_HANDLER(CMSG_NAME_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryPlayerName, &WorldSession::HandleNameQueryOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_NEUTRAL_PLAYER_SELECT_FACTION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_NEW_SPELL_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -623,7 +623,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_UNSILENCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_PETITION_BUY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionBuy, &WorldSession::HandlePetitionBuy);
DEFINE_HANDLER(CMSG_PETITION_RENAME_GUILD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionRenameGuild, &WorldSession::HandlePetitionRenameGuild);
- DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowList, &WorldSession::HandlePetitionShowList);
+ DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowList, &WorldSession::HandlePetitionShowList);
DEFINE_HANDLER(CMSG_PETITION_SHOW_SIGNATURES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::PetitionShowSignatures, &WorldSession::HandlePetitionShowSignatures);
DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_ABANDON, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAbandon );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_ACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAction );
@@ -649,34 +649,34 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_PLAYED_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayedTimeClient, &WorldSession::HandlePlayedTime);
DEFINE_HANDLER(CMSG_PLAYER_LOGIN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::PlayerLogin, &WorldSession::HandlePlayerLoginOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_PLAY_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_PORT_GRAVEYARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard);
+ DEFINE_HANDLER(CMSG_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard);
DEFINE_OPCODE_HANDLER_OLD(CMSG_PUSH_QUEST_TO_PARTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePushQuestToParty );
DEFINE_OPCODE_HANDLER_OLD(CMSG_PVP_LOG_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandlePVPLogDataOpcode );
- DEFINE_HANDLER(CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseLocationFromClient, &WorldSession::HandleQueryCorpseLocation);
- DEFINE_HANDLER(CMSG_QUERY_CORPSE_TRANSPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseTransport, &WorldSession::HandleQueryCorpseTransport);
+ DEFINE_HANDLER(CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryCorpseLocationFromClient, &WorldSession::HandleQueryCorpseLocation);
+ 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_HANDLER(CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::QueryInspectAchievements, &WorldSession::HandleQueryInspectAchievements);
DEFINE_HANDLER(CMSG_QUERY_NEXT_MAIL_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailQueryNextMailTime, &WorldSession::HandleQueryNextMailTime);
DEFINE_HANDLER(CMSG_QUERY_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::QueryPetition, &WorldSession::HandleQueryPetition);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_SCENARIO_POI, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_QUERY_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryTime, &WorldSession::HandleQueryTimeOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverAcceptQuestOpcode);
+ DEFINE_HANDLER(CMSG_QUERY_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryTime, &WorldSession::HandleQueryTimeOpcode);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverAcceptQuest, &WorldSession::HandleQuestgiverAcceptQuestOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTGIVER_CANCEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverChooseReward, &WorldSession::HandleQuestgiverChooseRewardOpcode);
- DEFINE_HANDLER(CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverCompleteQuest, &WorldSession::HandleQuestgiverCompleteQuest);
- DEFINE_HANDLER(CMSG_QUESTGIVER_HELLO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverHello, &WorldSession::HandleQuestgiverHelloOpcode);
- DEFINE_HANDLER(CMSG_QUESTGIVER_QUERY_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverQueryQuest, &WorldSession::HandleQuestgiverQueryQuestOpcode);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverChooseReward, &WorldSession::HandleQuestgiverChooseRewardOpcode);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverCompleteQuest, &WorldSession::HandleQuestgiverCompleteQuest);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverHello, &WorldSession::HandleQuestgiverHelloOpcode);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_QUERY_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverQueryQuest, &WorldSession::HandleQuestgiverQueryQuestOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverRequestReward, &WorldSession::HandleQuestgiverRequestRewardOpcode);
- DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverStatusMultipleQuery, &WorldSession::HandleQuestgiverStatusMultipleQuery);
+ DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverStatusMultipleQuery, &WorldSession::HandleQuestgiverStatusMultipleQuery);
DEFINE_HANDLER(CMSG_QUESTGIVER_STATUS_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTLOG_REMOVE_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestLogRemoveQuest );
+ DEFINE_HANDLER(CMSG_QUESTLOG_REMOVE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestLogRemoveQuest, &WorldSession::HandleQuestLogRemoveQuest);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUESTLOG_SWAP_QUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestConfirmAccept );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_QUEST_COMPLETION_NPCS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestNPCQuery );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_POI_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPOIQuery );
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_PUSH_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPushResult );
- DEFINE_HANDLER(CMSG_QUEST_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QueryQuestInfo, &WorldSession::HandleQuestQueryOpcode);
+ DEFINE_HANDLER(CMSG_QUEST_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QueryQuestInfo, &WorldSession::HandleQuestQueryOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEUED_MESSAGES_END, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_RANDOMIZE_CHAR_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GenerateRandomCharacterName, &WorldSession::HandleRandomizeCharNameOpcode);
DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode);
@@ -684,11 +684,11 @@ void OpcodeTable::Initialize()
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_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::ReclaimCorpse, &WorldSession::HandleReclaimCorpse);
+ 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 );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REGISTER_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonRegisteredPrefixesOpcode);
DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::ReorderCharacters, &WorldSession::HandleReorderCharacters);
- DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::RepairItem, &WorldSession::HandleRepairItemOpcode);
+ DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::RepairItem, &WorldSession::HandleRepairItemOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REPLACE_ACCOUNT_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REPLACE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::RepopRequest, &WorldSession::HandleRepopRequest);
@@ -699,7 +699,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_ARTIFACT_COMPLETION_HISTORY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_BATTLEFIELD_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestBattlefieldStatusOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_CATEGORY_COOLDOWNS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestCategoryCooldowns );
- DEFINE_HANDLER(CMSG_REQUEST_CEMETERY_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Misc::RequestCemeteryList, &WorldSession::HandleRequestCemeteryList);
+ DEFINE_HANDLER(CMSG_REQUEST_CEMETERY_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::RequestCemeteryList, &WorldSession::HandleRequestCemeteryList);
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_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::RequestGuildRewardsList, &WorldSession::HandleRequestGuildRewardsList);
@@ -721,7 +721,7 @@ void OpcodeTable::Initialize()
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_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::ResurrectResponse, &WorldSession::HandleResurrectResponse);
+ 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::HandleEnterPlayerVehicle );
DEFINE_OPCODE_HANDLER_OLD(CMSG_ROLE_POLL_BEGIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRolePollBeginOpcode );
@@ -740,7 +740,7 @@ void OpcodeTable::Initialize()
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_SET_ACHIEVEMENTS_HIDDEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_SET_ACTIONBAR_TOGGLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::SetActionBarToggles, &WorldSession::HandleSetActionBarToggles );
+ DEFINE_HANDLER(CMSG_SET_ACTIONBAR_TOGGLES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetActionBarToggles, &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 );
@@ -751,7 +751,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_SET_CONTACT_NOTES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::SetContactNotes, &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_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetDungeonDifficulty, &WorldSession::HandleSetDungeonDifficultyOpcode);
+ 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 );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_FACTION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -767,17 +767,17 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPlayerDeclinedNames );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PREFERED_CEMETERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PVP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_SET_RAID_DIFFICULTY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetRaidDifficulty, &WorldSession::HandleSetRaidDifficultyOpcode);
+ DEFINE_HANDLER(CMSG_SET_RAID_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::SetRaidDifficulty, &WorldSession::HandleSetRaidDifficultyOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_RELATIVE_POSITION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ROLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupSetRolesOpcode );
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_HANDLER(CMSG_SET_SHEATHED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode);
+ DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &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);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTaxiBenchmarkOpcode );
- DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TITLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTitleOpcode );
+ DEFINE_HANDLER(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::SetTitle, &WorldSession::HandleSetTitleOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_CURRENCY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_GOLD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeGoldOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeItemOpcode );
@@ -833,7 +833,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_TRIGGER_CINEMATIC_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TROPHY_MONUMENT_LOAD_SELECTED_TROPHY_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_TURN_IN_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::TurnInPetition, &WorldSession::HandleTurnInPetition);
- DEFINE_HANDLER(CMSG_TUTORIAL_FLAG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::TutorialSetFlag, &WorldSession::HandleTutorialFlag);
+ DEFINE_HANDLER(CMSG_TUTORIAL_FLAG, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::TutorialSetFlag, &WorldSession::HandleTutorialFlag);
DEFINE_HANDLER(CMSG_UI_TIME_REQUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::UITimeRequest, &WorldSession::HandleUITimeRequest);
DEFINE_OPCODE_HANDLER_OLD(CMSG_UNACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnacceptTradeOpcode );
DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::UndeleteCharacter, &WorldSession::HandleCharUndeleteOpcode);
@@ -897,8 +897,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_MOUNT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_RESTRICTED_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACCOUNT_TOYS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
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);
@@ -912,7 +912,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_AI_REACTION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
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_UNHANDLED, CONNECTION_TYPE_REALM);
+ 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);
@@ -1006,8 +1006,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BATTLE_PET_REVOKED, 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);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDPOINTUPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDER_CONFIRM, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_BINDPOINTUPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_OPEN_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_BLACK_MARKET_OUTBID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1045,13 +1045,13 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CALENDAR_UPDATE_INVITE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CAMERA_SHAKE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_COMBAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_COMBAT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_ORPHAN_SPELL_VISUAL, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CANCEL_SPELL_VISUAL, STATUS_NEVER, 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_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ 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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1060,10 +1060,10 @@ void OpcodeTable::Initialize()
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_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);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_JOINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_LEFT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_JOINED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHANNEL_NOTIFY_LEFT, STATUS_NEVER, CONNECTION_TYPE_REALM);
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_NEVER, CONNECTION_TYPE_REALM);
@@ -1073,9 +1073,9 @@ void OpcodeTable::Initialize()
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);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_DELETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_DELETE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_ENUM, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_FACTION_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CHAR_RENAME, STATUS_UNHANDLED, 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);
@@ -1097,8 +1097,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_COOLDOWNS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
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_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLEAR_TARGET, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1106,7 +1104,6 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COIN_REMOVED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_EVENT_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_LOG_MULTIPLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMBAT_LOG_UNK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_MAP_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_PARTY_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COMMENTATOR_PLAYER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1126,13 +1123,13 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONTACT_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CONVERT_RUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_CHEAT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_LOCATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_COOLDOWN_EVENT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_LOCATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_TRANSPORT_QUERY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CORPSE_TRANSPORT_QUERY, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATE_SHIPMENT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CREATURE_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_DELETED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_CURRENCY_LOOT_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1144,7 +1141,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
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_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, 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);
@@ -1247,7 +1244,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_SYSTEM_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GM_TICKET_UPDATE, STATUS_NEVER, 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_COMPLETE, STATUS_NEVER, 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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_ACTION_THROTTLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1256,12 +1253,12 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_DESTROYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_NEW_LEADER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GROUP_UNINVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_DELETED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_EARNED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ACHIEVEMENT_MEMBERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_LOG_QUERY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_BANK_TEXT_QUERY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CHALLENGE_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1272,20 +1269,20 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_CRITERIA_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_DECLINE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_DISBANDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_LOG_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_MOTD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_NEW_LEADER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_JOINED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_LEFT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PRESENCE_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANKS_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANK_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_ADDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_DISBANDED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_LOG_QUERY_RESULTS, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_MOTD, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_NEW_LEADER, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_JOINED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PLAYER_LEFT, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_PRESENCE_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANKS_UPDATED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_RANK_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_ADDED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_MODIFIED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_TEXT_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_MODIFIED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_EVENT_TAB_TEXT_CHANGED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_FLAGGED_FOR_RENAME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_INVITE_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1301,24 +1298,24 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NAME_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_NEWS_DELETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PARTY_STATE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_QUERY_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RANKS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RANKS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REPUTATION_REACTION_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REWARDS_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_SEND_RANK_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_HOTFIX_NOTIFY_BLOB, STATUS_NEVER, 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_UNHANDLED, 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_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSPECT_HONOR_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
@@ -1343,7 +1340,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_RESET_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INSTANCE_SAVE_CREATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALIDATE_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALIDATE_PLAYER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALIDATE_PLAYER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVALID_PROMOTION_CODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_INVENTORY_CHANGE_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_IS_QUEST_COMPLETE_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1353,7 +1350,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ITEM_PURCHASE_REFUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
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_TIME_UPDATE, 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);
@@ -1396,7 +1393,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_CHARACTER_COPY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_CUF_PROFILES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_SETTIMESPEED, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_SETTIMESPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_VERIFY_WORLD, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_CANCEL_ACK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1417,8 +1414,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ROLL_WON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_SLOT_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOSS_OF_CONTROL_AURA_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_LIST_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_QUERY_NEXT_TIME_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_LIST_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAIL_QUERY_NEXT_TIME_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAP_OBJECTIVES_INIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MAP_OBJ_EVENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MASTER_LOOT_CANDIDATE_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1434,7 +1431,7 @@ void OpcodeTable::Initialize()
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);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MODIFY_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MODIFY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MONEY_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOTD, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOUNT_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
@@ -1450,16 +1447,16 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ACTIVE_MOVER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_FLY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_FLY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_COLLISION_HEIGHT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_COMPOUND_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FEATHER_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_SPEED, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_LAND_WALK, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_LAND_WALK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_NORMAL_FALL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_PITCH_RATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_BACK_SPEED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1501,11 +1498,11 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNROOT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_FLYING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SPLINE_UNSET_HOVER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_TELEPORT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ 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_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ 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_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ 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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
@@ -1520,7 +1517,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_RUN_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_SWIM_BACK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_SWIM_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_TELEPORT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_TELEPORT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_TURN_RATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_WALK_SPEED, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MULTIPLE_PACKETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1534,7 +1531,7 @@ void OpcodeTable::Initialize()
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_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ 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);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_OFFER_PETITION_ERROR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1614,7 +1611,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_TIME_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PONG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_POWER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESSURECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PRE_RESSURECT, STATUS_NEVER, 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);
@@ -1623,18 +1620,18 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_OPTIONS_ENABLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_SEASON, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_ITEM_TEXT_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PETITION_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_TIME_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_PETITION_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_TIME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_INVALID_QUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_OFFER_REWARD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_OFFER_REWARD, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_INVALID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_COMPLETION_NPC_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_FORCE_REMOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1675,7 +1672,7 @@ void OpcodeTable::Initialize()
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_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_PVP_REWARDS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_SETUP_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1685,7 +1682,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_WEEKLY_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESISTLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPEC_WIPE_CONFIRM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESTRICTED_ACCOUNT_WARNING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_CAST_BAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESUME_COMMS, STATUS_NEVER, CONNECTION_TYPE_REALM);
@@ -1719,7 +1716,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_RAID_TARGET_UPDATE_SINGLE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_CHARGES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_SPELL_HISTORY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_UNLEARN_SPELLS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_UNLEARN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_UNHANDLED, 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);
@@ -1731,9 +1728,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ANIM_TIER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ 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_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DUNGEON_DIFFICULTY, STATUS_NEVER, 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);
@@ -1745,21 +1742,20 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_LOOT_METHOD_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MAX_WEEKLY_QUANTITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MELEE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PHASE_SHIFT_CHANGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PLAY_HOVER_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PROFICIENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_PROJECTILE_POSITION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_QUEST_COMPLETED_BIT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_RAID_DIFFICULTY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_RAID_DIFFICULTY, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_SPELL_CHARGES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TASK_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TIME_ZONE_INFORMATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VIGNETTE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
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);
@@ -1771,22 +1767,22 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELLBREAKLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELLSTEALLOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_ABSORB_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CATEGORY_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_COOLDOWN, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_CATEGORY_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_COOLDOWN, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DAMAGE_SHIELD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DELAYED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_DISPEL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_ENERGIZE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_EXECUTE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILED_OTHER, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_FAILURE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_GO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_HEAL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INSTAKILL_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_INTERRUPT_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MISS_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_MULTISTRIKE_EFFECT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_OR_DAMAGE_IMMUNE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_START, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1795,17 +1791,17 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_ELAPSED_TIMERS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_LOOT_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_START_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_ELAPSED_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_MIRROR_TIMER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_STOP_MIRROR_TIMER, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_STREAMING_MOVIE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_CANCEL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_REQUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPERCEDED_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPPRESS_NPC_GREETINGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPPRESS_NPC_GREETINGS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_COMMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_TOKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TABARD_VENDOR_ACTIVATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1816,8 +1812,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEST_DROP_RATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEXT_EMOTE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_CLEAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_REMOVE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_REMOVE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_ADJUSTMENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_SYNC_REQ, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1828,9 +1824,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRADE_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_BUY_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_BUY_SUCCEEDED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_ABORTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_ABORTED, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TURN_IN_PETITION_RESULTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1881,6 +1877,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHOIS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_TEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_XP_GAIN_ABORTED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_XP_GAIN_ENABLED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_ZONE_UNDER_ATTACK, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index 0e5cc429654..961ba613bd8 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -56,8 +56,8 @@ enum OpcodeClient : uint32
CMSG_ADD_FRIEND = 0x15E2,
CMSG_ADD_IGNORE = 0x1D33,
CMSG_ALTER_APPEARANCE = 0xBADD,
- CMSG_AREATRIGGER = 0xBADD,
- CMSG_AREA_SPIRIT_HEALER_QUERY = 0xBADD,
+ CMSG_AREATRIGGER = 0x1904,
+ CMSG_AREA_SPIRIT_HEALER_QUERY = 0x093A,
CMSG_AREA_SPIRIT_HEALER_QUEUE = 0xBADD,
CMSG_ARENA_TEAM_ACCEPT = 0xBADD,
CMSG_ARENA_TEAM_CREATE = 0xBADD,
@@ -71,11 +71,11 @@ enum OpcodeClient : uint32
CMSG_ARENA_TEAM_ROSTER = 0xBADD,
CMSG_ATTACKSTOP = 0x0853,
CMSG_ATTACKSWING = 0x048B,
- CMSG_AUCTION_HELLO_REQUEST = 0xBADD,
+ CMSG_AUCTION_HELLO_REQUEST = 0x06E3,
CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x0C81,
CMSG_AUCTION_LIST_ITEMS = 0xBADD,
- CMSG_AUCTION_LIST_OWNER_ITEMS = 0xBADD,
- CMSG_AUCTION_LIST_PENDING_SALES = 0xBADD,
+ CMSG_AUCTION_LIST_OWNER_ITEMS = 0x082A,
+ CMSG_AUCTION_LIST_PENDING_SALES = 0x0D82,
CMSG_AUCTION_PLACE_BID = 0x09E1,
CMSG_AUCTION_REMOVE_ITEM = 0xBADD,
CMSG_AUCTION_REPLICATE_ITEMS = 0xBADD,
@@ -89,8 +89,8 @@ enum OpcodeClient : uint32
CMSG_AUTOSTORE_BAG_ITEM = 0xBADD,
CMSG_AUTOSTORE_BANK_ITEM = 0xBADD,
CMSG_AUTOSTORE_GROUND_ITEM = 0xBADD,
- CMSG_AUTOSTORE_LOOT_ITEM = 0xBADD,
- CMSG_BANKER_ACTIVATE = 0xBADD,
+ CMSG_AUTOSTORE_LOOT_ITEM = 0x0843,
+ CMSG_BANKER_ACTIVATE = 0x0931,
CMSG_BATTLEFIELD_JOIN = 0xBADD,
CMSG_BATTLEFIELD_LEAVE = 0xBADD,
CMSG_BATTLEFIELD_LIST = 0xBADD,
@@ -101,7 +101,7 @@ enum OpcodeClient : uint32
CMSG_BATTLEFIELD_PORT = 0xBADD,
CMSG_BATTLEFIELD_REQUEST_SCORE_DATA = 0xBADD,
CMSG_BATTLEGROUND_PLAYER_POSITIONS = 0xBADD,
- CMSG_BATTLEMASTER_HELLO = 0xBADD,
+ CMSG_BATTLEMASTER_HELLO = 0x032A,
CMSG_BATTLEMASTER_JOIN = 0x0B63,
CMSG_BATTLEMASTER_JOIN_ARENA = 0xBADD,
CMSG_BATTLEMASTER_JOIN_RATED = 0xBADD,
@@ -116,17 +116,17 @@ enum OpcodeClient : uint32
CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0xBADD,
CMSG_BATTLE_PET_MODIFY_NAME = 0x1131,
CMSG_BATTLE_PET_NAME_QUERY = 0xBADD,
- CMSG_BATTLE_PET_REQUEST_JOURNAL = 0xBADD,
- CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0xBADD,
+ CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x1773,
+ CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x1B24,
CMSG_BATTLE_PET_REQUEST_UPDATE = 0xBADD,
CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0xBADD,
CMSG_BATTLE_PET_SET_FLAGS = 0xBADD,
CMSG_BATTLE_PET_SUMMON = 0x1321,
CMSG_BATTLE_PET_UPDATE_NOTIFY = 0xBADD,
CMSG_BEGIN_TRADE = 0xBADD,
- CMSG_BINDER_ACTIVATE = 0xBADD,
+ CMSG_BINDER_ACTIVATE = 0x0E84,
CMSG_BLACK_MARKET_BID_ON_ITEM = 0xBADD,
- CMSG_BLACK_MARKET_OPEN = 0xBADD,
+ CMSG_BLACK_MARKET_OPEN = 0x0B69,
CMSG_BLACK_MARKET_REQUEST_ITEMS = 0xBADD,
CMSG_BOT_DETECTED2 = 0xBADD,
CMSG_BUG_REPORT = 0xBADD,
@@ -145,9 +145,9 @@ enum OpcodeClient : uint32
CMSG_CALENDAR_EVENT_RSVP = 0xBADD,
CMSG_CALENDAR_EVENT_SIGNUP = 0xBADD,
CMSG_CALENDAR_EVENT_STATUS = 0xBADD,
- CMSG_CALENDAR_GET = 0xBADD,
+ CMSG_CALENDAR_GET = 0x17F2,
CMSG_CALENDAR_GET_EVENT = 0xBADD,
- CMSG_CALENDAR_GET_NUM_PENDING = 0xBADD,
+ CMSG_CALENDAR_GET_NUM_PENDING = 0x1564,
CMSG_CALENDAR_GUILD_FILTER = 0xBADD,
CMSG_CALENDAR_REMOVE_EVENT = 0xBADD,
CMSG_CALENDAR_REMOVE_INVITE = 0xBADD,
@@ -159,7 +159,7 @@ enum OpcodeClient : uint32
CMSG_CANCEL_GROWTH_AURA = 0xBADD,
CMSG_CANCEL_MASTER_LOOT_ROLL = 0xBADD,
CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0xBADD,
- CMSG_CANCEL_MOUNT_AURA = 0xBADD,
+ CMSG_CANCEL_MOUNT_AURA = 0x0B4C,
CMSG_CANCEL_QUEUED_SPELL = 0xBADD,
CMSG_CANCEL_TEMP_ENCHANTMENT = 0xBADD,
CMSG_CANCEL_TRADE = 0x1114,
@@ -218,7 +218,7 @@ enum OpcodeClient : uint32
CMSG_COMPLETE_CINEMATIC = 0xBADD,
CMSG_COMPLETE_MOVIE = 0xBADD,
CMSG_CONFIRM_RESPEC_WIPE = 0xBADD,
- CMSG_CONNECT_TO_FAILED = 0xBADD,
+ CMSG_CONNECT_TO_FAILED = 0x15B4,
CMSG_CONVERSATION_UNK1 = 0xBADD,
CMSG_CONVERT_RAID = 0x1329,
CMSG_CREATE_SHIPMENT = 0xBADD,
@@ -248,13 +248,13 @@ enum OpcodeClient : uint32
CMSG_DUEL_RESPONSE = 0x01A1,
CMSG_EJECT_PASSENGER = 0xBADD,
CMSG_EMOTE = 0x0B2C,
- CMSG_ENABLE_NAGLE = 0xBADD,
- CMSG_ENABLE_TAXI_NODE = 0xBADD,
+ CMSG_ENABLE_NAGLE = 0x1433,
+ CMSG_ENABLE_TAXI_NODE = 0x13D9,
CMSG_EQUIPMENT_SET_SAVE = 0x0A7C,
CMSG_FAR_SIGHT = 0xBADD,
CMSG_GAMEOBJECT_QUERY = 0x021A,
- CMSG_GAMEOBJ_REPORT_USE = 0xBADD,
- CMSG_GAMEOBJ_USE = 0xBADD,
+ CMSG_GAMEOBJ_REPORT_USE = 0x087C,
+ CMSG_GAMEOBJ_USE = 0x0EE4,
CMSG_GAMESPEED_SET = 0xBADD,
CMSG_GAMETIME_SET = 0xBADD,
CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0xBADD,
@@ -265,9 +265,9 @@ enum OpcodeClient : uint32
CMSG_GARRISON_RECRUIT_FOLLOWER = 0xBADD,
CMSG_GARRISON_REMOVE_FOLLOWER = 0xBADD,
CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0xBADD,
- CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0xBADD,
- CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0xBADD,
- CMSG_GARRISON_REQUEST_UPGRADEABLE = 0xBADD,
+ CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x1992,
+ CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x1701,
+ CMSG_GARRISON_REQUEST_UPGRADEABLE = 0x0CCC,
CMSG_GARRISON_SET_BUILDING_ACTIVE = 0xBADD,
CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0xBADD,
CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0xBADD,
@@ -276,9 +276,9 @@ enum OpcodeClient : uint32
CMSG_GARRISON_UNK1 = 0xBADD,
CMSG_GETDEATHBINDZONE = 0xBADD,
CMSG_GET_CHALLENGE_MODE_REWARDS = 0xBADD,
- CMSG_GET_GARRISON_INFO = 0xBADD,
- CMSG_GET_ITEM_PURCHASE_DATA = 0xBADD,
- CMSG_GET_MAIL_LIST = 0xBADD,
+ CMSG_GET_GARRISON_INFO = 0x0352,
+ CMSG_GET_ITEM_PURCHASE_DATA = 0x0CE4,
+ CMSG_GET_MAIL_LIST = 0x0979,
CMSG_GET_MIRROR_IMAGE_DATA = 0xBADD,
CMSG_GET_SHIPMENT_INFO = 0xBADD,
CMSG_GET_TROPHY_LIST = 0xBADD,
@@ -298,7 +298,7 @@ enum OpcodeClient : uint32
CMSG_GM_TICKET_RESPONSE_RESOLVE = 0x19FB,
CMSG_GM_TICKET_UPDATE_TEXT = 0x19EB,
CMSG_GOSSIP_HELLO = 0x0483,
- CMSG_GOSSIP_SELECT_OPTION = 0xBADD,
+ CMSG_GOSSIP_SELECT_OPTION = 0x086A,
CMSG_GRANT_LEVEL = 0xBADD,
CMSG_GROUP_CANCEL = 0xBADD,
CMSG_GROUP_REQUEST_JOIN_UPDATES = 0xBADD,
@@ -306,13 +306,13 @@ enum OpcodeClient : uint32
CMSG_GUILD_ADD_RANK = 0xBADD,
CMSG_GUILD_ASSIGN_MEMBER_RANK = 0xBADD,
CMSG_GUILD_AUTO_DECLINE_INVITATION = 0xBADD,
- CMSG_GUILD_BANK_ACTIVATE = 0xBADD,
+ CMSG_GUILD_BANK_ACTIVATE = 0x0B64,
CMSG_GUILD_BANK_BUY_TAB = 0xBADD,
CMSG_GUILD_BANK_DEPOSIT_MONEY = 0xBADD,
CMSG_GUILD_BANK_LOG_QUERY = 0xBADD,
CMSG_GUILD_BANK_NOTE = 0xBADD,
CMSG_GUILD_BANK_QUERY_TAB = 0xBADD,
- CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0xBADD,
+ CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x0320,
CMSG_GUILD_BANK_SET_TAB_TEXT = 0xBADD,
CMSG_GUILD_BANK_SWAP_ITEMS = 0xBADD,
CMSG_GUILD_BANK_TEXT_QUERY = 0xBADD,
@@ -326,15 +326,15 @@ enum OpcodeClient : uint32
CMSG_GUILD_DEMOTE_MEMBER = 0xBADD,
CMSG_GUILD_EVENT_LOG_QUERY = 0xBADD,
CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0xBADD,
- CMSG_GUILD_GET_RANKS = 0xBADD,
- CMSG_GUILD_GET_ROSTER = 0xBADD,
+ CMSG_GUILD_GET_RANKS = 0x05B0,
+ CMSG_GUILD_GET_ROSTER = 0x03B6,
CMSG_GUILD_INFO = 0xBADD,
CMSG_GUILD_INVITE_BY_NAME = 0xBADD,
CMSG_GUILD_LEAVE = 0xBADD,
CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0xBADD,
CMSG_GUILD_NEWS_UPDATE_STICKY = 0xBADD,
CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0xBADD,
- CMSG_GUILD_PERMISSIONS_QUERY = 0xBADD,
+ CMSG_GUILD_PERMISSIONS_QUERY = 0x03AD,
CMSG_GUILD_PROMOTE_MEMBER = 0xBADD,
CMSG_GUILD_QUERY = 0x19B3,
CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE = 0xBADD,
@@ -342,7 +342,7 @@ enum OpcodeClient : uint32
CMSG_GUILD_QUERY_NEWS = 0xBADD,
CMSG_GUILD_QUERY_RECIPES = 0xBADD,
CMSG_GUILD_REPLACE_GUILD_MASTER = 0xBADD,
- CMSG_GUILD_REQUEST_PARTY_STATE = 0xBADD,
+ CMSG_GUILD_REQUEST_PARTY_STATE = 0x0B52,
CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x039E,
CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0xBADD,
CMSG_GUILD_SET_GUILD_MASTER = 0xBADD,
@@ -365,25 +365,25 @@ enum OpcodeClient : uint32
CMSG_JOIN_CHANNEL = 0x0C6C,
CMSG_JOIN_PET_BATTLE_QUEUE = 0xBADD,
CMSG_JOIN_RATED_BATTLEGROUND = 0xBADD,
- CMSG_KEEP_ALIVE = 0xBADD,
+ CMSG_KEEP_ALIVE = 0x1963,
CMSG_KEYBOUND_OVERRIDE = 0xBADD,
CMSG_LEARN_TALENTS = 0xBADD,
CMSG_LEAVE_CHANNEL = 0x0D4C,
CMSG_LEAVE_GROUP = 0x192B,
CMSG_LEAVE_PET_BATTLE_QUEUE = 0xBADD,
- CMSG_LFG_GET_STATUS = 0xBADD,
+ CMSG_LFG_GET_STATUS = 0x11FB,
CMSG_LFG_LFR_JOIN = 0xBADD,
CMSG_LFG_LFR_LEAVE = 0xBADD,
CMSG_LFG_LIST_CANCEL_APPLICATION = 0xBADD,
CMSG_LFG_LIST_DECLINE_APPLICANT = 0xBADD,
- CMSG_LFG_LIST_GET_STATUS = 0xBADD,
+ CMSG_LFG_LIST_GET_STATUS = 0x1724,
CMSG_LFG_LIST_INVITE_APPLICANT = 0xBADD,
CMSG_LFG_LIST_INVITE_RESPONSE = 0xBADD,
CMSG_LFG_LIST_JOIN = 0xBADD,
CMSG_LFG_LIST_LEAVE = 0xBADD,
CMSG_LFG_LIST_SEARCH = 0xBADD,
CMSG_LFG_LIST_UPDATE_REQUEST = 0xBADD,
- CMSG_LFG_LOCK_INFO_REQUEST = 0xBADD,
+ CMSG_LFG_LOCK_INFO_REQUEST = 0x19EA,
CMSG_LFG_PROPOSAL_RESULT = 0xBADD,
CMSG_LFG_SET_BOOT_VOTE = 0xBADD,
CMSG_LFG_SET_COMMENT = 0xBADD,
@@ -402,12 +402,12 @@ enum OpcodeClient : uint32
CMSG_LOGOUT_REQUEST = 0x0824,
CMSG_LOG_DISCONNECT = 0x1432,
CMSG_LOG_STREAMING_ERROR = 0x1439,
- CMSG_LOOT = 0xBADD,
+ CMSG_LOOT = 0x1064,
CMSG_LOOT_CURRENCY = 0xBADD,
CMSG_LOOT_MASTER_GIVE = 0xBADD,
CMSG_LOOT_METHOD = 0xBADD,
- CMSG_LOOT_MONEY = 0xBADD,
- CMSG_LOOT_RELEASE = 0xBADD,
+ CMSG_LOOT_MONEY = 0x1593,
+ CMSG_LOOT_RELEASE = 0x1BD2,
CMSG_LOOT_ROLL = 0xBADD,
CMSG_LOW_LEVEL_RAID1 = 0xBADD,
CMSG_LOW_LEVEL_RAID2 = 0xBADD,
@@ -419,19 +419,19 @@ enum OpcodeClient : uint32
CMSG_MAIL_TAKE_MONEY = 0xBADD,
CMSG_MASTER_LOOT_ITEM = 0xBADD,
CMSG_MEETINGSTONE_INFO = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_CHANNEL = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_GUILD = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_INSTANCE = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_OFFICER = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_PARTY = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_RAID = 0xBADD,
- CMSG_MESSAGECHAT_ADDON_WHISPER = 0xBADD,
+ CMSG_MESSAGECHAT_ADDON_CHANNEL = 0x108C,
+ CMSG_MESSAGECHAT_ADDON_GUILD = 0x1A09,
+ CMSG_MESSAGECHAT_ADDON_INSTANCE = 0x060C,
+ CMSG_MESSAGECHAT_ADDON_OFFICER = 0x14C1,
+ CMSG_MESSAGECHAT_ADDON_PARTY = 0x168C,
+ CMSG_MESSAGECHAT_ADDON_RAID = 0x1482,
+ CMSG_MESSAGECHAT_ADDON_WHISPER = 0x061B,
CMSG_MESSAGECHAT_AFK = 0x180C,
CMSG_MESSAGECHAT_CHANNEL = 0x067B,
CMSG_MESSAGECHAT_DND = 0x0479,
CMSG_MESSAGECHAT_EMOTE = 0x0C59,
CMSG_MESSAGECHAT_GUILD = 0x1A4B,
- CMSG_MESSAGECHAT_INSTANCE = 0xBADD,
+ CMSG_MESSAGECHAT_INSTANCE = 0x077A,
CMSG_MESSAGECHAT_OFFICER = 0x1243,
CMSG_MESSAGECHAT_PARTY = 0xBADD,
CMSG_MESSAGECHAT_RAID = 0xBADD,
@@ -445,84 +445,84 @@ enum OpcodeClient : uint32
CMSG_MOUNT_SET_FAVORITE = 0x15B1,
CMSG_MOUNT_SPECIAL_ANIM = 0xBADD,
CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0xBADD,
- CMSG_MOVE_CHANGE_TRANSPORT = 0xBADD,
- CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0xBADD,
+ CMSG_MOVE_CHANGE_TRANSPORT = 0x098A,
+ CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x05CC,
CMSG_MOVE_CHARM_TELEPORT_CHEAT = 0xBADD,
- CMSG_MOVE_DISMISS_VEHICLE = 0xBADD,
- CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0xBADD,
+ CMSG_MOVE_DISMISS_VEHICLE = 0x0F8B,
+ CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x038B,
CMSG_MOVE_FALL_LAND = 0x0DEA,
- CMSG_MOVE_FALL_RESET = 0xBADD,
- CMSG_MOVE_FEATHER_FALL_ACK = 0xBADD,
+ CMSG_MOVE_FALL_RESET = 0x0F89,
+ CMSG_MOVE_FEATHER_FALL_ACK = 0x0F89,
CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0xBADD,
- CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0xBADD,
+ CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x09CB,
CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0xBADD,
- CMSG_MOVE_FORCE_ROOT_ACK = 0xBADD,
- CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0xBADD,
- CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0xBADD,
+ CMSG_MOVE_FORCE_ROOT_ACK = 0x01C9,
+ CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x03CB,
+ CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x09E9,
CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0xBADD,
- CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK = 0xBADD,
+ CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK = 0x07C9,
CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0xBADD,
- CMSG_MOVE_FORCE_UNROOT_ACK = 0xBADD,
- CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0xBADD,
- CMSG_MOVE_GRAVITY_DISABLE_ACK = 0xBADD,
- CMSG_MOVE_GRAVITY_ENABLE_ACK = 0xBADD,
+ CMSG_MOVE_FORCE_UNROOT_ACK = 0x05A9,
+ CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x03D1,
+ CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x0B8B,
+ CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x0399,
CMSG_MOVE_HEARTBEAT = 0x01F1,
- CMSG_MOVE_HOVER_ACK = 0xBADD,
+ CMSG_MOVE_HOVER_ACK = 0x0FA9,
CMSG_MOVE_JUMP = 0x0BCC,
- CMSG_MOVE_KNOCK_BACK_ACK = 0xBADD,
+ CMSG_MOVE_KNOCK_BACK_ACK = 0x09EC,
CMSG_MOVE_NOT_ACTIVE_MOVER = 0xBADD,
- CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0xBADD,
+ CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x0899,
CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0xBADD,
- CMSG_MOVE_SET_CAN_FLY_ACK = 0xBADD,
+ CMSG_MOVE_SET_CAN_FLY_ACK = 0x01FA,
CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK = 0xBADD,
CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0xBADD,
- CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0xBADD,
+ CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x01CC,
CMSG_MOVE_SET_FACING = 0x09CA,
- CMSG_MOVE_SET_FLY = 0xBADD,
+ CMSG_MOVE_SET_FLY = 0x05AB,
CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0xBADD,
- CMSG_MOVE_SET_PITCH = 0xBADD,
+ CMSG_MOVE_SET_PITCH = 0x0FAC,
CMSG_MOVE_SET_RELATIVE_POSITION = 0xBADD,
- CMSG_MOVE_SET_RUN_MODE = 0xBADD,
- CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0xBADD,
- CMSG_MOVE_SET_WALK_MODE = 0xBADD,
- CMSG_MOVE_SPLINE_DONE = 0xBADD,
- CMSG_MOVE_START_ASCEND = 0xBADD,
+ CMSG_MOVE_SET_RUN_MODE = 0x01AC,
+ CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x00F2,
+ CMSG_MOVE_SET_WALK_MODE = 0x01DA,
+ CMSG_MOVE_SPLINE_DONE = 0x0091,
+ CMSG_MOVE_START_ASCEND = 0x078C,
CMSG_MOVE_START_BACKWARD = 0x0389,
- CMSG_MOVE_START_DESCEND = 0xBADD,
+ CMSG_MOVE_START_DESCEND = 0x00D2,
CMSG_MOVE_START_FORWARD = 0x01EB,
- CMSG_MOVE_START_PITCH_DOWN = 0xBADD,
- CMSG_MOVE_START_PITCH_UP = 0xBADD,
+ CMSG_MOVE_START_PITCH_DOWN = 0x0BAB,
+ CMSG_MOVE_START_PITCH_UP = 0x03B2,
CMSG_MOVE_START_STRAFE_LEFT = 0x03D2,
CMSG_MOVE_START_STRAFE_RIGHT = 0x01CB,
- CMSG_MOVE_START_SWIM = 0xBADD,
+ CMSG_MOVE_START_SWIM = 0x01B2,
CMSG_MOVE_START_TURN_LEFT = 0x0189,
CMSG_MOVE_START_TURN_RIGHT = 0x0DAA,
CMSG_MOVE_STOP = 0x0892,
- CMSG_MOVE_STOP_ASCEND = 0xBADD,
- CMSG_MOVE_STOP_PITCH = 0xBADD,
+ CMSG_MOVE_STOP_ASCEND = 0x01F9,
+ CMSG_MOVE_STOP_PITCH = 0x01AB,
CMSG_MOVE_STOP_STRAFE = 0x0D8A,
- CMSG_MOVE_STOP_SWIM = 0xBADD,
+ CMSG_MOVE_STOP_SWIM = 0x03F9,
CMSG_MOVE_STOP_TURN = 0x05E9,
- CMSG_MOVE_TELEPORT_ACK = 0xBADD,
+ CMSG_MOVE_TELEPORT_ACK = 0x0FCB,
CMSG_MOVE_TELEPORT_CHEAT = 0xBADD,
- CMSG_MOVE_TIME_SKIPPED = 0xBADD,
+ CMSG_MOVE_TIME_SKIPPED = 0x07EB,
CMSG_MOVE_TOGGLE_COLLISION_ACK = 0xBADD,
- CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0xBADD,
- CMSG_MOVE_WATER_WALK_ACK = 0xBADD,
- CMSG_MOVE_WORLDPORT_ACK = 0xBADD,
+ CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x0DEB,
+ CMSG_MOVE_WATER_WALK_ACK = 0x0BE9,
+ CMSG_MOVE_WORLDPORT_ACK = 0x17B3,
CMSG_NAME_QUERY = 0x15A2,
CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0xBADD,
CMSG_NEW_SPELL_SLOT = 0xBADD,
CMSG_NEXT_CINEMATIC_CAMERA = 0xBADD,
CMSG_NPC_TEXT_QUERY = 0x0E44,
CMSG_OBJECT_UPDATE_FAILED = 0xBADD,
- CMSG_OBJECT_UPDATE_RESCUED = 0x0A39,
+ CMSG_OBJECT_UPDATE_RESCUED = 0x0C8A,
CMSG_OFFER_PETITION = 0xBADD,
CMSG_OPENING_CINEMATIC = 0xBADD,
- CMSG_OPEN_GARRISON_MISSION_NPC = 0xBADD,
+ CMSG_OPEN_GARRISON_MISSION_NPC = 0x1911,
CMSG_OPEN_ITEM = 0xBADD,
CMSG_OPEN_SHIPMENT_GAME_OBJ = 0xBADD,
- CMSG_OPEN_SHIPMENT_NPC = 0xBADD,
+ CMSG_OPEN_SHIPMENT_NPC = 0x0E41,
CMSG_OPT_OUT_OF_LOOT = 0xBADD,
CMSG_PAGE_TEXT_QUERY = 0xBADD,
CMSG_PARTY_INVITE = 0x19E2,
@@ -532,17 +532,17 @@ enum OpcodeClient : uint32
CMSG_PARTY_UNSILENCE = 0xBADD,
CMSG_PETITION_BUY = 0xBADD,
CMSG_PETITION_RENAME_GUILD = 0xBADD,
- CMSG_PETITION_SHOW_LIST = 0xBADD,
+ CMSG_PETITION_SHOW_LIST = 0x06E1,
CMSG_PETITION_SHOW_SIGNATURES = 0xBADD,
CMSG_PET_ABANDON = 0xBADD,
- CMSG_PET_ACTION = 0xBADD,
+ CMSG_PET_ACTION = 0x114A,
CMSG_PET_BATTLE_FINAL_NOTIF = 0xBADD,
CMSG_PET_BATTLE_INPUT = 0xBADD,
CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = 0xBADD,
CMSG_PET_BATTLE_QUIT_NOTIFY = 0xBADD,
CMSG_PET_BATTLE_REPLACE_FRONT_PET = 0xBADD,
CMSG_PET_BATTLE_REQUEST_PVP = 0xBADD,
- CMSG_PET_BATTLE_REQUEST_WILD = 0xBADD,
+ CMSG_PET_BATTLE_REQUEST_WILD = 0x084C,
CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0xBADD,
CMSG_PET_CANCEL_AURA = 0xBADD,
CMSG_PET_CAST_SPELL = 0xBADD,
@@ -558,46 +558,46 @@ enum OpcodeClient : uint32
CMSG_PLAYED_TIME = 0x0074,
CMSG_PLAYER_LOGIN = 0x1D31,
CMSG_PLAY_DANCE = 0xBADD,
- CMSG_PORT_GRAVEYARD = 0xBADD,
+ CMSG_PORT_GRAVEYARD = 0x11DA,
CMSG_PUSH_QUEST_TO_PARTY = 0xBADD,
CMSG_PVP_LOG_DATA = 0xBADD,
- CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0xBADD,
- CMSG_QUERY_CORPSE_TRANSPORT = 0xBADD,
- CMSG_QUERY_COUNTDOWN_TIMER = 0xBADD,
+ CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x1962,
+ CMSG_QUERY_CORPSE_TRANSPORT = 0x1164,
+ CMSG_QUERY_COUNTDOWN_TIMER = 0x015B,
CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0xBADD,
CMSG_QUERY_NEXT_MAIL_TIME = 0x1119,
CMSG_QUERY_PETITION = 0xBADD,
- CMSG_QUERY_QUEST_COMPLETION_NPCS = 0xBADD,
+ CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x0662,
CMSG_QUERY_SCENARIO_POI = 0xBADD,
- CMSG_QUERY_TIME = 0xBADD,
- CMSG_QUESTGIVER_ACCEPT_QUEST = 0xBADD,
+ CMSG_QUERY_TIME = 0x04E4,
+ CMSG_QUESTGIVER_ACCEPT_QUEST = 0x0A62,
CMSG_QUESTGIVER_CANCEL = 0xBADD,
- CMSG_QUESTGIVER_CHOOSE_REWARD = 0xBADD,
- CMSG_QUESTGIVER_COMPLETE_QUEST = 0xBADD,
- CMSG_QUESTGIVER_HELLO = 0xBADD,
- CMSG_QUESTGIVER_QUERY_QUEST = 0xBADD,
+ CMSG_QUESTGIVER_CHOOSE_REWARD = 0x0CE1,
+ CMSG_QUESTGIVER_COMPLETE_QUEST = 0x0A69,
+ CMSG_QUESTGIVER_HELLO = 0x0B2A,
+ CMSG_QUESTGIVER_QUERY_QUEST = 0x131A,
CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0xBADD,
CMSG_QUESTGIVER_REQUEST_REWARD = 0xBADD,
- CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0xBADD,
+ CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x0A39,
CMSG_QUESTGIVER_STATUS_QUERY = 0x0A7B,
- CMSG_QUESTLOG_REMOVE_QUEST = 0xBADD,
+ CMSG_QUESTLOG_REMOVE_QUEST = 0x04C3,
CMSG_QUESTLOG_SWAP_QUEST = 0xBADD,
CMSG_QUEST_CONFIRM_ACCEPT = 0xBADD,
- CMSG_QUEST_POI_QUERY = 0xBADD,
+ CMSG_QUEST_POI_QUERY = 0x1B2A,
CMSG_QUEST_PUSH_RESULT = 0xBADD,
- CMSG_QUEST_QUERY = 0xBADD,
+ CMSG_QUEST_QUERY = 0x005A,
CMSG_QUEUED_MESSAGES_END = 0x147B,
CMSG_RANDOMIZE_CHAR_NAME = 0x17FA,
CMSG_RANDOM_ROLL = 0x1BE2,
CMSG_READY_CHECK_RESPONSE = 0xBADD,
CMSG_READ_ITEM = 0xBADD,
CMSG_REAGENT_BANK_BUY_TAB = 0xBADD,
- CMSG_REALM_NAME_QUERY = 0xBADD,
- CMSG_RECLAIM_CORPSE = 0xBADD,
+ CMSG_REALM_NAME_QUERY = 0x17BC,
+ CMSG_RECLAIM_CORPSE = 0x093B,
CMSG_RECRUIT_A_FRIEND = 0xBADD,
CMSG_REGISTER_ADDON_PREFIXES = 0xBADD,
CMSG_REORDER_CHARACTERS = 0x1729,
- CMSG_REPAIR_ITEM = 0xBADD,
+ CMSG_REPAIR_ITEM = 0x05E2,
CMSG_REPLACE_ACCOUNT_DATA = 0xBADD,
CMSG_REPLACE_TROPHY = 0xBADD,
CMSG_REPOP_REQUEST = 0xBADD,
@@ -606,11 +606,11 @@ enum OpcodeClient : uint32
CMSG_REPORT_PVP_AFK = 0xBADD,
CMSG_REQUEST_ACCOUNT_DATA = 0x1934,
CMSG_REQUEST_ARTIFACT_COMPLETION_HISTORY = 0xBADD,
- CMSG_REQUEST_BATTLEFIELD_STATUS = 0xBADD,
- CMSG_REQUEST_CATEGORY_COOLDOWNS = 0xBADD,
- CMSG_REQUEST_CEMETERY_LIST = 0xBADD,
- CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0xBADD,
- CMSG_REQUEST_FORCED_REACTIONS = 0xBADD,
+ CMSG_REQUEST_BATTLEFIELD_STATUS = 0x17EC,
+ CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x0C72,
+ CMSG_REQUEST_CEMETERY_LIST = 0x0421,
+ CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x1342,
+ CMSG_REQUEST_FORCED_REACTIONS = 0x012A,
CMSG_REQUEST_GUILD_REWARDS_LIST = 0xBADD,
CMSG_REQUEST_HONOR_STATS = 0xBADD,
CMSG_REQUEST_LFG_LIST_BLACKLIST = 0xBADD,
@@ -619,26 +619,26 @@ enum OpcodeClient : uint32
CMSG_REQUEST_PET_INFO = 0xBADD,
CMSG_REQUEST_PVP_OPTIONS_ENABLED = 0xBADD,
CMSG_REQUEST_PVP_REWARDS = 0xBADD,
- CMSG_REQUEST_RAID_INFO = 0xBADD,
+ CMSG_REQUEST_RAID_INFO = 0x1163,
CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0xBADD,
CMSG_REQUEST_RATED_BG_STATS = 0xBADD,
- CMSG_REQUEST_STABLED_PETS = 0xBADD,
- CMSG_REQUEST_VEHICLE_EXIT = 0xBADD,
+ CMSG_REQUEST_STABLED_PETS = 0x110C,
+ CMSG_REQUEST_VEHICLE_EXIT = 0x1743,
CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0xBADD,
CMSG_REQUEST_VEHICLE_PREV_SEAT = 0xBADD,
CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0xBADD,
CMSG_RESET_CHALLENGE_MODE = 0xBADD,
CMSG_RESET_FACTION_CHEAT = 0xBADD,
CMSG_RESET_INSTANCES = 0xBADD,
- CMSG_RESURRECT_RESPONSE = 0xBADD,
+ CMSG_RESURRECT_RESPONSE = 0x177C,
CMSG_REVERT_TROPHY = 0xBADD,
- CMSG_RIDE_VEHICLE_INTERACT = 0xBADD,
+ CMSG_RIDE_VEHICLE_INTERACT = 0x023A,
CMSG_ROLE_POLL_BEGIN = 0xBADD,
CMSG_SAVE_CUF_PROFILES = 0x10E9,
CMSG_SAVE_GUILD_EMBLEM = 0xBADD,
CMSG_SAVE_PLAYER = 0xBADD,
- CMSG_SCENE_PLAYBACK_CANCELED = 0xBADD,
- CMSG_SCENE_PLAYBACK_COMPLETE = 0xBADD,
+ CMSG_SCENE_PLAYBACK_CANCELED = 0x1F94,
+ CMSG_SCENE_PLAYBACK_COMPLETE = 0x024A,
CMSG_SCENE_TRIGGER_EVENT = 0xBADD,
CMSG_SELF_RES = 0xBADD,
CMSG_SELL_ITEM = 0x1349,
@@ -649,9 +649,9 @@ enum OpcodeClient : uint32
CMSG_SERVERTIME = 0xBADD,
CMSG_SETDEATHBINDPOINT = 0xBADD,
CMSG_SET_ACHIEVEMENTS_HIDDEN = 0xBADD,
- CMSG_SET_ACTIONBAR_TOGGLES = 0xBADD,
+ CMSG_SET_ACTIONBAR_TOGGLES = 0x111B,
CMSG_SET_ACTION_BUTTON = 0x13BA,
- CMSG_SET_ACTIVE_MOVER = 0xBADD,
+ CMSG_SET_ACTIVE_MOVER = 0x07CC,
CMSG_SET_ACTIVE_VOICE_CHANNEL = 0xBADD,
CMSG_SET_ADVANCED_COMBAT_LOGGING = 0xBADD,
CMSG_SET_ASSISTANT_LEADER = 0xBADD,
@@ -681,13 +681,13 @@ enum OpcodeClient : uint32
CMSG_SET_ROLE = 0x11B2,
CMSG_SET_SAVED_INSTANCE_EXTEND = 0xBADD,
CMSG_SET_SELECTION = 0x0DC4,
- CMSG_SET_SHEATHED = 0xBADD,
+ CMSG_SET_SHEATHED = 0x0A64,
CMSG_SET_SKILL_CHEAT = 0xBADD,
CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0xBADD,
CMSG_SET_SPECIALIZATION = 0x0472,
CMSG_SET_TAXI_BENCHMARK_MODE = 0xBADD,
CMSG_SET_TITLE = 0x0654,
- CMSG_SET_TRADE_CURRENCY = 0xBADD,
+ CMSG_SET_TRADE_CURRENCY = 0x0261,
CMSG_SET_TRADE_GOLD = 0xBADD,
CMSG_SET_TRADE_ITEM = 0xBADD,
CMSG_SET_VEHICLE_REC_ID_ACK = 0xBADD,
@@ -701,8 +701,8 @@ enum OpcodeClient : uint32
CMSG_SORT_BAGS = 0xBADD,
CMSG_SORT_BANK_BAGS = 0x1901,
CMSG_SORT_REAGENT_BANK_BAGS = 0xBADD,
- CMSG_SPELLCLICK = 0xBADD,
- CMSG_SPIRIT_HEALER_ACTIVATE = 0xBADD,
+ CMSG_SPELLCLICK = 0x0DE3,
+ CMSG_SPIRIT_HEALER_ACTIVATE = 0x0CA4,
CMSG_SPLIT_ITEM = 0x0095,
CMSG_STAND_STATE_CHANGE = 0xBADD,
CMSG_START_QUEST = 0xBADD,
@@ -720,11 +720,11 @@ enum OpcodeClient : uint32
CMSG_SWAP_ITEM = 0x0206,
CMSG_SWAP_SUB_GROUPS = 0xBADD,
CMSG_SYNC_DANCE = 0xBADD,
- CMSG_TABARD_VENDOR_ACTIVATE = 0xBADD,
+ CMSG_TABARD_VENDOR_ACTIVATE = 0x1951,
CMSG_TAXICLEARALLNODES = 0xBADD,
CMSG_TAXIENABLEALLNODES = 0xBADD,
CMSG_TAXISHOWNODES = 0xBADD,
- CMSG_TAXI_NODE_STATUS_QUERY = 0xBADD,
+ CMSG_TAXI_NODE_STATUS_QUERY = 0x0EA1,
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0xBADD,
CMSG_TELEPORT_TO_UNIT = 0xBADD,
CMSG_TEXT_EMOTE = 0x0B2B,
@@ -734,21 +734,21 @@ enum OpcodeClient : uint32
CMSG_TIME_SYNC_RESPONSE_FAILED = 0xBADD,
CMSG_TOGGLE_DIFFICULTY = 0xBADD,
CMSG_TOGGLE_PVP = 0x10A2,
- CMSG_TOTEM_DESTROYED = 0xBADD,
+ CMSG_TOTEM_DESTROYED = 0x1189,
CMSG_TOY_SET_FAVORITE = 0xBADD,
CMSG_TRAINER_BUY_SPELL = 0xBADD,
- CMSG_TRAINER_LIST = 0xBADD,
+ CMSG_TRAINER_LIST = 0x130C,
CMSG_TRANSMOGRIFY_ITEMS = 0xBADD,
CMSG_TRIGGER_CINEMATIC_CHEAT = 0xBADD,
CMSG_TROPHY_MONUMENT_LOAD_SELECTED_TROPHY_ID = 0xBADD,
CMSG_TURN_IN_PETITION = 0xBADD,
- CMSG_TUTORIAL_FLAG = 0xBADD,
+ CMSG_TUTORIAL_FLAG = 0x1132,
CMSG_UI_TIME_REQUEST = 0x1B7B,
CMSG_UNACCEPT_TRADE = 0xBADD,
CMSG_UNDELETE_CHARACTER = 0xBADD,
CMSG_UNLEARN_SKILL = 0xBADD,
CMSG_UNLEARN_SPECIALIZATION = 0xBADD,
- CMSG_UNREGISTER_ALL_ADDON_PREFIXES = 0xBADD,
+ CMSG_UNREGISTER_ALL_ADDON_PREFIXES = 0x0C5B,
CMSG_UPDATE_ACCOUNT_DATA = 0x17BB,
CMSG_UPDATE_CLIENT_SETTINGS = 0xBADD,
CMSG_UPDATE_MISSILE_TRAJECTORY = 0xBADD,
@@ -765,8 +765,8 @@ enum OpcodeClient : uint32
CMSG_VIOLENCE_LEVEL = 0x0071,
CMSG_VOICE_ADD_IGNORE = 0xBADD,
CMSG_VOICE_DEL_IGNORE = 0xBADD,
- CMSG_VOICE_SESSION_ENABLE = 0xBADD,
- CMSG_VOID_STORAGE_QUERY = 0xBADD,
+ CMSG_VOICE_SESSION_ENABLE = 0x153A,
+ CMSG_VOID_STORAGE_QUERY = 0x17C3,
CMSG_VOID_STORAGE_TRANSFER = 0xBADD,
CMSG_VOID_STORAGE_UNLOCK = 0xBADD,
CMSG_VOID_SWAP_ITEM = 0xBADD,
@@ -806,8 +806,8 @@ enum OpcodeServer : uint32
SMSG_ACCOUNT_PROFILE = 0xBADD,
SMSG_ACCOUNT_RESTRICTED_WARNING = 0xBADD,
SMSG_ACCOUNT_TOYS_UPDATE = 0x1F1C,
- SMSG_ACHIEVEMENT_DELETED = 0xBADD,
- SMSG_ACHIEVEMENT_EARNED = 0xBADD,
+ SMSG_ACHIEVEMENT_DELETED = 0x0B2C,
+ SMSG_ACHIEVEMENT_EARNED = 0x1D8C,
SMSG_ACTION_BUTTONS = 0x153B,
SMSG_ACTIVATE_TAXI_REPLY = 0xBADD,
SMSG_ADDON_INFO = 0x1F5C,
@@ -815,13 +815,13 @@ enum OpcodeServer : uint32
SMSG_ADD_ITEM_PASSIVE = 0xBADD,
SMSG_ADD_LOSS_OF_CONTROL = 0xBADD,
SMSG_ADD_RUNE_POWER = 0xBADD,
- SMSG_ADJUST_SPLINE_DURATION = 0xBADD,
- SMSG_AE_LOOT_TARGETS = 0xBADD,
- SMSG_AE_LOOT_TARGET_ACK = 0xBADD,
+ SMSG_ADJUST_SPLINE_DURATION = 0x131C,
+ SMSG_AE_LOOT_TARGETS = 0x1763,
+ SMSG_AE_LOOT_TARGET_ACK = 0x1B9A,
SMSG_AI_REACTION = 0x1BDA,
SMSG_ALL_ACCOUNT_CRITERIA = 0x17AC,
SMSG_ALL_ACHIEVEMENT_DATA = 0x097A,
- SMSG_ALL_GUILD_ACHIEVEMENTS = 0xBADD,
+ SMSG_ALL_GUILD_ACHIEVEMENTS = 0x02F4,
SMSG_ARCHAEOLOGY_SURVERY_CAST = 0xBADD,
SMSG_AREA_SHARE_INFO_RESPONSE = 0xBADD,
SMSG_AREA_SHARE_MAPPINGS_RESPONSE = 0xBADD,
@@ -862,7 +862,7 @@ enum OpcodeServer : uint32
SMSG_AUCTION_REPLICATE_RESPONSE = 0x193B,
SMSG_AUCTION_WON_NOTIFICATION = 0x136B,
SMSG_AURACASTLOG = 0xBADD,
- SMSG_AURA_POINTS_DEPLETED = 0xBADD,
+ SMSG_AURA_POINTS_DEPLETED = 0x02A9,
SMSG_AURA_UPDATE = 0x070A,
SMSG_AUTH_CHALLENGE = 0x0403,
SMSG_AUTH_RESPONSE = 0x0B61,
@@ -919,7 +919,7 @@ enum OpcodeServer : uint32
SMSG_BATTLE_PET_REVOKED = 0x0B72,
SMSG_BATTLE_PET_TRAP_LEVEL = 0x1BCB,
SMSG_BATTLE_PET_UPDATES = 0x1FCC,
- SMSG_BINDER_CONFIRM = 0xBADD,
+ SMSG_BINDER_CONFIRM = 0x1BBB,
SMSG_BINDPOINTUPDATE = 0x156C,
SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0xBADD,
SMSG_BLACK_MARKET_OPEN_RESULT = 0xBADD,
@@ -954,17 +954,17 @@ enum OpcodeServer : uint32
SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0xBADD,
SMSG_CALENDAR_SEND_CALENDAR = 0xBADD,
SMSG_CALENDAR_SEND_EVENT = 0xBADD,
- SMSG_CALENDAR_SEND_NUM_PENDING = 0xBADD,
+ SMSG_CALENDAR_SEND_NUM_PENDING = 0x17B1,
SMSG_CALENDAR_UPDATE_INVITE_LIST = 0xBADD,
SMSG_CAMERA_SHAKE = 0xBADD,
SMSG_CANCEL_AUTO_REPEAT = 0x1959,
- SMSG_CANCEL_COMBAT = 0xBADD,
+ SMSG_CANCEL_COMBAT = 0x09A2,
SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x0579,
- SMSG_CANCEL_SCENE = 0xBADD,
+ SMSG_CANCEL_SCENE = 0x19B2,
SMSG_CANCEL_SPELL_VISUAL = 0x1849,
- SMSG_CANCEL_SPELL_VISUAL_KIT = 0xBADD,
+ SMSG_CANCEL_SPELL_VISUAL_KIT = 0x00AC,
SMSG_CAN_DUEL_RESULT = 0x11BB,
- SMSG_CAST_FAILED = 0xBADD,
+ SMSG_CAST_FAILED = 0x040C,
SMSG_CHALLENGE_MODE_ALL_MAP_STATS = 0xBADD,
SMSG_CHALLENGE_MODE_COMPLETE = 0xBADD,
SMSG_CHALLENGE_MODE_MAP_STATS_UPDATE = 0xBADD,
@@ -973,12 +973,12 @@ enum OpcodeServer : uint32
SMSG_CHALLENGE_MODE_REWARDS = 0xBADD,
SMSG_CHALLENGE_MODE_START = 0xBADD,
SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0xBADD,
- SMSG_CHANNEL_LIST = 0xBADD,
+ SMSG_CHANNEL_LIST = 0x12FC,
SMSG_CHANNEL_NOTIFY = 0x1634,
SMSG_CHANNEL_NOTIFY_JOINED = 0x123B,
SMSG_CHANNEL_NOTIFY_LEFT = 0x143B,
SMSG_CHANNEL_START = 0x0F5A,
- SMSG_CHANNEL_UPDATE = 0xBADD,
+ SMSG_CHANNEL_UPDATE = 0x12CA,
SMSG_CHARACTER_LOGIN_FAILED = 0x1722,
SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0xBADD,
SMSG_CHARACTER_UPGRADE_COMPLETE = 0xBADD,
@@ -986,9 +986,9 @@ enum OpcodeServer : uint32
SMSG_CHAR_CREATE = 0x13E4,
SMSG_CHAR_CUSTOMIZE = 0xBADD,
SMSG_CHAR_CUSTOMIZE_RESULT = 0xBADD,
- SMSG_CHAR_DELETE = 0xBADD,
+ SMSG_CHAR_DELETE = 0x01C2,
SMSG_CHAR_ENUM = 0x13F2,
- SMSG_CHAR_FACTION_CHANGE = 0xBADD,
+ SMSG_CHAR_FACTION_CHANGE = 0x0A64,
SMSG_CHAR_RENAME = 0xBADD,
SMSG_CHAR_UPGRADE_STARTED = 0xBADD,
SMSG_CHAT_AUTO_RESPONDED = 0xBADD,
@@ -1010,8 +1010,6 @@ enum OpcodeServer : uint32
SMSG_CLEAR_COOLDOWNS = 0xBADD,
SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0xBADD,
SMSG_CLEAR_LOSS_OF_CONTROL = 0xBADD,
- SMSG_CLEAR_QUEST_COMPLETED_BIT = 0xBADD,
- SMSG_CLEAR_QUEST_COMPLETED_BITS = 0xBADD,
SMSG_CLEAR_SPELL_CHARGES = 0xBADD,
SMSG_CLEAR_TARGET = 0x17FA,
SMSG_CLIENTCACHE_VERSION = 0x116C,
@@ -1019,7 +1017,6 @@ enum OpcodeServer : uint32
SMSG_COIN_REMOVED = 0x11A4,
SMSG_COMBAT_EVENT_FAILED = 0x19D9,
SMSG_COMBAT_LOG_MULTIPLE = 0xBADD,
- SMSG_COMBAT_LOG_UNK = 0xBADD,
SMSG_COMMENTATOR_MAP_INFO = 0xBADD,
SMSG_COMMENTATOR_PARTY_INFO = 0xBADD,
SMSG_COMMENTATOR_PLAYER_INFO = 0xBADD,
@@ -1027,25 +1024,25 @@ enum OpcodeServer : uint32
SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2 = 0xBADD,
SMSG_COMMENTATOR_STATE_CHANGED = 0xBADD,
SMSG_COMPLAINT_RESULT = 0xBADD,
- SMSG_COMPLETE_SHIPMENT_RESPONSE = 0xBADD,
+ SMSG_COMPLETE_SHIPMENT_RESPONSE = 0x173C,
SMSG_COMPRESSED_MOVES = 0xBADD,
SMSG_COMPRESSED_PACKET = 0x0689,
SMSG_COMSAT_CONNECT_FAIL = 0xBADD,
SMSG_COMSAT_DISCONNECT = 0xBADD,
SMSG_COMSAT_RECONNECT_TRY = 0xBADD,
- SMSG_CONQUEST_FORMULA_CONSTANTS = 0xBADD,
+ SMSG_CONQUEST_FORMULA_CONSTANTS = 0x1B29,
SMSG_CONSOLE_WRITE = 0xBADD,
SMSG_CONTACT_LIST = 0x15A1,
SMSG_CONTACT_STATUS = 0x174C,
SMSG_CONVERT_RUNE = 0xBADD,
SMSG_COOLDOWN_CHEAT = 0xBADD,
- SMSG_COOLDOWN_EVENT = 0xBADD,
- SMSG_CORPSE_LOCATION = 0xBADD,
+ SMSG_COOLDOWN_EVENT = 0x1BE4,
+ SMSG_CORPSE_LOCATION = 0x0A63,
SMSG_CORPSE_RECLAIM_DELAY = 0x1B9C,
- SMSG_CORPSE_TRANSPORT_QUERY = 0xBADD,
+ SMSG_CORPSE_TRANSPORT_QUERY = 0x0B6C,
SMSG_CREATE_SHIPMENT_RESPONSE = 0xBADD,
SMSG_CREATURE_QUERY_RESPONSE = 0x0DC2,
- SMSG_CRITERIA_DELETED = 0xBADD,
+ SMSG_CRITERIA_DELETED = 0x0B2A,
SMSG_CRITERIA_UPDATE = 0x115A,
SMSG_CROSSED_INEBRIATION_THRESHOLD = 0xBADD,
SMSG_CURRENCY_LOOT_REMOVED = 0xBADD,
@@ -1058,7 +1055,7 @@ enum OpcodeServer : uint32
SMSG_DANCE_STUDIO_CREATE_RESULT = 0x15F2,
SMSG_DB_LOOKUP_RESULTS = 0xBADD,
SMSG_DB_REPLY = 0x097C,
- SMSG_DEATH_RELEASE_LOC = 0xBADD,
+ SMSG_DEATH_RELEASE_LOC = 0x15DC,
SMSG_DEBUG_AISTATE = 0xBADD,
SMSG_DEBUG_DRAW_AURA = 0xBADD,
SMSG_DEBUG_SERVER_GEO = 0xBADD,
@@ -1074,7 +1071,7 @@ enum OpcodeServer : uint32
SMSG_DISPLAY_PLAYER_CHOICE = 0xBADD,
SMSG_DISPLAY_PROMOTION = 0x01E2,
SMSG_DISPLAY_QUEST_POPUP = 0xBADD,
- SMSG_DISPLAY_TOAST = 0xBADD,
+ SMSG_DISPLAY_TOAST = 0x17DA,
SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0xBADD,
SMSG_DROP_NEW_CONNECTION = 0xBADD,
SMSG_DUEL_COMPLETE = 0xBADD,
@@ -1084,21 +1081,21 @@ enum OpcodeServer : uint32
SMSG_DUEL_REQUESTED = 0x0983,
SMSG_DUEL_WINNER = 0xBADD,
SMSG_DUMP_RIDE_TICKETS_RESPONSE = 0xBADD,
- SMSG_DURABILITY_DAMAGE_DEATH = 0xBADD,
+ SMSG_DURABILITY_DAMAGE_DEATH = 0x1BCA,
SMSG_DYNAMIC_DROP_ROLL_RESULT = 0xBADD,
SMSG_ECHO_PARTY_SQUELCH = 0xBADD,
SMSG_EMOTE = 0x171C,
SMSG_ENABLE_BARBER_SHOP = 0xBADD,
- SMSG_ENCHANTMENT_LOG = 0xBADD,
+ SMSG_ENCHANTMENT_LOG = 0x1563,
SMSG_ENCOUNTER_END = 0xBADD,
SMSG_ENCOUNTER_START = 0xBADD,
SMSG_ENVIRONMENTALDAMAGELOG = 0x0679,
SMSG_EQUIPMENT_SET_LIST = 0x111A,
SMSG_EQUIPMENT_SET_SAVED = 0xBADD,
SMSG_EXPECTED_SPAM_RECORDS = 0xBADD,
- SMSG_EXPLORATION_EXPERIENCE = 0xBADD,
- SMSG_FACTION_BONUS_INFO = 0xBADD,
- SMSG_FAILED_PLAYER_CONDITION = 0xBADD,
+ SMSG_EXPLORATION_EXPERIENCE = 0x1139,
+ SMSG_FACTION_BONUS_INFO = 0x13B9,
+ SMSG_FAILED_PLAYER_CONDITION = 0x1161,
SMSG_FEATURE_SYSTEM_STATUS = 0x13F3,
SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x117A,
SMSG_FEIGN_DEATH_RESISTED = 0xBADD,
@@ -1114,8 +1111,8 @@ enum OpcodeServer : uint32
SMSG_FORCE_OBJECT_RELINK = 0xBADD,
SMSG_FORGE_MASTER_SET = 0xBADD,
SMSG_GAMEOBJECT_ACTIVATE_ANIM_KIT = 0xBADD,
- SMSG_GAMEOBJECT_CUSTOM_ANIM = 0xBADD,
- SMSG_GAMEOBJECT_DESPAWN = 0xBADD,
+ SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x0873,
+ SMSG_GAMEOBJECT_DESPAWN = 0x1B99,
SMSG_GAMEOBJECT_DESPAWN_ANIM = 0xBADD,
SMSG_GAMEOBJECT_PAGETEXT = 0xBADD,
SMSG_GAMEOBJECT_PLAY_SPELL_VISUAL = 0xBADD,
@@ -1124,21 +1121,21 @@ enum OpcodeServer : uint32
SMSG_GAMEOBJECT_RESET_STATE = 0xBADD,
SMSG_GAME_EVENT_DEBUG_LOG = 0xBADD,
SMSG_GAME_SPEED_SET = 0xBADD,
- SMSG_GAME_TIME_SET = 0xBADD,
- SMSG_GAME_TIME_UPDATE = 0xBADD,
+ SMSG_GAME_TIME_SET = 0x1309,
+ SMSG_GAME_TIME_UPDATE = 0x13E9,
SMSG_GARRISON_ADD_FOLLOWER_RESULT = 0xBADD,
SMSG_GARRISON_ADD_MISSION_RESULT = 0xBADD,
SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0xBADD,
- SMSG_GARRISON_BUILDING_ACTIVATED = 0xBADD,
+ SMSG_GARRISON_BUILDING_ACTIVATED = 0x07AA,
SMSG_GARRISON_BUILDING_REMOVED = 0xBADD,
SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT = 0xBADD,
SMSG_GARRISON_COMPLETE_MISSION_RESULT = 0xBADD,
SMSG_GARRISON_DELETE_RESULT = 0xBADD,
- SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0xBADD,
+ SMSG_GARRISON_FOLLOWER_CHANGED_XP = 0x07AC,
SMSG_GARRISON_LANDINGPAGE_SHIPMENTS = 0xBADD,
SMSG_GARRISON_LEARN_BLUEPRINT_RESULT = 0xBADD,
SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT = 0xBADD,
- SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = 0xBADD,
+ SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT = 0x0081,
SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT = 0xBADD,
SMSG_GARRISON_MONUMENT_SELECTED_TROPHY_ID_LOADED = 0xBADD,
SMSG_GARRISON_OPEN_ARCHITECT = 0xBADD,
@@ -1147,7 +1144,7 @@ enum OpcodeServer : uint32
SMSG_GARRISON_PLACE_BUILDING_RESULT = 0xBADD,
SMSG_GARRISON_PLOT_PLACED = 0xBADD,
SMSG_GARRISON_PLOT_REMOVED = 0xBADD,
- SMSG_GARRISON_REMOTE_INFO = 0xBADD,
+ SMSG_GARRISON_REMOTE_INFO = 0x0C39,
SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT = 0xBADD,
SMSG_GARRISON_REMOVE_FOLLOWER_RESULT = 0xBADD,
SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT = 0xBADD,
@@ -1159,7 +1156,7 @@ enum OpcodeServer : uint32
SMSG_GARRISON_UPGRADE_FOLLOWER_ITEM_LEVEL = 0xBADD,
SMSG_GARRISON_UPGRADE_RESULT = 0xBADD,
SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0xBADD,
- SMSG_GET_GARRISON_INFO_RESULT = 0xBADD,
+ SMSG_GET_GARRISON_INFO_RESULT = 0x0733,
SMSG_GET_SHIPMENT_INFO_RESPONSE = 0xBADD,
SMSG_GET_TROPHY_LIST_RESPONSE = 0xBADD,
SMSG_GHOST = 0xBADD,
@@ -1180,7 +1177,7 @@ enum OpcodeServer : uint32
SMSG_GM_TICKET_SYSTEM_STATUS = 0x134C,
SMSG_GM_TICKET_UPDATE = 0x193A,
SMSG_GOD_MODE = 0xBADD,
- SMSG_GOSSIP_COMPLETE = 0xBADD,
+ SMSG_GOSSIP_COMPLETE = 0x07A8,
SMSG_GOSSIP_MESSAGE = 0x0117,
SMSG_GOSSIP_POI = 0xBADD,
SMSG_GROUP_ACTION_THROTTLED = 0xBADD,
@@ -1189,36 +1186,36 @@ enum OpcodeServer : uint32
SMSG_GROUP_DESTROYED = 0xBADD,
SMSG_GROUP_NEW_LEADER = 0x1BF1,
SMSG_GROUP_UNINVITE = 0xBADD,
- SMSG_GUILD_ACHIEVEMENT_DELETED = 0xBADD,
- SMSG_GUILD_ACHIEVEMENT_EARNED = 0xBADD,
- SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0xBADD,
+ SMSG_GUILD_ACHIEVEMENT_DELETED = 0x07B3,
+ SMSG_GUILD_ACHIEVEMENT_EARNED = 0x00F3,
+ SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x0B93,
SMSG_GUILD_BANK_LOG_QUERY_RESULT = 0xBADD,
SMSG_GUILD_BANK_QUERY_RESULTS = 0xBADD,
- SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY = 0xBADD,
+ SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY = 0x0793,
SMSG_GUILD_BANK_TEXT_QUERY_RESULT = 0xBADD,
SMSG_GUILD_CANCEL = 0xBADD,
SMSG_GUILD_CHALLENGE_COMPLETED = 0xBADD,
SMSG_GUILD_CHALLENGE_UPDATE = 0xBADD,
SMSG_GUILD_CHANGE_NAME_RESULT = 0xBADD,
SMSG_GUILD_COMMAND_RESULT = 0x0B94,
- SMSG_GUILD_CRITERIA_DELETED = 0xBADD,
+ SMSG_GUILD_CRITERIA_DELETED = 0x09B4,
SMSG_GUILD_CRITERIA_UPDATE = 0x03D4,
SMSG_GUILD_DECLINE = 0xBADD,
- SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED = 0xBADD,
- SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0xBADD,
- SMSG_GUILD_EVENT_DISBANDED = 0xBADD,
- SMSG_GUILD_EVENT_LOG_QUERY_RESULTS = 0xBADD,
- SMSG_GUILD_EVENT_MOTD = 0xBADD,
- SMSG_GUILD_EVENT_NEW_LEADER = 0xBADD,
- SMSG_GUILD_EVENT_PLAYER_JOINED = 0xBADD,
- SMSG_GUILD_EVENT_PLAYER_LEFT = 0xBADD,
- SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0xBADD,
- SMSG_GUILD_EVENT_RANKS_UPDATED = 0xBADD,
- SMSG_GUILD_EVENT_RANK_CHANGED = 0xBADD,
- SMSG_GUILD_EVENT_TAB_ADDED = 0xBADD,
- SMSG_GUILD_EVENT_TAB_DELETED = 0xBADD,
- SMSG_GUILD_EVENT_TAB_MODIFIED = 0xBADD,
- SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0xBADD,
+ SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED = 0x01F4,
+ SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0x04B4,
+ SMSG_GUILD_EVENT_DISBANDED = 0x02F3,
+ SMSG_GUILD_EVENT_LOG_QUERY_RESULTS = 0x0794,
+ SMSG_GUILD_EVENT_MOTD = 0x09D3,
+ SMSG_GUILD_EVENT_NEW_LEADER = 0x0AB4,
+ SMSG_GUILD_EVENT_PLAYER_JOINED = 0x0AB3,
+ SMSG_GUILD_EVENT_PLAYER_LEFT = 0x0093,
+ SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0x0C94,
+ SMSG_GUILD_EVENT_RANKS_UPDATED = 0x02D4,
+ SMSG_GUILD_EVENT_RANK_CHANGED = 0x09F3,
+ SMSG_GUILD_EVENT_TAB_ADDED = 0x0BB4,
+ SMSG_GUILD_EVENT_TAB_DELETED = 0x01D4,
+ SMSG_GUILD_EVENT_TAB_MODIFIED = 0x0693,
+ SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0x0594,
SMSG_GUILD_FLAGGED_FOR_RENAME = 0xBADD,
SMSG_GUILD_INVITE = 0xBADD,
SMSG_GUILD_INVITE_CANCEL = 0xBADD,
@@ -1234,61 +1231,61 @@ enum OpcodeServer : uint32
SMSG_GUILD_NAME_CHANGED = 0xBADD,
SMSG_GUILD_NEWS = 0xBADD,
SMSG_GUILD_NEWS_DELETED = 0xBADD,
- SMSG_GUILD_PARTY_STATE_RESPONSE = 0xBADD,
- SMSG_GUILD_PERMISSIONS_QUERY_RESULTS = 0xBADD,
+ SMSG_GUILD_PARTY_STATE_RESPONSE = 0x0BD4,
+ SMSG_GUILD_PERMISSIONS_QUERY_RESULTS = 0x07D4,
SMSG_GUILD_QUERY_RESPONSE = 0x06F3,
- SMSG_GUILD_RANKS = 0xBADD,
+ SMSG_GUILD_RANKS = 0x01D3,
SMSG_GUILD_RECIPES = 0xBADD,
SMSG_GUILD_REPUTATION_REACTION_CHANGED = 0xBADD,
SMSG_GUILD_RESET = 0xBADD,
SMSG_GUILD_REWARDS_LIST = 0xBADD,
- SMSG_GUILD_ROSTER = 0xBADD,
+ SMSG_GUILD_ROSTER = 0x07F3,
SMSG_GUILD_ROSTER_UPDATE = 0xBADD,
SMSG_GUILD_SEND_RANK_CHANGE = 0xBADD,
- SMSG_HEALTH_UPDATE = 0xBADD,
- SMSG_HIGHEST_THREAT_UPDATE = 0xBADD,
+ SMSG_HEALTH_UPDATE = 0x1BD9,
+ SMSG_HIGHEST_THREAT_UPDATE = 0x086A,
SMSG_HOTFIX_NOTIFY = 0xBADD,
SMSG_HOTFIX_NOTIFY_BLOB = 0x19B9,
SMSG_IGNORE_REQUIREMENTS_CHEAT = 0xBADD,
SMSG_IMMIGRANT_HOST_SEARCH_LOG = 0xBADD,
SMSG_INCREASE_CAST_TIME_FOR_SPELL = 0xBADD,
SMSG_INITIALIZE_FACTIONS = 0x06C3,
- SMSG_INITIAL_SETUP = 0xBADD,
+ SMSG_INITIAL_SETUP = 0x0A6B,
SMSG_INITIAL_SPELLS = 0x12C2,
SMSG_INIT_WORLD_STATES = 0x11F9,
SMSG_INSPECT_HONOR_STATS = 0xBADD,
SMSG_INSPECT_PVP = 0xBADD,
SMSG_INSPECT_RESULT = 0x0C82,
- SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_END = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_START = 0xBADD,
- SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0xBADD,
- SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0xBADD,
- SMSG_INSTANCE_INFO = 0xBADD,
+ SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x1971,
+ SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x0682,
+ SMSG_INSTANCE_ENCOUNTER_END = 0x1B2A,
+ SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x1BAA,
+ SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x0EA2,
+ SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x1D9B,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x17F4,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x0B3C,
+ SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x1331,
+ SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x11B9,
+ SMSG_INSTANCE_ENCOUNTER_START = 0x0A2C,
+ SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x19F4,
+ SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x0EC3,
+ SMSG_INSTANCE_INFO = 0x082B,
SMSG_INSTANCE_LOCK_WARNING_QUERY = 0xBADD,
- SMSG_INSTANCE_RESET = 0xBADD,
- SMSG_INSTANCE_RESET_FAILED = 0xBADD,
- SMSG_INSTANCE_SAVE_CREATED = 0xBADD,
+ SMSG_INSTANCE_RESET = 0x15CA,
+ SMSG_INSTANCE_RESET_FAILED = 0x194C,
+ SMSG_INSTANCE_SAVE_CREATED = 0x1B39,
SMSG_INVALIDATE_DANCE = 0xBADD,
- SMSG_INVALIDATE_PLAYER = 0xBADD,
+ SMSG_INVALIDATE_PLAYER = 0x1799,
SMSG_INVALID_PROMOTION_CODE = 0xBADD,
SMSG_INVENTORY_CHANGE_FAILURE = 0xBADD,
SMSG_IS_QUEST_COMPLETE_RESPONSE = 0xBADD,
- SMSG_ITEM_COOLDOWN = 0xBADD,
- SMSG_ITEM_ENCHANT_TIME_UPDATE = 0xBADD,
- SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0xBADD,
- SMSG_ITEM_PURCHASE_REFUND_RESULT = 0xBADD,
- SMSG_ITEM_PUSH_RESULT = 0xBADD,
+ SMSG_ITEM_COOLDOWN = 0x05A3,
+ SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x176A,
+ SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x112B,
+ SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x158C,
+ SMSG_ITEM_PUSH_RESULT = 0x1121,
SMSG_ITEM_REFUND_INFO_RESPONSE = 0xBADD,
- SMSG_ITEM_TIME_UPDATE = 0xBADD,
+ SMSG_ITEM_TIME_UPDATE = 0x174A,
SMSG_ITEM_UPGRADE_RESULT = 0xBADD,
SMSG_JOINED_BATTLEGROUND_QUEUE = 0xBADD,
SMSG_KICK_REASON = 0xBADD,
@@ -1306,7 +1303,7 @@ enum OpcodeServer : uint32
SMSG_LFG_OFFER_CONTINUE = 0xBADD,
SMSG_LFG_OPEN_FROM_GOSSIP = 0xBADD,
SMSG_LFG_PARTY_INFO = 0xBADD,
- SMSG_LFG_PLAYER_INFO = 0xBADD,
+ SMSG_LFG_PLAYER_INFO = 0x03FA,
SMSG_LFG_PLAYER_REWARD = 0xBADD,
SMSG_LFG_PROPOSAL_UPDATE = 0xBADD,
SMSG_LFG_QUEUE_STATUS = 0xBADD,
@@ -1339,23 +1336,23 @@ enum OpcodeServer : uint32
SMSG_LOGOUT_RESPONSE = 0x05C3,
SMSG_LOG_XPGAIN = 0xBADD,
SMSG_LOOT_ALL_PASSED = 0xBADD,
- SMSG_LOOT_CONTENTS = 0xBADD,
+ SMSG_LOOT_CONTENTS = 0x1334,
SMSG_LOOT_ITEM_LIST = 0xBADD,
SMSG_LOOT_ITEM_NOTIFY = 0xBADD,
- SMSG_LOOT_LIST = 0xBADD,
- SMSG_LOOT_MONEY_NOTIFY = 0xBADD,
- SMSG_LOOT_RELEASE = 0xBADD,
- SMSG_LOOT_RELEASE_ALL = 0xBADD,
- SMSG_LOOT_REMOVED = 0xBADD,
+ SMSG_LOOT_LIST = 0x05A1,
+ SMSG_LOOT_MONEY_NOTIFY = 0x1B23,
+ SMSG_LOOT_RELEASE = 0x1789,
+ SMSG_LOOT_RELEASE_ALL = 0x1B59,
+ SMSG_LOOT_REMOVED = 0x17E9,
SMSG_LOOT_RESPONSE = 0x1939,
SMSG_LOOT_ROLL = 0xBADD,
SMSG_LOOT_ROLLS_COMPLETE = 0xBADD,
SMSG_LOOT_ROLL_WON = 0xBADD,
SMSG_LOOT_SLOT_CHANGED = 0xBADD,
SMSG_LOOT_UPDATED = 0xBADD,
- SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0xBADD,
- SMSG_MAIL_LIST_RESULT = 0xBADD,
- SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0xBADD,
+ SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x04C2,
+ SMSG_MAIL_LIST_RESULT = 0x1B71,
+ SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x083A,
SMSG_MAP_OBJECTIVES_INIT = 0xBADD,
SMSG_MAP_OBJ_EVENTS = 0xBADD,
SMSG_MASTER_LOOT_CANDIDATE_LIST = 0xBADD,
@@ -1371,45 +1368,45 @@ enum OpcodeServer : uint32
SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0xBADD,
SMSG_MIRROR_IMAGE_CREATURE_DATA = 0xBADD,
SMSG_MISSILE_CANCEL = 0xBADD,
- SMSG_MODIFY_COOLDOWN = 0xBADD,
+ SMSG_MODIFY_COOLDOWN = 0x15EA,
SMSG_MONEY_NOTIFY = 0xBADD,
SMSG_MOTD = 0x12FB,
SMSG_MOUNT_RESULT = 0xBADD,
SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0xBADD,
SMSG_MOVE_CHARACTER_CHEAT_FAILURE = 0xBADD,
SMSG_MOVE_CHARACTER_CHEAT_SUCCESS = 0xBADD,
- SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0xBADD,
+ SMSG_MOVE_DISABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0C12,
SMSG_MOVE_DISABLE_COLLISION = 0xBADD,
SMSG_MOVE_DISABLE_GRAVITY = 0xBADD,
- SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0xBADD,
+ SMSG_MOVE_ENABLE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0AC9,
SMSG_MOVE_ENABLE_COLLISION = 0xBADD,
SMSG_MOVE_ENABLE_GRAVITY = 0xBADD,
- SMSG_MOVE_KNOCK_BACK = 0xBADD,
+ SMSG_MOVE_KNOCK_BACK = 0x048B,
SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0xBADD,
SMSG_MOVE_ROOT = 0x0031,
- SMSG_MOVE_SET_ACTIVE_MOVER = 0xBADD,
- SMSG_MOVE_SET_ANIM_KIT = 0xBADD,
- SMSG_MOVE_SET_CAN_FLY = 0xBADD,
- SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0xBADD,
- SMSG_MOVE_SET_COLLISION_HEIGHT = 0xBADD,
- SMSG_MOVE_SET_COMPOUND_STATE = 0xBADD,
- SMSG_MOVE_SET_FEATHER_FALL = 0xBADD,
+ SMSG_MOVE_SET_ACTIVE_MOVER = 0x024C,
+ SMSG_MOVE_SET_ANIM_KIT = 0x1F9B,
+ SMSG_MOVE_SET_CAN_FLY = 0x0D11,
+ SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x027A,
+ SMSG_MOVE_SET_COLLISION_HEIGHT = 0x0D52,
+ SMSG_MOVE_SET_COMPOUND_STATE = 0x0041,
+ SMSG_MOVE_SET_FEATHER_FALL = 0x0264,
SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x0752,
SMSG_MOVE_SET_FLIGHT_SPEED = 0x0324,
- SMSG_MOVE_SET_HOVER = 0xBADD,
- SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0xBADD,
- SMSG_MOVE_SET_LAND_WALK = 0xBADD,
- SMSG_MOVE_SET_NORMAL_FALL = 0xBADD,
+ SMSG_MOVE_SET_HOVER = 0x0673,
+ SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x0C8B,
+ SMSG_MOVE_SET_LAND_WALK = 0x0661,
+ SMSG_MOVE_SET_NORMAL_FALL = 0x1301,
SMSG_MOVE_SET_PITCH_RATE = 0x0D21,
SMSG_MOVE_SET_RUN_BACK_SPEED = 0x0019,
SMSG_MOVE_SET_RUN_SPEED = 0x0363,
SMSG_MOVE_SET_SWIM_BACK_SPEED = 0x0021,
SMSG_MOVE_SET_SWIM_SPEED = 0x0432,
SMSG_MOVE_SET_TURN_RATE = 0x0E74,
- SMSG_MOVE_SET_VEHICLE_REC_ID = 0xBADD,
+ SMSG_MOVE_SET_VEHICLE_REC_ID = 0x1302,
SMSG_MOVE_SET_WALK_IN_AIR = 0xBADD,
SMSG_MOVE_SET_WALK_SPEED = 0x024A,
- SMSG_MOVE_SET_WATER_WALK = 0xBADD,
+ SMSG_MOVE_SET_WATER_WALK = 0x0D62,
SMSG_MOVE_SKIP_TIME = 0xBADD,
SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0xBADD,
SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x002A,
@@ -1417,49 +1414,49 @@ enum OpcodeServer : uint32
SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x0641,
SMSG_MOVE_SPLINE_ROOT = 0x0A4B,
SMSG_MOVE_SPLINE_SET_ANIM = 0xBADD,
- SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0xBADD,
- SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0xBADD,
+ SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x094B,
+ SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0x0C02,
SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0x0A5B,
SMSG_MOVE_SPLINE_SET_FLYING = 0x0212,
- SMSG_MOVE_SPLINE_SET_HOVER = 0xBADD,
- SMSG_MOVE_SPLINE_SET_LAND_WALK = 0xBADD,
- SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0xBADD,
- SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0xBADD,
- SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_RUN_MODE = 0xBADD,
+ SMSG_MOVE_SPLINE_SET_HOVER = 0x0301,
+ SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x0632,
+ SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x0073,
+ SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0x0289,
+ SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0x0111,
+ SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x014A,
SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0x0C89,
- SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_TURN_RATE = 0xBADD,
- SMSG_MOVE_SPLINE_SET_WALK_BACK_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_WALK_MODE = 0xBADD,
+ SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0x0811,
+ SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0x0131,
+ SMSG_MOVE_SPLINE_SET_TURN_RATE = 0x13C1,
+ SMSG_MOVE_SPLINE_SET_WALK_BACK_SPEED = 0x0172,
+ SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x0A51,
SMSG_MOVE_SPLINE_SET_WALK_SPEED = 0xBADD,
- SMSG_MOVE_SPLINE_SET_WATER_WALK = 0xBADD,
- SMSG_MOVE_SPLINE_START_SWIM = 0xBADD,
- SMSG_MOVE_SPLINE_STOP_SWIM = 0xBADD,
- SMSG_MOVE_SPLINE_UNROOT = 0xBADD,
+ SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x0CCB,
+ SMSG_MOVE_SPLINE_START_SWIM = 0x1594,
+ SMSG_MOVE_SPLINE_STOP_SWIM = 0x11D1,
+ SMSG_MOVE_SPLINE_UNROOT = 0x02CC,
SMSG_MOVE_SPLINE_UNSET_FLYING = 0x1344,
- SMSG_MOVE_SPLINE_UNSET_HOVER = 0xBADD,
- SMSG_MOVE_TELEPORT = 0xBADD,
+ SMSG_MOVE_SPLINE_UNSET_HOVER = 0x025C,
+ SMSG_MOVE_TELEPORT = 0x0C21,
SMSG_MOVE_UNROOT = 0x0A52,
SMSG_MOVE_UNSET_CAN_FLY = 0x0163,
- SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0xBADD,
- SMSG_MOVE_UNSET_HOVER = 0xBADD,
- SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0xBADD,
+ SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x015C,
+ SMSG_MOVE_UNSET_HOVER = 0x1581,
+ SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x0E31,
SMSG_MOVE_UNSET_WALK_IN_AIR = 0xBADD,
SMSG_MOVE_UPDATE = 0x1514,
SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE = 0xBADD,
SMSG_MOVE_UPDATE_COLLISION_HEIGHT = 0x0624,
SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED = 0x036B,
SMSG_MOVE_UPDATE_FLIGHT_SPEED = 0x0D72,
- SMSG_MOVE_UPDATE_KNOCK_BACK = 0xBADD,
+ SMSG_MOVE_UPDATE_KNOCK_BACK = 0x1304,
SMSG_MOVE_UPDATE_PITCH_RATE = 0x0372,
SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE = 0x13D1,
SMSG_MOVE_UPDATE_RUN_BACK_SPEED = 0x012A,
SMSG_MOVE_UPDATE_RUN_SPEED = 0x015B,
SMSG_MOVE_UPDATE_SWIM_BACK_SPEED = 0x0223,
SMSG_MOVE_UPDATE_SWIM_SPEED = 0x016B,
- SMSG_MOVE_UPDATE_TELEPORT = 0xBADD,
+ SMSG_MOVE_UPDATE_TELEPORT = 0x0171,
SMSG_MOVE_UPDATE_TURN_RATE = 0x084A,
SMSG_MOVE_UPDATE_WALK_SPEED = 0x0A19,
SMSG_MULTIPLE_PACKETS = 0x0C33,
@@ -1473,7 +1470,7 @@ enum OpcodeServer : uint32
SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0xBADD,
SMSG_NOTIFY_MONEY = 0xBADD,
SMSG_NOTIFY_RECEIVED_MAIL = 0xBADD,
- SMSG_NPC_TEXT_UPDATE = 0xBADD,
+ SMSG_NPC_TEXT_UPDATE = 0x0A31,
SMSG_NPC_WONT_TALK = 0xBADD,
SMSG_OFFER_PETITION_ERROR = 0xBADD,
SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0xBADD,
@@ -1487,14 +1484,14 @@ enum OpcodeServer : uint32
SMSG_PAGE_TEXT_QUERY_RESPONSE = 0xBADD,
SMSG_PARTY_COMMAND_RESULT = 0xBADD,
SMSG_PARTY_INVITE = 0x1F9C,
- SMSG_PARTY_KILL_LOG = 0xBADD,
+ SMSG_PARTY_KILL_LOG = 0x0CA4,
SMSG_PARTY_MEMBER_STATE = 0xBADD,
SMSG_PARTY_MEMBER_STATS = 0xBADD,
SMSG_PARTY_MEMBER_STATS_FULL = 0xBADD,
SMSG_PARTY_UPDATE = 0xBADD,
SMSG_PAUSE_MIRROR_TIMER = 0xBADD,
SMSG_PENDING_RAID_LOCK = 0xBADD,
- SMSG_PERIODICAURALOG = 0xBADD,
+ SMSG_PERIODICAURALOG = 0x184B,
SMSG_PETITION_ALREADY_SIGNED = 0xBADD,
SMSG_PETITION_DECLINED = 0xBADD,
SMSG_PETITION_RENAME_GUILD_RESPONSE = 0xBADD,
@@ -1502,7 +1499,7 @@ enum OpcodeServer : uint32
SMSG_PETITION_SHOW_SIGNATURES = 0xBADD,
SMSG_PETITION_SIGN_RESULTS = 0xBADD,
SMSG_PET_ACTION_FEEDBACK = 0xBADD,
- SMSG_PET_ACTION_SOUND = 0xBADD,
+ SMSG_PET_ACTION_SOUND = 0x1924,
SMSG_PET_ADDED = 0xBADD,
SMSG_PET_BATTLE_CHAT_RESTRICTED = 0xBADD,
SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = 0xBADD,
@@ -1522,7 +1519,7 @@ enum OpcodeServer : uint32
SMSG_PET_BROKEN = 0xBADD,
SMSG_PET_CAST_FAILED = 0xBADD,
SMSG_PET_CLEAR_SPELLS = 0xBADD,
- SMSG_PET_DISMISS_SOUND = 0xBADD,
+ SMSG_PET_DISMISS_SOUND = 0x11BC,
SMSG_PET_GOD_MODE = 0xBADD,
SMSG_PET_GUIDS = 0x198A,
SMSG_PET_LEARNED_SPELL = 0xBADD,
@@ -1545,17 +1542,17 @@ enum OpcodeServer : uint32
SMSG_PLAY_DANCE = 0xBADD,
SMSG_PLAY_MUSIC = 0x1BBA,
SMSG_PLAY_OBJECT_SOUND = 0x1BB9,
- SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0xBADD,
- SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0xBADD,
- SMSG_PLAY_SCENE = 0xBADD,
+ SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x1162,
+ SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x164B,
+ SMSG_PLAY_SCENE = 0x17CA,
SMSG_PLAY_SOUND = 0x1B79,
SMSG_PLAY_SPEAKERBOT_SOUND = 0xBADD,
- SMSG_PLAY_SPELL_VISUAL = 0xBADD,
- SMSG_PLAY_SPELL_VISUAL_KIT = 0xBADD,
- SMSG_PLAY_TIME_WARNING = 0xBADD,
+ SMSG_PLAY_SPELL_VISUAL = 0x0749,
+ SMSG_PLAY_SPELL_VISUAL_KIT = 0x0F6C,
+ SMSG_PLAY_TIME_WARNING = 0x19EB,
SMSG_PONG = 0x0C34,
SMSG_POWER_UPDATE = 0x1B0A,
- SMSG_PRE_RESSURECT = 0xBADD,
+ SMSG_PRE_RESSURECT = 0x1572,
SMSG_PROC_RESIST = 0xBADD,
SMSG_PROFILE_DATA_RESPONSE = 0xBADD,
SMSG_PROPOSE_LEVEL_GRANT = 0xBADD,
@@ -1565,34 +1562,34 @@ enum OpcodeServer : uint32
SMSG_PVP_OPTIONS_ENABLED = 0xBADD,
SMSG_PVP_SEASON = 0x13A1,
SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x0584,
- SMSG_QUERY_ITEM_TEXT_RESPONSE = 0xBADD,
+ SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x119A,
SMSG_QUERY_OBJ_POSITION = 0xBADD,
SMSG_QUERY_OBJ_ROTATION = 0xBADD,
- SMSG_QUERY_PETITION_RESPONSE = 0xBADD,
- SMSG_QUERY_TIME_RESPONSE = 0xBADD,
- SMSG_QUESTGIVER_INVALID_QUEST = 0xBADD,
- SMSG_QUESTGIVER_OFFER_REWARD = 0xBADD,
- SMSG_QUESTGIVER_QUEST_COMPLETE = 0xBADD,
- SMSG_QUESTGIVER_QUEST_DETAILS = 0xBADD,
- SMSG_QUESTGIVER_QUEST_FAILED = 0xBADD,
+ SMSG_QUERY_PETITION_RESPONSE = 0x04A2,
+ SMSG_QUERY_TIME_RESPONSE = 0x13B1,
+ SMSG_QUESTGIVER_INVALID_QUEST = 0x01AD,
+ SMSG_QUESTGIVER_OFFER_REWARD = 0x05A0,
+ SMSG_QUESTGIVER_QUEST_COMPLETE = 0x01A7,
+ SMSG_QUESTGIVER_QUEST_DETAILS = 0x0925,
+ SMSG_QUESTGIVER_QUEST_FAILED = 0x0325,
SMSG_QUESTGIVER_QUEST_INVALID = 0xBADD,
- SMSG_QUESTGIVER_QUEST_LIST = 0xBADD,
- SMSG_QUESTGIVER_REQUEST_ITEMS = 0xBADD,
+ SMSG_QUESTGIVER_QUEST_LIST = 0x0507,
+ SMSG_QUESTGIVER_REQUEST_ITEMS = 0x0526,
SMSG_QUESTGIVER_STATUS = 0x039D,
SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x030F,
- SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0xBADD,
+ SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x071D,
SMSG_QUEST_CONFIRM_ACCEPT = 0xBADD,
SMSG_QUEST_FORCE_REMOVED = 0xBADD,
SMSG_QUEST_LOG_FULL = 0xBADD,
- SMSG_QUEST_POI_QUERY_RESPONSE = 0xBADD,
+ SMSG_QUEST_POI_QUERY_RESPONSE = 0x01AE,
SMSG_QUEST_PUSH_RESULT = 0xBADD,
SMSG_QUEST_QUERY_RESPONSE = 0x0508,
- SMSG_QUEST_UPDATE_ADD_CREDIT = 0xBADD,
- SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0xBADD,
- SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0xBADD,
- SMSG_QUEST_UPDATE_COMPLETE = 0xBADD,
- SMSG_QUEST_UPDATE_FAILED = 0xBADD,
- SMSG_QUEST_UPDATE_FAILED_TIMER = 0xBADD,
+ SMSG_QUEST_UPDATE_ADD_CREDIT = 0x098F,
+ SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x03A8,
+ SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x05A7,
+ SMSG_QUEST_UPDATE_COMPLETE = 0x030E,
+ SMSG_QUEST_UPDATE_FAILED = 0x07A6,
+ SMSG_QUEST_UPDATE_FAILED_TIMER = 0x018F,
SMSG_RAF_EMAIL_ENABLED_RESPONSE = 0xBADD,
SMSG_RAID_GROUP_ONLY = 0xBADD,
SMSG_RAID_INSTANCE_INFO = 0xBADD,
@@ -1607,7 +1604,7 @@ enum OpcodeServer : uint32
SMSG_READY_CHECK_STARTED = 0xBADD,
SMSG_READ_ITEM_FAILED = 0xBADD,
SMSG_READ_ITEM_RESULT_OK = 0xBADD,
- SMSG_REALM_QUERY_RESPONSE = 0xBADD,
+ SMSG_REALM_QUERY_RESPONSE = 0x1D22,
SMSG_REALM_SPLIT = 0xBADD,
SMSG_REAL_GROUP_UPDATE = 0xBADD,
SMSG_RECRUIT_A_FRIEND_RESPONSE = 0xBADD,
@@ -1620,7 +1617,7 @@ enum OpcodeServer : uint32
SMSG_REMOVE_LOSS_OF_CONTROL = 0xBADD,
SMSG_REPLACE_TROPHY_RESPONSE = 0xBADD,
SMSG_REPORT_PVP_AFK_RESULT = 0xBADD,
- SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0xBADD,
+ SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x15BB,
SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0xBADD,
SMSG_RESEARCH_COMPLETE = 0xBADD,
SMSG_RESEARCH_SETUP_HISTORY = 0xBADD,
@@ -1631,11 +1628,11 @@ enum OpcodeServer : uint32
SMSG_RESET_WEEKLY_CURRENCY = 0xBADD,
SMSG_RESISTLOG = 0xBADD,
SMSG_RESPEC_WIPE_CONFIRM = 0xBADD,
- SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0xBADD,
+ SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x0974,
SMSG_RESTRICTED_ACCOUNT_WARNING = 0xBADD,
- SMSG_RESUME_CAST_BAR = 0xBADD,
+ SMSG_RESUME_CAST_BAR = 0x1282,
SMSG_RESUME_COMMS = 0x068A,
- SMSG_RESUME_TOKEN = 0xBADD,
+ SMSG_RESUME_TOKEN = 0x0DA2,
SMSG_RESURRECT_FAILED = 0xBADD,
SMSG_RESURRECT_REQUEST = 0xBADD,
SMSG_RESYNC_RUNES = 0xBADD,
@@ -1670,7 +1667,7 @@ enum OpcodeServer : uint32
SMSG_SERVER_BUCK_DATA = 0xBADD,
SMSG_SERVER_BUCK_DATA_START = 0xBADD,
SMSG_SERVER_FIRST_ACHIEVEMENT = 0xBADD,
- SMSG_SERVER_FIRST_ACHIEVEMENTS = 0xBADD,
+ SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x0834,
SMSG_SERVER_INFO_QUERY_RESPONSE = 0xBADD,
SMSG_SERVER_INFO_RESPONSE = 0xBADD,
SMSG_SERVER_MESSAGE = 0xBADD,
@@ -1678,99 +1675,98 @@ enum OpcodeServer : uint32
SMSG_SERVER_TIME = 0xBADD,
SMSG_SETUP_CURRENCY = 0x0969,
SMSG_SETUP_TROPHY = 0xBADD,
- SMSG_SET_AI_ANIM_KIT = 0xBADD,
- SMSG_SET_ALL_TASK_PROGRESS = 0xBADD,
- SMSG_SET_ANIM_TIER = 0xBADD,
- SMSG_SET_CURRENCY = 0xBADD,
+ SMSG_SET_AI_ANIM_KIT = 0x1B0B,
+ SMSG_SET_ALL_TASK_PROGRESS = 0x0821,
+ SMSG_SET_ANIM_TIER = 0x15D9,
+ SMSG_SET_CURRENCY = 0x194A,
SMSG_SET_DF_FAST_LAUNCH_RESULT = 0xBADD,
- SMSG_SET_DUNGEON_DIFFICULTY = 0xBADD,
- SMSG_SET_FACTION_AT_WAR = 0xBADD,
- SMSG_SET_FACTION_NOT_VISIBLE = 0xBADD,
- SMSG_SET_FACTION_STANDING = 0xBADD,
- SMSG_SET_FACTION_VISIBLE = 0xBADD,
- SMSG_SET_FLAT_SPELL_MODIFIER = 0x0E59,
+ SMSG_SET_DUNGEON_DIFFICULTY = 0x1109,
+ SMSG_SET_FACTION_AT_WAR = 0x1589,
+ SMSG_SET_FACTION_NOT_VISIBLE = 0x15A3,
+ SMSG_SET_FACTION_STANDING = 0x1129,
+ SMSG_SET_FACTION_VISIBLE = 0x0A72,
+ SMSG_SET_FLAT_SPELL_MODIFIER = 0x120B,
SMSG_SET_FORCED_REACTIONS = 0xBADD,
SMSG_SET_ITEM_PURCHASE_DATA = 0xBADD,
SMSG_SET_LFG_TIME_WALKER = 0xBADD,
SMSG_SET_LOOT_METHOD_FAILED = 0xBADD,
SMSG_SET_MAX_WEEKLY_QUANTITY = 0xBADD,
- SMSG_SET_MELEE_ANIM_KIT = 0xBADD,
- SMSG_SET_PCT_SPELL_MODIFIER = 0xBADD,
+ SMSG_SET_MELEE_ANIM_KIT = 0x1B2C,
+ SMSG_SET_PCT_SPELL_MODIFIER = 0x0E59,
SMSG_SET_PHASE_SHIFT_CHANGE = 0x17F9,
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0xBADD,
- SMSG_SET_PLAY_HOVER_ANIM = 0xBADD,
+ SMSG_SET_PLAY_HOVER_ANIM = 0x01C3,
SMSG_SET_PROFICIENCY = 0x092A,
SMSG_SET_PROJECTILE_POSITION = 0xBADD,
SMSG_SET_PROMOTION_RESPONSE = 0xBADD,
- SMSG_SET_QUEST_COMPLETED_BIT = 0xBADD,
- SMSG_SET_RAID_DIFFICULTY = 0xBADD,
+ SMSG_SET_RAID_DIFFICULTY = 0x1319,
SMSG_SET_SERVER_WOW_TIME = 0xBADD,
SMSG_SET_SPELL_CHARGES = 0xBADD,
SMSG_SET_TASK_COMPLETE = 0xBADD,
SMSG_SET_TIME_ZONE_INFORMATION = 0x15B4,
SMSG_SET_VEHICLE_REC_ID = 0x0971,
SMSG_SET_VIGNETTE = 0x11E4,
- SMSG_SHOW_BANK = 0xBADD,
- SMSG_SHOW_MAILBOX = 0xBADD,
- SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0xBADD,
+ SMSG_SHOW_BANK = 0x1B3A,
+ SMSG_SHOW_MAILBOX = 0x1B7A,
+ SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x1D5A,
SMSG_SHOW_RATINGS = 0xBADD,
- SMSG_SHOW_TAXI_NODES = 0xBADD,
- SMSG_SHOW_TRADE_SKILL_RESPONSE = 0xBADD,
+ SMSG_SHOW_TAXI_NODES = 0x13B3,
+ SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x151B,
SMSG_SHOW_ZONES_CHEAT_RESULT = 0xBADD,
SMSG_SOCKET_GEMS = 0xBADD,
SMSG_SORT_BAGS_ACK = 0xBADD,
SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0xBADD,
- SMSG_SPECIAL_MOUNT_ANIM = 0xBADD,
+ SMSG_SPECIAL_MOUNT_ANIM = 0x19B1,
SMSG_SPELLBREAKLOG = 0xBADD,
SMSG_SPELLSTEALLOG = 0xBADD,
- SMSG_SPELL_ABSORB_LOG = 0xBADD,
- SMSG_SPELL_CATEGORY_COOLDOWN = 0xBADD,
- SMSG_SPELL_COOLDOWN = 0xBADD,
+ SMSG_SPELL_ABSORB_LOG = 0x12C1,
+ SMSG_SPELL_CATEGORY_COOLDOWN = 0x0E5B,
+ SMSG_SPELL_COOLDOWN = 0x047B,
SMSG_SPELL_DAMAGE_SHIELD = 0xBADD,
- SMSG_SPELL_DELAYED = 0xBADD,
- SMSG_SPELL_DISPEL_LOG = 0xBADD,
- SMSG_SPELL_ENERGIZE_LOG = 0xBADD,
- SMSG_SPELL_EXECUTE_LOG = 0xBADD,
- SMSG_SPELL_FAILED_OTHER = 0xBADD,
- SMSG_SPELL_FAILURE = 0xBADD,
+ SMSG_SPELL_DELAYED = 0x0D7A,
+ SMSG_SPELL_DISPEL_LOG = 0x045B,
+ SMSG_SPELL_ENERGIZE_LOG = 0x1809,
+ SMSG_SPELL_EXECUTE_LOG = 0x044C,
+ SMSG_SPELL_FAILED_OTHER = 0x128A,
+ SMSG_SPELL_FAILURE = 0x072A,
SMSG_SPELL_GO = 0x1281,
SMSG_SPELL_HEAL_LOG = 0x1043,
- SMSG_SPELL_INSTAKILL_LOG = 0xBADD,
- SMSG_SPELL_INTERRUPT_LOG = 0xBADD,
- SMSG_SPELL_MISS_LOG = 0xBADD,
- SMSG_SPELL_MULTISTRIKE_EFFECT = 0xBADD,
- SMSG_SPELL_NON_MELEE_DAMAGE_LOG = 0xBADD,
+ SMSG_SPELL_INSTAKILL_LOG = 0x074C,
+ SMSG_SPELL_INTERRUPT_LOG = 0x160C,
+ SMSG_SPELL_MISS_LOG = 0x057A,
+ SMSG_SPELL_MULTISTRIKE_EFFECT = 0x06A9,
+ SMSG_SPELL_NON_MELEE_DAMAGE_LOG = 0x0479,
SMSG_SPELL_OR_DAMAGE_IMMUNE = 0xBADD,
SMSG_SPELL_START = 0x0629,
- SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0xBADD,
+ SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x0AAB,
SMSG_SPIRIT_HEALER_CONFIRM = 0xBADD,
- SMSG_STAND_STATE_UPDATE = 0xBADD,
+ SMSG_STAND_STATE_UPDATE = 0x178A,
SMSG_START_ELAPSED_TIMER = 0xBADD,
- SMSG_START_ELAPSED_TIMERS = 0xBADD,
+ SMSG_START_ELAPSED_TIMERS = 0x192B,
SMSG_START_LOOT_ROLL = 0xBADD,
- SMSG_START_MIRROR_TIMER = 0xBADD,
+ SMSG_START_MIRROR_TIMER = 0x15FB,
SMSG_START_TIMER = 0xBADD,
SMSG_STOP_DANCE = 0xBADD,
- SMSG_STOP_ELAPSED_TIMER = 0xBADD,
- SMSG_STOP_MIRROR_TIMER = 0xBADD,
+ SMSG_STOP_ELAPSED_TIMER = 0x092B,
+ SMSG_STOP_MIRROR_TIMER = 0x0D81,
SMSG_STREAMING_MOVIE = 0xBADD,
SMSG_SUMMON_CANCEL = 0xBADD,
SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0xBADD,
SMSG_SUMMON_REQUEST = 0xBADD,
SMSG_SUPERCEDED_SPELL = 0xBADD,
- SMSG_SUPPRESS_NPC_GREETINGS = 0xBADD,
+ SMSG_SUPPRESS_NPC_GREETINGS = 0x118B,
SMSG_SUSPEND_COMMS = 0x068B,
SMSG_SUSPEND_TOKEN = 0x1BB4,
SMSG_TABARD_VENDOR_ACTIVATE = 0xBADD,
SMSG_TALENTS_ERROR = 0xBADD,
SMSG_TALENTS_INFO = 0x04C4,
SMSG_TALENTS_INVOLUNTARILY_RESET = 0xBADD,
- SMSG_TAXINODE_STATUS = 0xBADD,
+ SMSG_TAXINODE_STATUS = 0x13F1,
SMSG_TEST_DROP_RATE_RESULT = 0xBADD,
SMSG_TEXT_EMOTE = 0x158A,
- SMSG_THREAT_CLEAR = 0xBADD,
- SMSG_THREAT_REMOVE = 0xBADD,
- SMSG_THREAT_UPDATE = 0xBADD,
+ SMSG_THREAT_CLEAR = 0x1929,
+ SMSG_THREAT_REMOVE = 0x0CC1,
+ SMSG_THREAT_UPDATE = 0x0B33,
SMSG_TIME_ADJUSTMENT = 0xBADD,
SMSG_TIME_SYNC_REQ = 0x0A01,
SMSG_TITLE_EARNED = 0xBADD,
@@ -1781,9 +1777,9 @@ enum OpcodeServer : uint32
SMSG_TRADE_UPDATED = 0xBADD,
SMSG_TRAINER_BUY_FAILED = 0xBADD,
SMSG_TRAINER_BUY_SUCCEEDED = 0xBADD,
- SMSG_TRAINER_LIST = 0xBADD,
- SMSG_TRANSFER_ABORTED = 0xBADD,
- SMSG_TRANSFER_PENDING = 0xBADD,
+ SMSG_TRAINER_LIST = 0x1F4B,
+ SMSG_TRANSFER_ABORTED = 0x1B7C,
+ SMSG_TRANSFER_PENDING = 0x1BDB,
SMSG_TRIGGER_CINEMATIC = 0xBADD,
SMSG_TRIGGER_MOVIE = 0xBADD,
SMSG_TURN_IN_PETITION_RESULTS = 0xBADD,
@@ -1799,14 +1795,14 @@ enum OpcodeServer : uint32
SMSG_UPDATE_CHARACTER_FLAGS = 0xBADD,
SMSG_UPDATE_COMBO_POINTS = 0xBADD,
SMSG_UPDATE_CURRENCY_WEEK_LIMIT = 0xBADD,
- SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT = 0xBADD,
- SMSG_UPDATE_EXPANSION_LEVEL = 0xBADD,
+ SMSG_UPDATE_DUNGEON_ENCOUNTER_FOR_LOOT = 0x09F1,
+ SMSG_UPDATE_EXPANSION_LEVEL = 0x0D82,
SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT = 0xBADD,
- SMSG_UPDATE_INSTANCE_OWNERSHIP = 0xBADD,
- SMSG_UPDATE_LAST_INSTANCE = 0xBADD,
+ SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x0922,
+ SMSG_UPDATE_LAST_INSTANCE = 0x1B5A,
SMSG_UPDATE_OBJECT = 0x1762,
SMSG_UPDATE_SERVER_PLAYER_POSITION = 0xBADD,
- SMSG_UPDATE_TASK_PROGRESS = 0xBADD,
+ SMSG_UPDATE_TASK_PROGRESS = 0x155A,
SMSG_UPDATE_WORLD_STATE = 0x15BA,
SMSG_USERLIST_ADD = 0xBADD,
SMSG_USERLIST_REMOVE = 0xBADD,
@@ -1834,9 +1830,10 @@ enum OpcodeServer : uint32
SMSG_WHO = 0x14F2,
SMSG_WHOIS = 0xBADD,
SMSG_WORLD_SERVER_INFO = 0x0864,
- SMSG_XP_GAIN_ABORTED = 0xBADD,
- SMSG_XP_GAIN_ENABLED = 0xBADD,
- SMSG_ZONE_UNDER_ATTACK = 0xBADD
+ SMSG_WORLD_TEXT = 0x172C,
+ SMSG_XP_GAIN_ABORTED = 0x0B23,
+ SMSG_XP_GAIN_ENABLED = 0x1B73,
+ SMSG_ZONE_UNDER_ATTACK = 0x1474
};
inline bool IsInstanceOnlyOpcode(uint32 opcode)
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 15a06a29cb7..6c889b51631 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -272,8 +272,8 @@ void WorldSession::SendPacket(WorldPacket const* packet, bool forced /*= false*/
{
uint64 minTime = uint64(cur_time - lastTime);
uint64 fullTime = uint64(lastTime - firstTime);
- TC_LOG_INFO("misc", "Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime));
- TC_LOG_INFO("misc", "Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime);
+ TC_LOG_DEBUG("misc", "Send all time packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f time: %u", sendPacketCount, sendPacketBytes, float(sendPacketCount)/fullTime, float(sendPacketBytes)/fullTime, uint32(fullTime));
+ TC_LOG_DEBUG("misc", "Send last min packets count: " UI64FMTD " bytes: " UI64FMTD " avr.count/sec: %f avr.bytes/sec: %f", sendLastPacketCount, sendLastPacketBytes, float(sendLastPacketCount)/minTime, float(sendLastPacketBytes)/minTime);
lastTime = cur_time;
sendLastPacketCount = 1;
@@ -865,7 +865,7 @@ void WorldSession::ReadAddonsInfo(ByteBuffer& data)
addonInfo >> enabled >> crc >> unk1;
- TC_LOG_INFO("misc", "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1);
+ TC_LOG_DEBUG("misc", "ADDON: Name: %s, Enabled: 0x%x, CRC: 0x%x, Unknown2: 0x%x", addonName.c_str(), enabled, crc, unk1);
AddonInfo addon(addonName, enabled, crc, 2, true);
@@ -873,15 +873,15 @@ void WorldSession::ReadAddonsInfo(ByteBuffer& data)
if (savedAddon)
{
if (addon.CRC != savedAddon->CRC)
- TC_LOG_INFO("misc", "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC);
+ TC_LOG_ERROR("misc", "ADDON: %s was known, but didn't match known CRC (0x%x)!", addon.Name.c_str(), savedAddon->CRC);
else
- TC_LOG_INFO("misc", "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC);
+ TC_LOG_DEBUG("misc", "ADDON: %s was known, CRC is correct (0x%x)", addon.Name.c_str(), savedAddon->CRC);
}
else
{
AddonMgr::SaveAddon(addon);
- TC_LOG_INFO("misc", "ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC);
+ TC_LOG_DEBUG("misc", "ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC);
}
/// @todo Find out when to not use CRC/pubkey, and other possible states.
@@ -1174,7 +1174,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p, time_t time) co
return true;
case POLICY_KICK:
{
- TC_LOG_INFO("network", "AntiDOS: Player kicked!");
+ TC_LOG_WARN("network", "AntiDOS: Player kicked!");
Session->KickPlayer();
return false;
}
@@ -1190,7 +1190,7 @@ bool WorldSession::DosProtection::EvaluateOpcode(WorldPacket& p, time_t time) co
case BAN_IP: nameOrIp = Session->GetRemoteAddress(); break;
}
sWorld->BanAccount(bm, nameOrIp, duration, "DOS (Packet Flooding/Spoofing", "Server: AutoDOS");
- TC_LOG_INFO("network", "AntiDOS: Player automatically banned for %u seconds.", duration);
+ TC_LOG_WARN("network", "AntiDOS: Player automatically banned for %u seconds.", duration);
Session->KickPlayer();
return false;
}
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 092827f96ec..61d52cc8bff 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -121,6 +121,7 @@ namespace WorldPackets
class PlayedTimeClient;
class ShowingCloak;
class ShowingHelm;
+ class SetTitle;
enum class LoginFailureReason : uint8;
}
@@ -286,6 +287,8 @@ namespace WorldPackets
class ClientPlayerMovement;
class WorldPortAck;
class MoveTeleportAck;
+ class MovementAck;
+ class MovementSpeedAck;
}
namespace NPC
@@ -330,6 +333,8 @@ namespace WorldPackets
class QuestGiverCompleteQuest;
class QuestGiverRequestReward;
class QuestGiverQueryQuest;
+ class QuestGiverAcceptQuest;
+ class QuestLogRemoveQuest;
}
namespace Social
@@ -345,6 +350,7 @@ namespace WorldPackets
namespace Spells
{
class CancelAura;
+ class CancelCast;
class CastSpell;
class PetCastSpell;
class UseItem;
@@ -406,9 +412,9 @@ enum AccountDataType
enum TutorialAction
{
- TUTORIAL_ACTION_UPDATE = 0,
- TUTORIAL_ACTION_CLEAR = 1,
- TUTORIAL_ACTION_RESET = 2
+ TUTORIAL_ACTION_CLEAR = 1,
+ TUTORIAL_ACTION_UPDATE = 2,
+ TUTORIAL_ACTION_RESET = 3
};
/*
@@ -834,7 +840,7 @@ class WorldSession
void HandleMoveKnockBackAck(WorldPacket& recvPacket);
void HandleMoveTeleportAck(WorldPackets::Movement::MoveTeleportAck& packet);
- void HandleForceSpeedChangeAck(WorldPacket& recvData);
+ void HandleForceSpeedChangeAck(WorldPackets::Movement::MovementSpeedAck& packet);
void HandleSetCollisionHeightAck(WorldPacket& recvPacket);
void HandlePingOpcode(WorldPacket& recvPacket);
@@ -1079,7 +1085,7 @@ class WorldSession
void HandleUseItemOpcode(WorldPackets::Spells::UseItem& packet);
void HandleOpenItemOpcode(WorldPacket& recvPacket);
void HandleCastSpellOpcode(WorldPackets::Spells::CastSpell& castRequest);
- void HandleCancelCastOpcode(WorldPacket& recvPacket);
+ void HandleCancelCastOpcode(WorldPackets::Spells::CancelCast& packet);
void HandleCancelAuraOpcode(WorldPackets::Spells::CancelAura& cancelAura);
void HandleCancelGrowthAuraOpcode(WorldPacket& recvPacket);
void HandleCancelAutoRepeatSpellOpcode(WorldPacket& recvPacket);
@@ -1092,14 +1098,14 @@ class WorldSession
void HandleQuestgiverStatusQueryOpcode(WorldPackets::Quest::QuestGiverStatusQuery& packet);
void HandleQuestgiverStatusMultipleQuery(WorldPackets::Quest::QuestGiverStatusMultipleQuery& packet);
void HandleQuestgiverHelloOpcode(WorldPackets::Quest::QuestGiverHello& packet);
- void HandleQuestgiverAcceptQuestOpcode(WorldPacket& recvPacket);
+ void HandleQuestgiverAcceptQuestOpcode(WorldPackets::Quest::QuestGiverAcceptQuest& packet);
void HandleQuestgiverQueryQuestOpcode(WorldPackets::Quest::QuestGiverQueryQuest& packet);
void HandleQuestgiverChooseRewardOpcode(WorldPackets::Quest::QuestGiverChooseReward& packet);
void HandleQuestgiverRequestRewardOpcode(WorldPackets::Quest::QuestGiverRequestReward& packet);
void HandleQuestQueryOpcode(WorldPackets::Quest::QueryQuestInfo& packet);
void HandleQuestgiverCancel(WorldPacket& recvData);
void HandleQuestLogSwapQuest(WorldPacket& recvData);
- void HandleQuestLogRemoveQuest(WorldPacket& recvData);
+ void HandleQuestLogRemoveQuest(WorldPackets::Quest::QuestLogRemoveQuest& packet);
void HandleQuestConfirmAccept(WorldPacket& recvData);
void HandleQuestgiverCompleteQuest(WorldPackets::Quest::QuestGiverCompleteQuest& packet);
void HandleQuestgiverQuestAutoLaunch(WorldPacket& recvPacket);
@@ -1202,7 +1208,7 @@ class WorldSession
void HandleSetDungeonDifficultyOpcode(WorldPackets::Misc::SetDungeonDifficulty& setDungeonDifficulty);
void HandleSetRaidDifficultyOpcode(WorldPackets::Misc::SetRaidDifficulty& setRaidDifficulty);
void HandleMoveSetCanFlyAckOpcode(WorldPacket& recvData);
- void HandleSetTitleOpcode(WorldPacket& recvData);
+ void HandleSetTitleOpcode(WorldPackets::Character::SetTitle& packet);
void HandleRealmSplitOpcode(WorldPacket& recvData);
void HandleTimeSyncResponse(WorldPackets::Misc::TimeSyncResponse& packet);
void HandleWhoisOpcode(WorldPackets::Who::WhoIsRequest& packet);
diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp
index 0fd66d82c8a..01035154214 100644
--- a/src/server/game/Server/WorldSocket.cpp
+++ b/src/server/game/Server/WorldSocket.cpp
@@ -212,14 +212,12 @@ bool WorldSocket::ReadDataHandler()
OpcodeClient opcode = static_cast<OpcodeClient>(cmd);
- std::string opcodeName = GetOpcodeNameForLogging(opcode);
-
WorldPacket packet(opcode, std::move(_packetBuffer), GetConnectionType());
if (sPacketLog->CanLogPacket())
sPacketLog->LogPacket(packet, CLIENT_TO_SERVER, GetRemoteIpAddress(), GetRemotePort(), GetConnectionType());
- TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), opcodeName.c_str());
+ TC_LOG_TRACE("network.opcode", "C->S: %s %s", (_worldSession ? _worldSession->GetPlayerInfo() : GetRemoteIpAddress().to_string()).c_str(), GetOpcodeNameForLogging(opcode).c_str());
switch (opcode)
{
@@ -252,18 +250,18 @@ bool WorldSocket::ReadDataHandler()
HandleAuthContinuedSession(authSession);
break;
}
- /*case CMSG_KEEP_ALIVE:
- TC_LOG_DEBUG("network", "%s", opcodeName.c_str());
+ case CMSG_KEEP_ALIVE:
+ TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
- break;*/
+ break;
case CMSG_LOG_DISCONNECT:
packet.rfinish(); // contains uint32 disconnectReason;
- TC_LOG_DEBUG("network", "%s", opcodeName.c_str());
+ TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
return true;
- /*case CMSG_ENABLE_NAGLE:
+ case CMSG_ENABLE_NAGLE:
{
- TC_LOG_DEBUG("network", "%s", opcodeName.c_str());
+ TC_LOG_DEBUG("network", "%s", GetOpcodeNameForLogging(opcode).c_str());
sScriptMgr->OnPacketReceive(_worldSession, packet);
if (_worldSession)
_worldSession->HandleEnableNagleAlgorithm();
@@ -275,7 +273,7 @@ bool WorldSocket::ReadDataHandler()
connectToFailed.Read();
HandleConnectToFailed(connectToFailed);
break;
- }*/
+ }
default:
{
if (!_worldSession)
@@ -627,7 +625,7 @@ void WorldSocket::HandleAuthSession(WorldPackets::Auth::AuthSession& authSession
if (allowedAccountType > SEC_PLAYER && AccountTypes(security) < allowedAccountType)
{
SendAuthResponseError(AUTH_UNAVAILABLE);
- TC_LOG_INFO("network", "WorldSocket::HandleAuthSession: User tries to login but his security level is not enough");
+ TC_LOG_DEBUG("network", "WorldSocket::HandleAuthSession: User tries to login but his security level is not enough");
sScriptMgr->OnFailedAccountLogin(id);
DelayedCloseSocket();
return;
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 919f11a5db4..ffc39e40713 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -523,23 +523,23 @@ void SpellCastTargets::Update(Unit* caster)
void SpellCastTargets::OutDebug() const
{
if (!m_targetMask)
- TC_LOG_INFO("spells", "No targets");
+ TC_LOG_DEBUG("spells", "No targets");
- TC_LOG_INFO("spells", "target mask: %u", m_targetMask);
+ TC_LOG_DEBUG("spells", "target mask: %u", m_targetMask);
if (m_targetMask & (TARGET_FLAG_UNIT_MASK | TARGET_FLAG_CORPSE_MASK | TARGET_FLAG_GAMEOBJECT_MASK))
- TC_LOG_INFO("spells", "Object target: %s", m_objectTargetGUID.ToString().c_str());
+ TC_LOG_DEBUG("spells", "Object target: %s", m_objectTargetGUID.ToString().c_str());
if (m_targetMask & TARGET_FLAG_ITEM)
- TC_LOG_INFO("spells", "Item target: %s", m_itemTargetGUID.ToString().c_str());
+ TC_LOG_DEBUG("spells", "Item target: %s", m_itemTargetGUID.ToString().c_str());
if (m_targetMask & TARGET_FLAG_TRADE_ITEM)
- TC_LOG_INFO("spells", "Trade item target: %s", m_itemTargetGUID.ToString().c_str());
+ TC_LOG_DEBUG("spells", "Trade item target: %s", m_itemTargetGUID.ToString().c_str());
if (m_targetMask & TARGET_FLAG_SOURCE_LOCATION)
- TC_LOG_INFO("spells", "Source location: transport guid:%s trans offset: %s position: %s", m_src._transportGUID.ToString().c_str(), m_src._transportOffset.ToString().c_str(), m_src._position.ToString().c_str());
+ TC_LOG_DEBUG("spells", "Source location: transport guid:%s trans offset: %s position: %s", m_src._transportGUID.ToString().c_str(), m_src._transportOffset.ToString().c_str(), m_src._position.ToString().c_str());
if (m_targetMask & TARGET_FLAG_DEST_LOCATION)
- TC_LOG_INFO("spells", "Destination location: transport guid:%s trans offset: %s position: %s", m_dst._transportGUID.ToString().c_str(), m_dst._transportOffset.ToString().c_str(), m_dst._position.ToString().c_str());
+ TC_LOG_DEBUG("spells", "Destination location: transport guid:%s trans offset: %s position: %s", m_dst._transportGUID.ToString().c_str(), m_dst._transportOffset.ToString().c_str(), m_dst._position.ToString().c_str());
if (m_targetMask & TARGET_FLAG_STRING)
- TC_LOG_INFO("spells", "String: %s", m_strTarget.c_str());
- TC_LOG_INFO("spells", "speed: %f", m_speed);
- TC_LOG_INFO("spells", "pitch: %f", m_pitch);
+ TC_LOG_DEBUG("spells", "String: %s", m_strTarget.c_str());
+ TC_LOG_DEBUG("spells", "speed: %f", m_speed);
+ TC_LOG_DEBUG("spells", "pitch: %f", m_pitch);
}
SpellValue::SpellValue(Difficulty diff, SpellInfo const* proto)
@@ -6408,7 +6408,7 @@ void Spell::Delayed() // only called in DealDamage()
else
m_timer += delaytime;
- TC_LOG_INFO("spells", "Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime);
+ TC_LOG_DEBUG("spells", "Spell %u partially interrupted for (%d) ms at damage", m_spellInfo->Id, delaytime);
WorldPacket data(SMSG_SPELL_DELAYED, 8+4);
data << m_caster->GetPackGUID();
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 06cf95c77d2..a5afe74728f 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -3929,7 +3929,7 @@ void Spell::EffectStuck(SpellEffIndex /*effIndex*/)
return;
TC_LOG_DEBUG("spells", "Spell Effect: Stuck");
- TC_LOG_INFO("spells", "Player %s (%s) used auto-unstuck future at map %u (%f, %f, %f)", player->GetName().c_str(), player->GetGUID().ToString().c_str(), player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ());
+ TC_LOG_DEBUG("spells", "Player %s (%s) used auto-unstuck future at map %u (%f, %f, %f)", player->GetName().c_str(), player->GetGUID().ToString().c_str(), player->GetMapId(), player->GetPositionX(), player->GetPositionY(), player->GetPositionZ());
if (player->IsInFlight())
return;
diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
index 9ce694fb76c..ca281bab60a 100644
--- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp
@@ -40,25 +40,44 @@ EndContentData */
enum Sylvanas
{
- QUEST_JOURNEY_TO_UNDERCITY = 9180,
- EMOTE_LAMENT_END = 0,
- SAY_LAMENT_END = 1,
+ QUEST_JOURNEY_TO_UNDERCITY = 9180,
- SOUND_CREDIT = 10896,
- ENTRY_HIGHBORNE_LAMENTER = 21628,
- ENTRY_HIGHBORNE_BUNNY = 21641,
+ EMOTE_LAMENT_END = 0,
+ SAY_LAMENT_END = 1,
+ EMOTE_LAMENT = 2,
- SPELL_HIGHBORNE_AURA = 37090,
- SPELL_SYLVANAS_CAST = 36568,
- SPELL_RIBBON_OF_SOULS = 34432, // the real one to use might be 37099
+ // Ambassador Sunsorrow
+ SAY_SUNSORROW_WHISPER = 0,
+
+ SOUND_CREDIT = 10896,
+
+ NPC_HIGHBORNE_LAMENTER = 21628,
+ NPC_HIGHBORNE_BUNNY = 21641,
+ NPC_AMBASSADOR_SUNSORROW = 16287,
+
+ SPELL_HIGHBORNE_AURA = 37090,
+ SPELL_SYLVANAS_CAST = 36568,
+ //SPELL_RIBBON_OF_SOULS = 34432, the real one to use might be 37099
+ SPELL_RIBBON_OF_SOULS = 37099,
// Combat spells
- SPELL_BLACK_ARROW = 59712,
- SPELL_FADE = 20672,
- SPELL_FADE_BLINK = 29211,
- SPELL_MULTI_SHOT = 59713,
- SPELL_SHOT = 59710,
- SPELL_SUMMON_SKELETON = 59711
+ SPELL_BLACK_ARROW = 59712,
+ SPELL_FADE = 20672,
+ SPELL_FADE_BLINK = 29211,
+ SPELL_MULTI_SHOT = 59713,
+ SPELL_SHOT = 59710,
+ SPELL_SUMMON_SKELETON = 59711,
+
+ // Events
+ EVENT_FADE = 1,
+ EVENT_SUMMON_SKELETON = 2,
+ EVENT_BLACK_ARROW = 3,
+ EVENT_SHOOT = 4,
+ EVENT_MULTI_SHOT = 5,
+ EVENT_LAMENT_OF_THE_HIGHBORN = 6,
+ EVENT_SUNSORROW_WHISPER = 7,
+
+ GUID_EVENT_INVOKER = 1,
};
float HighborneLoc[4][3]=
@@ -77,26 +96,14 @@ class npc_lady_sylvanas_windrunner : public CreatureScript
public:
npc_lady_sylvanas_windrunner() : CreatureScript("npc_lady_sylvanas_windrunner") { }
- bool OnQuestReward(Player* /*player*/, Creature* creature, const Quest *_Quest, uint32 /*slot*/) override
+ bool OnQuestReward(Player* player, Creature* creature, const Quest *_Quest, uint32 /*slot*/) override
{
if (_Quest->GetQuestId() == QUEST_JOURNEY_TO_UNDERCITY)
- {
- ENSURE_AI(npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI, creature->AI())->LamentEvent = true;
- ENSURE_AI(npc_lady_sylvanas_windrunner::npc_lady_sylvanas_windrunnerAI, creature->AI())->DoPlaySoundToSet(creature, SOUND_CREDIT);
- creature->CastSpell(creature, SPELL_SYLVANAS_CAST, false);
-
- for (uint8 i = 0; i < 4; ++i)
- creature->SummonCreature(ENTRY_HIGHBORNE_LAMENTER, HighborneLoc[i][0], HighborneLoc[i][1], HIGHBORNE_LOC_Y, HighborneLoc[i][2], TEMPSUMMON_TIMED_DESPAWN, 160000);
- }
+ creature->AI()->SetGUID(player->GetGUID(), GUID_EVENT_INVOKER);
return true;
}
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_lady_sylvanas_windrunnerAI(creature);
- }
-
struct npc_lady_sylvanas_windrunnerAI : public ScriptedAI
{
npc_lady_sylvanas_windrunnerAI(Creature* creature) : ScriptedAI(creature)
@@ -106,41 +113,51 @@ public:
void Initialize()
{
- LamentEventTimer = 5000;
LamentEvent = false;
targetGUID.Clear();
-
- FadeTimer = 30000;
- SummonSkeletonTimer = 20000;
- BlackArrowTimer = 15000;
- ShotTimer = 8000;
- MultiShotTimer = 10000;
+ playerGUID.Clear();
}
- uint32 LamentEventTimer;
- bool LamentEvent;
- ObjectGuid targetGUID;
-
- uint32 FadeTimer;
- uint32 SummonSkeletonTimer;
- uint32 BlackArrowTimer;
- uint32 ShotTimer;
- uint32 MultiShotTimer;
-
void Reset() override
{
Initialize();
+ _events.Reset();
}
- void EnterCombat(Unit* /*who*/) override { }
+ void EnterCombat(Unit* /*who*/) override
+ {
+ _events.ScheduleEvent(EVENT_FADE, 30000);
+ _events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20000);
+ _events.ScheduleEvent(EVENT_BLACK_ARROW, 15000);
+ _events.ScheduleEvent(EVENT_SHOOT, 8000);
+ _events.ScheduleEvent(EVENT_MULTI_SHOT, 10000);
+ }
+
+ void SetGUID(ObjectGuid guid, int32 type) override
+ {
+ if (type == GUID_EVENT_INVOKER)
+ {
+ Talk(EMOTE_LAMENT);
+ DoPlaySoundToSet(me, SOUND_CREDIT);
+ DoCast(me, SPELL_SYLVANAS_CAST, false);
+ playerGUID = guid;
+ LamentEvent = true;
+
+ for (uint8 i = 0; i < 4; ++i)
+ me->SummonCreature(NPC_HIGHBORNE_LAMENTER, HighborneLoc[i][0], HighborneLoc[i][1], HIGHBORNE_LOC_Y, HighborneLoc[i][2], TEMPSUMMON_TIMED_DESPAWN, 160000);
+
+ _events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2000);
+ _events.ScheduleEvent(EVENT_SUNSORROW_WHISPER, 10000);
+ }
+ }
void JustSummoned(Creature* summoned) override
{
- if (summoned->GetEntry() == ENTRY_HIGHBORNE_BUNNY)
+ if (summoned->GetEntry() == NPC_HIGHBORNE_BUNNY)
{
if (Creature* target = ObjectAccessor::GetCreature(*summoned, targetGUID))
{
- target->MonsterMoveWithSpeed(target->GetPositionX(), target->GetPositionY(), me->GetPositionZ()+15.0f, 0);
+ target->GetMotionMaster()->MoveJump(target->GetPositionX(), target->GetPositionY(), me->GetPositionZ() + 15.0f, 0);
target->SetPosition(target->GetPositionX(), target->GetPositionY(), me->GetPositionZ()+15.0f, 0.0f);
summoned->CastSpell(target, SPELL_RIBBON_OF_SOULS, false);
}
@@ -152,75 +169,86 @@ public:
void UpdateAI(uint32 diff) override
{
- if (LamentEvent)
- {
- if (LamentEventTimer <= diff)
- {
- DoSummon(ENTRY_HIGHBORNE_BUNNY, me, 10.0f, 3000, TEMPSUMMON_TIMED_DESPAWN);
-
- LamentEventTimer = 2000;
- if (!me->HasAura(SPELL_SYLVANAS_CAST))
- {
- Talk(SAY_LAMENT_END);
- Talk(EMOTE_LAMENT_END);
- LamentEvent = false;
- }
- } else LamentEventTimer -= diff;
- }
-
- if (!UpdateVictim())
+ if (!UpdateVictim() && !LamentEvent)
return;
- // Combat spells
-
- if (FadeTimer <= diff)
- {
- DoCast(me, SPELL_FADE);
- // add a blink to simulate a stealthed movement and reappearing elsewhere
- DoCast(me, SPELL_FADE_BLINK);
- FadeTimer = 30000 + rand32() % 5000;
- // if the victim is out of melee range she cast multi shot
- if (Unit* victim = me->GetVictim())
- if (me->GetDistance(victim) > 10.0f)
- DoCast(victim, SPELL_MULTI_SHOT);
- } else FadeTimer -= diff;
-
- if (SummonSkeletonTimer <= diff)
- {
- DoCast(me, SPELL_SUMMON_SKELETON);
- SummonSkeletonTimer = 20000 + rand32() % 10000;
- } else SummonSkeletonTimer -= diff;
-
- if (BlackArrowTimer <= diff)
- {
- if (Unit* victim = me->GetVictim())
- {
- DoCast(victim, SPELL_BLACK_ARROW);
- BlackArrowTimer = 15000 + rand32() % 5000;
- }
- } else BlackArrowTimer -= diff;
+ _events.Update(diff);
- if (ShotTimer <= diff)
- {
- if (Unit* victim = me->GetVictim())
- {
- DoCast(victim, SPELL_SHOT);
- ShotTimer = 8000 + rand32() % 2000;
- }
- } else ShotTimer -= diff;
+ if (me->HasUnitState(UNIT_STATE_CASTING))
+ return;
- if (MultiShotTimer <= diff)
+ while (uint32 eventId = _events.ExecuteEvent())
{
- if (Unit* victim = me->GetVictim())
+ switch (eventId)
{
- DoCast(victim, SPELL_MULTI_SHOT);
- MultiShotTimer = 10000 + rand32() % 3000;
+ case EVENT_FADE:
+ DoCast(me, SPELL_FADE);
+ // add a blink to simulate a stealthed movement and reappearing elsewhere
+ DoCast(me, SPELL_FADE_BLINK);
+ // if the victim is out of melee range she cast multi shot
+ if (Unit* victim = me->GetVictim())
+ if (me->GetDistance(victim) > 10.0f)
+ DoCast(victim, SPELL_MULTI_SHOT);
+ _events.ScheduleEvent(EVENT_FADE, urand(30000, 35000));
+ break;
+ case EVENT_SUMMON_SKELETON:
+ DoCast(me, SPELL_SUMMON_SKELETON);
+ _events.ScheduleEvent(EVENT_SUMMON_SKELETON, urand(20000, 30000));
+ break;
+ case EVENT_BLACK_ARROW:
+ if (Unit* victim = me->GetVictim())
+ DoCast(victim, SPELL_BLACK_ARROW);
+ _events.ScheduleEvent(EVENT_BLACK_ARROW, urand(15000, 20000));
+ break;
+ case EVENT_SHOOT:
+ if (Unit* victim = me->GetVictim())
+ DoCast(victim, SPELL_SHOT);
+ _events.ScheduleEvent(EVENT_SHOOT, urand(8000, 10000));
+ break;
+ case EVENT_MULTI_SHOT:
+ if (Unit* victim = me->GetVictim())
+ DoCast(victim, SPELL_MULTI_SHOT);
+ _events.ScheduleEvent(EVENT_MULTI_SHOT, urand(10000, 13000));
+ break;
+ case EVENT_LAMENT_OF_THE_HIGHBORN:
+ if (!me->HasAura(SPELL_SYLVANAS_CAST))
+ {
+ Talk(SAY_LAMENT_END);
+ Talk(EMOTE_LAMENT_END);
+ LamentEvent = false;
+ me->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
+ Reset();
+ }
+ else
+ {
+ DoSummon(NPC_HIGHBORNE_BUNNY, me, 10.0f, 3000, TEMPSUMMON_TIMED_DESPAWN);
+ _events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2000);
+ }
+ break;
+ case EVENT_SUNSORROW_WHISPER:
+ if (Creature* ambassador = me->FindNearestCreature(NPC_AMBASSADOR_SUNSORROW, 20.0f))
+ if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID))
+ ambassador->AI()->Talk(SAY_SUNSORROW_WHISPER, player);
+ break;
+ default:
+ break;
}
- } else MultiShotTimer -= diff;
+ }
DoMeleeAttackIfReady();
}
+
+ private:
+ EventMap _events;
+ bool LamentEvent;
+ ObjectGuid targetGUID;
+ ObjectGuid playerGUID;
};
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_lady_sylvanas_windrunnerAI(creature);
+ }
};
/*######
diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/server/shared/Debugging/WheatyExceptionReport.cpp
index e9f4f9ca9ac..f8f641a9ea7 100644
--- a/src/server/shared/Debugging/WheatyExceptionReport.cpp
+++ b/src/server/shared/Debugging/WheatyExceptionReport.cpp
@@ -1068,7 +1068,7 @@ bool logChildren)
{
case btChar:
case btStdString:
- FormatOutputValue(buffer, basicType, length, (PVOID)offset, sizeof(buffer));
+ FormatOutputValue(buffer, basicType, length, (PVOID)offset, sizeof(buffer), elementsCount);
symbolDetails.top().Value = buffer;
break;
default:
@@ -1196,7 +1196,8 @@ void WheatyExceptionReport::FormatOutputValue(char * pszCurrBuffer,
BasicType basicType,
DWORD64 length,
PVOID pAddress,
-size_t bufferSize)
+size_t bufferSize,
+size_t countOverride)
{
__try
{
@@ -1204,10 +1205,15 @@ size_t bufferSize)
{
case btChar:
{
- if (strlen((char*)pAddress) > bufferSize - 6)
+ // Special case handling for char[] type
+ if (countOverride != 0)
+ length = countOverride;
+ else
+ length = strlen((char*)pAddress);
+ if (length > bufferSize - 6)
pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s...\"", bufferSize - 6, (char*)pAddress);
else
- pszCurrBuffer += sprintf(pszCurrBuffer, "\"%s\"", (char*)pAddress);
+ pszCurrBuffer += sprintf(pszCurrBuffer, "\"%.*s\"", length, (char*)pAddress);
break;
}
case btStdString:
diff --git a/src/server/shared/Debugging/WheatyExceptionReport.h b/src/server/shared/Debugging/WheatyExceptionReport.h
index 9137b91aac9..b7731daaa2b 100644
--- a/src/server/shared/Debugging/WheatyExceptionReport.h
+++ b/src/server/shared/Debugging/WheatyExceptionReport.h
@@ -172,7 +172,7 @@ class WheatyExceptionReport
static char * DumpTypeIndex(char *, DWORD64, DWORD, unsigned, DWORD_PTR, bool &, const char*, char*, bool, bool);
- static void FormatOutputValue(char * pszCurrBuffer, BasicType basicType, DWORD64 length, PVOID pAddress, size_t bufferSize);
+ static void FormatOutputValue(char * pszCurrBuffer, BasicType basicType, DWORD64 length, PVOID pAddress, size_t bufferSize, size_t countOverride = 0);
static BasicType GetBasicType(DWORD typeIndex, DWORD64 modBase);
static DWORD_PTR DereferenceUnsafePointer(DWORD_PTR address);
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index 861140d104f..c9a4432039f 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -199,6 +199,9 @@ void Log::CreateLoggerFromConfig(std::string const& appenderName)
return;
}
+ if (level < lowestLogLevel)
+ lowestLogLevel = level;
+
logger.Create(name, level);
//fprintf(stdout, "Log::CreateLoggerFromConfig: Created Logger %s, Level %u\n", name.c_str(), level);
@@ -309,6 +312,9 @@ bool Log::SetLogLevel(std::string const& name, const char* newLevelc, bool isLog
return false;
it->second.setLogLevel(newLevel);
+
+ if (newLevel != LOG_LEVEL_DISABLED && newLevel < lowestLogLevel)
+ lowestLogLevel = newLevel;
}
else
{
@@ -362,6 +368,7 @@ void Log::LoadFromConfig()
{
Close();
+ lowestLogLevel = LOG_LEVEL_FATAL;
AppenderId = 0;
m_logsDir = sConfigMgr->GetStringDefault("LogsDir", "");
if (!m_logsDir.empty())
diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h
index 0a14da74a50..85d012c4629 100644
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -100,6 +100,7 @@ class Log
AppenderMap appenders;
LoggerMap loggers;
uint8 AppenderId;
+ LogLevel lowestLogLevel;
std::string m_logsDir;
std::string m_logsTimestamp;
@@ -131,6 +132,10 @@ inline bool Log::ShouldLog(std::string const& type, LogLevel level) const
// Speed up in cases where requesting "Type.sub1.sub2" but only configured
// Logger "Type"
+ // Don't even look for a logger if the LogLevel is lower than lowest log levels across all loggers
+ if (level < lowestLogLevel)
+ return false;
+
Logger const* logger = GetLoggerByType(type);
if (!logger)
return false;