diff options
Diffstat (limited to 'src')
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; |
