diff options
36 files changed, 645 insertions, 909 deletions
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index e2a572b6dc7..dc3b5dd81ee 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -468,16 +468,16 @@ void ArenaTeam::Inspect(WorldSession* session, ObjectGuid guid) if (!member) return; - WorldPacket data(MSG_INSPECT_ARENA_TEAMS, 8+1+4*6); - data << guid; // player guid - data << uint8(GetSlot()); // slot (0...2) - data << uint32(GetId()); // arena team id - data << uint32(Stats.Rating); // rating - data << uint32(Stats.SeasonGames); // season played - data << uint32(Stats.SeasonWins); // season wins - data << uint32(member->SeasonGames); // played (count of all games, that the inspected member participated...) - data << uint32(member->PersonalRating); // personal rating - session->SendPacket(&data); + //WorldPacket data(MSG_INSPECT_ARENA_TEAMS, 8+1+4*6); + //data << guid; // player guid + //data << uint8(GetSlot()); // slot (0...2) + //data << uint32(GetId()); // arena team id + //data << uint32(Stats.Rating); // rating + //data << uint32(Stats.SeasonGames); // season played + //data << uint32(Stats.SeasonWins); // season wins + //data << uint32(member->SeasonGames); // played (count of all games, that the inspected member participated...) + //data << uint32(member->PersonalRating); // personal rating + //session->SendPacket(&data); } void ArenaTeamMember::ModifyPersonalRating(Player* player, int32 mod, uint32 type) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 2b37e228add..41dcf76145a 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -680,8 +680,6 @@ Player::Player(WorldSession* session): Unit(true) m_areaUpdateId = 0; m_team = 0; - m_needsZoneUpdate = false; - m_nextSave = sWorld->getIntConfig(CONFIG_INTERVAL_SAVE); _resurrectionData = NULL; @@ -6231,15 +6229,6 @@ bool Player::UpdatePosition(float x, float y, float z, float orientation, bool t // mover->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_TURNING); //AURA_INTERRUPT_FLAG_JUMP not sure - // Update player zone if needed - if (m_needsZoneUpdate) - { - uint32 newZone, newArea; - GetZoneAndAreaId(newZone, newArea); - UpdateZone(newZone, newArea); - m_needsZoneUpdate = false; - } - // group update if (GetGroup()) SetGroupUpdateFlag(GROUP_UPDATE_FLAG_POSITION); @@ -14062,7 +14051,7 @@ void Player::SendPreparedQuest(ObjectGuid guid) QuestMenu& questMenu = PlayerTalkClass->GetQuestMenu(); if (questMenu.Empty()) return; - + // single element case if (questMenu.GetMenuItemCount() == 1) { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 772ddd1799b..923261297ec 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1976,8 +1976,6 @@ class Player : public Unit, public GridObject<Player> void UpdatePvP(bool state, bool override=false); void UpdateZone(uint32 newZone, uint32 newArea); void UpdateArea(uint32 newArea); - void SetNeedsZoneUpdate(bool needsUpdate) { m_needsZoneUpdate = needsUpdate; } - void UpdateZoneDependentAuras(uint32 zone_id); // zones void UpdateAreaDependentAuras(uint32 area_id); // subzones @@ -2908,8 +2906,6 @@ class Player : public Unit, public GridObject<Player> uint8 m_grantableLevels; - bool m_needsZoneUpdate; - CUFProfile* _CUFProfiles[MAX_CUF_PROFILES]; private: diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index 983e250d7f2..54fb8b2f80e 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -845,8 +845,3 @@ void WorldSession::HandleRequestPvpReward(WorldPacket& /*recvData*/) _player->SendPvpRewards(); } - -void WorldSession::HandleRequestRatedBgStats(WorldPacket& /*recvData*/) -{ - // deleted opcode -} diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp index 1ea1a4623aa..debbec88e34 100644 --- a/src/server/game/Handlers/CalendarHandler.cpp +++ b/src/server/game/Handlers/CalendarHandler.cpp @@ -208,17 +208,6 @@ void WorldSession::HandleCalendarGuildFilter(WorldPacket& recvData) TC_LOG_DEBUG("network", "CMSG_CALENDAR_GUILD_FILTER: Min level [%d], Max level [%d], Min rank [%d]", minLevel, maxLevel, minRank); } -void WorldSession::HandleCalendarArenaTeam(WorldPacket& recvData) -{ - TC_LOG_DEBUG("network", "CMSG_CALENDAR_ARENA_TEAM [%s]", _player->GetGUID().ToString().c_str()); - - uint32 arenaTeamId; - recvData >> arenaTeamId; - - if (ArenaTeam* team = sArenaTeamMgr->GetArenaTeamById(arenaTeamId)) - team->MassInviteToEvent(this); -} - void WorldSession::HandleCalendarAddEvent(WorldPacket& recvData) { ObjectGuid guid = _player->GetGUID(); diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index a6af38fa620..881326f3b19 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -334,7 +334,7 @@ void WorldSession::HandleCharUndeleteEnumOpcode(WorldPackets::Character::EnumCha _charEnumCallback.SetFutureResult(CharacterDatabase.AsyncQuery(stmt)); } -void WorldSession::HandleCharCreateOpcode(WorldPackets::Character::CreateChar& charCreate) +void WorldSession::HandleCharCreateOpcode(WorldPackets::Character::CreateCharacter& charCreate) { if (!HasPermission(rbac::RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_TEAMMASK)) { @@ -702,7 +702,7 @@ void WorldSession::HandleCharCreateCallback(PreparedQueryResult result, WorldPac } } -void WorldSession::HandleCharDeleteOpcode(WorldPackets::Character::DeleteChar& charDelete) +void WorldSession::HandleCharDeleteOpcode(WorldPackets::Character::CharDelete& charDelete) { // Initiating uint32 initAccountId = GetAccountId(); @@ -2313,7 +2313,7 @@ void WorldSession::HandleOpeningCinematic(WorldPacket& /*recvData*/) } } -void WorldSession::HandleGetUndeleteCooldownStatus(WorldPackets::Character::GetUndeleteCooldownStatus& /*getCooldown*/) +void WorldSession::HandleGetUndeleteCooldownStatus(WorldPackets::Character::GetUndeleteCharacterCooldownStatus& /*getCooldown*/) { /// empty result to force wait PreparedQueryResultPromise result; @@ -2489,7 +2489,7 @@ void WorldSession::HandleCharUndeleteCallback(PreparedQueryResult result, WorldP void WorldSession::SendCharCreate(ResponseCodes result) { - WorldPackets::Character::CharacterCreateResponse response; + WorldPackets::Character::CreateChar response; response.Code = result; SendPacket(response.Write()); @@ -2497,7 +2497,7 @@ void WorldSession::SendCharCreate(ResponseCodes result) void WorldSession::SendCharDelete(ResponseCodes result) { - WorldPackets::Character::CharacterDeleteResponse response; + WorldPackets::Character::DeleteChar response; response.Code = result; SendPacket(response.Write()); diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index ad613fbb750..dc91dc4308b 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -47,25 +47,25 @@ void WorldSession::HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& pack switch (packet.GetOpcode()) { - case CMSG_MESSAGECHAT_SAY: + case CMSG_CHAT_MESSAGE_SAY: type = CHAT_MSG_SAY; break; - case CMSG_MESSAGECHAT_YELL: + case CMSG_CHAT_MESSAGE_YELL: type = CHAT_MSG_YELL; break; - case CMSG_MESSAGECHAT_GUILD: + case CMSG_CHAT_MESSAGE_GUILD: type = CHAT_MSG_GUILD; break; - case CMSG_MESSAGECHAT_OFFICER: + case CMSG_CHAT_MESSAGE_OFFICER: type = CHAT_MSG_OFFICER; break; - case CMSG_MESSAGECHAT_PARTY: + case CMSG_CHAT_MESSAGE_PARTY: type = CHAT_MSG_PARTY; break; - case CMSG_MESSAGECHAT_RAID: + case CMSG_CHAT_MESSAGE_RAID: type = CHAT_MSG_RAID; break; - case CMSG_MESSAGECHAT_RAID_WARNING: + case CMSG_CHAT_MESSAGE_RAID_WARNING: type = CHAT_MSG_RAID_WARNING; break; default: @@ -378,16 +378,16 @@ void WorldSession::HandleChatAddonMessageOpcode(WorldPackets::Chat::ChatAddonMes switch (packet.GetOpcode()) { - case CMSG_MESSAGECHAT_ADDON_GUILD: + case CMSG_CHAT_ADDON_MESSAGE_GUILD: type = CHAT_MSG_GUILD; break; - case CMSG_MESSAGECHAT_ADDON_OFFICER: + case CMSG_CHAT_ADDON_MESSAGE_OFFICER: type = CHAT_MSG_OFFICER; break; - case CMSG_MESSAGECHAT_ADDON_PARTY: + case CMSG_CHAT_ADDON_MESSAGE_PARTY: type = CHAT_MSG_PARTY; break; - case CMSG_MESSAGECHAT_ADDON_RAID: + case CMSG_CHAT_ADDON_MESSAGE_RAID: type = CHAT_MSG_RAID; break; default: diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index 5e318219336..9a864a808cc 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -33,7 +33,7 @@ #include "LootPackets.h" #include "WorldSession.h" -void WorldSession::HandleAutostoreLootItemOpcode(WorldPackets::Loot::AutoStoreLootItem& packet) +void WorldSession::HandleAutostoreLootItemOpcode(WorldPackets::Loot::LootItem& packet) { TC_LOG_DEBUG("network", "WORLD: CMSG_AUTOSTORE_LOOT_ITEM"); Player* player = GetPlayer(); diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index e8e6febbe34..1217aeaed3a 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -457,19 +457,6 @@ void WorldSession::HandleTogglePvP(WorldPacket& recvData) // pvp->HandlePlayerActivityChanged(_player); } -void WorldSession::HandleZoneUpdateOpcode(WorldPacket& recvData) -{ - uint32 newZone; - recvData >> newZone; - - TC_LOG_DEBUG("network", "WORLD: Recvd ZONE_UPDATE: %u", newZone); - - // use server side data, but only after update the player position. See Player::UpdatePosition(). - GetPlayer()->SetNeedsZoneUpdate(true); - - //GetPlayer()->SendInitWorldStates(true, newZone); -} - void WorldSession::HandlePortGraveyard(WorldPackets::Misc::PortGraveyard& /*packet*/) { if (GetPlayer()->IsAlive() || !GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)) @@ -941,7 +928,7 @@ void WorldSession::HandleSetActionBarToggles(WorldPackets::Character::SetActionB GetPlayer()->SetByteValue(PLAYER_FIELD_BYTES, PLAYER_FIELD_BYTES_OFFSET_ACTION_BAR_TOGGLES, packet.Mask); } -void WorldSession::HandlePlayedTime(WorldPackets::Character::PlayedTimeClient& packet) +void WorldSession::HandlePlayedTime(WorldPackets::Character::RequestPlayedTime& packet) { WorldPackets::Character::PlayedTime playedTime; playedTime.TotalTime = _player->GetTotalPlayedTime(); diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp index c703e02a95c..39e9ac0cac7 100644 --- a/src/server/game/Handlers/MovementHandler.cpp +++ b/src/server/game/Handlers/MovementHandler.cpp @@ -36,7 +36,7 @@ #define MOVEMENT_PACKET_TIME_DELAY 0 -void WorldSession::HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortAck& /*packet*/) +void WorldSession::HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortResponse& /*packet*/) { TC_LOG_DEBUG("network", "WORLD: got MSG_MOVE_WORLDPORT_ACK."); HandleMoveWorldportAckOpcode(); @@ -421,7 +421,7 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPackets::Movement::MovementSpe 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; @@ -431,7 +431,7 @@ void WorldSession::HandleForceSpeedChangeAck(WorldPackets::Movement::MovementSpe 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; - + default: TC_LOG_ERROR("network", "WorldSession::HandleForceSpeedChangeAck: Unknown move type opcode: %u", opcode); return; @@ -472,15 +472,6 @@ void WorldSession::HandleSetActiveMoverOpcode(WorldPackets::Movement::SetActiveM TC_LOG_DEBUG("network", "HandleSetActiveMoverOpcode: incorrect mover guid: mover is %s and should be %s" , packet.ActiveMover.ToString().c_str(), _player->m_mover->GetGUID().ToString().c_str()); } -void WorldSession::HandleMoveNotActiveMover(WorldPacket &recvData) -{ - TC_LOG_DEBUG("network", "WORLD: Recvd CMSG_MOVE_NOT_ACTIVE_MOVER"); - - MovementInfo mi; - GetPlayer()->ReadMovementInfo(recvData, &mi); - _player->m_movementInfo = mi; -} - void WorldSession::HandleMountSpecialAnimOpcode(WorldPacket& /*recvData*/) { WorldPacket data(SMSG_SPECIAL_MOUNT_ANIM, 8); diff --git a/src/server/game/Handlers/NPCHandler.cpp b/src/server/game/Handlers/NPCHandler.cpp index 999b71d69a3..b150663121e 100644 --- a/src/server/game/Handlers/NPCHandler.cpp +++ b/src/server/game/Handlers/NPCHandler.cpp @@ -250,11 +250,6 @@ void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recvData) _player->CastSpell(_player, trainer_spell->SpellID, true); else _player->LearnSpell(spellId, false); - - WorldPacket data(SMSG_TRAINER_BUY_SUCCEEDED, 12); - data << guid; - data << uint32(spellId); - SendPacket(&data); } void WorldSession::SendTrainerBuyFailed(ObjectGuid guid, uint32 spellId, uint32 reason) @@ -434,11 +429,6 @@ void WorldSession::SendBindPoint(Creature* npc) // send spell for homebinding (3286) npc->CastSpell(_player, bindspell, true); - WorldPacket data(SMSG_TRAINER_BUY_SUCCEEDED, 12); - data << npc->GetGUID(); - data << uint32(bindspell); - SendPacket(&data); - _player->PlayerTalkClass->SendCloseGossip(); } diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 944d76958c2..4c8fd4a674f 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -218,7 +218,7 @@ void WorldSession::HandleOpenItemOpcode(WorldPackets::Spells::OpenItem& packet) player->SendLoot(item->GetGUID(), LOOT_CORPSE); } -void WorldSession::HandleGameObjectUseOpcode(WorldPackets::GameObject::GameObjectUse& packet) +void WorldSession::HandleGameObjectUseOpcode(WorldPackets::GameObject::GameObjUse& packet) { if (GameObject* obj = GetPlayer()->GetMap()->GetGameObject(packet.Guid)) { @@ -234,7 +234,7 @@ void WorldSession::HandleGameObjectUseOpcode(WorldPackets::GameObject::GameObjec } } -void WorldSession::HandleGameobjectReportUse(WorldPackets::GameObject::GameObjectReportUse& packet) +void WorldSession::HandleGameobjectReportUse(WorldPackets::GameObject::GameObjReportUse& packet) { // ignore for remote control state if (_player->m_mover != _player) diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 240a07b7d25..ce99d6ed971 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -917,7 +917,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v // item shall not be displayed. continue; - WorldPackets::Loot::LootItem lootItem; + WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; lootItem.LootItemType = slot_type; lootItem.Quantity = items[i].count; @@ -937,7 +937,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v // item shall not be displayed. continue; - WorldPackets::Loot::LootItem lootItem; + WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; lootItem.Quantity = items[i].count; @@ -954,7 +954,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v { if (!items[i].is_looted && !items[i].freeforall && items[i].conditions.empty() && items[i].AllowedForPlayer(viewer)) { - WorldPackets::Loot::LootItem lootItem; + WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; lootItem.Quantity = items[i].count; @@ -978,7 +978,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v LootItem const& item = quest_items[qi->index]; if (!qi->is_looted && !item.is_looted) { - WorldPackets::Loot::LootItem lootItem; + WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; lootItem.Quantity = item.count; lootItem.Loot.Initalize(item); @@ -1023,7 +1023,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v LootItem const& item = items[fi->index]; if (!fi->is_looted && !item.is_looted) { - WorldPackets::Loot::LootItem lootItem; + WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; lootItem.Quantity = item.count; @@ -1043,7 +1043,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v LootItem const& item = items[ci->index]; if (!ci->is_looted && !item.is_looted) { - WorldPackets::Loot::LootItem lootItem; + WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; lootItem.Quantity = item.count; lootItem.Loot.Initalize(item); @@ -1282,7 +1282,7 @@ void LootTemplate::CopyConditions(const ConditionList& conditions) void LootTemplate::CopyConditions(LootItem* li) const { - // Copies the conditions list from a template item to a LootItem + // Copies the conditions list from a template item to a LootItemData for (LootStoreItemList::const_iterator _iter = Entries.begin(); _iter != Entries.end(); ++_iter) { LootStoreItem* item = *_iter; diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp index 92226981df6..5acb018b46f 100644 --- a/src/server/game/Server/Packets/ChannelPackets.cpp +++ b/src/server/game/Server/Packets/ChannelPackets.cpp @@ -87,19 +87,19 @@ void WorldPackets::Channel::ChannelPlayerCommand::Read() { switch (GetOpcode()) { - case CMSG_CHANNEL_BAN: - case CMSG_CHANNEL_INVITE: - case CMSG_CHANNEL_KICK: - case CMSG_CHANNEL_MODERATOR: - case CMSG_CHANNEL_MUTE: - case CMSG_CHANNEL_SET_OWNER: - 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_CHAT_CHANNEL_BAN: + case CMSG_CHAT_CHANNEL_INVITE: + case CMSG_CHAT_CHANNEL_KICK: + case CMSG_CHAT_CHANNEL_MODERATOR: + case CMSG_CHAT_CHANNEL_MUTE: + case CMSG_CHAT_CHANNEL_SET_OWNER: + case CMSG_CHAT_CHANNEL_SILENCE_ALL: + case CMSG_CHAT_CHANNEL_SILENCE_VOICE: + case CMSG_CHAT_CHANNEL_UNBAN: + case CMSG_CHAT_CHANNEL_UNMODERATOR: + case CMSG_CHAT_CHANNEL_UNMUTE: + case CMSG_CHAT_CHANNEL_UNSILENCE_ALL: + case CMSG_CHAT_CHANNEL_UNSILENCE_VOICE: { uint32 channelNameLength = _worldPacket.ReadBits(7); uint32 nameLength = _worldPacket.ReadBits(9); @@ -107,19 +107,19 @@ 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_MODERATE: - case CMSG_CHANNEL_OWNER: - case CMSG_CHANNEL_VOICE_OFF: - case CMSG_CHANNEL_VOICE_ON: + case CMSG_CHAT_CHANNEL_ANNOUNCEMENTS: + case CMSG_CHAT_CHANNEL_DECLINE_INVITE: + case CMSG_CHAT_CHANNEL_DISPLAY_LIST: + case CMSG_CHAT_CHANNEL_LIST: + case CMSG_CHAT_CHANNEL_MODERATE: + case CMSG_CHAT_CHANNEL_OWNER: + case CMSG_CHAT_CHANNEL_VOICE_OFF: + case CMSG_CHAT_CHANNEL_VOICE_ON: { ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7)); break; } - case CMSG_CHANNEL_PASSWORD: + case CMSG_CHAT_CHANNEL_PASSWORD: { uint32 channelNameLength = _worldPacket.ReadBits(7); uint32 nameLength = _worldPacket.ReadBits(7); diff --git a/src/server/game/Server/Packets/ChannelPackets.h b/src/server/game/Server/Packets/ChannelPackets.h index 14fbac84cf9..90e4e96accb 100644 --- a/src/server/game/Server/Packets/ChannelPackets.h +++ b/src/server/game/Server/Packets/ChannelPackets.h @@ -104,28 +104,28 @@ namespace WorldPackets { default: ASSERT(false); - case CMSG_CHANNEL_ANNOUNCEMENTS: - case CMSG_CHANNEL_BAN: - 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_MODERATE: - case CMSG_CHANNEL_MODERATOR: - case CMSG_CHANNEL_MUTE: - 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_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_CHAT_CHANNEL_ANNOUNCEMENTS: + case CMSG_CHAT_CHANNEL_BAN: + case CMSG_CHAT_CHANNEL_DECLINE_INVITE: + case CMSG_CHAT_CHANNEL_DISPLAY_LIST: + case CMSG_CHAT_CHANNEL_INVITE: + case CMSG_CHAT_CHANNEL_KICK: + case CMSG_CHAT_CHANNEL_LIST: + case CMSG_CHAT_CHANNEL_MODERATE: + case CMSG_CHAT_CHANNEL_MODERATOR: + case CMSG_CHAT_CHANNEL_MUTE: + case CMSG_CHAT_CHANNEL_OWNER: + case CMSG_CHAT_CHANNEL_PASSWORD: + case CMSG_CHAT_CHANNEL_SET_OWNER: + case CMSG_CHAT_CHANNEL_SILENCE_ALL: + case CMSG_CHAT_CHANNEL_SILENCE_VOICE: + case CMSG_CHAT_CHANNEL_UNBAN: + case CMSG_CHAT_CHANNEL_UNMODERATOR: + case CMSG_CHAT_CHANNEL_UNMUTE: + case CMSG_CHAT_CHANNEL_UNSILENCE_ALL: + case CMSG_CHAT_CHANNEL_UNSILENCE_VOICE: + case CMSG_CHAT_CHANNEL_VOICE_OFF: + case CMSG_CHAT_CHANNEL_VOICE_ON: break; } } @@ -139,7 +139,7 @@ namespace WorldPackets class JoinChannel final : public ClientPacket { public: - JoinChannel(WorldPacket&& packet) : ClientPacket(CMSG_JOIN_CHANNEL, std::move(packet)) { } + JoinChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_JOIN_CHANNEL, std::move(packet)) { } void Read() override; @@ -153,7 +153,7 @@ namespace WorldPackets class LeaveChannel final : public ClientPacket { public: - LeaveChannel(WorldPacket&& packet) : ClientPacket(CMSG_LEAVE_CHANNEL, std::move(packet)) { } + LeaveChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_LEAVE_CHANNEL, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index fe50552cd30..ac55f01d657 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -166,7 +166,7 @@ WorldPacket const* WorldPackets::Character::EnumCharactersResult::Write() return &_worldPacket; } -void WorldPackets::Character::CreateChar::Read() +void WorldPackets::Character::CreateCharacter::Read() { CreateInfo.reset(new CharacterCreateInfo()); uint32 nameLength = _worldPacket.ReadBits(6); @@ -185,18 +185,18 @@ void WorldPackets::Character::CreateChar::Read() _worldPacket >> CreateInfo->TemplateSet.Value; } -WorldPacket const* WorldPackets::Character::CharacterCreateResponse::Write() +WorldPacket const* WorldPackets::Character::CreateChar::Write() { _worldPacket << uint8(Code); return &_worldPacket; } -void WorldPackets::Character::DeleteChar::Read() +void WorldPackets::Character::CharDelete::Read() { _worldPacket >> Guid; } -WorldPacket const* WorldPackets::Character::CharacterDeleteResponse::Write() +WorldPacket const* WorldPackets::Character::DeleteChar::Write() { _worldPacket << uint8(Code); return &_worldPacket; @@ -399,7 +399,7 @@ void WorldPackets::Character::SetActionBarToggles::Read() _worldPacket >> Mask; } -void WorldPackets::Character::PlayedTimeClient::Read() +void WorldPackets::Character::RequestPlayedTime::Read() { TriggerScriptEvent = _worldPacket.ReadBit(); } diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index 7183e8cc7b1..d6a7f06b796 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -30,7 +30,7 @@ namespace WorldPackets public: EnumCharacters(WorldPacket&& packet) : ClientPacket(std::move(packet)) { - ASSERT(GetOpcode() == CMSG_CHAR_ENUM || GetOpcode() == CMSG_CHAR_UNDELETE_ENUM); + ASSERT(GetOpcode() == CMSG_ENUM_CHARACTERS || GetOpcode() == CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT); } void Read() override { } @@ -173,10 +173,10 @@ namespace WorldPackets std::list<RestrictedFactionChangeRuleInfo> FactionChangeRestrictions; ///< @todo: research }; - class CreateChar final : public ClientPacket + class CreateCharacter final : public ClientPacket { public: - CreateChar(WorldPacket&& packet) : ClientPacket(CMSG_CHAR_CREATE, std::move(packet)) { } + CreateCharacter(WorldPacket&& packet) : ClientPacket(CMSG_CREATE_CHARACTER, std::move(packet)) { } void Read() override; @@ -196,30 +196,30 @@ namespace WorldPackets std::shared_ptr<CharacterCreateInfo> CreateInfo; }; - class CharacterCreateResponse final : public ServerPacket + class CreateChar final : public ServerPacket { public: - CharacterCreateResponse() : ServerPacket(SMSG_CREATE_CHAR, 1) { } + CreateChar() : ServerPacket(SMSG_CREATE_CHAR, 1) { } WorldPacket const* Write() override; uint8 Code = 0; ///< Result code @see enum ResponseCodes }; - class DeleteChar final : public ClientPacket + class CharDelete final : public ClientPacket { public: - DeleteChar(WorldPacket&& packet): ClientPacket(CMSG_CHAR_DELETE, std::move(packet)) { } + CharDelete(WorldPacket&& packet): ClientPacket(CMSG_CHAR_DELETE, std::move(packet)) { } void Read() override; ObjectGuid Guid; ///< Guid of the character to delete }; - class CharacterDeleteResponse final : public ServerPacket + class DeleteChar final : public ServerPacket { public: - CharacterDeleteResponse(): ServerPacket(SMSG_DELETE_CHAR, 1) { } + DeleteChar(): ServerPacket(SMSG_DELETE_CHAR, 1) { } WorldPacket const* Write() override; @@ -229,7 +229,7 @@ namespace WorldPackets class CharacterRenameRequest final : public ClientPacket { public: - CharacterRenameRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHAR_RENAME, std::move(packet)) { } + CharacterRenameRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHARACTER_RENAME_REQUEST, std::move(packet)) { } void Read() override; @@ -323,7 +323,7 @@ namespace WorldPackets class GenerateRandomCharacterName final : public ClientPacket { public: - GenerateRandomCharacterName(WorldPacket&& packet) : ClientPacket(CMSG_RANDOMIZE_CHAR_NAME, std::move(packet)) { } + GenerateRandomCharacterName(WorldPacket&& packet) : ClientPacket(CMSG_GENERATE_RANDOM_CHARACTER_NAME, std::move(packet)) { } void Read() override; @@ -387,10 +387,10 @@ namespace WorldPackets uint32 Result = 0; ///< @see enum CharacterUndeleteResult }; - class GetUndeleteCooldownStatus final : public ClientPacket + class GetUndeleteCharacterCooldownStatus final : public ClientPacket { public: - GetUndeleteCooldownStatus(WorldPacket&& packet) : ClientPacket(CMSG_GET_UNDELETE_COOLDOWN_STATUS, std::move(packet)) { } + GetUndeleteCharacterCooldownStatus(WorldPacket&& packet) : ClientPacket(CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS, std::move(packet)) { } void Read() override { } }; @@ -504,7 +504,7 @@ namespace WorldPackets class LoadingScreenNotify final : public ClientPacket { public: - LoadingScreenNotify(WorldPacket&& packet) : ClientPacket(CMSG_LOAD_SCREEN, std::move(packet)) { } + LoadingScreenNotify(WorldPacket&& packet) : ClientPacket(CMSG_LOADING_SCREEN_NOTIFY, std::move(packet)) { } void Read() override; @@ -528,17 +528,17 @@ namespace WorldPackets class SetActionBarToggles final : public ClientPacket { public: - SetActionBarToggles(WorldPacket&& packet) : ClientPacket(CMSG_SET_ACTIONBAR_TOGGLES, std::move(packet)) { } + SetActionBarToggles(WorldPacket&& packet) : ClientPacket(CMSG_SET_ACTION_BAR_TOGGLES, std::move(packet)) { } void Read() override; uint8 Mask = 0; }; - class PlayedTimeClient final : public ClientPacket + class RequestPlayedTime final : public ClientPacket { public: - PlayedTimeClient(WorldPacket&& packet) : ClientPacket(CMSG_PLAYED_TIME, std::move(packet)) { } + RequestPlayedTime(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_PLAYED_TIME, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h index 1c0ef63983c..df87629173c 100644 --- a/src/server/game/Server/Packets/ChatPackets.h +++ b/src/server/game/Server/Packets/ChatPackets.h @@ -28,13 +28,13 @@ namespace WorldPackets { namespace Chat { - // CMSG_MESSAGECHAT_GUILD - // CMSG_MESSAGECHAT_OFFICER - // CMSG_MESSAGECHAT_YELL - // CMSG_MESSAGECHAT_SAY - // CMSG_MESSAGECHAT_PARTY - // CMSG_MESSAGECHAT_RAID - // CMSG_MESSAGECHAT_RAID_WARNING + // CMSG_CHAT_MESSAGE_GUILD + // CMSG_CHAT_MESSAGE_OFFICER + // CMSG_CHAT_MESSAGE_YELL + // CMSG_CHAT_MESSAGE_SAY + // CMSG_CHAT_MESSAGE_PARTY + // CMSG_CHAT_MESSAGE_RAID + // CMSG_CHAT_MESSAGE_RAID_WARNING class ChatMessage final : public ClientPacket { public: @@ -46,7 +46,7 @@ namespace WorldPackets int32 Language = LANG_UNIVERSAL; }; - // CMSG_MESSAGECHAT_WHISPER + // CMSG_CHAT_MESSAGE_WHISPER class ChatMessageWhisper final : public ClientPacket { public: @@ -59,7 +59,7 @@ namespace WorldPackets std::string Target; }; - // CMSG_MESSAGECHAT_CHANNEL + // CMSG_CHAT_MESSAGE_CHANNEL class ChatMessageChannel final : public ClientPacket { public: @@ -72,10 +72,10 @@ namespace WorldPackets std::string Target; }; - // CMSG_MESSAGECHAT_ADDON_GUILD - // CMSG_MESSAGECHAT_ADDON_OFFICER - // CMSG_MESSAGECHAT_ADDON_PARTY - // CMSG_MESSAGECHAT_ADDON_RAID + // CMSG_CHAT_ADDON_MESSAGE_GUILD + // CMSG_CHAT_ADDON_MESSAGE_OFFICER + // CMSG_CHAT_ADDON_MESSAGE_PARTY + // CMSG_CHAT_ADDON_MESSAGE_RAID class ChatAddonMessage final : public ClientPacket { public: @@ -87,7 +87,7 @@ namespace WorldPackets std::string Text; }; - // CMSG_MESSAGECHAT_ADDON_WHISPER + // CMSG_CHAT_ADDON_MESSAGE_WHISPER class ChatAddonMessageWhisper final : public ClientPacket { public: @@ -103,7 +103,7 @@ namespace WorldPackets class ChatMessageDND final : public ClientPacket { public: - ChatMessageDND(WorldPacket&& packet) : ClientPacket(CMSG_MESSAGECHAT_DND, std::move(packet)) { } + ChatMessageDND(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_DND, std::move(packet)) { } void Read() override; @@ -113,7 +113,7 @@ namespace WorldPackets class ChatMessageAFK final : public ClientPacket { public: - ChatMessageAFK(WorldPacket&& packet) : ClientPacket(CMSG_MESSAGECHAT_AFK, std::move(packet)) { } + ChatMessageAFK(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_AFK, std::move(packet)) { } void Read() override; @@ -123,7 +123,7 @@ namespace WorldPackets class ChatMessageEmote final : public ClientPacket { public: - ChatMessageEmote(WorldPacket&& packet) : ClientPacket(CMSG_MESSAGECHAT_EMOTE, std::move(packet)) { } + ChatMessageEmote(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_EMOTE, std::move(packet)) { } void Read() override; @@ -174,7 +174,7 @@ namespace WorldPackets class CTextEmote final : public ClientPacket { public: - CTextEmote(WorldPacket&& packet) : ClientPacket(CMSG_TEXT_EMOTE, std::move(packet)) { } + CTextEmote(WorldPacket&& packet) : ClientPacket(CMSG_SEND_TEXT_EMOTE, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h index c5d8432ec66..40b1ad56adb 100644 --- a/src/server/game/Server/Packets/CombatPackets.h +++ b/src/server/game/Server/Packets/CombatPackets.h @@ -29,7 +29,7 @@ namespace WorldPackets class AttackSwing final : public ClientPacket { public: - AttackSwing(WorldPacket&& packet) : ClientPacket(CMSG_ATTACKSWING, std::move(packet)) { } + AttackSwing(WorldPacket&& packet) : ClientPacket(CMSG_ATTACK_SWING, std::move(packet)) { } void Read() override; @@ -50,7 +50,7 @@ namespace WorldPackets class AttackStop final : public ClientPacket { public: - AttackStop(WorldPacket&& packet) : ClientPacket(CMSG_ATTACKSTOP, std::move(packet)) { } + AttackStop(WorldPacket&& packet) : ClientPacket(CMSG_ATTACK_STOP, std::move(packet)) { } void Read() override { } }; diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.h b/src/server/game/Server/Packets/EquipmentSetPackets.h index 71731b69a81..4b1ead24839 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.h +++ b/src/server/game/Server/Packets/EquipmentSetPackets.h @@ -48,7 +48,7 @@ namespace WorldPackets class SaveEquipmentSet final : public ClientPacket { public: - SaveEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_EQUIPMENT_SET_SAVE, std::move(packet)) { } + SaveEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_EQUIPMENT_SET, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/GameObjectPackets.cpp b/src/server/game/Server/Packets/GameObjectPackets.cpp index 604dcc4d2a1..231b977a63c 100644 --- a/src/server/game/Server/Packets/GameObjectPackets.cpp +++ b/src/server/game/Server/Packets/GameObjectPackets.cpp @@ -17,12 +17,12 @@ #include "GameObjectPackets.h" -void WorldPackets::GameObject::GameObjectUse::Read() +void WorldPackets::GameObject::GameObjUse::Read() { _worldPacket >> Guid; } -void WorldPackets::GameObject::GameObjectReportUse::Read() +void WorldPackets::GameObject::GameObjReportUse::Read() { _worldPacket >> Guid; } diff --git a/src/server/game/Server/Packets/GameObjectPackets.h b/src/server/game/Server/Packets/GameObjectPackets.h index 8288681740b..a18552052a2 100644 --- a/src/server/game/Server/Packets/GameObjectPackets.h +++ b/src/server/game/Server/Packets/GameObjectPackets.h @@ -27,20 +27,20 @@ namespace WorldPackets { namespace GameObject { - class GameObjectUse final : public ClientPacket + class GameObjUse final : public ClientPacket { public: - GameObjectUse(WorldPacket&& packet) : ClientPacket(CMSG_GAMEOBJ_USE, std::move(packet)) { } + GameObjUse(WorldPacket&& packet) : ClientPacket(CMSG_GAME_OBJ_USE, std::move(packet)) { } void Read() override; ObjectGuid Guid; }; - class GameObjectReportUse final : public ClientPacket + class GameObjReportUse final : public ClientPacket { public: - GameObjectReportUse(WorldPacket&& packet) : ClientPacket(CMSG_GAMEOBJ_REPORT_USE, std::move(packet)) { } + GameObjReportUse(WorldPacket&& packet) : ClientPacket(CMSG_GAME_OBJ_REPORT_USE, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h index b874627128f..3202d2a3581 100644 --- a/src/server/game/Server/Packets/GuildPackets.h +++ b/src/server/game/Server/Packets/GuildPackets.h @@ -30,7 +30,7 @@ namespace WorldPackets class QueryGuildInfo final : public ClientPacket { public: - QueryGuildInfo(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_QUERY, std::move(packet)) { } + QueryGuildInfo(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_GUILD_INFO, std::move(packet)) { } void Read() override; @@ -638,7 +638,7 @@ namespace WorldPackets class RequestGuildPartyState final : public ClientPacket { public: - RequestGuildPartyState(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_REQUEST_PARTY_STATE, std::move(packet)) { } + RequestGuildPartyState(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_GUILD_PARTY_STATE, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index 063c9fc5cb9..45d59144d2f 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -224,7 +224,7 @@ namespace WorldPackets class AutoEquipItem final : public ClientPacket { public: - AutoEquipItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOEQUIP_ITEM, std::move(packet)) { } + AutoEquipItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_EQUIP_ITEM, std::move(packet)) { } void Read() override; @@ -236,7 +236,7 @@ namespace WorldPackets class AutoStoreBagItem final : public ClientPacket { public: - AutoStoreBagItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_BAG_ITEM, std::move(packet)) { } + AutoStoreBagItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_STORE_BAG_ITEM, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/LootPackets.cpp b/src/server/game/Server/Packets/LootPackets.cpp index 62bae290cce..55ed260213c 100644 --- a/src/server/game/Server/Packets/LootPackets.cpp +++ b/src/server/game/Server/Packets/LootPackets.cpp @@ -34,7 +34,7 @@ WorldPacket const* WorldPackets::Loot::LootResponse::Write() _worldPacket << uint32(Items.size()); _worldPacket << uint32(Currencies.size()); - for (LootItem const& item : Items) + for (LootItemData const& item : Items) { _worldPacket.WriteBits(item.Type, 2); _worldPacket.WriteBits(item.UIType, 3); @@ -64,7 +64,7 @@ WorldPacket const* WorldPackets::Loot::LootResponse::Write() return &_worldPacket; } -void WorldPackets::Loot::AutoStoreLootItem::Read() +void WorldPackets::Loot::LootItem::Read() { uint32 Count; _worldPacket >> Count; diff --git a/src/server/game/Server/Packets/LootPackets.h b/src/server/game/Server/Packets/LootPackets.h index f176c76f87a..0f653f53741 100644 --- a/src/server/game/Server/Packets/LootPackets.h +++ b/src/server/game/Server/Packets/LootPackets.h @@ -29,14 +29,14 @@ namespace WorldPackets class LootUnit final : public ClientPacket { public: - LootUnit(WorldPacket&& packet) : ClientPacket(CMSG_LOOT, std::move(packet)) { } + LootUnit(WorldPacket&& packet) : ClientPacket(CMSG_LOOT_UNIT, std::move(packet)) { } void Read() override; ObjectGuid Unit; }; - struct LootItem + struct LootItemData { uint8 Type = 2; uint8 UIType = 4; @@ -69,7 +69,7 @@ namespace WorldPackets uint8 AcquireReason = 0; uint8 FailureReason = 17; // Most common value uint32 Coins = 0; - std::vector<LootItem> Items; + std::vector<LootItemData> Items; std::vector<LootCurrency> Currencies; bool PersonalLooting = false; bool Acquired = false; @@ -83,10 +83,10 @@ namespace WorldPackets }; // PlayerCliLootItem - class AutoStoreLootItem final : public ClientPacket + class LootItem final : public ClientPacket { public: - AutoStoreLootItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_LOOT_ITEM, std::move(packet)) { } + LootItem(WorldPacket&& packet) : ClientPacket(CMSG_LOOT_ITEM, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/MailPackets.h b/src/server/game/Server/Packets/MailPackets.h index 2b91df96026..f6fbed2dedc 100644 --- a/src/server/game/Server/Packets/MailPackets.h +++ b/src/server/game/Server/Packets/MailPackets.h @@ -75,7 +75,7 @@ namespace WorldPackets class MailGetList final : public ClientPacket { public: - MailGetList(WorldPacket&& packet) : ClientPacket(CMSG_GET_MAIL_LIST, std::move(packet)) { } + MailGetList(WorldPacket&& packet) : ClientPacket(CMSG_MAIL_GET_LIST, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index b41e1cb8b50..31779f093d2 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -219,7 +219,7 @@ namespace WorldPackets class TutorialSetFlag final : public ClientPacket { public: - TutorialSetFlag(WorldPacket&& packet) : ClientPacket(CMSG_TUTORIAL_FLAG, std::move(packet)) { } + TutorialSetFlag(WorldPacket&& packet) : ClientPacket(CMSG_TUTORIAL, std::move(packet)) { } void Read() override; @@ -246,7 +246,7 @@ namespace WorldPackets class AreaTrigger final : public ClientPacket { public: - AreaTrigger(WorldPacket&& packet) : ClientPacket(CMSG_AREATRIGGER, std::move(packet)) { } + AreaTrigger(WorldPacket&& packet) : ClientPacket(CMSG_AREA_TRIGGER, std::move(packet)) { } void Read() override; @@ -321,7 +321,7 @@ namespace WorldPackets class PortGraveyard final : public ClientPacket { public: - PortGraveyard(WorldPacket&& packet) : ClientPacket(CMSG_PORT_GRAVEYARD, std::move(packet)) { } + PortGraveyard(WorldPacket&& packet) : ClientPacket(CMSG_CLIENT_PORT_GRAVEYARD, std::move(packet)) { } void Read() override { } }; @@ -504,7 +504,7 @@ namespace WorldPackets uint32 SoundKitID = 0; }; - + class RandomRollClient final : public ClientPacket { public: diff --git a/src/server/game/Server/Packets/MovementPackets.h b/src/server/game/Server/Packets/MovementPackets.h index 0b57cdaddb0..b84f3592d05 100644 --- a/src/server/game/Server/Packets/MovementPackets.h +++ b/src/server/game/Server/Packets/MovementPackets.h @@ -215,10 +215,10 @@ namespace WorldPackets Position Pos; }; - class WorldPortAck final : public ClientPacket + class WorldPortResponse final : public ClientPacket { public: - WorldPortAck(WorldPacket&& packet) : ClientPacket(CMSG_MOVE_WORLDPORT_ACK, std::move(packet)) { } + WorldPortResponse(WorldPacket&& packet) : ClientPacket(CMSG_WORLD_PORT_RESPONSE, std::move(packet)) { } void Read() override { } }; diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h index 895bb24af6e..1910eeeb1e7 100644 --- a/src/server/game/Server/Packets/QueryPackets.h +++ b/src/server/game/Server/Packets/QueryPackets.h @@ -33,7 +33,7 @@ namespace WorldPackets class QueryCreature final : public ClientPacket { public: - QueryCreature(WorldPacket&& packet) : ClientPacket(CMSG_CREATURE_QUERY, std::move(packet)) { } + QueryCreature(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_CREATURE, std::move(packet)) { } void Read() override; @@ -82,7 +82,7 @@ namespace WorldPackets class QueryPlayerName final : public ClientPacket { public: - QueryPlayerName(WorldPacket&& packet) : ClientPacket(CMSG_NAME_QUERY, std::move(packet)) { } + QueryPlayerName(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_PLAYER_NAME, std::move(packet)) { } void Read() override; @@ -121,7 +121,7 @@ namespace WorldPackets class QueryPageText final : public ClientPacket { public: - QueryPageText(WorldPacket&& packet) : ClientPacket(CMSG_PAGE_TEXT_QUERY, std::move(packet)) { } + QueryPageText(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_PAGE_TEXT, std::move(packet)) { } void Read() override; @@ -151,7 +151,7 @@ namespace WorldPackets class QueryNPCText final : public ClientPacket { public: - QueryNPCText(WorldPacket&& packet) : ClientPacket(CMSG_NPC_TEXT_QUERY, std::move(packet)) { } + QueryNPCText(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_NPC_TEXT, std::move(packet)) { } void Read() override; @@ -215,7 +215,7 @@ namespace WorldPackets class QueryGameObject final : public ClientPacket { public: - QueryGameObject(WorldPacket&& packet) : ClientPacket(CMSG_GAMEOBJECT_QUERY, std::move(packet)) { } + QueryGameObject(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_GAME_OBJECT, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index 75ac9329512..fd6def07977 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -30,7 +30,7 @@ namespace WorldPackets class QuestGiverStatusQuery final : public ClientPacket { public: - QuestGiverStatusQuery(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_STATUS_QUERY, std::move(packet)) { } + QuestGiverStatusQuery(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_STATUS_QUERY, std::move(packet)) { } void Read() override; @@ -41,7 +41,7 @@ namespace WorldPackets class QuestGiverStatusMultipleQuery final : public ClientPacket { public: - QuestGiverStatusMultipleQuery(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, std::move(packet)) { } + QuestGiverStatusMultipleQuery(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY, std::move(packet)) { } void Read() override { } }; @@ -79,7 +79,7 @@ namespace WorldPackets class QuestGiverHello final : public ClientPacket { public: - QuestGiverHello(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_HELLO, std::move(packet)) { } + QuestGiverHello(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_HELLO, std::move(packet)) { } void Read() override; @@ -89,7 +89,7 @@ namespace WorldPackets class QueryQuestInfo final : public ClientPacket { public: - QueryQuestInfo(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_QUERY, std::move(packet)) { } + QueryQuestInfo(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_QUEST_INFO, std::move(packet)) { } void Read() override; @@ -266,7 +266,7 @@ namespace WorldPackets class QuestGiverChooseReward final : public ClientPacket { public: - QuestGiverChooseReward(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_CHOOSE_REWARD, std::move(packet)) { } + QuestGiverChooseReward(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_CHOOSE_REWARD, std::move(packet)) { } void Read() override; @@ -298,7 +298,7 @@ namespace WorldPackets class QuestGiverCompleteQuest final : public ClientPacket { public: - QuestGiverCompleteQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_COMPLETE_QUEST, std::move(packet)) { } + QuestGiverCompleteQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_COMPLETE_QUEST, std::move(packet)) { } void Read() override; @@ -386,7 +386,7 @@ namespace WorldPackets class QuestGiverRequestReward final : public ClientPacket { public: - QuestGiverRequestReward(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_REQUEST_REWARD, std::move(packet)) { } + QuestGiverRequestReward(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_REQUEST_REWARD, std::move(packet)) { } void Read() override; @@ -397,7 +397,7 @@ namespace WorldPackets class QuestGiverQueryQuest final : public ClientPacket { public: - QuestGiverQueryQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_QUERY_QUEST, std::move(packet)) { } + QuestGiverQueryQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_QUERY_QUEST, std::move(packet)) { } void Read() override; @@ -409,7 +409,7 @@ namespace WorldPackets class QuestGiverAcceptQuest final : public ClientPacket { public: - QuestGiverAcceptQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUESTGIVER_ACCEPT_QUEST, std::move(packet)) { } + QuestGiverAcceptQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_GIVER_ACCEPT_QUEST, std::move(packet)) { } void Read() override; @@ -421,7 +421,7 @@ namespace WorldPackets class QuestLogRemoveQuest final : public ClientPacket { public: - QuestLogRemoveQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUESTLOG_REMOVE_QUEST, std::move(packet)) { } + QuestLogRemoveQuest(WorldPacket&& packet) : ClientPacket(CMSG_QUEST_LOG_REMOVE_QUEST, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 3a85b2c14c6..8a14ea695d4 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -148,27 +148,16 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptTradeOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ACCEPT_WARGAME_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ACTIVATE_TAXI_EXPRESS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiExpressOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_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_ADD_TOY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_ALTER_APPEARANCE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::AlterApperance, &WorldSession::HandleAlterAppearance); - 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 ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_CREATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamCreateOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_DECLINE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamDeclineOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_DISBAND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamDisbandOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamInviteOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_LEADER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamLeaderOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_LEAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamLeaveOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamQueryOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ARENA_TEAM_REMOVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamRemoveOpcode ); - 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_AREA_TRIGGER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::AreaTrigger, &WorldSession::HandleAreaTriggerOpcode); + DEFINE_HANDLER(CMSG_ATTACK_STOP, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::AttackStop, &WorldSession::HandleAttackStopOpcode); + DEFINE_HANDLER(CMSG_ATTACK_SWING, 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_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 ); @@ -182,39 +171,29 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_AUTH_SESSION, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoBankItem, &WorldSession::HandleAutoBankItemOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOBANK_REAGENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOEQUIP_GROUND_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItem, &WorldSession::HandleAutoEquipItemOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOEQUIP_ITEM_SLOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoEquipItemSlotOpcode ); - DEFINE_HANDLER(CMSG_AUTOSTORE_BAG_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoStoreBagItem, &WorldSession::HandleAutoStoreBagItemOpcode); DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::AutoStoreBankItem, &WorldSession::HandleAutoStoreBankItemOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOSTORE_GROUND_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_AUTOSTORE_LOOT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::AutoStoreLootItem, &WorldSession::HandleAutostoreLootItemOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTOSTORE_BANK_REAGENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoEquipItem, &WorldSession::HandleAutoEquipItemOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_AUTO_EQUIP_ITEM_SLOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoEquipItemSlotOpcode ); + DEFINE_HANDLER(CMSG_AUTO_STORE_BAG_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::AutoStoreBagItem, &WorldSession::HandleAutoStoreBagItemOpcode); 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 ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfEntryInviteResponse ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_MGR_EXIT_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfExitRequest ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfQueueInviteResponse ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_PORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattleFieldPortOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEFIELD_REQUEST_SCORE_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEGROUND_PLAYER_POSITIONS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBattlegroundPlayerPositionsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_HELLO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterHelloOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_JOIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinArena ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_JOIN_RATED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLEMASTER_JOIN_SKIRMISH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLENET_CHALLENGE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_GET_PRODUCT_LIST_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_GET_PURCHASE_LIST_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET,STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_GET_PRODUCT_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_GET_PURCHASE_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PAY_START_PURCHASE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_DELETE_PET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_DELETE_PET_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_MODIFY_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_REQUEST_JOURNAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BATTLE_PET_SET_BATTLE_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -222,26 +201,30 @@ 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_OPCODE_HANDLER_OLD(CMSG_BF_MGR_ENTRY_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfEntryInviteResponse ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_EXIT_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfExitRequest); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleBfQueueInviteResponse ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BF_MGR_QUEUE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_UNHANDLED, 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_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 ); DEFINE_OPCODE_HANDLER_OLD(CMSG_BUSY_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleBusyTradeOpcode ); DEFINE_HANDLER(CMSG_BUY_BACK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyBackItem, &WorldSession::HandleBuybackItem); DEFINE_HANDLER(CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Bank::BuyBankSlot, &WorldSession::HandleBuyBankSlotOpcode); DEFINE_HANDLER(CMSG_BUY_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::BuyItem, &WorldSession::HandleBuyItemOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BUY_REAGENT_BANK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BUY_WOW_TOKEN_CONFIRM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_BUY_WOW_TOKEN_START, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CAGE_BATTLE_PET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_ADD_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarAddEvent ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_ARENA_TEAM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarArenaTeam ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_COMPLAIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarComplain ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_COPY_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarCopyEvent ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventInvite ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_MODERATOR_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventModeratorStatus); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_RSVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventRsvp ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_SIGNUP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventSignup ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_SIGN_UP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventSignup ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_EVENT_STATUS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarEventStatus ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_GET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarGetCalendar ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CALENDAR_GET_EVENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarGetEvent ); @@ -266,63 +249,82 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_CHALLENGE_MODE_REQUEST_LEADERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_BANK_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHANGE_MONUMENT_APPEARANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Announce>); - DEFINE_HANDLER(CMSG_CHANNEL_BAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Ban>); - DEFINE_HANDLER(CMSG_CHANNEL_DECLINE_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeclineInvite>); - DEFINE_HANDLER(CMSG_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); - 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_LOGGEDIN, 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_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_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>); - 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_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>); - DEFINE_HANDLER(CMSG_CHANNEL_SILENCE_VOICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>); - 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_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>); - DEFINE_HANDLER(CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>); - DEFINE_HANDLER(CMSG_CHANNEL_VOICE_OFF, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeVoice>); - DEFINE_HANDLER(CMSG_CHANNEL_VOICE_ON, STATUS_LOGGEDIN, 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_CHARACTER_RENAME_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode); DEFINE_HANDLER(CMSG_CHAR_CUSTOMIZE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharCustomize, &WorldSession::HandleCharCustomizeOpcode); - 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_DELETE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharDelete, &WorldSession::HandleCharDeleteOpcode); DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharRaceOrFactionChange, &WorldSession::HandleCharRaceOrFactionChangeOpcode); - DEFINE_HANDLER(CMSG_CHAR_RENAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CharacterRenameRequest, &WorldSession::HandleCharRenameOpcode); - DEFINE_HANDLER(CMSG_CHAR_UNDELETE_ENUM, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharUndeleteEnumOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_ADDON_MESSAGE_CHANNEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_ADDON_MESSAGE_INSTANCE_CHAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessageWhisper, &WorldSession::HandleChatAddonMessageWhisperOpcode); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_ANNOUNCEMENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Announce>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_BAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Ban>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_DECLINE_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeclineInvite>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Invite>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_KICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Kick>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::List>); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_CHANNEL_MODERATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_MODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetModerator>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_MUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetMute>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::SendWhoOwner>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_PASSWORD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::Password>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_SET_OWNER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SetOwner>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_SILENCE_ALL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceAll>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_SILENCE_VOICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::SilenceVoice>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_UNBAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnBan>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_UNMODERATOR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetModerator>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_UNMUTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsetMute>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_UNSILENCE_ALL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceAll>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_UNSILENCE_VOICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelPlayerCommand<&Channel::UnsilenceVoice>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_VOICE_OFF, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::DeVoice>); + DEFINE_HANDLER(CMSG_CHAT_CHANNEL_VOICE_ON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::ChannelPlayerCommand, &WorldSession::HandleChannelCommand<&Channel::Voice>); + DEFINE_HANDLER(CMSG_CHAT_JOIN_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::JoinChannel, &WorldSession::HandleJoinChannel); + DEFINE_HANDLER(CMSG_CHAT_LEAVE_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::LeaveChannel, &WorldSession::HandleLeaveChannel); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageAFK, &WorldSession::HandleChatMessageAFKOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageChannel, &WorldSession::HandleChatMessageChannelOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_DND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageDND, &WorldSession::HandleChatMessageDNDOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageEmote, &WorldSession::HandleChatMessageEmoteOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_MESSAGE_INSTANCE_CHAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_RAID_WARNING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_SAY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageWhisper, &WorldSession::HandleChatMessageWhisperOpcode); + DEFINE_HANDLER(CMSG_CHAT_MESSAGE_YELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_REGISTER_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonRegisteredPrefixesOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_REPORT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_REPORT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnregisterAddonPrefixesOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHECK_RAF_EMAIL_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CHECK_VETERAN_TOKEN_ELIGIBILITY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CHOICE_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_RAID_MARKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CLEAR_TRADE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleClearTradeItemOpcode ); + DEFINE_HANDLER(CMSG_CLIENT_PORT_GRAVEYARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::PortGraveyard, &WorldSession::HandlePortGraveyard); DEFINE_OPCODE_HANDLER_OLD(CMSG_CLOSE_INTERACTION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_ENABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_EXIT_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_GET_MAP_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_GET_PARTY_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_GET_PLAYER_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_INSTANCE_COMMAND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMMENTATOR_START_WARGAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLAIN, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleComplainOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLAINT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleComplainOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_ALL_READY_SHIPMENTS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_CINEMATIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleCompleteCinematic ); DEFINE_OPCODE_HANDLER_OLD(CMSG_COMPLETE_MOVIE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONFIRM_RESPEC_WIPE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleConfirmRespecWipeOpcode ); - DEFINE_HANDLER(CMSG_CONNECT_TO_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); - DEFINE_OPCODE_HANDLER_OLD(CMSG_CONVERSATION_UNK1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_CONNECT_TO_FAILED, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_CONVERT_RAID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupRaidConvertOpcode ); + DEFINE_HANDLER(CMSG_CREATE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::CreateCharacter, &WorldSession::HandleCharCreateOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_CREATE_SHIPMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_CREATURE_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryCreature, &WorldSession::HandleCreatureQuery); - DEFINE_OPCODE_HANDLER_OLD(CMSG_DANCE_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::Query::DBQueryBulk, &WorldSession::HandleDBQueryBulk); DEFINE_HANDLER(CMSG_DECLINE_GUILD_INVITES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::DeclineGuildInvites, &WorldSession::HandleDeclineGuildInvites); DEFINE_HANDLER(CMSG_DECLINE_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::DeclinePetition, &WorldSession::HandleDeclinePetition); @@ -331,16 +333,16 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_DEL_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::DelIgnore, &WorldSession::HandleDelIgnoreOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_DEPOSIT_REAGENT_BANK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_DESTROY_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::DestroyItem, &WorldSession::HandleDestroyItemOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_BOOT_PLAYER_VOTE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_BOOT_PLAYER_VOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetBootVoteOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_GET_JOIN_STATUS, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleDFGetJoinStatus ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_GET_SYSTEM_INFO, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleDFGetSystemInfo ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgJoinOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgLeaveOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_PROPOSAL_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_READY_CHECK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_PROPOSAL_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgProposalResultOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_READY_CHECK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SEARCH_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SEARCH_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SET_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SET_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgSetCommentOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_SET_ROLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetRolesOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DF_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgTeleportOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_DISCARDED_TIME_SYNC_ACKS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -351,52 +353,45 @@ void OpcodeTable::Initialize() 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_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ENGINE_SURVEY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_ENABLE_TAXI_NODE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes ); - DEFINE_HANDLER(CMSG_EQUIPMENT_SET_SAVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave); + DEFINE_OPCODE_HANDLER_OLD(CMSG_ENGINE_SURVEY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_ENUM_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharEnumOpcode); + DEFINE_HANDLER(CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::EnumCharacters, &WorldSession::HandleCharUndeleteEnumOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_FAR_SIGHT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleFarSightOpcode ); - DEFINE_HANDLER(CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryGameObject, &WorldSession::HandleGameObjectQueryOpcode); - DEFINE_HANDLER(CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectReportUse, &WorldSession::HandleGameobjectReportUse); - DEFINE_HANDLER(CMSG_GAMEOBJ_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjectUse, &WorldSession::HandleGameObjectUseOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GAMESPEED_SET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GAMETIME_SET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_GAME_OBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjReportUse, &WorldSession::HandleGameobjectReportUse); + DEFINE_HANDLER(CMSG_GAME_OBJ_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::GameObject::GameObjUse, &WorldSession::HandleGameObjectUseOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_CANCEL_CONSTRUCTION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_CHECK_UPGRADEABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_COMPLETE_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_GENERATE_RECRUITS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_GET_BUILDING_LANDMARKS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_MISSION_BONUS_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_PURCHASE_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_RECRUIT_FOLLOWER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REMOVE_FOLLOWER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_UPGRADEABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_REQUEST_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SET_BUILDING_ACTIVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SET_FOLLOWER_FAVORITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SET_FOLLOWER_INACTIVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_START_MISSION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_UNK1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GETDEATHBINDZONE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GARRISON_SWAP_BUILDINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_GENERATE_RANDOM_CHARACTER_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GenerateRandomCharacterName, &WorldSession::HandleRandomizeCharNameOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_CHALLENGE_MODE_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_GARRISON_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::GetItemPurchaseData, &WorldSession::HandleGetItemPurchaseData); - DEFINE_HANDLER(CMSG_GET_MAIL_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailGetList, &WorldSession::HandleGetMailList); DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_PVP_OPTIONS_ENABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGetPVPOptionsEnabled ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_REMAINING_GAME_TIME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_SELECTED_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_SHIPMENT_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GET_TROPHY_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_GET_UNDELETE_COOLDOWN_STATUS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GetUndeleteCooldownStatus, &WorldSession::HandleGetUndeleteCooldownStatus); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GHOST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_INVIS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_LAG_REPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_NUKE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_SET_SECURITY_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GetUndeleteCharacterCooldownStatus, &WorldSession::HandleGetUndeleteCooldownStatus); + DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_LAG_REPORT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_GM_SURVEY_SUBMIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMSurveySubmit, &WorldSession::HandleGMSurveySubmit); DEFINE_OPCODE_HANDLER_OLD(CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - //DEFINE_HANDLER(CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Ticket::GMTicketAcknowledgeSurvey, &WorldSession::HandleGMTicketAcknowledgeSurveyOpcode); DEFINE_HANDLER(CMSG_GM_TICKET_CREATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMTicketCreate, &WorldSession::HandleGMTicketCreateOpcode); DEFINE_HANDLER(CMSG_GM_TICKET_DELETE_TICKET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMTicketDelete, &WorldSession::HandleGMTicketDeleteOpcode); DEFINE_HANDLER(CMSG_GM_TICKET_GET_CASE_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Ticket::GMTicketGetCaseStatus, &WorldSession::HandleGMTicketGetCaseStatusOpcode); @@ -404,11 +399,8 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_GM_TICKET_GET_TICKET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::GMTicketGetTicket, &WorldSession::HandleGMTicketGetTicketOpcode); 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_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 ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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); @@ -427,9 +419,9 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_GUILD_CHALLENGE_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildChallengeUpdateRequest, &WorldSession::HandleGuildChallengeUpdateRequest); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_CHANGE_NAME_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_GUILD_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDeclineInvitation, &WorldSession::HandleGuildDeclineInvitation); + DEFINE_HANDLER(CMSG_GUILD_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDelete, &WorldSession::HandleGuildDelete); DEFINE_HANDLER(CMSG_GUILD_DELETE_RANK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDeleteRank, &WorldSession::HandleGuildDeleteRank); DEFINE_HANDLER(CMSG_GUILD_DEMOTE_MEMBER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildDemoteMember, &WorldSession::HandleGuildDemoteMember); - 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); @@ -441,13 +433,11 @@ void OpcodeTable::Initialize() 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_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 ); DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_QUERY_MEMBER_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_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); @@ -459,25 +449,22 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_HEARTH_AND_RESURRECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleHearthAndResurrect ); DEFINE_OPCODE_HANDLER_OLD(CMSG_IGNORE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleIgnoreTradeOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_INCREASE_CAST_TIME_FOR_SPELL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_ROLE_POLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_ROLE_POLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRolePollBeginOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_INITIATE_TRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateTradeOpcode ); DEFINE_HANDLER(CMSG_INSPECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::Inspect, &WorldSession::HandleInspectOpcode); DEFINE_HANDLER(CMSG_INSPECT_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::InspectPVPRequest, &WorldSession::HandleInspectPVP); - DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInstanceLockResponse); 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_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_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_KEYBOUND_OVERRIDE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_LEARN_PET_SPECIALIZATION_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_LEARN_TALENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Talent::LearnTalents, &WorldSession::HandleLearnTalentsOpcode); - DEFINE_HANDLER(CMSG_LEAVE_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Channel::LeaveChannel, &WorldSession::HandleLeaveChannel); DEFINE_OPCODE_HANDLER_OLD(CMSG_LEAVE_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupDisbandOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LEAVE_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LFR_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LFR_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_APPLY_TO_GROUP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_CANCEL_APPLICATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_DECLINE_APPLICANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_GET_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -486,11 +473,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_JOIN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_LEAVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_SEARCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_SEARCH_UPDATED_RESULT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_LIST_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_PROPOSAL_RESULT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgProposalResultOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_SET_BOOT_VOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetBootVoteOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_LFG_SET_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleLfgSetCommentOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LF_GUILD_ADD_RECRUIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildFinderAddRecruit ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LF_GUILD_BROWSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildFinderBrowse ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LF_GUILD_DECLINE_RECRUIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildFinderDeclineRecruit ); @@ -500,59 +483,37 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_LF_GUILD_REMOVE_RECRUIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildFinderRemoveRecruit ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LF_GUILD_SET_GUILD_POST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildFinderSetGuildPost ); DEFINE_HANDLER(CMSG_LIST_INVENTORY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleListInventoryOpcode); - DEFINE_HANDLER(CMSG_LOAD_SCREEN, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::LoadingScreenNotify, &WorldSession::HandleLoadScreenOpcode); + DEFINE_HANDLER(CMSG_LOADING_SCREEN_NOTIFY, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::LoadingScreenNotify, &WorldSession::HandleLoadScreenOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_LOAD_SELECTED_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_LOGOUT_CANCEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::LogoutCancel, &WorldSession::HandleLogoutCancelOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOGOUT_INSTANT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::LogoutRequest, &WorldSession::HandleLogoutRequestOpcode); DEFINE_HANDLER(CMSG_LOG_DISCONNECT, STATUS_NEVER, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOG_STREAMING_ERROR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_LOOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode); - 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_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootItem, &WorldSession::HandleAutostoreLootItemOpcode); 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_HANDLER(CMSG_LOOT_UNIT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Loot::LootUnit, &WorldSession::HandleLootOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOW_LEVEL_RAID1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_LOW_LEVEL_RAID2, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailCreateTextItem, &WorldSession::HandleMailCreateTextItem); DEFINE_HANDLER(CMSG_MAIL_DELETE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailDelete, &WorldSession::HandleMailDelete); + DEFINE_HANDLER(CMSG_MAIL_GET_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailGetList, &WorldSession::HandleGetMailList); DEFINE_HANDLER(CMSG_MAIL_MARK_AS_READ, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailMarkAsRead, &WorldSession::HandleMailMarkAsRead); DEFINE_HANDLER(CMSG_MAIL_RETURN_TO_SENDER, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailReturnToSender, &WorldSession::HandleMailReturnToSender); DEFINE_HANDLER(CMSG_MAIL_TAKE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailTakeItem, &WorldSession::HandleMailTakeItem); DEFINE_HANDLER(CMSG_MAIL_TAKE_MONEY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailTakeMoney, &WorldSession::HandleMailTakeMoney); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MASTER_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MEETINGSTONE_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_ADDON_CHANNEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_ADDON_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_MESSAGECHAT_ADDON_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatAddonMessage, &WorldSession::HandleChatAddonMessageOpcode); - 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_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); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MESSAGECHAT_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_MESSAGECHAT_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_RAID_WARNING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_SAY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessageWhisper, &WorldSession::HandleChatMessageWhisperOpcode); - DEFINE_HANDLER(CMSG_MESSAGECHAT_YELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::ChatMessage, &WorldSession::HandleChatMessageOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MINIGAME_MOVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MASTER_LOOT_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMasterGiveOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MINIMAP_PING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMinimapPingOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MISSILE_TRAJECTORY_COLLISION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MISSILE_TRAJECTORY_COLLISION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateProjectilePosition ); 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_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_CHANGE_VEHICLE_SEATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_CHARM_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_DISMISS_VEHICLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &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_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); @@ -568,27 +529,25 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementSpeedAck, &WorldSession::HandleForceSpeedChangeAck); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_FORCE_UNROOT_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveUnRootAck ); 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_OPCODE_HANDLER_OLD(CMSG_MOVE_GRAVITY_DISABLE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_GRAVITY_ENABLE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_MOVE_HEARTBEAT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_HOVER_ACK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMoveHoverAck ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_HOVER_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveHoverAck ); DEFINE_HANDLER(CMSG_MOVE_JUMP, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_KNOCK_BACK_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveKnockBackAck ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_NOT_ACTIVE_MOVER, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveNotActiveMover ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_REMOVE_MOVEMENT_FORCES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_REMOVE_MOVEMENT_FORCES, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_CAN_FLY_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveSetCanFlyAckOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - 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_CAN_TURN_WHILE_FALLING_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &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_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_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); 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_SET_RELATIVE_POSITION, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_MOVE_SET_RUN_MODE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); + DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SET_VEHICLE_REC_ID_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_MOVE_SET_WALK_MODE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::ClientPlayerMovement, &WorldSession::HandleMovementOpcodes); DEFINE_OPCODE_HANDLER_OLD(CMSG_MOVE_SPLINE_DONE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveSplineDoneOpcode ); 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); @@ -610,30 +569,22 @@ void OpcodeTable::Initialize() 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_LOGGEDIN, 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_TRANSFER, 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 ); DEFINE_OPCODE_HANDLER_OLD(CMSG_NEXT_CINEMATIC_CAMERA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleNextCinematicCamera ); - DEFINE_HANDLER(CMSG_NPC_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryNPCText, &WorldSession::HandleNpcTextQueryOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_OBJECT_UPDATE_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleObjectUpdateFailedOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OBJECT_UPDATE_RESCUED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPENING_CINEMATIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleOpeningCinematic ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_GARRISON_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_SHIPMENT_GAME_OBJ, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_SHIPMENT_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_OPT_OUT_OF_LOOT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleOptOutOfLootOpcode ); - DEFINE_HANDLER(CMSG_PAGE_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryPageText, &WorldSession::HandlePageTextQueryOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupInviteOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_INVITE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupInviteResponseOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_SILENCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PARTY_UNINVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupUninviteOpcode ); - 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); @@ -651,110 +602,107 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_CANCEL_AURA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetCancelAuraOpcode ); DEFINE_HANDLER(CMSG_PET_CAST_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Spells::PetCastSpell, &WorldSession::HandlePetCastSpellOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_NAME_CACHE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_NAME_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetNameQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_RENAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetRename ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_SET_ACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetSetAction ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_SET_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_SPELL_AUTOCAST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetSpellAutocastOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_PET_STOP_ATTACK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetStopAttack ); DEFINE_HANDLER(CMSG_PING, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess); - 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_OPCODE_HANDLER_OLD(CMSG_PROTOCOL_MISMATCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_OPCODE_HANDLER_OLD(CMSG_QUERY_BATTLE_PET_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_OPCODE_HANDLER_OLD(CMSG_QUERY_COUNTDOWN_TIMER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_QUERY_CREATURE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryCreature, &WorldSession::HandleCreatureQuery); + DEFINE_HANDLER(CMSG_QUERY_GAME_OBJECT, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Query::QueryGameObject, &WorldSession::HandleGameObjectQueryOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_GARRISON_CREATURE_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_QUERY_GUILD_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::QueryGuildInfo, &WorldSession::HandleGuildQueryOpcode); DEFINE_HANDLER(CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::QueryInspectAchievements, &WorldSession::HandleQueryInspectAchievements); DEFINE_HANDLER(CMSG_QUERY_NEXT_MAIL_TIME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::MailQueryNextMailTime, &WorldSession::HandleQueryNextMailTime); + DEFINE_HANDLER(CMSG_QUERY_NPC_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryNPCText, &WorldSession::HandleNpcTextQueryOpcode); + DEFINE_HANDLER(CMSG_QUERY_PAGE_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryPageText, &WorldSession::HandlePageTextQueryOpcode); DEFINE_HANDLER(CMSG_QUERY_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::QueryPetition, &WorldSession::HandleQueryPetition); + DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_PET_NAME, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePetNameQuery ); + DEFINE_HANDLER(CMSG_QUERY_PLAYER_NAME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Query::QueryPlayerName, &WorldSession::HandleNameQueryOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_QUEST_COMPLETION_NPCS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestNPCQuery ); + DEFINE_HANDLER(CMSG_QUERY_QUEST_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QueryQuestInfo, &WorldSession::HandleQuestQueryOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_REALM_NAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_SCENARIO_POI, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_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_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverRequestReward, &WorldSession::HandleQuestgiverRequestRewardOpcode); - 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_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_QUERY_VOID_STORAGE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_CONFIRM_ACCEPT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestConfirmAccept ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEST_CLOSE_AUTOACCEPT_QUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_QUERY_QUEST_COMPLETION_NPCS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestNPCQuery ); + DEFINE_HANDLER(CMSG_QUEST_GIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverAcceptQuest, &WorldSession::HandleQuestgiverAcceptQuestOpcode); + DEFINE_HANDLER(CMSG_QUEST_GIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverChooseReward, &WorldSession::HandleQuestgiverChooseRewardOpcode); + DEFINE_HANDLER(CMSG_QUEST_GIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverCompleteQuest, &WorldSession::HandleQuestgiverCompleteQuest); + DEFINE_HANDLER(CMSG_QUEST_GIVER_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverHello, &WorldSession::HandleQuestgiverHelloOpcode); + DEFINE_HANDLER(CMSG_QUEST_GIVER_QUERY_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverQueryQuest, &WorldSession::HandleQuestgiverQueryQuestOpcode); + DEFINE_HANDLER(CMSG_QUEST_GIVER_REQUEST_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverRequestReward, &WorldSession::HandleQuestgiverRequestRewardOpcode); + DEFINE_HANDLER(CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestGiverStatusMultipleQuery, &WorldSession::HandleQuestgiverStatusMultipleQuery); + DEFINE_HANDLER(CMSG_QUEST_GIVER_STATUS_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Quest::QuestGiverStatusQuery, &WorldSession::HandleQuestgiverStatusQueryOpcode); + DEFINE_HANDLER(CMSG_QUEST_LOG_REMOVE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Quest::QuestLogRemoveQuest, &WorldSession::HandleQuestLogRemoveQuest); 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_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); DEFINE_OPCODE_HANDLER_OLD(CMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_READ_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReadItem ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REAGENT_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REALM_NAME_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_UNHANDLED, 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_OPCODE_HANDLER_OLD(CMSG_REDEEM_WOW_TOKEN_CONFIRM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_REDEEM_WOW_TOKEN_START, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::ReorderCharacters, &WorldSession::HandleReorderCharacters); 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); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_FILTERED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_IGNORED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_PVP_AFK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_REPORT_PVP_PLAYER_AFK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK ); DEFINE_HANDLER(CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::ClientConfig::RequestAccountData, &WorldSession::HandleRequestAccountData); - 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_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_PARTY_STATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::RequestGuildPartyState, &WorldSession::HandleGuildRequestPartyState); DEFINE_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Guild::RequestGuildRewardsList, &WorldSession::HandleRequestGuildRewardsList); DEFINE_HANDLER(CMSG_REQUEST_HONOR_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Inspect::RequestHonorStats, &WorldSession::HandleRequestHonorStatsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_LFG_LIST_BLACKLIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupRequestJoinUpdates); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPartyMemberStatsOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PET_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPetInfoOpcode ); + DEFINE_HANDLER(CMSG_REQUEST_PLAYED_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::RequestPlayedTime, &WorldSession::HandlePlayedTime); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_PVP_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestPvpReward ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RAID_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestRaidInfoOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RATED_BATTLEFIELD_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestRatedBattlefieldInfo); - DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RATED_BG_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleRequestRatedBgStats ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_RESEARCH_HISTORY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_STABLED_PETS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleListStabledPetsOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_EXIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestVehicleExit ); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle); DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSeatsOnControlledVehicle); + DEFINE_OPCODE_HANDLER_OLD(CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_OPCODE_HANDLER_OLD(CMSG_REVERT_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_REVERT_MONUMENT_APPEARANCE, 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 ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_CUF_PROFILES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles ); + DEFINE_HANDLER(CMSG_SAVE_EQUIPMENT_SET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave); DEFINE_HANDLER(CMSG_SAVE_GUILD_EMBLEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Guild::SaveGuildEmblem, &WorldSession::HandleSaveGuildEmblem); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_PLAYER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SAVE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SCENE_PLAYBACK_CANCELED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SCENE_PLAYBACK_COMPLETE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SCENE_TRIGGER_EVENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SELF_RES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode ); DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SellItem, &WorldSession::HandleSellItemOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SELL_WOW_TOKEN_CONFIRM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SELL_WOW_TOKEN_START, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_SEND_CONTACT_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Social::SendContactList, &WorldSession::HandleContactListOpcode); DEFINE_HANDLER(CMSG_SEND_MAIL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Mail::SendMail, &WorldSession::HandleSendMail); DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_ADDRESS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SERVERTIME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SETDEATHBINDPOINT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_SEND_TEXT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::CTextEmote, &WorldSession::HandleTextEmoteOpcode); 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_ACTION_BAR_TOGGLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::SetActionBarToggles, &WorldSession::HandleSetActionBarToggles); DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::SetActionButton, &WorldSession::HandleSetActionButtonOpcode); DEFINE_HANDLER(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Movement::SetActiveMover, &WorldSession::HandleSetActiveMoverOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveVoiceChannel ); @@ -762,32 +710,30 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_ASSISTANT_LEADER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupAssistantLeaderOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BACKPACK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BANK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_BANK_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_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 ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_FACTION_INACTIVE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionInactiveOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_FACTION_NOT_AT_WAR, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LFG_BONUS_FACTION_ID, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LFG_COMMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LOOT_METHOD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMethodOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_LOOT_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PARTY_ASSIGNMENT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyAssignmentOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PARTY_LEADER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupSetLeaderOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_PET_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); 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_PREFERRED_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_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_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_SKILL_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Combat::SetSheathed, &WorldSession::HandleSetSheathedOpcode); 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 ); @@ -795,7 +741,7 @@ void OpcodeTable::Initialize() 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 ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_VEHICLE_REC_ID_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_USING_PARTY_GARRISON, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SET_WATCHED_FACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode ); DEFINE_HANDLER(CMSG_SHOWING_CLOAK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingCloak, &WorldSession::HandleShowingCloakOpcode); DEFINE_HANDLER(CMSG_SHOWING_HELM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Character::ShowingHelm, &WorldSession::HandleShowingHelmOpcode); @@ -806,15 +752,12 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_SORT_BAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SORT_BANK_BAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SORT_REAGENT_BANK_BAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SPELLCLICK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpellClick ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SPELL_CLICK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpellClick ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSpiritHealerActivateOpcode); DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SplitItem, &WorldSession::HandleSplitItemOpcode); DEFINE_HANDLER(CMSG_STAND_STATE_CHANGE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::StandStateChange, &WorldSession::HandleStandStateChangeOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_START_QUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_START_SPECTATOR_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_START_WARGAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_STOP_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_STORE_LOOT_IN_SLOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_START_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_SUMMON_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleSummonResponseOpcode ); DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_BUG, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitBug, &WorldSession::HandleSupportTicketSubmitBug); DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Ticket::SupportTicketSubmitComplaint, &WorldSession::HandleSupportTicketSubmitComplaint); @@ -824,55 +767,42 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapInvItem, &WorldSession::HandleSwapInvItemOpcode); DEFINE_HANDLER(CMSG_SWAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Item::SwapItem, &WorldSession::HandleSwapItem); DEFINE_OPCODE_HANDLER_OLD(CMSG_SWAP_SUB_GROUPS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleGroupSwapSubGroupOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_SYNC_DANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_SWAP_VOID_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidSwapItem ); DEFINE_HANDLER(CMSG_TABARD_VENDOR_ACTIVATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTabardVendorActivateOpcode); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXICLEARALLNODES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXIENABLEALLNODES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXISHOWNODES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_HANDLER(CMSG_TALK_TO_GOSSIP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleGossipHelloOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXI_NODE_STATUS_QUERY, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiNodeStatusQueryOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXI_QUERY_AVAILABLE_NODES, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXI_REQUEST_EARLY_LANDING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TELEPORT_TO_UNIT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_HANDLER(CMSG_TEXT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::CTextEmote, &WorldSession::HandleTextEmoteOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_ADJUSTMENT_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_HANDLER(CMSG_TIME_SYNC_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::TimeSyncResponse, &WorldSession::HandleTimeSyncResponse); DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_SYNC_RESPONSE_DROPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_SYNC_RESPONSE_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TOGGLE_DIFFICULTY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TOGGLE_PVP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTogglePvP ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_BUY_TOKEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_CONFIRM_BUY_TOKEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_CONFIRM_REDEEM_TOKEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_CONFIRM_SELL_TOKEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_REDEEM_TOKEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_SELL_TOKEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_UPDATE_MARKET_PRICE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TOKEN_UPDATE_TOKEN_COUNT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TOTEM_DESTROYED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTotemDestroyed ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TOY_SET_FAVORITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TRAINER_BUY_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTrainerBuySpellOpcode ); DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::NPC::Hello, &WorldSession::HandleTrainerListOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_TRANSMOGRIFY_ITEMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleTransmogrifyItems ); - 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_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::TutorialSetFlag, &WorldSession::HandleTutorialFlag); - DEFINE_HANDLER(CMSG_UI_TIME_REQUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::UITimeRequest, &WorldSession::HandleUITimeRequest); + DEFINE_HANDLER(CMSG_TUTORIAL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::TutorialSetFlag, &WorldSession::HandleTutorialFlag); + DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_CHECK_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_CONNECT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_DISCONNECT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_GET_STATUS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_POST_SCREENSHOT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_UNK1, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_TWITTER_POST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + 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_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::UndeleteCharacter, &WorldSession::HandleCharUndeleteOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLEARN_SKILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnlearnSkillOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_UNREGISTER_ALL_ADDON_PREFIXES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUnregisterAddonPrefixesOpcode); + DEFINE_OPCODE_HANDLER_OLD(CMSG_UNLOCK_VOID_STORAGE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageUnlock ); DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::ClientConfig::UserClientUpdateAccountData, &WorldSession::HandleUpdateAccountData); DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_CLIENT_SETTINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_LISTED_AUCTIONABLE_TOKENS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_MISSILE_TRAJECTORY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateMissileTrajectory ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_PROJECTILE_POSITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateProjectilePosition ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_RAID_TARGET, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRaidTargetUpdateOpcode ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); + DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_WOW_TOKEN_COUNT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UPGRADE_GARRISON, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_UPGRADE_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -884,33 +814,13 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_VOICE_ADD_IGNORE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOICE_DEL_IGNORE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOICE_SESSION_ENABLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleVoiceSessionEnableOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_STORAGE_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_STORAGE_TRANSFER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageTransfer ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_STORAGE_UNLOCK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageUnlock ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_SWAP_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidSwapItem ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WARDEN_DATA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWardenDataOpcode ); DEFINE_HANDLER(CMSG_WHO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoRequestPkt, &WorldSession::HandleWhoOpcode); DEFINE_HANDLER(CMSG_WHO_IS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoIsRequest, &WorldSession::HandleWhoIsOpcode); + DEFINE_HANDLER(CMSG_WORLD_PORT_RESPONSE, STATUS_TRANSFER, PROCESS_THREADUNSAFE, WorldPackets::Movement::WorldPortResponse, &WorldSession::HandleMoveWorldportAckOpcode); DEFINE_OPCODE_HANDLER_OLD(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_WRAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleWrapItemOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_ZONEUPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleZoneUpdateOpcode ); - DEFINE_OPCODE_HANDLER_OLD(MSG_GM_BIND_OTHER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_GM_SHOWLABEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_GM_SUMMON, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_INSPECT_ARENA_TEAMS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectArenaTeamsOpcode ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_CHARM_TELEPORT_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_ALL_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_FLIGHT_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_RAW_POSITION_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_RUN_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_SWIM_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_TURN_RATE_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_SET_WALK_SPEED_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_MOVE_TOGGLE_LOGGING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - DEFINE_OPCODE_HANDLER_OLD(MSG_NOTIFY_PARTY_SQUELCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); #undef DEFINE_OPCODE_HANDLER_OLD #undef DEFINE_HANDLER diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index b97f9cc41ff..ccf995cf642 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -51,27 +51,16 @@ enum OpcodeClient : uint32 CMSG_ACCEPT_TRADE = 0x0F07, CMSG_ACCEPT_WARGAME_INVITE = 0x0E3F, CMSG_ACTIVATE_TAXI = 0x1E83, - CMSG_ACTIVATE_TAXI_EXPRESS = 0xBADD, CMSG_ADD_BATTLENET_FRIEND = 0x0335, CMSG_ADD_FRIEND = 0x039E, CMSG_ADD_IGNORE = 0x16A0, CMSG_ADD_TOY = 0x1E48, CMSG_ALTER_APPEARANCE = 0x0F82, - CMSG_AREATRIGGER = 0x0BDB, CMSG_AREA_SPIRIT_HEALER_QUERY = 0x1825, CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x0E81, - CMSG_ARENA_TEAM_ACCEPT = 0xBADD, - CMSG_ARENA_TEAM_CREATE = 0xBADD, - CMSG_ARENA_TEAM_DECLINE = 0xBADD, - CMSG_ARENA_TEAM_DISBAND = 0xBADD, - CMSG_ARENA_TEAM_INVITE = 0xBADD, - CMSG_ARENA_TEAM_LEADER = 0xBADD, - CMSG_ARENA_TEAM_LEAVE = 0xBADD, - CMSG_ARENA_TEAM_QUERY = 0xBADD, - CMSG_ARENA_TEAM_REMOVE = 0xBADD, - CMSG_ARENA_TEAM_ROSTER = 0xBADD, - CMSG_ATTACKSTOP = 0x0A01, - CMSG_ATTACKSWING = 0x0BF4, + CMSG_AREA_TRIGGER = 0x0BDB, + CMSG_ATTACK_STOP = 0x0A01, + CMSG_ATTACK_SWING = 0x0BF4, CMSG_AUCTION_HELLO_REQUEST = 0x1F82, CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x1821, CMSG_AUCTION_LIST_ITEMS = 0x0CB6, @@ -85,39 +74,29 @@ enum OpcodeClient : uint32 CMSG_AUTH_SESSION = 0x03DD, CMSG_AUTOBANK_ITEM = 0x043F, CMSG_AUTOBANK_REAGENT = 0x083F, - CMSG_AUTOEQUIP_GROUND_ITEM = 0xBADD, - CMSG_AUTOEQUIP_ITEM = 0x0423, - CMSG_AUTOEQUIP_ITEM_SLOT = 0x0838, - CMSG_AUTOSTORE_BAG_ITEM = 0x0424, CMSG_AUTOSTORE_BANK_ITEM = 0x0027, - CMSG_AUTOSTORE_GROUND_ITEM = 0xBADD, - CMSG_AUTOSTORE_LOOT_ITEM = 0x1BAC, + CMSG_AUTOSTORE_BANK_REAGENT = 0x0040, + CMSG_AUTO_EQUIP_ITEM = 0x0423, + CMSG_AUTO_EQUIP_ITEM_SLOT = 0x0838, + CMSG_AUTO_STORE_BAG_ITEM = 0x0424, CMSG_BANKER_ACTIVATE = 0x0CA5, - CMSG_BATTLEFIELD_JOIN = 0x1D36, CMSG_BATTLEFIELD_LEAVE = 0x0272, CMSG_BATTLEFIELD_LIST = 0x0250, - CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0x0F36, - CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0x0F96, - CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE = 0x17BE, - CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST = 0x1748, CMSG_BATTLEFIELD_PORT = 0x1D32, - CMSG_BATTLEFIELD_REQUEST_SCORE_DATA = 0xBADD, - CMSG_BATTLEGROUND_PLAYER_POSITIONS = 0xBADD, CMSG_BATTLEMASTER_HELLO = 0x1605, - CMSG_BATTLEMASTER_JOIN = 0xBADD, + CMSG_BATTLEMASTER_JOIN = 0x1D36, CMSG_BATTLEMASTER_JOIN_ARENA = 0x0865, - CMSG_BATTLEMASTER_JOIN_RATED = 0xBADD, + CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x1E01, CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x0695, CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x0E3D, CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x1A1F, CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x0B1E, - CMSG_BATTLE_PAY_GET_PRODUCT_LIST_QUERY = 0x0A1D, - CMSG_BATTLE_PAY_GET_PURCHASE_LIST_QUERY = 0x1616, + CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x0A1D, + CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x1616, CMSG_BATTLE_PAY_START_PURCHASE = 0x173F, CMSG_BATTLE_PET_DELETE_PET = 0x07BD, CMSG_BATTLE_PET_DELETE_PET_CHEAT = 0x079D, CMSG_BATTLE_PET_MODIFY_NAME = 0x0B37, - CMSG_BATTLE_PET_NAME_QUERY = 0x0AFC, CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x0F37, CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x0396, CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x17BD, @@ -125,26 +104,30 @@ enum OpcodeClient : uint32 CMSG_BATTLE_PET_SUMMON = 0x0A9D, CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x1A24, CMSG_BEGIN_TRADE = 0x0E53, + CMSG_BF_MGR_ENTRY_INVITE_RESPONSE = 0x0F36, + CMSG_BF_MGR_QUEUE_EXIT_REQUEST = 0x0F96, + CMSG_BF_MGR_QUEUE_INVITE_RESPONSE = 0x17BE, + CMSG_BF_MGR_QUEUE_REQUEST = 0x1748, CMSG_BINDER_ACTIVATE = 0x1C71, CMSG_BLACK_MARKET_BID_ON_ITEM = 0x1822, CMSG_BLACK_MARKET_OPEN = 0x0F84, CMSG_BLACK_MARKET_REQUEST_ITEMS = 0x016D, - CMSG_BOT_DETECTED2 = 0xBADD, CMSG_BUG_REPORT = 0x0B96, CMSG_BUSY_TRADE = 0x0E2B, CMSG_BUY_BACK_ITEM = 0x1E84, CMSG_BUY_BANK_SLOT = 0x1DE2, CMSG_BUY_ITEM = 0x1CE5, + CMSG_BUY_REAGENT_BANK = 0x1D75, + CMSG_BUY_WOW_TOKEN_CONFIRM = 0x17B8, + CMSG_BUY_WOW_TOKEN_START = 0x1A35, CMSG_CAGE_BATTLE_PET = 0x0AAB, CMSG_CALENDAR_ADD_EVENT = 0x0320, - CMSG_CALENDAR_ARENA_TEAM = 0xBADD, CMSG_CALENDAR_COMPLAIN = 0x1395, - CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP = 0xBADD, CMSG_CALENDAR_COPY_EVENT = 0x123F, CMSG_CALENDAR_EVENT_INVITE = 0x02B5, CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x03B8, CMSG_CALENDAR_EVENT_RSVP = 0x021E, - CMSG_CALENDAR_EVENT_SIGNUP = 0x0F3F, + CMSG_CALENDAR_EVENT_SIGN_UP = 0x0F3F, CMSG_CALENDAR_EVENT_STATUS = 0x13B8, CMSG_CALENDAR_GET = 0x1A38, CMSG_CALENDAR_GET_EVENT = 0x13BD, @@ -162,70 +145,89 @@ enum OpcodeClient : uint32 CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = 0x018A, CMSG_CANCEL_MOUNT_AURA = 0x012D, CMSG_CANCEL_QUEUED_SPELL = 0x0EA2, - CMSG_CANCEL_TEMP_ENCHANTMENT = 0xBADD, + CMSG_CANCEL_TEMP_ENCHANTMENT = 0x004E, CMSG_CANCEL_TRADE = 0x0E0F, CMSG_CAN_DUEL = 0x0A38, CMSG_CAST_SPELL = 0x1274, CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x1017, CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0x1503, CMSG_CHANGE_BAG_SLOT_FLAG = 0x0628, - CMSG_CHANGE_BANK_BAG_SLOT_FLAG = 0x0B72, + CMSG_CHANGE_MONUMENT_APPEARANCE = 0x1A48, CMSG_CHANGE_SUB_GROUP = 0x0AB7, - CMSG_CHANGE_TROPHY = 0x1A48, - CMSG_CHANNEL_ANNOUNCEMENTS = 0x11B9, - CMSG_CHANNEL_BAN = 0x187E, - CMSG_CHANNEL_DECLINE_INVITE = 0x10D9, - CMSG_CHANNEL_DISPLAY_LIST = 0x1419, - CMSG_CHANNEL_INVITE = 0x142D, - CMSG_CHANNEL_KICK = 0x153D, - CMSG_CHANNEL_LIST = 0x1999, - CMSG_CHANNEL_MODERATE = 0xBADD, - CMSG_CHANNEL_MODERATOR = 0x152D, - CMSG_CHANNEL_MUTE = 0x1909, - CMSG_CHANNEL_OWNER = 0x15ED, - CMSG_CHANNEL_PASSWORD = 0x193A, - CMSG_CHANNEL_SET_OWNER = 0x14CA, - CMSG_CHANNEL_SILENCE_ALL = 0x141E, - CMSG_CHANNEL_SILENCE_VOICE = 0x148E, - CMSG_CHANNEL_UNBAN = 0x155D, - CMSG_CHANNEL_UNMODERATOR = 0x10AE, - CMSG_CHANNEL_UNMUTE = 0x109A, - CMSG_CHANNEL_UNSILENCE_ALL = 0x11FE, - CMSG_CHANNEL_UNSILENCE_VOICE = 0x10FE, - CMSG_CHANNEL_VOICE_OFF = 0x103E, - CMSG_CHANNEL_VOICE_ON = 0x119D, - CMSG_CHAR_CREATE = 0x1636, + CMSG_CHARACTER_RENAME_REQUEST = 0x0616, CMSG_CHAR_CUSTOMIZE = 0x0A3D, CMSG_CHAR_DELETE = 0x12B8, - CMSG_CHAR_ENUM = 0x1696, CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x0F38, - CMSG_CHAR_RENAME = 0x0616, - CMSG_CHAR_UNDELETE_ENUM = 0x1216, + CMSG_CHAT_ADDON_MESSAGE_CHANNEL = 0x1199, + CMSG_CHAT_ADDON_MESSAGE_GUILD = 0x1C3D, + CMSG_CHAT_ADDON_MESSAGE_INSTANCE_CHAT = 0x1D9A, + CMSG_CHAT_ADDON_MESSAGE_OFFICER = 0x1C8D, + CMSG_CHAT_ADDON_MESSAGE_PARTY = 0x1D89, + CMSG_CHAT_ADDON_MESSAGE_RAID = 0x10F9, + CMSG_CHAT_ADDON_MESSAGE_WHISPER = 0x10FD, + CMSG_CHAT_CHANNEL_ANNOUNCEMENTS = 0x11B9, + CMSG_CHAT_CHANNEL_BAN = 0x187E, + CMSG_CHAT_CHANNEL_DECLINE_INVITE = 0x10D9, + CMSG_CHAT_CHANNEL_DISPLAY_LIST = 0x119D, + CMSG_CHAT_CHANNEL_INVITE = 0x142D, + CMSG_CHAT_CHANNEL_KICK = 0x153D, + CMSG_CHAT_CHANNEL_LIST = 0x1999, + CMSG_CHAT_CHANNEL_MODERATE = 0x1C8E, + CMSG_CHAT_CHANNEL_MODERATOR = 0x152D, + CMSG_CHAT_CHANNEL_MUTE = 0x1909, + CMSG_CHAT_CHANNEL_OWNER = 0x15ED, + CMSG_CHAT_CHANNEL_PASSWORD = 0x193A, + CMSG_CHAT_CHANNEL_SET_OWNER = 0x14CA, + CMSG_CHAT_CHANNEL_SILENCE_ALL = 0x141E, + CMSG_CHAT_CHANNEL_SILENCE_VOICE = 0x148E, + CMSG_CHAT_CHANNEL_UNBAN = 0x155D, + CMSG_CHAT_CHANNEL_UNMODERATOR = 0x10AE, + CMSG_CHAT_CHANNEL_UNMUTE = 0x109A, + CMSG_CHAT_CHANNEL_UNSILENCE_ALL = 0x11FE, + CMSG_CHAT_CHANNEL_UNSILENCE_VOICE = 0x10FE, + CMSG_CHAT_CHANNEL_VOICE_OFF = 0x103E, + CMSG_CHAT_CHANNEL_VOICE_ON = 0x1419, + CMSG_CHAT_JOIN_CHANNEL = 0x152A, + CMSG_CHAT_LEAVE_CHANNEL = 0x113D, + CMSG_CHAT_MESSAGE_AFK = 0x185E, + CMSG_CHAT_MESSAGE_CHANNEL = 0x1D8A, + CMSG_CHAT_MESSAGE_DND = 0x183E, + CMSG_CHAT_MESSAGE_EMOTE = 0x1DAA, + CMSG_CHAT_MESSAGE_GUILD = 0x14E9, + CMSG_CHAT_MESSAGE_INSTANCE_CHAT = 0x14FD, + CMSG_CHAT_MESSAGE_OFFICER = 0x155A, + CMSG_CHAT_MESSAGE_PARTY = 0x14BA, + CMSG_CHAT_MESSAGE_RAID = 0x1CAA, + CMSG_CHAT_MESSAGE_RAID_WARNING = 0x147A, + CMSG_CHAT_MESSAGE_SAY = 0x192A, + CMSG_CHAT_MESSAGE_WHISPER = 0x103A, + CMSG_CHAT_MESSAGE_YELL = 0x1CB9, + CMSG_CHAT_REGISTER_ADDON_PREFIXES = 0x1D2A, + CMSG_CHAT_REPORT_FILTERED = 0x159E, + CMSG_CHAT_REPORT_IGNORED = 0x151A, + CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x15FA, CMSG_CHECK_RAF_EMAIL_ENABLED = 0x1620, - CMSG_CHECK_VETERAN_TOKEN_ELIGIBILITY = 0x0337, + CMSG_CHECK_WOW_TOKEN_VETERAN_ELIGIBILITY = 0x0337, CMSG_CHOICE_RESPONSE = 0x1FCF, CMSG_CLEAR_RAID_MARKER = 0x0FDB, CMSG_CLEAR_TRADE_ITEM = 0x0F7B, + CMSG_CLIENT_PORT_GRAVEYARD = 0x0C65, CMSG_CLOSE_INTERACTION = 0x1C36, CMSG_COMMENTATOR_ENABLE = 0x073F, CMSG_COMMENTATOR_ENTER_INSTANCE = 0x03BD, CMSG_COMMENTATOR_EXIT_INSTANCE = 0x0698, CMSG_COMMENTATOR_GET_MAP_INFO = 0x1A40, - CMSG_COMMENTATOR_GET_PARTY_INFO = 0xBADD, CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x171F, - CMSG_COMMENTATOR_INSTANCE_COMMAND = 0xBADD, - CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND = 0xBADD, CMSG_COMMENTATOR_START_WARGAME = 0x0637, - CMSG_COMPLAIN = 0x0F40, + CMSG_COMPLAINT = 0x0F40, + CMSG_COMPLETE_ALL_READY_SHIPMENTS = 0x0F06, CMSG_COMPLETE_CINEMATIC = 0x0CF2, CMSG_COMPLETE_MOVIE = 0x1E0A, CMSG_CONFIRM_RESPEC_WIPE = 0x1226, CMSG_CONNECT_TO_FAILED = 0x0736, - CMSG_CONVERSATION_UNK1 = 0x1C25, CMSG_CONVERT_RAID = 0x0A98, + CMSG_CREATE_CHARACTER = 0x1636, CMSG_CREATE_SHIPMENT = 0x010E, - CMSG_CREATURE_QUERY = 0x0FD3, - CMSG_DANCE_QUERY = 0xBADD, CMSG_DB_QUERY_BULK = 0x039F, CMSG_DECLINE_GUILD_INVITES = 0x09B1, CMSG_DECLINE_PETITION = 0x1D66, @@ -240,7 +242,7 @@ enum OpcodeClient : uint32 CMSG_DF_JOIN = 0x1237, CMSG_DF_LEAVE = 0x029D, CMSG_DF_PROPOSAL_RESPONSE = 0x0795, - CMSG_DF_READY_CHECK = 0x06A0, + CMSG_DF_READY_CHECK_RESPONSE = 0x06A0, CMSG_DF_SEARCH_JOIN = 0x1797, CMSG_DF_SEARCH_LEAVE = 0x0EB7, CMSG_DF_SET_COMMENT = 0x0615, @@ -256,50 +258,41 @@ enum OpcodeClient : uint32 CMSG_ENABLE_NAGLE = 0x0B55, CMSG_ENABLE_TAXI_NODE = 0x0926, CMSG_ENGINE_SURVEY = 0x0FA0, - CMSG_EQUIPMENT_SET_SAVE = 0x09E2, + CMSG_ENUM_CHARACTERS = 0x1696, + CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x1216, CMSG_FAR_SIGHT = 0x00EE, - CMSG_GAMEOBJECT_QUERY = 0x06C8, - CMSG_GAMEOBJ_REPORT_USE = 0x18B2, - CMSG_GAMEOBJ_USE = 0x08B1, - CMSG_GAMESPEED_SET = 0xBADD, - CMSG_GAMETIME_SET = 0xBADD, + CMSG_GAME_OBJ_REPORT_USE = 0x18B2, + CMSG_GAME_OBJ_USE = 0x08B1, CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING = 0x0651, CMSG_GARRISON_CANCEL_CONSTRUCTION = 0x1A02, + CMSG_GARRISON_CHECK_UPGRADEABLE = 0x12FA, CMSG_GARRISON_COMPLETE_MISSION = 0x0BA2, CMSG_GARRISON_GENERATE_RECRUITS = 0x0FFA, + CMSG_GARRISON_GET_BUILDING_LANDMARKS = 0x0EFC, CMSG_GARRISON_MISSION_BONUS_ROLL = 0x07D2, - CMSG_GARRISON_OPEN_TRADESKILL_NPC = 0x06DB, CMSG_GARRISON_PURCHASE_BUILDING = 0x1208, - CMSG_GARRISON_RECRUIT_FOLLOWER = 0x028E, + CMSG_GARRISON_RECRUIT_FOLLOWER = 0x0E21, CMSG_GARRISON_REMOVE_FOLLOWER = 0x0374, CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING = 0x035B, CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA = 0x1B8C, CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO = 0x06DA, - CMSG_GARRISON_REQUEST_UPGRADEABLE = 0x12FA, + CMSG_GARRISON_REQUEST_SHIPMENT_INFO = 0x03FA, CMSG_GARRISON_SET_BUILDING_ACTIVE = 0x16CF, CMSG_GARRISON_SET_FOLLOWER_FAVORITE = 0x0BDA, CMSG_GARRISON_SET_FOLLOWER_INACTIVE = 0x0AC8, CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES = 0x020D, CMSG_GARRISON_START_MISSION = 0x0E0E, CMSG_GARRISON_SWAP_BUILDINGS = 0x0ADB, - CMSG_GARRISON_UNK1 = 0x072D, - CMSG_GETDEATHBINDZONE = 0xBADD, + CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x0B3E, CMSG_GET_CHALLENGE_MODE_REWARDS = 0x1118, - CMSG_GET_GARRISON_INFO = 0x0EFC, + CMSG_GET_GARRISON_INFO = 0x072D, CMSG_GET_ITEM_PURCHASE_DATA = 0x016E, - CMSG_GET_MAIL_LIST = 0x1F04, CMSG_GET_MIRROR_IMAGE_DATA = 0x0E74, CMSG_GET_PVP_OPTIONS_ENABLED = 0x029E, CMSG_GET_REMAINING_GAME_TIME = 0x0696, - CMSG_GET_SELECTED_TROPHY = 0x0F47, - CMSG_GET_SHIPMENT_INFO = 0xBADD, CMSG_GET_TROPHY_LIST = 0x17D0, - CMSG_GET_UNDELETE_COOLDOWN_STATUS = 0x063D, - CMSG_GHOST = 0xBADD, - CMSG_GM_INVIS = 0xBADD, + CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x063D, CMSG_GM_LAG_REPORT = 0x0B3F, - CMSG_GM_NUKE = 0xBADD, - CMSG_GM_SET_SECURITY_GROUP = 0xBADD, CMSG_GM_SURVEY_SUBMIT = 0x0E15, CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x0FBE, CMSG_GM_TICKET_CREATE = 0x0A1E, @@ -309,11 +302,8 @@ enum OpcodeClient : uint32 CMSG_GM_TICKET_GET_TICKET = 0x0717, CMSG_GM_TICKET_RESPONSE_RESOLVE = 0x0217, CMSG_GM_TICKET_UPDATE_TEXT = 0x13A0, - CMSG_GOSSIP_HELLO = 0x1C22, CMSG_GOSSIP_SELECT_OPTION = 0x1E0C, CMSG_GRANT_LEVEL = 0x1DF1, - CMSG_GROUP_CANCEL = 0xBADD, - CMSG_GROUP_REQUEST_JOIN_UPDATES = 0xBADD, CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x1C07, CMSG_GUILD_ADD_RANK = 0x1953, CMSG_GUILD_ASSIGN_MEMBER_RANK = 0x1844, @@ -322,7 +312,6 @@ enum OpcodeClient : uint32 CMSG_GUILD_BANK_BUY_TAB = 0x0F09, CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x0832, CMSG_GUILD_BANK_LOG_QUERY = 0x1973, - CMSG_GUILD_BANK_NOTE = 0xBADD, CMSG_GUILD_BANK_QUERY_TAB = 0x1DE5, CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x1417, CMSG_GUILD_BANK_SET_TAB_TEXT = 0x1917, @@ -340,7 +329,6 @@ enum OpcodeClient : uint32 CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x1833, CMSG_GUILD_GET_RANKS = 0x1533, CMSG_GUILD_GET_ROSTER = 0x1434, - CMSG_GUILD_INFO = 0xBADD, CMSG_GUILD_INVITE_BY_NAME = 0x0716, CMSG_GUILD_LEAVE = 0x1168, CMSG_GUILD_MEMBER_SEND_SOR_REQUEST = 0x1138, @@ -348,13 +336,11 @@ enum OpcodeClient : uint32 CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0x1928, CMSG_GUILD_PERMISSIONS_QUERY = 0x1878, CMSG_GUILD_PROMOTE_MEMBER = 0x1147, - CMSG_GUILD_QUERY = 0x12BE, CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE = 0x1C13, CMSG_GUILD_QUERY_MEMBER_RECIPES = 0x1063, CMSG_GUILD_QUERY_NEWS = 0x1573, CMSG_GUILD_QUERY_RECIPES = 0x1843, CMSG_GUILD_REPLACE_GUILD_MASTER = 0x1923, - CMSG_GUILD_REQUEST_PARTY_STATE = 0x0B5B, CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x1977, CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x1167, CMSG_GUILD_SET_GUILD_MASTER = 0x1316, @@ -373,19 +359,15 @@ enum OpcodeClient : uint32 CMSG_INSTANCE_LOCK_RESPONSE = 0x1DE6, CMSG_ITEM_PURCHASE_REFUND = 0x08B2, CMSG_ITEM_TEXT_QUERY = 0x037B, - CMSG_JOIN_ARENA_SKIRMISH = 0x1E01, - CMSG_JOIN_CHANNEL = 0x152A, CMSG_JOIN_PET_BATTLE_QUEUE = 0x0F2A, CMSG_JOIN_RATED_BATTLEGROUND = 0x01AA, CMSG_KEEP_ALIVE = 0x1737, CMSG_KEYBOUND_OVERRIDE = 0x0ADA, CMSG_LEARN_PET_SPECIALIZATION_GROUP = 0x06FA, CMSG_LEARN_TALENTS = 0x0AAA, - CMSG_LEAVE_CHANNEL = 0x113D, CMSG_LEAVE_GROUP = 0x179E, CMSG_LEAVE_PET_BATTLE_QUEUE = 0x0751, - CMSG_LFG_LFR_JOIN = 0xBADD, - CMSG_LFG_LFR_LEAVE = 0xBADD, + CMSG_LFG_LIST_APPLY_TO_GROUP = 0x061F, CMSG_LFG_LIST_CANCEL_APPLICATION = 0x0BB7, CMSG_LFG_LIST_DECLINE_APPLICANT = 0x17B6, CMSG_LFG_LIST_GET_STATUS = 0x0338, @@ -394,11 +376,7 @@ enum OpcodeClient : uint32 CMSG_LFG_LIST_JOIN = 0x13B6, CMSG_LFG_LIST_LEAVE = 0x0B20, CMSG_LFG_LIST_SEARCH = 0x1A1D, - CMSG_LFG_LIST_SEARCH_UPDATED_RESULT = 0x061F, CMSG_LFG_LIST_UPDATE_REQUEST = 0x12B7, - CMSG_LFG_PROPOSAL_RESULT = 0xBADD, - CMSG_LFG_SET_BOOT_VOTE = 0xBADD, - CMSG_LFG_SET_COMMENT = 0xBADD, CMSG_LF_GUILD_ADD_RECRUIT = 0x0B9F, CMSG_LF_GUILD_BROWSE = 0x1A37, CMSG_LF_GUILD_DECLINE_RECRUIT = 0x1023, @@ -408,50 +386,28 @@ enum OpcodeClient : uint32 CMSG_LF_GUILD_REMOVE_RECRUIT = 0x1803, CMSG_LF_GUILD_SET_GUILD_POST = 0x121F, CMSG_LIST_INVENTORY = 0x1922, - CMSG_LOAD_SCREEN = 0x13C0, + CMSG_LOADING_SCREEN_NOTIFY = 0x13C0, + CMSG_LOAD_SELECTED_TROPHY = 0x0F47, CMSG_LOGOUT_CANCEL = 0x0F8C, CMSG_LOGOUT_INSTANT = 0x1CA5, CMSG_LOGOUT_REQUEST = 0x0CA6, CMSG_LOG_DISCONNECT = 0x12D5, CMSG_LOG_STREAMING_ERROR = 0x12D6, - CMSG_LOOT = 0x0BF1, - CMSG_LOOT_CURRENCY = 0xBADD, - CMSG_LOOT_MASTER_GIVE = 0xBADD, - CMSG_LOOT_METHOD = 0x0E3E, + CMSG_LOOT_ITEM = 0x1BAC, CMSG_LOOT_MONEY = 0x050A, CMSG_LOOT_RELEASE = 0x1A25, CMSG_LOOT_ROLL = 0x1F23, - CMSG_LOW_LEVEL_RAID1 = 0x0F0B, - CMSG_LOW_LEVEL_RAID2 = 0x02C0, + CMSG_LOOT_UNIT = 0x0BF1, + CMSG_LOW_LEVEL_RAID1 = 0x02C0, + CMSG_LOW_LEVEL_RAID2 = 0x0F0B, CMSG_MAIL_CREATE_TEXT_ITEM = 0x0149, CMSG_MAIL_DELETE = 0x0A73, + CMSG_MAIL_GET_LIST = 0x1F04, CMSG_MAIL_MARK_AS_READ = 0x1C31, CMSG_MAIL_RETURN_TO_SENDER = 0x02A0, CMSG_MAIL_TAKE_ITEM = 0x0975, CMSG_MAIL_TAKE_MONEY = 0x0871, CMSG_MASTER_LOOT_ITEM = 0x06D9, - CMSG_MEETINGSTONE_INFO = 0xBADD, - CMSG_MESSAGECHAT_ADDON_CHANNEL = 0x1199, - CMSG_MESSAGECHAT_ADDON_GUILD = 0x1C3D, - CMSG_MESSAGECHAT_ADDON_INSTANCE = 0x1D9A, - CMSG_MESSAGECHAT_ADDON_OFFICER = 0x1C8D, - CMSG_MESSAGECHAT_ADDON_PARTY = 0x1D89, - CMSG_MESSAGECHAT_ADDON_RAID = 0x10F9, - CMSG_MESSAGECHAT_ADDON_WHISPER = 0x10FD, - CMSG_MESSAGECHAT_AFK = 0x185E, - CMSG_MESSAGECHAT_CHANNEL = 0x1D8A, - CMSG_MESSAGECHAT_DND = 0x183E, - CMSG_MESSAGECHAT_EMOTE = 0x1DAA, - CMSG_MESSAGECHAT_GUILD = 0x14E9, - CMSG_MESSAGECHAT_INSTANCE = 0x14FD, - CMSG_MESSAGECHAT_OFFICER = 0x155A, - CMSG_MESSAGECHAT_PARTY = 0x14BA, - CMSG_MESSAGECHAT_RAID = 0x1CAA, - CMSG_MESSAGECHAT_RAID_WARNING = 0x147A, - CMSG_MESSAGECHAT_SAY = 0x192A, - CMSG_MESSAGECHAT_WHISPER = 0x103A, - CMSG_MESSAGECHAT_YELL = 0x1CB9, - CMSG_MINIGAME_MOVE = 0xBADD, CMSG_MINIMAP_PING = 0x1218, CMSG_MISSILE_TRAJECTORY_COLLISION = 0x0B74, CMSG_MOUNT_SET_FAVORITE = 0x061E, @@ -482,11 +438,9 @@ enum OpcodeClient : uint32 CMSG_MOVE_HOVER_ACK = 0x0860, CMSG_MOVE_JUMP = 0x0158, CMSG_MOVE_KNOCK_BACK_ACK = 0x040F, - CMSG_MOVE_NOT_ACTIVE_MOVER = 0xBADD, CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x0913, CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0x090C, CMSG_MOVE_SET_CAN_FLY_ACK = 0x0C03, - CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK = 0xBADD, CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0x054F, CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x0018, CMSG_MOVE_SET_FACING = 0x0803, @@ -518,30 +472,22 @@ enum OpcodeClient : uint32 CMSG_MOVE_TELEPORT_ACK = 0x0520, CMSG_MOVE_TELEPORT_CHEAT = 0x0C0B, CMSG_MOVE_TIME_SKIPPED = 0x0903, - CMSG_MOVE_TOGGLE_COLLISION_ACK = 0xBADD, CMSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x0548, CMSG_MOVE_WATER_WALK_ACK = 0x0C07, - CMSG_MOVE_WORLDPORT_ACK = 0x061D, - CMSG_NAME_QUERY = 0x0BBD, CMSG_NEUTRAL_PLAYER_SELECT_FACTION = 0x0EC8, - CMSG_NEW_SPELL_SLOT = 0xBADD, CMSG_NEXT_CINEMATIC_CAMERA = 0x0CE1, - CMSG_NPC_TEXT_QUERY = 0x1E24, CMSG_OBJECT_UPDATE_FAILED = 0x0B2D, CMSG_OBJECT_UPDATE_RESCUED = 0x0A89, CMSG_OFFER_PETITION = 0x1A17, CMSG_OPENING_CINEMATIC = 0x0E0A, - CMSG_OPEN_GARRISON_MISSION_NPC = 0x0BA9, CMSG_OPEN_ITEM = 0x0354, - CMSG_OPEN_SHIPMENT_GAME_OBJ = 0x0F06, + CMSG_OPEN_MISSION_NPC = 0x0BA9, CMSG_OPEN_SHIPMENT_NPC = 0x074F, + CMSG_OPEN_TRADESKILL_NPC = 0x06DB, CMSG_OPT_OUT_OF_LOOT = 0x1F89, - CMSG_PAGE_TEXT_QUERY = 0x1AA2, CMSG_PARTY_INVITE = 0x12BD, CMSG_PARTY_INVITE_RESPONSE = 0x16BF, - CMSG_PARTY_SILENCE = 0xBADD, CMSG_PARTY_UNINVITE = 0x02B6, - CMSG_PARTY_UNSILENCE = 0xBADD, CMSG_PETITION_BUY = 0x1872, CMSG_PETITION_RENAME_GUILD = 0x0E37, CMSG_PETITION_SHOW_LIST = 0x0CF5, @@ -559,112 +505,107 @@ enum OpcodeClient : uint32 CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = 0x0EAB, CMSG_PET_CANCEL_AURA = 0x01E9, CMSG_PET_CAST_SPELL = 0x1B0A, - CMSG_PET_NAME_CACHE = 0xBADD, - CMSG_PET_NAME_QUERY = 0x0E30, CMSG_PET_RENAME = 0x1618, CMSG_PET_SET_ACTION = 0x0C75, - CMSG_PET_SET_SPECIALIZATION = 0xBADD, CMSG_PET_SPELL_AUTOCAST = 0x0CE5, CMSG_PET_STOP_ATTACK = 0x09A6, CMSG_PING = 0x12DE, - CMSG_PLAYED_TIME = 0x0750, CMSG_PLAYER_LOGIN = 0x0E98, - CMSG_PLAY_DANCE = 0xBADD, - CMSG_PORT_GRAVEYARD = 0x0C65, + CMSG_PROTOCOL_MISMATCH = 0x0356, CMSG_PUSH_QUEST_TO_PARTY = 0x0DE1, CMSG_PVP_LOG_DATA = 0x0E08, + CMSG_QUERY_BATTLE_PET_NAME = 0x0AFC, CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x03B7, CMSG_QUERY_CORPSE_TRANSPORT = 0x1215, CMSG_QUERY_COUNTDOWN_TIMER = 0x06F1, + CMSG_QUERY_CREATURE = 0x0FD3, + CMSG_QUERY_GAME_OBJECT = 0x06C8, + CMSG_QUERY_GARRISON_CREATURE_NAME = 0x0F28, + CMSG_QUERY_GUILD_INFO = 0x12BE, CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x014E, CMSG_QUERY_NEXT_MAIL_TIME = 0x08B6, + CMSG_QUERY_NPC_TEXT = 0x1E24, + CMSG_QUERY_PAGE_TEXT = 0x1AA2, CMSG_QUERY_PETITION = 0x0FAC, + CMSG_QUERY_PET_NAME = 0x0E30, + CMSG_QUERY_PLAYER_NAME = 0x0BBD, CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x0489, + CMSG_QUERY_QUEST_INFO = 0x0FA9, + CMSG_QUERY_REALM_NAME = 0x0F9F, CMSG_QUERY_SCENARIO_POI = 0x161D, CMSG_QUERY_TIME = 0x0F0A, - CMSG_QUESTGIVER_ACCEPT_QUEST = 0x1865, - CMSG_QUESTGIVER_CANCEL = 0xBADD, - CMSG_QUESTGIVER_CHOOSE_REWARD = 0x0DA2, - CMSG_QUESTGIVER_COMPLETE_QUEST = 0x0CE6, - CMSG_QUESTGIVER_HELLO = 0x01CE, - CMSG_QUESTGIVER_QUERY_QUEST = 0x0DA6, - CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0xBADD, - CMSG_QUESTGIVER_REQUEST_REWARD = 0x19F6, - CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x0DA5, - CMSG_QUESTGIVER_STATUS_QUERY = 0x0836, - CMSG_QUESTLOG_REMOVE_QUEST = 0x1DE1, - CMSG_QUESTLOG_SWAP_QUEST = 0xBADD, - CMSG_QUEST_CLOSE_AUTOACCEPT_QUEST = 0x0925, + CMSG_QUERY_VOID_STORAGE = 0x03D3, CMSG_QUEST_CONFIRM_ACCEPT = 0x08A1, + CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x1865, + CMSG_QUEST_GIVER_CHOOSE_REWARD = 0x0DA2, + CMSG_QUEST_GIVER_COMPLETE_QUEST = 0x0CE6, + CMSG_QUEST_GIVER_HELLO = 0x01CE, + CMSG_QUEST_GIVER_QUERY_QUEST = 0x0DA6, + CMSG_QUEST_GIVER_REQUEST_REWARD = 0x19F6, + CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x0DA5, + CMSG_QUEST_GIVER_STATUS_QUERY = 0x0836, + CMSG_QUEST_LOG_REMOVE_QUEST = 0x1DE1, CMSG_QUEST_POI_QUERY = 0x1240, CMSG_QUEST_PUSH_RESULT = 0x1F81, - CMSG_QUEST_QUERY = 0x0FA9, CMSG_QUEUED_MESSAGES_END = 0x027E, - CMSG_RANDOMIZE_CHAR_NAME = 0x0B3E, CMSG_RANDOM_ROLL = 0x179F, CMSG_READY_CHECK_RESPONSE = 0x07B5, CMSG_READ_ITEM = 0x042A, - CMSG_REAGENT_BANK_BUY_TAB = 0x1D75, - CMSG_REALM_NAME_QUERY = 0x0F9F, CMSG_RECLAIM_CORPSE = 0x0DB1, CMSG_RECRUIT_A_FRIEND = 0x0F3E, - CMSG_REGISTER_ADDON_PREFIXES = 0x1D2A, + CMSG_REDEEM_WOW_TOKEN_CONFIRM = 0x06BD, + CMSG_REDEEM_WOW_TOKEN_START = 0x03B5, CMSG_REORDER_CHARACTERS = 0x17B7, CMSG_REPAIR_ITEM = 0x19A2, - CMSG_REPLACE_ACCOUNT_DATA = 0xBADD, - CMSG_REPLACE_TROPHY = 0xBADD, + CMSG_REPLACE_TROPHY = 0x0605, CMSG_REPOP_REQUEST = 0x0D36, - CMSG_REPORT_FILTERED = 0x159E, - CMSG_REPORT_IGNORED = 0x151A, - CMSG_REPORT_PVP_AFK = 0x0F0C, + CMSG_REPORT_PVP_PLAYER_AFK = 0x0F0C, CMSG_REQUEST_ACCOUNT_DATA = 0x0798, - CMSG_REQUEST_ARTIFACT_COMPLETION_HISTORY = 0xBADD, CMSG_REQUEST_BATTLEFIELD_STATUS = 0x039D, CMSG_REQUEST_CATEGORY_COOLDOWNS = 0x0ED3, CMSG_REQUEST_CEMETERY_LIST = 0x0FD0, CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS = 0x1B8A, CMSG_REQUEST_FORCED_REACTIONS = 0x1AAC, + CMSG_REQUEST_GUILD_PARTY_STATE = 0x0B5B, CMSG_REQUEST_GUILD_REWARDS_LIST = 0x0F2F, CMSG_REQUEST_HONOR_STATS = 0x1207, CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x0A02, CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x0620, CMSG_REQUEST_PARTY_MEMBER_STATS = 0x0EB8, CMSG_REQUEST_PET_INFO = 0x19F5, + CMSG_REQUEST_PLAYED_TIME = 0x0750, CMSG_REQUEST_PVP_REWARDS = 0x06DC, CMSG_REQUEST_RAID_INFO = 0x0A96, - CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0xBADD, - CMSG_REQUEST_RATED_BG_INFO = 0x0A40, - CMSG_REQUEST_RATED_BG_STATS = 0xBADD, + CMSG_REQUEST_RATED_BATTLEFIELD_INFO = 0x0A40, CMSG_REQUEST_RESEARCH_HISTORY = 0x0EA9, CMSG_REQUEST_STABLED_PETS = 0x01CA, CMSG_REQUEST_VEHICLE_EXIT = 0x054D, CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x0FA3, CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x1E2A, CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x0E7C, + CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE = 0x0718, CMSG_RESET_CHALLENGE_MODE = 0x1248, - CMSG_RESET_FACTION_CHEAT = 0xBADD, CMSG_RESET_INSTANCES = 0x0A97, CMSG_RESURRECT_RESPONSE = 0x033E, - CMSG_REVERT_TROPHY = 0x0679, + CMSG_REVERT_MONUMENT_APPEARANCE = 0x0679, CMSG_RIDE_VEHICLE_INTERACT = 0x1ED0, - CMSG_ROLE_POLL_BEGIN = 0xBADD, CMSG_SAVE_CUF_PROFILES = 0x0EC7, + CMSG_SAVE_EQUIPMENT_SET = 0x09E2, CMSG_SAVE_GUILD_EMBLEM = 0x0B0C, - CMSG_SAVE_PLAYER = 0xBADD, - CMSG_SAVE_TROPHY = 0x0605, CMSG_SCENE_PLAYBACK_CANCELED = 0x0A8C, CMSG_SCENE_PLAYBACK_COMPLETE = 0x0BD0, CMSG_SCENE_TRIGGER_EVENT = 0x0589, CMSG_SELF_RES = 0x1E0B, CMSG_SELL_ITEM = 0x1931, + CMSG_SELL_WOW_TOKEN_CONFIRM = 0x031E, + CMSG_SELL_WOW_TOKEN_START = 0x0FB8, CMSG_SEND_CONTACT_LIST = 0x0EC0, CMSG_SEND_MAIL = 0x0240, CMSG_SEND_SOR_REQUEST_VIA_ADDRESS = 0x1335, CMSG_SEND_SOR_REQUEST_VIA_BNET_ACCOUNT_ID = 0x0AB5, - CMSG_SERVERTIME = 0xBADD, - CMSG_SETDEATHBINDPOINT = 0xBADD, + CMSG_SEND_TEXT_EMOTE = 0x01EE, CMSG_SET_ACHIEVEMENTS_HIDDEN = 0x16D0, - CMSG_SET_ACTIONBAR_TOGGLES = 0x0F81, + CMSG_SET_ACTION_BAR_TOGGLES = 0x0F81, CMSG_SET_ACTION_BUTTON = 0x133F, CMSG_SET_ACTIVE_MOVER = 0x0108, CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x0298, @@ -672,32 +613,30 @@ enum OpcodeClient : uint32 CMSG_SET_ASSISTANT_LEADER = 0x0395, CMSG_SET_BACKPACK_AUTOSORT_DISABLED = 0x0AF9, CMSG_SET_BANK_AUTOSORT_DISABLED = 0x0BA3, + CMSG_SET_BANK_BAG_SLOT_FLAG = 0x0B72, CMSG_SET_CONTACT_NOTES = 0x0B3D, CMSG_SET_CURRENCY_FLAGS = 0x065C, CMSG_SET_DIFFICULTY_ID = 0x0BD3, CMSG_SET_DUNGEON_DIFFICULTY = 0x0E16, CMSG_SET_EVERYONE_IS_ASSISTANT = 0x1716, CMSG_SET_FACTION_AT_WAR = 0x1C66, - CMSG_SET_FACTION_CHEAT = 0xBADD, CMSG_SET_FACTION_INACTIVE = 0x1862, CMSG_SET_FACTION_NOT_AT_WAR = 0x0DF2, CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x12DB, CMSG_SET_LFG_BONUS_FACTION_ID = 0x0252, - CMSG_SET_LFG_COMMENT = 0xBADD, + CMSG_SET_LOOT_METHOD = 0x0E3E, CMSG_SET_LOOT_SPECIALIZATION = 0x0D72, CMSG_SET_PARTY_ASSIGNMENT = 0x0AB8, CMSG_SET_PARTY_LEADER = 0x131D, CMSG_SET_PET_SLOT = 0x1B02, CMSG_SET_PLAYER_DECLINED_NAMES = 0x1617, - CMSG_SET_PREFERED_CEMETERY = 0x07DA, + CMSG_SET_PREFERRED_CEMETERY = 0x07DA, CMSG_SET_PVP = 0x1BC7, CMSG_SET_RAID_DIFFICULTY = 0x0397, - CMSG_SET_RELATIVE_POSITION = 0xBADD, CMSG_SET_ROLE = 0x0398, CMSG_SET_SAVED_INSTANCE_EXTEND = 0x0B97, CMSG_SET_SELECTION = 0x0E8C, CMSG_SET_SHEATHED = 0x1CB1, - CMSG_SET_SKILL_CHEAT = 0xBADD, CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = 0x1F2C, CMSG_SET_SPECIALIZATION = 0x0759, CMSG_SET_TAXI_BENCHMARK_MODE = 0x0CF6, @@ -705,7 +644,7 @@ enum OpcodeClient : uint32 CMSG_SET_TRADE_CURRENCY = 0x06F2, CMSG_SET_TRADE_GOLD = 0x0E5A, CMSG_SET_TRADE_ITEM = 0x0626, - CMSG_SET_VEHICLE_REC_ID_ACK = 0xBADD, + CMSG_SET_USING_PARTY_GARRISON = 0x1A26, CMSG_SET_WATCHED_FACTION = 0x1E82, CMSG_SHOWING_CLOAK = 0x0F04, CMSG_SHOWING_HELM = 0x0C36, @@ -716,15 +655,12 @@ enum OpcodeClient : uint32 CMSG_SORT_BAGS = 0x0AF1, CMSG_SORT_BANK_BAGS = 0x0659, CMSG_SORT_REAGENT_BANK_BAGS = 0x06D2, - CMSG_SPELLCLICK = 0x1DB2, + CMSG_SPELL_CLICK = 0x1DB2, CMSG_SPIRIT_HEALER_ACTIVATE = 0x1E8A, CMSG_SPLIT_ITEM = 0x052B, CMSG_STAND_STATE_CHANGE = 0x01AD, - CMSG_START_QUEST = 0xBADD, CMSG_START_SPECTATOR_WAR_GAME = 0x16B5, - CMSG_START_WARGAME = 0x12BF, - CMSG_STOP_DANCE = 0xBADD, - CMSG_STORE_LOOT_IN_SLOT = 0xBADD, + CMSG_START_WAR_GAME = 0x12BF, CMSG_SUMMON_RESPONSE = 0x0740, CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x06B6, CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x16C0, @@ -734,95 +670,60 @@ enum OpcodeClient : uint32 CMSG_SWAP_INV_ITEM = 0x003C, CMSG_SWAP_ITEM = 0x0438, CMSG_SWAP_SUB_GROUPS = 0x0F98, - CMSG_SYNC_DANCE = 0xBADD, + CMSG_SWAP_VOID_ITEM = 0x0B02, CMSG_TABARD_VENDOR_ACTIVATE = 0x07FC, - CMSG_TAXICLEARALLNODES = 0xBADD, - CMSG_TAXIENABLEALLNODES = 0xBADD, - CMSG_TAXISHOWNODES = 0xBADD, + CMSG_TALK_TO_GOSSIP = 0x1C22, CMSG_TAXI_NODE_STATUS_QUERY = 0x0CF1, CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x0E02, CMSG_TAXI_REQUEST_EARLY_LANDING = 0x0DE6, CMSG_TELEPORT_TO_UNIT = 0x069D, - CMSG_TEXT_EMOTE = 0x01EE, CMSG_TIME_ADJUSTMENT_RESPONSE = 0x0554, CMSG_TIME_SYNC_RESPONSE = 0x0550, CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x040B, CMSG_TIME_SYNC_RESPONSE_FAILED = 0x0153, CMSG_TOGGLE_DIFFICULTY = 0x0FC0, CMSG_TOGGLE_PVP = 0x1BAB, - CMSG_TOKEN_BUY_TOKEN = 0x1A35, - CMSG_TOKEN_CONFIRM_BUY_TOKEN = 0x17B8, - CMSG_TOKEN_CONFIRM_REDEEM_TOKEN = 0x06BD, - CMSG_TOKEN_CONFIRM_SELL_TOKEN = 0x031E, - CMSG_TOKEN_REDEEM_TOKEN = 0x03B5, - CMSG_TOKEN_SELL_TOKEN = 0x0FB8, - CMSG_TOKEN_UPDATE_MARKET_PRICE = 0x0718, - CMSG_TOKEN_UPDATE_TOKEN_COUNT = 0x0A16, CMSG_TOTEM_DESTROYED = 0x19B5, CMSG_TOY_SET_FAVORITE = 0x02BE, CMSG_TRAINER_BUY_SPELL = 0x0921, CMSG_TRAINER_LIST = 0x0D21, CMSG_TRANSMOGRIFY_ITEMS = 0x03F1, - CMSG_TRIGGER_CINEMATIC_CHEAT = 0xBADD, - CMSG_TROPHY_MONUMENT_LOAD_SELECTED_TROPHY_ID = 0xBADD, CMSG_TURN_IN_PETITION = 0x0DF5, - CMSG_TUTORIAL_FLAG = 0x0E9F, + CMSG_TUTORIAL = 0x0E9F, + CMSG_TWITTER_CHECK_STATUS = 0x0CDE, CMSG_TWITTER_CONNECT = 0x089D, CMSG_TWITTER_DISCONNECT = 0x0D1A, - CMSG_TWITTER_GET_STATUS = 0x0CDE, - CMSG_TWITTER_POST_SCREENSHOT = 0x0FA2, - CMSG_TWITTER_UNK1 = 0x0C5E, + CMSG_TWITTER_POST = 0x0FA2, CMSG_UI_TIME_REQUEST = 0x0316, CMSG_UNACCEPT_TRADE = 0x0AD1, CMSG_UNDELETE_CHARACTER = 0x1296, CMSG_UNLEARN_SKILL = 0x0931, CMSG_UNLEARN_SPECIALIZATION = 0x0708, - CMSG_UNREGISTER_ALL_ADDON_PREFIXES = 0x15FA, + CMSG_UNLOCK_VOID_STORAGE = 0x0AA1, CMSG_UPDATE_ACCOUNT_DATA = 0x1637, CMSG_UPDATE_CLIENT_SETTINGS = 0x0218, - CMSG_UPDATE_LISTED_AUCTIONABLE_TOKENS = 0x1795, CMSG_UPDATE_MISSILE_TRAJECTORY = 0x025A, - CMSG_UPDATE_PROJECTILE_POSITION = 0xBADD, CMSG_UPDATE_RAID_TARGET = 0x17A0, + CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST = 0x1795, + CMSG_UPDATE_WOW_TOKEN_COUNT = 0x0A16, CMSG_UPGRADE_GARRISON = 0x1B82, CMSG_UPGRADE_ITEM = 0x0AA4, CMSG_USED_FOLLOW = 0x054E, CMSG_USE_CRITTER_ITEM = 0x0ADC, CMSG_USE_EQUIPMENT_SET = 0x083C, CMSG_USE_ITEM = 0x06D0, - CMSG_USE_PARTY_GARRISON = 0x1A26, CMSG_USE_TOY = 0x0B48, CMSG_VIOLENCE_LEVEL = 0x0F48, CMSG_VOICE_ADD_IGNORE = 0x033D, CMSG_VOICE_DEL_IGNORE = 0x0E95, CMSG_VOICE_SESSION_ENABLE = 0x1238, - CMSG_VOID_STORAGE_QUERY = 0x03D3, CMSG_VOID_STORAGE_TRANSFER = 0x0E07, - CMSG_VOID_STORAGE_UNLOCK = 0x0AA1, - CMSG_VOID_SWAP_ITEM = 0x0B02, CMSG_WARDEN_DATA = 0x02B8, CMSG_WHO = 0x079E, CMSG_WHO_IS = 0x17BF, + CMSG_WORLD_PORT_RESPONSE = 0x061D, CMSG_WORLD_TELEPORT = 0x0E97, CMSG_WRAP_ITEM = 0x0528, - CMSG_ZONEUPDATE = 0xBADD, - MSG_GM_BIND_OTHER = 0xBADD, - MSG_GM_SHOWLABEL = 0xBADD, - MSG_GM_SUMMON = 0xBADD, - MSG_INSPECT_ARENA_TEAMS = 0xBADD, - MSG_MOVE_CHARM_TELEPORT_CHEAT = 0xBADD, - MSG_MOVE_SET_ALL_SPEED_CHEAT = 0xBADD, - MSG_MOVE_SET_FLIGHT_SPEED_CHEAT = 0xBADD, - MSG_MOVE_SET_RAW_POSITION_ACK = 0xBADD, - MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 0xBADD, - MSG_MOVE_SET_RUN_SPEED_CHEAT = 0xBADD, - MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT = 0xBADD, - MSG_MOVE_SET_SWIM_SPEED_CHEAT = 0xBADD, - MSG_MOVE_SET_TURN_RATE_CHEAT = 0xBADD, - MSG_MOVE_SET_WALK_SPEED_CHEAT = 0xBADD, - MSG_MOVE_TOGGLE_FALL_LOGGING = 0xBADD, - MSG_MOVE_TOGGLE_LOGGING = 0xBADD, - MSG_NOTIFY_PARTY_SQUELCH = 0xBADD, }; // SMSGs 6.0.3.19342 @@ -1103,6 +1004,7 @@ enum OpcodeServer : uint32 SMSG_GARRISON_ADD_MISSION_RESULT = 0x01DB, SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT = 0x0187, SMSG_GARRISON_BUILDING_ACTIVATED = 0x00AB, + SMSG_GARRISON_BUILDING_LANDMARKS = 0x0987, SMSG_GARRISON_BUILDING_REMOVED = 0x08F7, SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT = 0x00F8, SMSG_GARRISON_COMPLETE_MISSION_RESULT = 0x00F7, @@ -1490,6 +1392,7 @@ enum OpcodeServer : uint32 SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x17BD, SMSG_QUERY_CREATURE_RESPONSE = 0x1A15, SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x1345, + SMSG_QUERY_GARRISON_CREATURE_NAME_RESPONSE = 0x00E0, SMSG_QUERY_GUILD_INFO_RESPONSE = 0x1194, SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x1D36, SMSG_QUERY_NPC_TEXT_RESPONSE = 0x071E, @@ -1740,7 +1643,6 @@ enum OpcodeServer : uint32 SMSG_ARENA_TEAM_STATS = 0xBADD, SMSG_BUY_BANK_SLOT_RESULT = 0xBADD, SMSG_CALENDAR_ARENA_TEAM = 0xBADD, - SMSG_TRAINER_BUY_SUCCEEDED = 0xBADD, }; inline bool IsInstanceOnlyOpcode(uint32 opcode) diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 783c1dd2022..df35141dc5a 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -405,7 +405,7 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater) // some auth opcodes can be recieved before STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT opcodes // however when we recieve CMSG_CHAR_ENUM we are surely no longer during the logout process. - if (packet->GetOpcode() == CMSG_CHAR_ENUM) + if (packet->GetOpcode() == CMSG_ENUM_CHARACTERS) m_playerRecentlyLogout = false; if (AntiDOS.EvaluateOpcode(*packet, currentTime)) @@ -1209,90 +1209,87 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co // CPU usage sending 2000 packets/second on a 3.70 GHz 4 cores on Win x64 // [% CPU mysqld] [%CPU worldserver RelWithDebInfo] case CMSG_PLAYER_LOGIN: // 0 0.5 - case CMSG_NAME_QUERY: // 0 1 - //case CMSG_PET_NAME_QUERY: // 0 1 - case CMSG_NPC_TEXT_QUERY: // 0 1 - case CMSG_ATTACKSTOP: // 0 1 - //case CMSG_QUERY_TIME: // 0 1 - //case CMSG_CORPSE_MAP_POSITION_QUERY: // 0 1 + case CMSG_QUERY_PLAYER_NAME: // 0 1 + case CMSG_QUERY_PET_NAME: // 0 1 + case CMSG_QUERY_NPC_TEXT: // 0 1 + case CMSG_ATTACK_STOP: // 0 1 + case CMSG_QUERY_TIME: // 0 1 + case CMSG_QUERY_CORPSE_TRANSPORT: // 0 1 case CMSG_MOVE_TIME_SKIPPED: // 0 1 - //case MSG_QUERY_NEXT_MAIL_TIME: // 0 1 + case CMSG_QUERY_NEXT_MAIL_TIME: // 0 1 case CMSG_SET_SHEATHED: // 0 1 - //case MSG_RAID_TARGET_UPDATE: // 0 1 + case CMSG_UPDATE_RAID_TARGET: // 0 1 case CMSG_LOGOUT_REQUEST: // 0 1 - //case CMSG_PET_RENAME: // 0 1 - case CMSG_QUESTGIVER_REQUEST_REWARD: // 0 1 - //case CMSG_COMPLETE_CINEMATIC: // 0 1 + case CMSG_PET_RENAME: // 0 1 + case CMSG_QUEST_GIVER_REQUEST_REWARD: // 0 1 + case CMSG_COMPLETE_CINEMATIC: // 0 1 case CMSG_BANKER_ACTIVATE: // 0 1 case CMSG_BUY_BANK_SLOT: // 0 1 - //case CMSG_OPT_OUT_OF_LOOT: // 0 1 + case CMSG_OPT_OUT_OF_LOOT: // 0 1 case CMSG_DUEL_RESPONSE: // 0 1 - //case CMSG_CALENDAR_COMPLAIN: // 0 1 - case CMSG_QUEST_QUERY: // 0 1.5 - case CMSG_GAMEOBJECT_QUERY: // 0 1.5 - case CMSG_CREATURE_QUERY: // 0 1.5 - case CMSG_QUESTGIVER_STATUS_QUERY: // 0 1.5 - case CMSG_GUILD_QUERY: // 0 1.5 - //case CMSG_ARENA_TEAM_QUERY: // 0 1.5 + case CMSG_CALENDAR_COMPLAIN: // 0 1 + case CMSG_QUERY_QUEST_INFO: // 0 1.5 + case CMSG_QUERY_GAME_OBJECT: // 0 1.5 + case CMSG_QUERY_CREATURE: // 0 1.5 + case CMSG_QUEST_GIVER_STATUS_QUERY: // 0 1.5 + case CMSG_QUERY_GUILD_INFO: // 0 1.5 case CMSG_TAXI_NODE_STATUS_QUERY: // 0 1.5 - //case CMSG_TAXI_QUERY_AVAILABLE_NODES: // 0 1.5 - case CMSG_QUESTGIVER_QUERY_QUEST: // 0 1.5 - case CMSG_PAGE_TEXT_QUERY: // 0 1.5 - //case CMSG_GUILD_BANK_QUERY_TEXT: // 0 1.5 - //case MSG_CORPSE_QUERY: // 0 1.5 + case CMSG_TAXI_QUERY_AVAILABLE_NODES: // 0 1.5 + case CMSG_QUEST_GIVER_QUERY_QUEST: // 0 1.5 + case CMSG_QUERY_PAGE_TEXT: // 0 1.5 + case CMSG_GUILD_BANK_TEXT_QUERY: // 0 1.5 + case CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT: // 0 1.5 case CMSG_MOVE_SET_FACING: // 0 1.5 - //case CMSG_REQUEST_PARTY_MEMBER_STATS: // 0 1.5 - case CMSG_QUESTGIVER_COMPLETE_QUEST: // 0 1.5 + case CMSG_REQUEST_PARTY_MEMBER_STATS: // 0 1.5 + case CMSG_QUEST_GIVER_COMPLETE_QUEST: // 0 1.5 case CMSG_SET_ACTION_BUTTON: // 0 1.5 - //case CMSG_RESET_INSTANCES: // 0 1.5 - //case CMSG_HEARTH_AND_RESURRECT: // 0 1.5 + case CMSG_RESET_INSTANCES: // 0 1.5 + case CMSG_HEARTH_AND_RESURRECT: // 0 1.5 case CMSG_TOGGLE_PVP: // 0 1.5 case CMSG_PET_ABANDON: // 0 1.5 - //case CMSG_ACTIVATE_TAXI_EXPRESS: // 0 1.5 - //case CMSG_ACTIVATE_TAXI: // 0 1.5 + case CMSG_ACTIVATE_TAXI: // 0 1.5 case CMSG_SELF_RES: // 0 1.5 case CMSG_UNLEARN_SKILL: // 0 1.5 - case CMSG_EQUIPMENT_SET_SAVE: // 0 1.5 + case CMSG_SAVE_EQUIPMENT_SET: // 0 1.5 case CMSG_DELETE_EQUIPMENT_SET: // 0 1.5 - //case CMSG_DISMISS_CRITTER: // 0 1.5 + case CMSG_DISMISS_CRITTER: // 0 1.5 case CMSG_REPOP_REQUEST: // 0 1.5 - //case CMSG_GROUP_INVITE: // 0 1.5 - //case CMSG_GROUP_INVITE_RESPONSE: // 0 1.5 - //case CMSG_GROUP_UNINVITE_GUID: // 0 1.5 - //case CMSG_LEAVE_GROUP: // 0 1.5 - //case CMSG_BATTLEMASTER_JOIN_ARENA: // 0 1.5 + case CMSG_PARTY_INVITE: // 0 1.5 + case CMSG_PARTY_INVITE_RESPONSE: // 0 1.5 + case CMSG_PARTY_UNINVITE: // 0 1.5 + case CMSG_LEAVE_GROUP: // 0 1.5 + case CMSG_BATTLEMASTER_JOIN_ARENA: // 0 1.5 case CMSG_BATTLEFIELD_LEAVE: // 0 1.5 - //case CMSG_GUILD_BANK_LOG_QUERY: // 0 2 + case CMSG_GUILD_BANK_LOG_QUERY: // 0 2 case CMSG_LOGOUT_CANCEL: // 0 2 case CMSG_ALTER_APPEARANCE: // 0 2 - //case CMSG_QUEST_CONFIRM_ACCEPT: // 0 2 - //case CMSG_GUILD_EVENT_LOG_QUERY: // 0 2.5 - case CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY: // 0 2.5 - //case CMSG_BEGIN_TRADE: // 0 2.5 - //case CMSG_INITIATE_TRADE: // 0 3 - case CMSG_MESSAGECHAT_ADDON_GUILD: // 0 3.5 - case CMSG_MESSAGECHAT_ADDON_OFFICER: // 0 3.5 - case CMSG_MESSAGECHAT_ADDON_PARTY: // 0 3.5 - case CMSG_MESSAGECHAT_ADDON_RAID: // 0 3.5 - case CMSG_MESSAGECHAT_ADDON_WHISPER: // 0 3.5 - case CMSG_MESSAGECHAT_AFK: // 0 3.5 - case CMSG_MESSAGECHAT_CHANNEL: // 0 3.5 - case CMSG_MESSAGECHAT_DND: // 0 3.5 - case CMSG_MESSAGECHAT_EMOTE: // 0 3.5 - case CMSG_MESSAGECHAT_GUILD: // 0 3.5 - case CMSG_MESSAGECHAT_OFFICER: // 0 3.5 - case CMSG_MESSAGECHAT_PARTY: // 0 3.5 - case CMSG_MESSAGECHAT_RAID: // 0 3.5 - case CMSG_MESSAGECHAT_RAID_WARNING: // 0 3.5 - case CMSG_MESSAGECHAT_SAY: // 0 3.5 - case CMSG_MESSAGECHAT_WHISPER: // 0 3.5 - case CMSG_MESSAGECHAT_YELL: // 0 3.5 + case CMSG_QUEST_CONFIRM_ACCEPT: // 0 2 + case CMSG_GUILD_EVENT_LOG_QUERY: // 0 2.5 + case CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY: // 0 2.5 + case CMSG_BEGIN_TRADE: // 0 2.5 + case CMSG_INITIATE_TRADE: // 0 3 + case CMSG_CHAT_ADDON_MESSAGE_GUILD: // 0 3.5 + case CMSG_CHAT_ADDON_MESSAGE_OFFICER: // 0 3.5 + case CMSG_CHAT_ADDON_MESSAGE_PARTY: // 0 3.5 + case CMSG_CHAT_ADDON_MESSAGE_RAID: // 0 3.5 + case CMSG_CHAT_ADDON_MESSAGE_WHISPER: // 0 3.5 + case CMSG_CHAT_MESSAGE_AFK: // 0 3.5 + case CMSG_CHAT_MESSAGE_CHANNEL: // 0 3.5 + case CMSG_CHAT_MESSAGE_DND: // 0 3.5 + case CMSG_CHAT_MESSAGE_EMOTE: // 0 3.5 + case CMSG_CHAT_MESSAGE_GUILD: // 0 3.5 + case CMSG_CHAT_MESSAGE_OFFICER: // 0 3.5 + case CMSG_CHAT_MESSAGE_PARTY: // 0 3.5 + case CMSG_CHAT_MESSAGE_RAID: // 0 3.5 + case CMSG_CHAT_MESSAGE_RAID_WARNING: // 0 3.5 + case CMSG_CHAT_MESSAGE_SAY: // 0 3.5 + case CMSG_CHAT_MESSAGE_WHISPER: // 0 3.5 + case CMSG_CHAT_MESSAGE_YELL: // 0 3.5 case CMSG_INSPECT: // 0 3.5 - //case CMSG_AREA_SPIRIT_HEALER_QUERY: // not profiled - case CMSG_STAND_STATE_CHANGE: // not profiled + case CMSG_AREA_SPIRIT_HEALER_QUERY: // not profiled + case CMSG_STAND_STATE_CHANGE: // not profiled case CMSG_RANDOM_ROLL: // not profiled case CMSG_TIME_SYNC_RESPONSE: // not profiled - case CMSG_TRAINER_BUY_SPELL: // not profiled { // "0" is a magic number meaning there's no limit for the opcode. // All the opcodes above must cause little CPU usage and no sync/async database queries at all @@ -1300,28 +1297,28 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co break; } - case CMSG_QUESTGIVER_ACCEPT_QUEST: // 0 4 - //case CMSG_QUESTLOG_REMOVE_QUEST: // 0 4 - case CMSG_QUESTGIVER_CHOOSE_REWARD: // 0 4 - //case CMSG_SEND_CONTACT_LIST: // 0 5 - //case CMSG_AUTOBANK_ITEM: // 0 6 - //case CMSG_AUTOSTORE_BANK_ITEM: // 0 6 + case CMSG_QUEST_GIVER_ACCEPT_QUEST: // 0 4 + case CMSG_QUEST_LOG_REMOVE_QUEST: // 0 4 + case CMSG_QUEST_GIVER_CHOOSE_REWARD: // 0 4 + case CMSG_SEND_CONTACT_LIST: // 0 5 + case CMSG_AUTOBANK_ITEM: // 0 6 + case CMSG_AUTOSTORE_BANK_ITEM: // 0 6 case CMSG_WHO: // 0 7 - //case CMSG_RIDE_VEHICLE_INTERACT: // 0 8 + case CMSG_RIDE_VEHICLE_INTERACT: // 0 8 case CMSG_MOVE_HEARTBEAT: { maxPacketCounterAllowed = 200; break; } - //case CMSG_GUILD_SET_NOTE: // 1 2 1 async db query - //case CMSG_SET_CONTACT_NOTES: // 1 2.5 1 async db query - //case CMSG_CALENDAR_GET: // 0 1.5 medium upload bandwidth usage + case CMSG_GUILD_SET_MEMBER_NOTE: // 1 2 1 async db query + case CMSG_SET_CONTACT_NOTES: // 1 2.5 1 async db query + case CMSG_CALENDAR_GET: // 0 1.5 medium upload bandwidth usage case CMSG_GUILD_BANK_QUERY_TAB: // 0 3.5 medium upload bandwidth usage - //case CMSG_QUERY_INSPECT_ACHIEVEMENTS: // 0 13 high upload bandwidth usage - case CMSG_GAMEOBJ_REPORT_USE: // not profiled - case CMSG_GAMEOBJ_USE: // not profiled - //case MSG_PETITION_DECLINE: // not profiled + case CMSG_QUERY_INSPECT_ACHIEVEMENTS: // 0 13 high upload bandwidth usage + case CMSG_GAME_OBJ_REPORT_USE: // not profiled + case CMSG_GAME_OBJ_USE: // not profiled + case CMSG_DECLINE_PETITION: // not profiled { maxPacketCounterAllowed = 50; break; @@ -1333,91 +1330,85 @@ uint32 WorldSession::DosProtection::GetMaxPacketCounterAllowed(uint16 opcode) co break; } - //case CMSG_GM_REPORT_LAG: // 1 3 1 async db query - case CMSG_SPELLCLICK: // not profiled - //case CMSG_MOVE_DISMISS_VEHICLE: // not profiled + case CMSG_GM_LAG_REPORT: // 1 3 1 async db query + case CMSG_SPELL_CLICK: // not profiled + case CMSG_MOVE_DISMISS_VEHICLE: // not profiled { maxPacketCounterAllowed = 20; break; } - //case CMSG_PETITION_SIGN: // 9 4 2 sync 1 async db queries - //case CMSG_TURN_IN_PETITION: // 8 5.5 2 sync db query - //case CMSG_CHANGE_SUB_GROUP: // 6 5 1 sync 1 async db queries - //case CMSG_PETITION_QUERY: // 4 3.5 1 sync db query + case CMSG_SIGN_PETITION: // 9 4 2 sync 1 async db queries + case CMSG_TURN_IN_PETITION: // 8 5.5 2 sync db query + case CMSG_CHANGE_SUB_GROUP: // 6 5 1 sync 1 async db queries + case CMSG_QUERY_PETITION: // 4 3.5 1 sync db query case CMSG_CHAR_CUSTOMIZE: // 5 5 1 sync db query case CMSG_CHAR_RACE_OR_FACTION_CHANGE: // 5 5 1 sync db query case CMSG_CHAR_DELETE: // 4 4 1 sync db query case CMSG_DEL_FRIEND: // 7 5 1 async db query case CMSG_ADD_FRIEND: // 6 4 1 async db query - case CMSG_CHAR_RENAME: // 5 3 1 async db query - //case CMSG_GMSURVEY_SUBMIT: // 2 3 1 async db query - //case CMSG_BUG: // 1 1 1 async db query - //case CMSG_SET_PARTY_LEADER: // 1 2 1 async db query - //case CMSG_CONVERT_RAID: // 1 5 1 async db query - //case CMSG_SET_ASSISTANT_LEADER: // 1 2 1 async db query - //case CMSG_CALENDAR_ADD_EVENT: // 21 10 2 async db query - //case CMSG_MOVE_CHANGE_VEHICLE_SEATS: // not profiled - //case CMSG_PETITION_BUY: // not profiled 1 sync 1 async db queries - //case CMSG_REQUEST_VEHICLE_PREV_SEAT: // not profiled - //case CMSG_REQUEST_VEHICLE_NEXT_SEAT: // not profiled - //case CMSG_REQUEST_VEHICLE_SWITCH_SEAT: // not profiled - //case CMSG_REQUEST_VEHICLE_EXIT: // not profiled - //case CMSG_EJECT_PASSENGER: // not profiled - //case CMSG_ITEM_PURCHASE_REFUND: // not profiled + case CMSG_CHARACTER_RENAME_REQUEST: // 5 3 1 async db query + case CMSG_GM_SURVEY_SUBMIT: // 2 3 1 async db query + case CMSG_BUG_REPORT: // 1 1 1 async db query + case CMSG_SET_PARTY_LEADER: // 1 2 1 async db query + case CMSG_CONVERT_RAID: // 1 5 1 async db query + case CMSG_SET_ASSISTANT_LEADER: // 1 2 1 async db query + case CMSG_CALENDAR_ADD_EVENT: // 21 10 2 async db query + case CMSG_MOVE_CHANGE_VEHICLE_SEATS: // not profiled + case CMSG_PETITION_BUY: // not profiled 1 sync 1 async db queries + case CMSG_REQUEST_VEHICLE_PREV_SEAT: // not profiled + case CMSG_REQUEST_VEHICLE_NEXT_SEAT: // not profiled + case CMSG_REQUEST_VEHICLE_SWITCH_SEAT: // not profiled + case CMSG_REQUEST_VEHICLE_EXIT: // not profiled + case CMSG_EJECT_PASSENGER: // not profiled + case CMSG_ITEM_PURCHASE_REFUND: // not profiled case CMSG_SOCKET_GEMS: // not profiled - //case CMSG_WRAP_ITEM: // not profiled - //case CMSG_REPORT_PVP_AFK: // not profiled + case CMSG_WRAP_ITEM: // not profiled + case CMSG_REPORT_PVP_PLAYER_AFK: // not profiled { maxPacketCounterAllowed = 10; break; } - case CMSG_CHAR_CREATE: // 7 5 3 async db queries - case CMSG_CHAR_ENUM: // 22 3 2 async db queries - //case CMSG_GM_TICKET_CREATE: // 1 25 1 async db query - //case CMSG_GM_TICKET_UPDATETEXT: // 0 15 1 async db query - //case CMSG_GM_TICKET_DELETETICKET: // 1 25 1 async db query - //case CMSG_GM_TICKET_RESPONSE_RESOLVE: // 1 25 1 async db query - //case CMSG_CALENDAR_UPDATE_EVENT: // not profiled - //case CMSG_CALENDAR_REMOVE_EVENT: // not profiled - //case CMSG_CALENDAR_COPY_EVENT: // not profiled - //case CMSG_CALENDAR_EVENT_INVITE: // not profiled - //case CMSG_CALENDAR_EVENT_SIGNUP: // not profiled - //case CMSG_CALENDAR_EVENT_RSVP: // not profiled - //case CMSG_CALENDAR_EVENT_MODERATOR_STATUS: // not profiled - //case CMSG_CALENDAR_REMOVE_INVITE: // not profiled - //case CMSG_ARENA_TEAM_INVITE: // not profiled - //case CMSG_ARENA_TEAM_ACCEPT: // not profiled - //case CMSG_ARENA_TEAM_DECLINE: // not profiled - //case CMSG_ARENA_TEAM_LEAVE: // not profiled - //case CMSG_ARENA_TEAM_DISBAND: // not profiled - //case CMSG_ARENA_TEAM_REMOVE: // not profiled - //case CMSG_ARENA_TEAM_LEADER: // not profiled - case CMSG_LOOT_METHOD: // not profiled + case CMSG_CREATE_CHARACTER: // 7 5 3 async db queries + case CMSG_ENUM_CHARACTERS: // 22 3 2 async db queries + case CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT: // 22 3 2 async db queries + case CMSG_GM_TICKET_CREATE: // 1 25 1 async db query + case CMSG_GM_TICKET_UPDATE_TEXT: // 0 15 1 async db query + case CMSG_GM_TICKET_DELETE_TICKET: // 1 25 1 async db query + case CMSG_GM_TICKET_RESPONSE_RESOLVE: // 1 25 1 async db query + case CMSG_CALENDAR_UPDATE_EVENT: // not profiled + case CMSG_CALENDAR_REMOVE_EVENT: // not profiled + case CMSG_CALENDAR_COPY_EVENT: // not profiled + case CMSG_CALENDAR_EVENT_INVITE: // not profiled + case CMSG_CALENDAR_EVENT_SIGN_UP: // not profiled + case CMSG_CALENDAR_EVENT_RSVP: // not profiled + case CMSG_CALENDAR_EVENT_MODERATOR_STATUS: // not profiled + case CMSG_CALENDAR_REMOVE_INVITE: // not profiled + case CMSG_SET_LOOT_METHOD: // not profiled case CMSG_GUILD_INVITE_BY_NAME: // not profiled - //case CMSG_ACCEPT_GUILD_INVITE: // not profiled - //case CMSG_GUILD_DECLINE_INVITATION: // not profiled + case CMSG_ACCEPT_GUILD_INVITE: // not profiled + case CMSG_GUILD_DECLINE_INVITATION: // not profiled case CMSG_GUILD_LEAVE: // not profiled - //case CMSG_GUILD_DELETE: // not profiled - //case CMSG_GUILD_SET_GUILD_MASTER: // not profiled - //case CMSG_GUILD_UPDATE_MOTD_TEXT: // not profiled + case CMSG_GUILD_DELETE: // not profiled + case CMSG_GUILD_SET_GUILD_MASTER: // not profiled + case CMSG_GUILD_UPDATE_MOTD_TEXT: // not profiled case CMSG_GUILD_SET_RANK_PERMISSIONS: // not profiled - //case CMSG_GUILD_ADD_RANK: // not profiled - //case CMSG_GUILD_DELETE_RANK: // not profiled - //case CMSG_GUILD_UPDATE_INFO_TEXT: // not profiled + case CMSG_GUILD_ADD_RANK: // not profiled + case CMSG_GUILD_DELETE_RANK: // not profiled + case CMSG_GUILD_UPDATE_INFO_TEXT: // not profiled case CMSG_GUILD_BANK_DEPOSIT_MONEY: // not profiled case CMSG_GUILD_BANK_WITHDRAW_MONEY: // not profiled case CMSG_GUILD_BANK_BUY_TAB: // not profiled case CMSG_GUILD_BANK_UPDATE_TAB: // not profiled - //case CMSG_SET_GUILD_BANK_TEXT: // not profiled + case CMSG_GUILD_BANK_SET_TAB_TEXT: // not profiled case CMSG_SAVE_GUILD_EMBLEM: // not profiled - //case MSG_PETITION_RENAME: // not profiled - //case MSG_TALENT_WIPE_CONFIRM: // not profiled + case CMSG_PETITION_RENAME_GUILD: // not profiled + case CMSG_CONFIRM_RESPEC_WIPE: // not profiled case CMSG_SET_DUNGEON_DIFFICULTY: // not profiled case CMSG_SET_RAID_DIFFICULTY: // not profiled - //case MSG_PARTY_ASSIGNMENT: // not profiled - //case CMSG_DO_READY_CHECK: // not profiled + case CMSG_SET_PARTY_ASSIGNMENT: // not profiled + case CMSG_DO_READY_CHECK: // not profiled { maxPacketCounterAllowed = 3; break; diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index d2b012ce3b1..a843c672c84 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -112,13 +112,13 @@ namespace WorldPackets class AlterApperance; class EnumCharacters; - class CreateChar; - class DeleteChar; + class CreateCharacter; + class CharDelete; class CharacterRenameRequest; class CharCustomize; class CharRaceOrFactionChange; class GenerateRandomCharacterName; - class GetUndeleteCooldownStatus; + class GetUndeleteCharacterCooldownStatus; class ReorderCharacters; class UndeleteCharacter; class PlayerLogin; @@ -126,7 +126,7 @@ namespace WorldPackets class LogoutCancel; class LoadingScreenNotify; class SetActionBarToggles; - class PlayedTimeClient; + class RequestPlayedTime; class ShowingCloak; class ShowingHelm; class SetTitle; @@ -180,8 +180,8 @@ namespace WorldPackets namespace GameObject { - class GameObjectReportUse; - class GameObjectUse; + class GameObjReportUse; + class GameObjUse; } namespace Guild @@ -253,7 +253,7 @@ namespace WorldPackets namespace Loot { class LootUnit; - class AutoStoreLootItem; + class LootItem; class LootRelease; class LootMoney; } @@ -293,7 +293,7 @@ namespace WorldPackets namespace Movement { class ClientPlayerMovement; - class WorldPortAck; + class WorldPortResponse; class MoveTeleportAck; class MovementAck; class MovementSpeedAck; @@ -777,8 +777,8 @@ class WorldSession void HandleCharEnumOpcode(WorldPackets::Character::EnumCharacters& /*enumCharacters*/); void HandleCharUndeleteEnum(PreparedQueryResult result); void HandleCharUndeleteEnumOpcode(WorldPackets::Character::EnumCharacters& /*enumCharacters*/); - void HandleCharDeleteOpcode(WorldPackets::Character::DeleteChar& charDelete); - void HandleCharCreateOpcode(WorldPackets::Character::CreateChar& charCreate); + void HandleCharDeleteOpcode(WorldPackets::Character::CharDelete& charDelete); + void HandleCharCreateOpcode(WorldPackets::Character::CreateCharacter& charCreate); void HandleCharCreateCallback(PreparedQueryResult result, WorldPackets::Character::CharacterCreateInfo* createInfo); void HandlePlayerLoginOpcode(WorldPackets::Character::PlayerLogin& playerLogin); @@ -798,7 +798,7 @@ class WorldSession void HandleRandomizeCharNameOpcode(WorldPackets::Character::GenerateRandomCharacterName& packet); void HandleReorderCharacters(WorldPackets::Character::ReorderCharacters& reorderChars); void HandleOpeningCinematic(WorldPacket& recvData); - void HandleGetUndeleteCooldownStatus(WorldPackets::Character::GetUndeleteCooldownStatus& /*getCooldown*/); + void HandleGetUndeleteCooldownStatus(WorldPackets::Character::GetUndeleteCharacterCooldownStatus& /*getCooldown*/); void HandleUndeleteCooldownStatusCallback(PreparedQueryResult result); void HandleCharUndeleteOpcode(WorldPackets::Character::UndeleteCharacter& undeleteInfo); void HandleCharUndeleteCallback(PreparedQueryResult result, WorldPackets::Character::CharacterUndeleteInfo* undeleteInfo); @@ -814,7 +814,7 @@ class WorldSession void SendUndeleteCharacterResponse(CharacterUndeleteResult result, WorldPackets::Character::CharacterUndeleteInfo const* undeleteInfo); // played time - void HandlePlayedTime(WorldPackets::Character::PlayedTimeClient& packet); + void HandlePlayedTime(WorldPackets::Character::RequestPlayedTime& packet); // new void HandleMoveUnRootAck(WorldPacket& recvPacket); @@ -854,7 +854,7 @@ class WorldSession void HandlePingOpcode(WorldPacket& recvPacket); void HandleRepopRequest(WorldPackets::Misc::RepopRequest& packet); - void HandleAutostoreLootItemOpcode(WorldPackets::Loot::AutoStoreLootItem& packet); + void HandleAutostoreLootItemOpcode(WorldPackets::Loot::LootItem& packet); void HandleLootMoneyOpcode(WorldPackets::Loot::LootMoney& packet); void HandleLootOpcode(WorldPackets::Loot::LootUnit& packet); void HandleLootReleaseOpcode(WorldPackets::Loot::LootRelease& packet); @@ -878,7 +878,6 @@ class WorldSession void HandleTogglePvP(WorldPacket& recvPacket); - void HandleZoneUpdateOpcode(WorldPacket& recvPacket); void HandleSetSelectionOpcode(WorldPackets::Misc::SetSelection& packet); void HandleStandStateChangeOpcode(WorldPackets::Misc::StandStateChange& packet); void HandleEmoteOpcode(WorldPackets::Chat::EmoteClient& packet); @@ -906,9 +905,9 @@ class WorldSession void HandleRequestAccountData(WorldPackets::ClientConfig::RequestAccountData& request); void HandleSetActionButtonOpcode(WorldPackets::Spells::SetActionButton& packet); - void HandleGameObjectUseOpcode(WorldPackets::GameObject::GameObjectUse& packet); + void HandleGameObjectUseOpcode(WorldPackets::GameObject::GameObjUse& packet); void HandleMeetingStoneInfo(WorldPacket& recPacket); - void HandleGameobjectReportUse(WorldPackets::GameObject::GameObjectReportUse& packet); + void HandleGameobjectReportUse(WorldPackets::GameObject::GameObjReportUse& packet); void HandleNameQueryOpcode(WorldPackets::Query::QueryPlayerName& packet); void HandleQueryTimeOpcode(WorldPackets::Query::QueryTime& queryTime); @@ -917,12 +916,11 @@ class WorldSession void HandleGameObjectQueryOpcode(WorldPackets::Query::QueryGameObject& packet); - void HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortAck& packet); + void HandleMoveWorldportAckOpcode(WorldPackets::Movement::WorldPortResponse& packet); void HandleMoveWorldportAckOpcode(); // for server-side calls void HandleMovementOpcodes(WorldPackets::Movement::ClientPlayerMovement& packet); void HandleSetActiveMoverOpcode(WorldPackets::Movement::SetActiveMover& packet); - void HandleMoveNotActiveMover(WorldPacket& recvData); void HandleDismissControlledVehicle(WorldPacket& recvData); void HandleRequestVehicleExit(WorldPacket& recvData); void HandleChangeSeatsOnControlledVehicle(WorldPacket& recvData); @@ -1197,7 +1195,6 @@ class WorldSession void HandleRequestRatedBattlefieldInfo(WorldPacket& recvData); void HandleGetPVPOptionsEnabled(WorldPacket& recvData); void HandleRequestPvpReward(WorldPacket& recvData); - void HandleRequestRatedBgStats(WorldPacket& recvData); // Battlefield void SendBfInvitePlayerToWar(ObjectGuid guid, uint32 zoneId, uint32 time); @@ -1306,7 +1303,6 @@ class WorldSession void HandleCalendarGetCalendar(WorldPacket& recvData); void HandleCalendarGetEvent(WorldPacket& recvData); void HandleCalendarGuildFilter(WorldPacket& recvData); - void HandleCalendarArenaTeam(WorldPacket& recvData); void HandleCalendarAddEvent(WorldPacket& recvData); void HandleCalendarUpdateEvent(WorldPacket& recvData); void HandleCalendarRemoveEvent(WorldPacket& recvData); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 6eb11499a4d..1469805c1b8 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1941,6 +1941,9 @@ void World::SetInitialWorldSettings() // Delete all custom channels which haven't been used for PreserveCustomChannelDuration days. Channel::CleanOldChannelsInDB(); + TC_LOG_INFO("server.loading", "Initializing Opcodes..."); + opcodeTable.Initialize(); + TC_LOG_INFO("server.loading", "Starting Arena Season..."); sGameEventMgr->StartArenaSeason(); @@ -1997,9 +2000,6 @@ void World::SetInitialWorldSettings() TC_LOG_INFO("server.loading", "Loading realm names..."); sObjectMgr->LoadRealmNames(); - TC_LOG_INFO("misc", "Initializing Opcodes..."); - opcodeTable.Initialize(); - uint32 startupDuration = GetMSTimeDiffToNow(startupBegin); TC_LOG_INFO("server.worldserver", "World initialized in %u minutes %u seconds", (startupDuration / 60000), ((startupDuration % 60000) / 1000)); |