diff options
55 files changed, 1244 insertions, 3557 deletions
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index 3ae5e2010f8..e9f0df38a09 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -33,162 +33,6 @@ #include "World.h" #include <sstream> -void WorldSession::HandleAuctionBrowseQuery(WorldPackets::AuctionHouse::AuctionBrowseQuery& browseQuery) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, browseQuery.TaintedBy.has_value()); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(browseQuery.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionListItems - {} not found or you can't interact with him.", browseQuery.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - TC_LOG_DEBUG("auctionHouse", "Auctionhouse search {}, searchedname: {}, levelmin: {}, levelmax: {}, filters: {}", - browseQuery.Auctioneer.ToString(), browseQuery.Name, browseQuery.MinLevel, browseQuery.MaxLevel, AsUnderlyingType(browseQuery.Filters)); - - std::wstring name; - if (!Utf8toWStr(browseQuery.Name, name)) - return; - - Optional<AuctionSearchClassFilters> classFilters; - - WorldPackets::AuctionHouse::AuctionListBucketsResult listBucketsResult; - if (!browseQuery.ItemClassFilters.empty()) - { - classFilters.emplace(); - - for (auto const& classFilter : browseQuery.ItemClassFilters) - { - if (!classFilter.SubClassFilters.empty()) - { - for (auto const& subClassFilter : classFilter.SubClassFilters) - { - if (classFilter.ItemClass < MAX_ITEM_CLASS) - { - classFilters->Classes[classFilter.ItemClass].SubclassMask |= 1 << subClassFilter.ItemSubclass; - if (subClassFilter.ItemSubclass < MAX_ITEM_SUBCLASS_TOTAL) - classFilters->Classes[classFilter.ItemClass].InvTypes[subClassFilter.ItemSubclass] = subClassFilter.InvTypeMask; - } - } - } - else - classFilters->Classes[classFilter.ItemClass].SubclassMask = AuctionSearchClassFilters::FILTER_SKIP_SUBCLASS; - } - } - - auctionHouse->BuildListBuckets(listBucketsResult, _player, - name, browseQuery.MinLevel, browseQuery.MaxLevel, browseQuery.Filters, classFilters, - browseQuery.KnownPets, browseQuery.MaxPetLevel, browseQuery.Offset, browseQuery.Sorts); - - listBucketsResult.BrowseMode = AuctionHouseBrowseMode::Search; - listBucketsResult.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - SendPacket(listBucketsResult.Write()); -} - -void WorldSession::HandleAuctionCancelCommoditiesPurchase(WorldPackets::AuctionHouse::AuctionCancelCommoditiesPurchase& cancelCommoditiesPurchase) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, cancelCommoditiesPurchase.TaintedBy.has_value(), AuctionCommand::PlaceBid); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(cancelCommoditiesPurchase.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionCancelCommoditiesPurchase - {} not found or you can't interact with him.", - cancelCommoditiesPurchase.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - auctionHouse->CancelCommodityQuote(_player->GetGUID()); -} - -void WorldSession::HandleAuctionConfirmCommoditiesPurchase(WorldPackets::AuctionHouse::AuctionConfirmCommoditiesPurchase& confirmCommoditiesPurchase) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, confirmCommoditiesPurchase.TaintedBy.has_value(), AuctionCommand::PlaceBid); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(confirmCommoditiesPurchase.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionConfirmCommoditiesPurchase - {} not found or you can't interact with him.", confirmCommoditiesPurchase.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); - if (auctionHouse->BuyCommodity(trans, _player, confirmCommoditiesPurchase.ItemID, confirmCommoditiesPurchase.Quantity, throttle.DelayUntilNext)) - { - AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(trans)).AfterComplete([this, buyerGuid = _player->GetGUID(), throttle](bool success) - { - if (GetPlayer() && GetPlayer()->GetGUID() == buyerGuid) - { - if (success) - { - GetPlayer()->UpdateCriteria(CriteriaType::AuctionsWon, 1); - SendAuctionCommandResult(0, AuctionCommand::PlaceBid, AuctionResult::Ok, throttle.DelayUntilNext); - } - else - SendAuctionCommandResult(0, AuctionCommand::PlaceBid, AuctionResult::CommodityPurchaseFailed, throttle.DelayUntilNext); - } - }); - } -} - -void WorldSession::HandleAuctionGetCommodityQuote(WorldPackets::AuctionHouse::AuctionGetCommodityQuote& getCommodityQuote) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, getCommodityQuote.TaintedBy.has_value(), AuctionCommand::PlaceBid); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(getCommodityQuote.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionStartCommoditiesPurchase - {} not found or you can't interact with him.", - getCommodityQuote.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - WorldPackets::AuctionHouse::AuctionGetCommodityQuoteResult commodityQuoteResult; - - if (CommodityQuote const* quote = auctionHouse->CreateCommodityQuote(_player, getCommodityQuote.ItemID, getCommodityQuote.Quantity)) - { - commodityQuoteResult.TotalPrice = quote->TotalPrice; - commodityQuoteResult.Quantity = quote->Quantity; - commodityQuoteResult.QuoteDuration = std::chrono::duration_cast<Milliseconds>(quote->ValidTo - GameTime::Now()); - } - - commodityQuoteResult.ItemID = getCommodityQuote.ItemID; - commodityQuoteResult.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - - SendPacket(commodityQuoteResult.Write()); -} - void WorldSession::HandleAuctionHelloOpcode(WorldPackets::AuctionHouse::AuctionHelloRequest& hello) { Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(hello.Guid, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); @@ -205,149 +49,6 @@ void WorldSession::HandleAuctionHelloOpcode(WorldPackets::AuctionHouse::AuctionH SendAuctionHello(hello.Guid, unit); } -void WorldSession::HandleAuctionListBiddedItems(WorldPackets::AuctionHouse::AuctionListBiddedItems& listBiddedItems) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, listBiddedItems.TaintedBy.has_value()); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(listBiddedItems.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionListBidderItems - {} not found or you can't interact with him.", listBiddedItems.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - WorldPackets::AuctionHouse::AuctionListBiddedItemsResult result; - - Player* player = GetPlayer(); - auctionHouse->BuildListBiddedItems(result, player, listBiddedItems.Offset, listBiddedItems.Sorts); - result.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - SendPacket(result.Write()); -} - -void WorldSession::HandleAuctionListBucketsByBucketKeys(WorldPackets::AuctionHouse::AuctionListBucketsByBucketKeys& listBucketsByBucketKeys) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, listBucketsByBucketKeys.TaintedBy.has_value()); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(listBucketsByBucketKeys.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionListBucketsByBucketKeys - {} not found or you can't interact with him.", - listBucketsByBucketKeys.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - WorldPackets::AuctionHouse::AuctionListBucketsResult listBucketsResult; - - auctionHouse->BuildListBuckets(listBucketsResult, _player, listBucketsByBucketKeys.BucketKeys, listBucketsByBucketKeys.Sorts); - - listBucketsResult.BrowseMode = AuctionHouseBrowseMode::SpecificKeys; - listBucketsResult.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - SendPacket(listBucketsResult.Write()); -} - -void WorldSession::HandleAuctionListItemsByBucketKey(WorldPackets::AuctionHouse::AuctionListItemsByBucketKey& listItemsByBucketKey) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, listItemsByBucketKey.TaintedBy.has_value()); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(listItemsByBucketKey.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionListItemsByBucketKey - {} not found or you can't interact with him.", listItemsByBucketKey.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - WorldPackets::AuctionHouse::AuctionListItemsResult listItemsResult; - listItemsResult.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - listItemsResult.BucketKey = listItemsByBucketKey.BucketKey; - ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(listItemsByBucketKey.BucketKey.ItemID); - listItemsResult.ListType = itemTemplate && itemTemplate->GetMaxStackSize() > 1 ? AuctionHouseListType::Commodities : AuctionHouseListType::Items; - - auctionHouse->BuildListAuctionItems(listItemsResult, _player, listItemsByBucketKey.BucketKey, listItemsByBucketKey.Offset, listItemsByBucketKey.Sorts); - - SendPacket(listItemsResult.Write()); -} - -void WorldSession::HandleAuctionListItemsByItemID(WorldPackets::AuctionHouse::AuctionListItemsByItemID& listItemsByItemID) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, listItemsByItemID.TaintedBy.has_value()); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(listItemsByItemID.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionListItemsByItemID - {} not found or you can't interact with him.", listItemsByItemID.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - WorldPackets::AuctionHouse::AuctionListItemsResult listItemsResult; - listItemsResult.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - listItemsResult.BucketKey.ItemID = listItemsByItemID.ItemID; - ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(listItemsByItemID.ItemID); - listItemsResult.ListType = itemTemplate && itemTemplate->GetMaxStackSize() > 1 ? AuctionHouseListType::Commodities : AuctionHouseListType::Items; - - auctionHouse->BuildListAuctionItems(listItemsResult, _player, listItemsByItemID.ItemID, listItemsByItemID.Offset, listItemsByItemID.Sorts); - - SendPacket(listItemsResult.Write()); -} - -//this void sends player info about his auctions -void WorldSession::HandleAuctionListOwnedItems(WorldPackets::AuctionHouse::AuctionListOwnedItems& listOwnedItems) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, listOwnedItems.TaintedBy.has_value()); - if (throttle.Throttled) - return; - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(listOwnedItems.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionListOwnerItems - {} not found or you can't interact with him.", listOwnedItems.Auctioneer.ToString()); - return; - } - - // remove fake death - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - WorldPackets::AuctionHouse::AuctionListOwnedItemsResult result; - - auctionHouse->BuildListOwnedItems(result, _player, listOwnedItems.Offset, listOwnedItems.Sorts); - result.DesiredDelay = uint32(throttle.DelayUntilNext.count()); - SendPacket(result.Write()); -} - // this function is called when client bids or buys out auction void WorldSession::HandleAuctionPlaceBid(WorldPackets::AuctionHouse::AuctionPlaceBid& placeBid) { @@ -574,247 +275,6 @@ void WorldSession::HandleAuctionReplicateItems(WorldPackets::AuctionHouse::Aucti SendPacket(response.Write()); } -void WorldSession::HandleAuctionRequestFavoriteList(WorldPackets::AuctionHouse::AuctionRequestFavoriteList& /*requestFavoriteList*/) -{ - CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARACTER_FAVORITE_AUCTIONS); - stmt->setUInt64(0, _player->GetGUID().GetCounter()); - GetQueryProcessor().AddCallback(CharacterDatabase.AsyncQuery(stmt)).WithPreparedCallback([this](PreparedQueryResult favoriteAuctionResult) - { - WorldPackets::AuctionHouse::AuctionFavoriteList favoriteItems; - if (favoriteAuctionResult) - { - favoriteItems.Items.reserve(favoriteAuctionResult->GetRowCount()); - - do - { - Field* fields = favoriteAuctionResult->Fetch(); - - WorldPackets::AuctionHouse::AuctionFavoriteInfo& item = favoriteItems.Items.emplace_back(); - item.Order = fields[0].GetUInt32(); - item.ItemID = fields[1].GetUInt32(); - item.ItemLevel = fields[2].GetUInt32(); - item.BattlePetSpeciesID = fields[3].GetUInt32(); - item.SuffixItemNameDescriptionID = fields[4].GetUInt32(); - - } while (favoriteAuctionResult->NextRow()); - - } - SendPacket(favoriteItems.Write()); - }); -} - -void WorldSession::HandleAuctionSellCommodity(WorldPackets::AuctionHouse::AuctionSellCommodity& sellCommodity) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, sellCommodity.TaintedBy.has_value(), AuctionCommand::SellItem); - if (throttle.Throttled) - return; - - if (!sellCommodity.UnitPrice || sellCommodity.UnitPrice > MAX_MONEY_AMOUNT) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionSellItem - Player {} {} attempted to sell item with invalid price.", _player->GetName(), _player->GetGUID().ToString()); - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::DatabaseError, throttle.DelayUntilNext); - return; - } - - // auction house does not deal with copper - if (sellCommodity.UnitPrice % SILVER) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::DatabaseError, throttle.DelayUntilNext); - return; - } - - Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(sellCommodity.Auctioneer, UNIT_NPC_FLAG_AUCTIONEER, UNIT_NPC_FLAG_2_NONE); - if (!creature) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionSellItem - Unit {} not found or you can't interact with him.", sellCommodity.Auctioneer.ToString()); - return; - } - - uint32 houseId = 0; - AuctionHouseEntry const* auctionHouseEntry = AuctionHouseMgr::GetAuctionHouseEntry(creature->GetFaction(), &houseId); - if (!auctionHouseEntry) - { - TC_LOG_DEBUG("network", "WORLD: HandleAuctionSellItem - Unit {} has wrong faction.", sellCommodity.Auctioneer.ToString()); - return; - } - - switch (sellCommodity.RunTime) - { - case 1 * MIN_AUCTION_TIME / MINUTE: - case 2 * MIN_AUCTION_TIME / MINUTE: - case 4 * MIN_AUCTION_TIME / MINUTE: - break; - default: - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::AuctionHouseBusy, throttle.DelayUntilNext); - return; - } - - if (GetPlayer()->HasUnitState(UNIT_STATE_DIED)) - GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); - - // find all items for sale - uint64 totalCount = 0; - std::unordered_map<ObjectGuid, std::pair<Item*, uint64>> items2; - - for (WorldPackets::AuctionHouse::AuctionItemForSale const& itemForSale : sellCommodity.Items) - { - Item* item = _player->GetItemByGuid(itemForSale.Guid); - if (!item) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::ItemNotFound, throttle.DelayUntilNext); - return; - } - - if (item->GetTemplate()->GetMaxStackSize() == 1) - { - // not commodity, must use different packet - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::ItemNotFound, throttle.DelayUntilNext); - return; - } - - // verify that all items belong to the same bucket - if (!items2.empty() && AuctionsBucketKey::ForItem(item) != AuctionsBucketKey::ForItem(items2.begin()->second.first)) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::ItemNotFound, throttle.DelayUntilNext); - return; - } - - if (sAuctionMgr->GetAItem(item->GetGUID()) || !item->CanBeTraded() || item->IsNotEmptyBag() || - item->GetTemplate()->HasFlag(ITEM_FLAG_CONJURED) || *item->m_itemData->Expiration || - item->GetCount() < itemForSale.UseCount) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::DatabaseError, throttle.DelayUntilNext); - return; - } - - std::pair<Item*, uint64>& soldItem = items2[item->GetGUID()]; - soldItem.first = item; - soldItem.second += itemForSale.UseCount; - if (item->GetCount() < soldItem.second) - { - // check that we have enough of this item to sell - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::ItemNotFound, throttle.DelayUntilNext); - return; - } - - totalCount += itemForSale.UseCount; - } - - if (!totalCount) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::DatabaseError, throttle.DelayUntilNext); - return; - } - - Seconds auctionTime = Seconds(int64(std::chrono::duration_cast<Seconds>(Minutes(sellCommodity.RunTime)).count() * double(sWorld->getRate(RATE_AUCTION_TIME)))); - AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction()); - - uint64 deposit = AuctionHouseMgr::GetCommodityAuctionDeposit(items2.begin()->second.first->GetTemplate(), Minutes(sellCommodity.RunTime), totalCount); - if (!_player->HasEnoughMoney(deposit)) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::NotEnoughMoney, throttle.DelayUntilNext); - return; - } - - uint32 auctionId = sObjectMgr->GenerateAuctionID(); - AuctionPosting auction; - auction.Id = auctionId; - auction.Owner = _player->GetGUID(); - auction.OwnerAccount = GetAccountGUID(); - auction.BuyoutOrUnitPrice = sellCommodity.UnitPrice; - auction.Deposit = deposit; - auction.StartTime = GameTime::GetSystemTime(); - auction.EndTime = auction.StartTime + auctionTime; - - // keep track of what was cloned to undo/modify counts later - std::unordered_map<Item* /*original*/, std::unique_ptr<Item> /*clone*/> clones; - for (std::pair<ObjectGuid const, std::pair<Item*, uint64>>& it : items2) - { - Item* itemForSale; - if (it.second.first->GetCount() != it.second.second) - { - itemForSale = it.second.first->CloneItem(it.second.second, _player); - if (!itemForSale) - { - TC_LOG_ERROR("network", "CMSG_AUCTION_SELL_COMMODITY: Could not create clone of item {}", it.second.first->GetEntry()); - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::DatabaseError, throttle.DelayUntilNext); - return; - } - - clones.emplace(it.second.first, itemForSale); - } - } - - if (!sAuctionMgr->PendingAuctionAdd(_player, auctionHouse->GetAuctionHouseId(), auction.Id, auction.Deposit)) - { - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::NotEnoughMoney, throttle.DelayUntilNext); - return; - } - - TC_LOG_INFO("network", "CMSG_AUCTION_SELL_COMMODITY: {} {} is selling item {} {} to auctioneer {} with count {} with with unit price {} and with time {} (in sec) in auctionhouse {}", - _player->GetGUID().ToString(), _player->GetName(), items2.begin()->second.first->GetNameForLocaleIdx(sWorld->GetDefaultDbcLocale()), - ([&items2]() - { - std::stringstream ss; - auto itr = items2.begin(); - ss << (itr++)->first.ToString(); - for (; itr != items2.end(); ++itr) - ss << ',' << itr->first.ToString(); - return ss.str(); - }()).c_str(), - creature->GetGUID().ToString().c_str(), totalCount, sellCommodity.UnitPrice, uint32(auctionTime.count()), auctionHouse->GetAuctionHouseId()); - - if (HasPermission(rbac::RBAC_PERM_LOG_GM_TRADE)) - { - Item* logItem = items2.begin()->second.first; - sLog->OutCommand(GetAccountId(), "GM {} (Account: {}) create auction: {} (Entry: {} Count: {})", - GetPlayerName(), GetAccountId(), logItem->GetNameForLocaleIdx(sWorld->GetDefaultDbcLocale()), logItem->GetEntry(), totalCount); - } - - CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); - - for (std::pair<ObjectGuid const, std::pair<Item*, uint64>> const& it : items2) - { - Item* itemForSale = it.second.first; - auto cloneItr = clones.find(it.second.first); - if (cloneItr != clones.end()) - { - Item* original = itemForSale; - original->SetCount(original->GetCount() - uint32(it.second.second)); - original->SetState(ITEM_CHANGED, _player); - _player->ItemRemovedQuestCheck(original->GetEntry(), uint32(it.second.second)); - original->SaveToDB(trans); - - itemForSale = cloneItr->second.release(); - } - else - { - _player->MoveItemFromInventory(itemForSale->GetBagSlot(), itemForSale->GetSlot(), true); - itemForSale->DeleteFromInventoryDB(trans); - } - - itemForSale->SaveToDB(trans); - auction.Items.push_back(itemForSale); - } - - auctionHouse->AddAuction(trans, std::move(auction)); - _player->SaveInventoryAndGoldToDB(trans); - - AddTransactionCallback(CharacterDatabase.AsyncCommitTransaction(trans)).AfterComplete([this, auctionId, auctionPlayerGuid = _player->GetGUID(), throttle](bool success) - { - if (GetPlayer() && GetPlayer()->GetGUID() == auctionPlayerGuid) - { - if (success) - { - GetPlayer()->UpdateCriteria(CriteriaType::ItemsPostedAtAuction, 1); - SendAuctionCommandResult(auctionId, AuctionCommand::SellItem, AuctionResult::Ok, throttle.DelayUntilNext); - } - else - SendAuctionCommandResult(0, AuctionCommand::SellItem, AuctionResult::DatabaseError, throttle.DelayUntilNext); - } - }); -} - void WorldSession::HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSellItem& sellItem) { AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, sellItem.TaintedBy.has_value(), AuctionCommand::SellItem); @@ -963,34 +423,6 @@ void WorldSession::HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSell }); } -void WorldSession::HandleAuctionSetFavoriteItem(WorldPackets::AuctionHouse::AuctionSetFavoriteItem& setFavoriteItem) -{ - AuctionThrottleResult throttle = sAuctionMgr->CheckThrottle(_player, false); - if (throttle.Throttled) - return; - - CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); - - CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_FAVORITE_AUCTION); - stmt->setUInt64(0, _player->GetGUID().GetCounter()); - stmt->setUInt32(1, setFavoriteItem.Item.Order); - trans->Append(stmt); - - if (!setFavoriteItem.IsNotFavorite) - { - stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_FAVORITE_AUCTION); - stmt->setUInt64(0, _player->GetGUID().GetCounter()); - stmt->setUInt32(1, setFavoriteItem.Item.Order); - stmt->setUInt32(2, setFavoriteItem.Item.ItemID); - stmt->setUInt32(3, setFavoriteItem.Item.ItemLevel); - stmt->setUInt32(4, setFavoriteItem.Item.BattlePetSpeciesID); - stmt->setUInt32(5, setFavoriteItem.Item.SuffixItemNameDescriptionID); - trans->Append(stmt); - } - - CharacterDatabase.CommitTransaction(trans); -} - //this void causes that auction window is opened void WorldSession::SendAuctionHello(ObjectGuid guid, Unit const* unit) { diff --git a/src/server/game/Handlers/BankHandler.cpp b/src/server/game/Handlers/BankHandler.cpp index 3fa44da49e4..f10b2553d19 100644 --- a/src/server/game/Handlers/BankHandler.cpp +++ b/src/server/game/Handlers/BankHandler.cpp @@ -149,22 +149,6 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPackets::Bank::BuyBankSlot& pack _player->UpdateCriteria(CriteriaType::BankSlotsPurchased); } -void WorldSession::HandleBuyReagentBankOpcode(WorldPackets::Bank::ReagentBank& /*reagentBank*/) -{ -} - -void WorldSession::HandleReagentBankDepositOpcode(WorldPackets::Bank::ReagentBank& /*reagentBank*/) -{ -} - -void WorldSession::HandleAutoBankReagentOpcode(WorldPackets::Bank::AutoBankReagent& /*autoBankReagent*/) -{ -} - -void WorldSession::HandleAutoStoreBankReagentOpcode(WorldPackets::Bank::AutoStoreBankReagent& /*autoStoreBankReagent*/) -{ -} - void WorldSession::SendShowBank(ObjectGuid guid) { _player->PlayerTalkClass->GetInteractionData().Reset(); diff --git a/src/server/game/Handlers/BattlePetHandler.cpp b/src/server/game/Handlers/BattlePetHandler.cpp index ae7115bd8b6..dd9490d447c 100644 --- a/src/server/game/Handlers/BattlePetHandler.cpp +++ b/src/server/game/Handlers/BattlePetHandler.cpp @@ -42,11 +42,6 @@ void WorldSession::HandleBattlePetSetBattleSlot(WorldPackets::BattlePet::BattleP slot->Pet = pet->PacketInfo; } -void WorldSession::HandleBattlePetModifyName(WorldPackets::BattlePet::BattlePetModifyName& battlePetModifyName) -{ - GetBattlePetMgr()->ModifyName(battlePetModifyName.PetGuid, battlePetModifyName.Name, std::move(battlePetModifyName.DeclinedNames)); -} - void WorldSession::HandleQueryBattlePetName(WorldPackets::BattlePet::QueryBattlePetName& queryBattlePetName) { WorldPackets::BattlePet::QueryBattlePetNameResponse response; @@ -88,11 +83,6 @@ void WorldSession::HandleQueryBattlePetName(WorldPackets::BattlePet::QueryBattle SendPacket(response.Write()); } -void WorldSession::HandleBattlePetDeletePet(WorldPackets::BattlePet::BattlePetDeletePet& battlePetDeletePet) -{ - GetBattlePetMgr()->RemovePet(battlePetDeletePet.PetGuid); -} - void WorldSession::HandleBattlePetSetFlags(WorldPackets::BattlePet::BattlePetSetFlags& battlePetSetFlags) { if (!GetBattlePetMgr()->HasJournalLock()) @@ -115,11 +105,6 @@ void WorldSession::HandleBattlePetClearFanfare(WorldPackets::BattlePet::BattlePe GetBattlePetMgr()->ClearFanfare(battlePetClearFanfare.PetGuid); } -void WorldSession::HandleCageBattlePet(WorldPackets::BattlePet::CageBattlePet& cageBattlePet) -{ - GetBattlePetMgr()->CageBattlePet(cageBattlePet.PetGuid); -} - void WorldSession::HandleBattlePetSummon(WorldPackets::BattlePet::BattlePetSummon& battlePetSummon) { if (*_player->m_activePlayerData->SummonedBattlePetGUID != battlePetSummon.PetGuid) diff --git a/src/server/game/Handlers/BlackMarketHandler.cpp b/src/server/game/Handlers/BlackMarketHandler.cpp index 1ec45201806..55a6581bbe5 100644 --- a/src/server/game/Handlers/BlackMarketHandler.cpp +++ b/src/server/game/Handlers/BlackMarketHandler.cpp @@ -49,82 +49,6 @@ void WorldSession::SendBlackMarketOpenResult(ObjectGuid guid, Creature* /*auctio SendPacket(npcInteraction.Write()); } -void WorldSession::HandleBlackMarketRequestItems(WorldPackets::BlackMarket::BlackMarketRequestItems& blackMarketRequestItems) -{ - if (!sBlackMarketMgr->IsEnabled()) - return; - - Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(blackMarketRequestItems.Guid, UNIT_NPC_FLAG_BLACK_MARKET, UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW); - if (!unit) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketRequestItems - Unit (GUID: {}) not found or you can't interact with him.", blackMarketRequestItems.Guid.ToString()); - return; - } - - WorldPackets::BlackMarket::BlackMarketRequestItemsResult result; - sBlackMarketMgr->BuildItemsResponse(result, GetPlayer()); - SendPacket(result.Write()); -} - -void WorldSession::HandleBlackMarketBidOnItem(WorldPackets::BlackMarket::BlackMarketBidOnItem& blackMarketBidOnItem) -{ - if (!sBlackMarketMgr->IsEnabled()) - return; - - Player* player = GetPlayer(); - Creature* unit = player->GetNPCIfCanInteractWith(blackMarketBidOnItem.Guid, UNIT_NPC_FLAG_BLACK_MARKET, UNIT_NPC_FLAG_2_NONE); - if (!unit) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketBidOnItem - Unit (GUID: {}) not found or you can't interact with him.", blackMarketBidOnItem.Guid.ToString()); - return; - } - - BlackMarketEntry* entry = sBlackMarketMgr->GetAuctionByID(blackMarketBidOnItem.MarketID); - if (!entry) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketBidOnItem - Player ({}, name: {}) tried to bid on a nonexistent auction (MarketId: {}).", player->GetGUID().ToString(), player->GetName(), blackMarketBidOnItem.MarketID); - SendBlackMarketBidOnItemResult(ERR_BMAH_ITEM_NOT_FOUND, blackMarketBidOnItem.MarketID, blackMarketBidOnItem.Item); - return; - } - - if (entry->GetBidder() == player->GetGUID().GetCounter()) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketBidOnItem - Player ({}, name: {}) tried to place a bid on an item he already bid on. (MarketId: {}).", player->GetGUID().ToString(), player->GetName(), blackMarketBidOnItem.MarketID); - SendBlackMarketBidOnItemResult(ERR_BMAH_ALREADY_BID, blackMarketBidOnItem.MarketID, blackMarketBidOnItem.Item); - return; - } - - if (!entry->ValidateBid(blackMarketBidOnItem.BidAmount)) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketBidOnItem - Player ({}, name: {}) tried to place an invalid bid. Amount: {} (MarketId: {}).", player->GetGUID().ToString(), player->GetName(), blackMarketBidOnItem.BidAmount, blackMarketBidOnItem.MarketID); - SendBlackMarketBidOnItemResult(ERR_BMAH_HIGHER_BID, blackMarketBidOnItem.MarketID, blackMarketBidOnItem.Item); - return; - } - - if (!player->HasEnoughMoney(blackMarketBidOnItem.BidAmount)) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketBidOnItem - Player ({}, name: {}) does not have enough money to place bid. (MarketId: {}).", player->GetGUID().ToString(), player->GetName(), blackMarketBidOnItem.MarketID); - SendBlackMarketBidOnItemResult(ERR_BMAH_NOT_ENOUGH_MONEY, blackMarketBidOnItem.MarketID, blackMarketBidOnItem.Item); - return; - } - - if (entry->GetSecondsRemaining() <= 0) - { - TC_LOG_DEBUG("network", "WORLD: HandleBlackMarketBidOnItem - Player ({}, name: {}) tried to bid on a completed auction. (MarketId: {}).", player->GetGUID().ToString(), player->GetName(), blackMarketBidOnItem.MarketID); - SendBlackMarketBidOnItemResult(ERR_BMAH_DATABASE_ERROR, blackMarketBidOnItem.MarketID, blackMarketBidOnItem.Item); - return; - } - - CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); - - sBlackMarketMgr->SendAuctionOutbidMail(entry, trans); - entry->PlaceBid(blackMarketBidOnItem.BidAmount, player, trans); - - CharacterDatabase.CommitTransaction(trans); - - SendBlackMarketBidOnItemResult(ERR_BMAH_OK, blackMarketBidOnItem.MarketID, blackMarketBidOnItem.Item); -} - void WorldSession::SendBlackMarketBidOnItemResult(int32 result, int32 marketId, WorldPackets::Item::ItemInstance& item) { WorldPackets::BlackMarket::BlackMarketBidOnItemResult packet; diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp index c4c1a03b992..33df0525d0e 100644 --- a/src/server/game/Handlers/CalendarHandler.cpp +++ b/src/server/game/Handlers/CalendarHandler.cpp @@ -529,29 +529,6 @@ void WorldSession::HandleCalendarGetNumPending(WorldPackets::Calendar::CalendarG SendPacket(WorldPackets::Calendar::CalendarSendNumPending(pending).Write()); } -void WorldSession::HandleSetSavedInstanceExtend(WorldPackets::Calendar::SetSavedInstanceExtend& setSavedInstanceExtend) -{ - TC_LOG_DEBUG("network", "CMSG_SET_SAVED_INSTANCE_EXTEND - MapId: {}, Difficulty: {}, ToggleExtend: {}", setSavedInstanceExtend.MapID, setSavedInstanceExtend.DifficultyID, setSavedInstanceExtend.Extend ? "On" : "Off"); - - // cannot modify locks currently in use - if (_player->GetMapId() == uint32(setSavedInstanceExtend.MapID)) - return; - - std::pair<InstanceResetTimePoint, InstanceResetTimePoint> expiryTimes = sInstanceLockMgr.UpdateInstanceLockExtensionForPlayer(_player->GetGUID(), - { uint32(setSavedInstanceExtend.MapID), Difficulty(setSavedInstanceExtend.DifficultyID) }, setSavedInstanceExtend.Extend); - - if (expiryTimes.first == InstanceResetTimePoint::min()) - return; - - WorldPackets::Calendar::CalendarRaidLockoutUpdated calendarRaidLockoutUpdated; - calendarRaidLockoutUpdated.ServerTime = *GameTime::GetWowTime(); - calendarRaidLockoutUpdated.MapID = setSavedInstanceExtend.MapID; - calendarRaidLockoutUpdated.DifficultyID = setSavedInstanceExtend.DifficultyID; - calendarRaidLockoutUpdated.OldTimeRemaining = std::max(std::chrono::duration_cast<Seconds>(expiryTimes.first - GameTime::GetSystemTime()).count(), SI64LIT(0)); - calendarRaidLockoutUpdated.NewTimeRemaining = std::max(std::chrono::duration_cast<Seconds>(expiryTimes.second - GameTime::GetSystemTime()).count(), SI64LIT(0)); - SendPacket(calendarRaidLockoutUpdated.Write()); -} - // ----------------------------------- SEND ------------------------------------ void WorldSession::SendCalendarRaidLockoutAdded(InstanceLock const* lock) diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index df923e97445..3603e793405 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1426,45 +1426,6 @@ void WorldSession::HandleSetFactionInactiveOpcode(WorldPackets::Character::SetFa _player->GetReputationMgr().SetInactive(packet.Index, packet.State); } -void WorldSession::HandleRequestForcedReactionsOpcode(WorldPackets::Reputation::RequestForcedReactions& /*requestForcedReactions*/) -{ - _player->GetReputationMgr().SendForceReactions(); -} - -void WorldSession::HandleCheckCharacterNameAvailability(WorldPackets::Character::CheckCharacterNameAvailability& checkCharacterNameAvailability) -{ - // prevent character rename to invalid name - if (!normalizePlayerName(checkCharacterNameAvailability.Name)) - { - SendPacket(WorldPackets::Character::CheckCharacterNameAvailabilityResult(checkCharacterNameAvailability.SequenceIndex, CHAR_NAME_NO_NAME).Write()); - return; - } - - ResponseCodes res = ObjectMgr::CheckPlayerName(checkCharacterNameAvailability.Name, GetSessionDbcLocale(), true); - if (res != CHAR_NAME_SUCCESS) - { - SendPacket(WorldPackets::Character::CheckCharacterNameAvailabilityResult(checkCharacterNameAvailability.SequenceIndex, res).Write()); - return; - } - - // check name limitations - if (!HasPermission(rbac::RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_RESERVEDNAME) && sObjectMgr->IsReservedName(checkCharacterNameAvailability.Name)) - { - SendPacket(WorldPackets::Character::CheckCharacterNameAvailabilityResult(checkCharacterNameAvailability.SequenceIndex, CHAR_NAME_RESERVED).Write()); - return; - } - - // Ensure that there is no character with the desired new name - CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHECK_NAME); - stmt->setString(0, checkCharacterNameAvailability.Name); - - _queryProcessor.AddCallback(CharacterDatabase.AsyncQuery(stmt) - .WithPreparedCallback([this, sequenceIndex = checkCharacterNameAvailability.SequenceIndex](PreparedQueryResult result) - { - SendPacket(WorldPackets::Character::CheckCharacterNameAvailabilityResult(sequenceIndex, result ? CHAR_CREATE_NAME_IN_USE : RESPONSE_SUCCESS).Write()); - })); -} - void WorldSession::HandleCharRenameOpcode(WorldPackets::Character::CharacterRenameRequest& request) { if (!IsLegitCharacterForAccount(request.RenameInfo->Guid)) @@ -2672,29 +2633,6 @@ void WorldSession::HandleCharUndeleteOpcode(WorldPackets::Character::UndeleteCha })); } -void WorldSession::HandleSavePersonalEmblem(WorldPackets::Character::SavePersonalEmblem const& savePersonalEmblem) -{ - if (!_player->GetNPCIfCanInteractWith(savePersonalEmblem.Vendor, UNIT_NPC_FLAG_NONE, UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER)) - { - SendPacket(WorldPackets::Character::PlayerSavePersonalEmblem(ERR_GUILDEMBLEM_INVALIDVENDOR).Write()); - return; - } - - if (!EmblemInfo::ValidateEmblemColors(savePersonalEmblem.PersonalTabard.EmblemStyle, savePersonalEmblem.PersonalTabard.EmblemColor, - savePersonalEmblem.PersonalTabard.BorderStyle, savePersonalEmblem.PersonalTabard.BorderColor, - savePersonalEmblem.PersonalTabard.BackgroundColor)) - { - SendPacket(WorldPackets::Character::PlayerSavePersonalEmblem(ERR_GUILDEMBLEM_INVALID_TABARD_COLORS).Write()); - return; - } - - _player->SetPersonalTabard(savePersonalEmblem.PersonalTabard.EmblemStyle, savePersonalEmblem.PersonalTabard.EmblemColor, - savePersonalEmblem.PersonalTabard.BorderStyle, savePersonalEmblem.PersonalTabard.BorderColor, - savePersonalEmblem.PersonalTabard.BackgroundColor); - - SendPacket(WorldPackets::Character::PlayerSavePersonalEmblem(ERR_GUILDEMBLEM_SUCCESS).Write()); -} - void WorldSession::SendCharCreate(ResponseCodes result, ObjectGuid const& guid /*= ObjectGuid::Empty*/) { WorldPackets::Character::CreateChar response; diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index c5a77dbe280..9c1368a7f18 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -797,28 +797,6 @@ void WorldSession::SendChatRestricted(ChatRestrictionType restriction) SendPacket(packet.Write()); } -void WorldSession::HandleChatCanLocalWhisperTargetRequest(WorldPackets::Chat::CanLocalWhisperTargetRequest const& canLocalWhisperTargetRequest) -{ - ChatWhisperTargetStatus status = [&] - { - Player* sender = GetPlayer(); - Player* receiver = ObjectAccessor::FindConnectedPlayer(canLocalWhisperTargetRequest.WhisperTarget); - if (!receiver || (!receiver->isAcceptWhispers() && receiver->GetSession()->HasPermission(rbac::RBAC_PERM_CAN_FILTER_WHISPERS) && !receiver->IsInWhisperWhiteList(sender->GetGUID()))) - return ChatWhisperTargetStatus::Offline; - - if (!receiver->IsInWhisperWhiteList(sender->GetGUID()) && !receiver->IsGameMasterAcceptingWhispers()) - if (GetPlayer()->GetEffectiveTeam() != receiver->GetEffectiveTeam() && !HasPermission(rbac::RBAC_PERM_TWO_SIDE_INTERACTION_CHAT)) - return ChatWhisperTargetStatus::WrongFaction; - - return ChatWhisperTargetStatus::CanWhisper; - }(); - - WorldPackets::Chat::CanLocalWhisperTargetResponse canLocalWhisperTargetResponse; - canLocalWhisperTargetResponse.WhisperTarget = canLocalWhisperTargetRequest.WhisperTarget; - canLocalWhisperTargetResponse.Status = status; - SendPacket(canLocalWhisperTargetResponse.Write()); -} - void WorldSession::HandleChatUpdateAADCStatus(WorldPackets::Chat::UpdateAADCStatus const& /*updateAADCStatus*/) { // disabling chat not supported diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index f9ad1daa6f1..f9252231820 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -649,90 +649,3 @@ void WorldSession::HandleClearRaidMarker(WorldPackets::Party::ClearRaidMarker& p group->DeleteRaidMarker(packet.MarkerId); } - -namespace -{ -bool CanSendPing(Player const& player, PingSubjectType type, Group const*& group) -{ - if (type >= PingSubjectType::Max) - return false; - - if (!player.GetSession()->CanSpeak()) - return false; - - group = player.GetGroup(); - if (!group) - return false; - - if (group->IsRestrictPingsToAssistants() && !group->IsLeader(player.GetGUID()) && !group->IsAssistant(player.GetGUID())) - return false; - - return true; -} -} - -void WorldSession::HandleSetRestrictPingsToAssistants(WorldPackets::Party::SetRestrictPingsToAssistants const& setRestrictPingsToAssistants) -{ - Group* group = GetPlayer()->GetGroup(setRestrictPingsToAssistants.PartyIndex); - if (!group) - return; - - if (!group->IsLeader(GetPlayer()->GetGUID())) - return; - - group->SetRestrictPingsToAssistants(setRestrictPingsToAssistants.RestrictPingsToAssistants); -} - -void WorldSession::HandleSendPingUnit(WorldPackets::Party::SendPingUnit const& pingUnit) -{ - Group const* group = nullptr; - if (!CanSendPing(*_player, pingUnit.Type, group)) - return; - - Unit const* target = ObjectAccessor::GetUnit(*_player, pingUnit.TargetGUID); - if (!target || !_player->HaveAtClient(target)) - return; - - WorldPackets::Party::ReceivePingUnit broadcastPingUnit; - broadcastPingUnit.SenderGUID = _player->GetGUID(); - broadcastPingUnit.TargetGUID = pingUnit.TargetGUID; - broadcastPingUnit.Type = pingUnit.Type; - broadcastPingUnit.PinFrameID = pingUnit.PinFrameID; - broadcastPingUnit.Write(); - - for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) - { - Player const* member = itr->GetSource(); - if (_player == member || !_player->IsInMap(member)) - continue; - - member->SendDirectMessage(broadcastPingUnit.GetRawPacket()); - } -} - -void WorldSession::HandleSendPingWorldPoint(WorldPackets::Party::SendPingWorldPoint const& pingWorldPoint) -{ - Group const* group = nullptr; - if (!CanSendPing(*_player, pingWorldPoint.Type, group)) - return; - - if (_player->GetMapId() != pingWorldPoint.MapID) - return; - - WorldPackets::Party::ReceivePingWorldPoint broadcastPingWorldPoint; - broadcastPingWorldPoint.SenderGUID = _player->GetGUID(); - broadcastPingWorldPoint.MapID = pingWorldPoint.MapID; - broadcastPingWorldPoint.Point = pingWorldPoint.Point; - broadcastPingWorldPoint.Type = pingWorldPoint.Type; - broadcastPingWorldPoint.PinFrameID = pingWorldPoint.PinFrameID; - broadcastPingWorldPoint.Write(); - - for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) - { - Player const* member = itr->GetSource(); - if (_player == member || !_player->IsInMap(member)) - continue; - - member->SendDirectMessage(broadcastPingWorldPoint.GetRawPacket()); - } -} diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index c64712847e8..5406475369f 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -1219,27 +1219,6 @@ void WorldSession::HandleUseCritterItem(WorldPackets::Item::UseCritterItem& useC _player->DestroyItem(item->GetBagSlot(), item->GetSlot(), true); } -void WorldSession::HandleSortBags(WorldPackets::Item::SortBags& /*sortBags*/) -{ - // TODO: Implement sorting - // Placeholder to prevent completely locking out bags clientside - SendPacket(WorldPackets::Item::BagCleanupFinished().Write()); -} - -void WorldSession::HandleSortBankBags(WorldPackets::Item::SortBankBags& /*sortBankBags*/) -{ - // TODO: Implement sorting - // Placeholder to prevent completely locking out bags clientside - SendPacket(WorldPackets::Item::BagCleanupFinished().Write()); -} - -void WorldSession::HandleSortReagentBankBags(WorldPackets::Item::SortReagentBankBags& /*sortReagentBankBags*/) -{ - // TODO: Implement sorting - // Placeholder to prevent completely locking out bags clientside - SendPacket(WorldPackets::Item::BagCleanupFinished().Write()); -} - void WorldSession::HandleRemoveNewItem(WorldPackets::Item::RemoveNewItem& removeNewItem) { Item* item = _player->GetItemByGuid(removeNewItem.ItemGuid); diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index d3633b3c248..e09b14ab36f 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -498,7 +498,3 @@ void WorldSession::HandleLootRoll(WorldPackets::Loot::LootRoll& packet) lootRoll->PlayerVote(GetPlayer(), RollVote(packet.RollType)); } - -void WorldSession::HandleSetLootSpecialization(WorldPackets::Loot::SetLootSpecialization& /*packet*/) -{ -} diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 66d50420e87..5c013da0770 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -346,11 +346,6 @@ void WorldSession::HandleSetPvP(WorldPackets::Misc::SetPvP& packet) } } -void WorldSession::HandleSetWarMode(WorldPackets::Misc::SetWarMode& packet) -{ - _player->SetWarModeDesired(packet.Enable); -} - void WorldSession::HandlePortGraveyard(WorldPackets::Misc::PortGraveyard& /*packet*/) { if (GetPlayer()->IsAlive() || !GetPlayer()->HasPlayerFlag(PLAYER_FLAGS_GHOST)) @@ -1168,13 +1163,6 @@ void WorldSession::HandleConversationLineStarted(WorldPackets::Misc::Conversatio sScriptMgr->OnConversationLineStarted(convo, conversationLineStarted.LineID, _player); } -void WorldSession::HandleRequestLatestSplashScreen(WorldPackets::Misc::RequestLatestSplashScreen& /*requestLatestSplashScreen*/) -{ - WorldPackets::Misc::SplashScreenShowLatest splashScreenShowLatest; - splashScreenShowLatest.UISplashScreenID = 0; - SendPacket(splashScreenShowLatest.Write()); -} - void WorldSession::HandleQueryCountdownTimer(WorldPackets::Misc::QueryCountdownTimer& queryCountdownTimer) { Group const* group = _player->GetGroup(); diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index ad8d8d8062c..b8589e1db59 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -715,64 +715,3 @@ void WorldSession::HandleRequestWorldQuestUpdate(WorldPackets::Quest::RequestWor SendPacket(response.Write()); } - -void WorldSession::HandlePlayerChoiceResponse(WorldPackets::Quest::ChoiceResponse& choiceResponse) -{ - if (_player->PlayerTalkClass->GetInteractionData().PlayerChoiceId != uint32(choiceResponse.ChoiceID)) - { - TC_LOG_ERROR("entities.player.cheat", "Error in CMSG_CHOICE_RESPONSE: {} tried to respond to invalid player choice {} (allowed {}) (possible packet-hacking detected)", - GetPlayerInfo(), choiceResponse.ChoiceID, _player->PlayerTalkClass->GetInteractionData().PlayerChoiceId); - return; - } - - PlayerChoice const* playerChoice = sObjectMgr->GetPlayerChoice(choiceResponse.ChoiceID); - if (!playerChoice) - return; - - PlayerChoiceResponse const* playerChoiceResponse = playerChoice->GetResponseByIdentifier(choiceResponse.ResponseIdentifier); - if (!playerChoiceResponse) - { - TC_LOG_ERROR("entities.player.cheat", "Error in CMSG_CHOICE_RESPONSE: {} tried to select invalid player choice response {} (possible packet-hacking detected)", - GetPlayerInfo(), choiceResponse.ResponseIdentifier); - return; - } - - sScriptMgr->OnPlayerChoiceResponse(GetPlayer(), choiceResponse.ChoiceID, choiceResponse.ResponseIdentifier); - - if (playerChoiceResponse->Reward) - { - if (playerChoiceResponse->Reward->TitleId) - _player->SetTitle(sCharTitlesStore.AssertEntry(playerChoiceResponse->Reward->TitleId), false); - - if (playerChoiceResponse->Reward->PackageId) - _player->RewardQuestPackage(playerChoiceResponse->Reward->PackageId, ItemContext::NONE); - - if (playerChoiceResponse->Reward->SkillLineId && _player->HasSkill(playerChoiceResponse->Reward->SkillLineId)) - _player->UpdateSkillPro(playerChoiceResponse->Reward->SkillLineId, 1000, playerChoiceResponse->Reward->SkillPointCount); - - if (playerChoiceResponse->Reward->HonorPointCount) - _player->AddHonorXP(playerChoiceResponse->Reward->HonorPointCount); - - if (playerChoiceResponse->Reward->Money) - _player->ModifyMoney(playerChoiceResponse->Reward->Money, false); - - if (playerChoiceResponse->Reward->Xp) - _player->GiveXP(playerChoiceResponse->Reward->Xp, nullptr, 0.0f); - - for (PlayerChoiceResponseRewardItem const& item : playerChoiceResponse->Reward->Items) - { - ItemPosCountVec dest; - if (_player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, item.Id, item.Quantity) == EQUIP_ERR_OK) - { - Item* newItem = _player->StoreNewItem(dest, item.Id, true, GenerateItemRandomBonusListId(item.Id), {}, ItemContext::Quest_Reward, &item.BonusListIDs); - _player->SendNewItem(newItem, item.Quantity, true, false); - } - } - - for (PlayerChoiceResponseRewardEntry const& currency : playerChoiceResponse->Reward->Currency) - _player->ModifyCurrency(currency.Id, currency.Quantity); - - for (PlayerChoiceResponseRewardEntry const& faction : playerChoiceResponse->Reward->Faction) - _player->GetReputationMgr().ModifyReputation(sFactionStore.AssertEntry(faction.Id), faction.Quantity); - } -} diff --git a/src/server/game/Handlers/ScenarioHandler.cpp b/src/server/game/Handlers/ScenarioHandler.cpp deleted file mode 100644 index 7c0a23a5ed8..00000000000 --- a/src/server/game/Handlers/ScenarioHandler.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "ScenarioMgr.h" -#include "ScenarioPackets.h" -#include "WorldSession.h" - -void WorldSession::HandleQueryScenarioPOI(WorldPackets::Scenario::QueryScenarioPOI& queryScenarioPOI) -{ - WorldPackets::Scenario::ScenarioPOIs response; - - // Read criteria tree ids and add the in a unordered_set so we don't send POIs for the same criteria tree multiple times - std::unordered_set<int32> criteriaTreeIds; - for (size_t i = 0; i < queryScenarioPOI.MissingScenarioPOIs.size(); ++i) - criteriaTreeIds.insert(queryScenarioPOI.MissingScenarioPOIs[i]); // CriteriaTreeID - - for (int32 criteriaTreeId : criteriaTreeIds) - { - if (ScenarioPOIVector const* poiVector = sScenarioMgr->GetScenarioPOIs(criteriaTreeId)) - { - WorldPackets::Scenario::ScenarioPOIData scenarioPOIData; - scenarioPOIData.CriteriaTreeID = criteriaTreeId; - scenarioPOIData.ScenarioPOIs = poiVector; - response.ScenarioPOIDataStats.push_back(scenarioPOIData); - } - } - - SendPacket(response.Write()); -} diff --git a/src/server/game/Handlers/SkillHandler.cpp b/src/server/game/Handlers/SkillHandler.cpp index bc1def97c6f..39126aa67a2 100644 --- a/src/server/game/Handlers/SkillHandler.cpp +++ b/src/server/game/Handlers/SkillHandler.cpp @@ -90,11 +90,3 @@ void WorldSession::HandleUnlearnSkillOpcode(WorldPackets::Spells::UnlearnSkill& GetPlayer()->SetSkill(packet.SkillLine, 0, 0, 0); } - -void WorldSession::HandleTradeSkillSetFavorite(WorldPackets::Spells::TradeSkillSetFavorite const& tradeSkillSetFavorite) -{ - if (!_player->HasSpell(tradeSkillSetFavorite.RecipeID)) - return; - - _player->SetSpellFavorite(tradeSkillSetFavorite.RecipeID, tradeSkillSetFavorite.IsFavorite); -} diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index aaf74f89acc..eaa3a55ceba 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -346,19 +346,6 @@ void WorldSession::HandleCancelMountAuraOpcode(WorldPackets::Spells::CancelMount }); } -void WorldSession::HandleCancelModSpeedNoControlAuras(WorldPackets::Spells::CancelModSpeedNoControlAuras& cancelModSpeedNoControlAuras) -{ - Unit* mover = _player->GetUnitBeingMoved(); - if (!mover || mover->GetGUID() != cancelModSpeedNoControlAuras.TargetGUID) - return; - - _player->RemoveAurasByType(SPELL_AURA_MOD_SPEED_NO_CONTROL, [](AuraApplication const* aurApp) - { - SpellInfo const* spellInfo = aurApp->GetBase()->GetSpellInfo(); - return !spellInfo->HasAttribute(SPELL_ATTR0_NO_AURA_CANCEL) && spellInfo->IsPositive() && !spellInfo->IsPassive(); - }); -} - void WorldSession::HandleCancelAutoRepeatSpellOpcode(WorldPackets::Spells::CancelAutoRepeatSpell& /*cancelAutoRepeatSpell*/) { // may be better send SMSG_CANCEL_AUTO_REPEAT? diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp index 4012ccff590..6df389e54db 100644 --- a/src/server/game/Handlers/TradeHandler.cpp +++ b/src/server/game/Handlers/TradeHandler.cpp @@ -775,7 +775,3 @@ void WorldSession::HandleClearTradeItemOpcode(WorldPackets::Trade::ClearTradeIte my_trade->SetItem(TradeSlots(clearTradeItem.TradeSlot), nullptr); } - -void WorldSession::HandleSetTradeCurrencyOpcode(WorldPackets::Trade::SetTradeCurrency& /*setTradeCurrency*/) -{ -} diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index be7ca6a728f..770a0dc632f 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -321,22 +321,6 @@ ReputationFlags ReputationMgr::GetDefaultStateFlags(FactionEntry const* factionE return flags; } -void ReputationMgr::SendForceReactions() -{ - WorldPackets::Reputation::SetForcedReactions setForcedReactions; - setForcedReactions.Reactions.resize(_forcedReactions.size()); - - std::size_t i = 0; - for (ForcedReactions::const_iterator itr = _forcedReactions.begin(); itr != _forcedReactions.end(); ++itr) - { - WorldPackets::Reputation::ForcedReaction& forcedReaction = setForcedReactions.Reactions[i++]; - forcedReaction.Faction = int32(itr->first); - forcedReaction.Reaction = int32(itr->second); - } - - _player->SendDirectMessage(setForcedReactions.Write()); -} - void ReputationMgr::SendState(FactionState const* faction) { WorldPackets::Reputation::SetFactionStanding setFactionStanding; diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h index 269c323ca8b..e4cd11978ae 100644 --- a/src/server/game/Reputation/ReputationMgr.h +++ b/src/server/game/Reputation/ReputationMgr.h @@ -149,7 +149,6 @@ class TC_GAME_API ReputationMgr public: // senders void SendInitialReputations(); - void SendForceReactions(); void SendState(FactionState const* faction); private: // internal helper functions diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp index e718367f196..f8d951c1c3f 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.cpp +++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp @@ -274,168 +274,11 @@ ByteBuffer& operator<<(ByteBuffer& data, AuctionBidderNotification const& bidder return data; } -void AuctionBrowseQuery::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> Offset; - _worldPacket >> MinLevel; - _worldPacket >> MaxLevel; - _worldPacket >> Unused1007_1; - _worldPacket >> Unused1007_2; - Filters = _worldPacket.read<AuctionHouseFilterMask, uint32>(); - - uint32 knownPetsSize = _worldPacket.read<uint32>(); - uint32 const sizeLimit = sBattlePetSpeciesStore.GetNumRows() / (sizeof(decltype(KnownPets)::value_type) * 8) + 1; - if (knownPetsSize >= sizeLimit) - throw PacketArrayMaxCapacityException(knownPetsSize, sizeLimit); - - KnownPets.resize(knownPetsSize); - _worldPacket >> MaxPetLevel; - for (uint8& knownPetMask : KnownPets) - _worldPacket >> knownPetMask; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - uint32 nameLength = _worldPacket.ReadBits(8); - ItemClassFilters.resize(_worldPacket.ReadBits(3)); - Sorts.resize(_worldPacket.ReadBits(2)); - - for (AuctionSortDef& sortDef : Sorts) - _worldPacket >> sortDef; - - if (TaintedBy) - _worldPacket >> *TaintedBy; - - Name = _worldPacket.ReadString(nameLength); - for (AuctionListFilterClass& filterClass : ItemClassFilters) - _worldPacket >> filterClass; -} - -void AuctionCancelCommoditiesPurchase::Read() -{ - _worldPacket >> Auctioneer; - if (_worldPacket.ReadBit()) - { - TaintedBy.emplace(); - _worldPacket >> *TaintedBy; - } -} - -void AuctionConfirmCommoditiesPurchase::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> ItemID; - _worldPacket >> Quantity; - if (_worldPacket.ReadBit()) - { - TaintedBy.emplace(); - _worldPacket >> *TaintedBy; - } -} - void AuctionHelloRequest::Read() { _worldPacket >> Guid; } -void AuctionListBiddedItems::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> Offset; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - AuctionIDs.resize(_worldPacket.ReadBits(7)); - Sorts.resize(_worldPacket.ReadBits(2)); - - for (AuctionSortDef& sortDef : Sorts) - _worldPacket >> sortDef; - - if (TaintedBy) - _worldPacket >> *TaintedBy; - - for (uint32& auctionID : AuctionIDs) - _worldPacket >> auctionID; -} - -void AuctionListBucketsByBucketKeys::Read() -{ - _worldPacket >> Auctioneer; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - BucketKeys.resize(_worldPacket.ReadBits(7)); - Sorts.resize(_worldPacket.ReadBits(2)); - - for (AuctionSortDef& sortDef : Sorts) - _worldPacket >> sortDef; - - if (TaintedBy) - _worldPacket >> *TaintedBy; - - for (AuctionBucketKey& bucketKey : BucketKeys) - _worldPacket >> bucketKey; -} - -void AuctionListItemsByBucketKey::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> Offset; - _worldPacket >> Unknown830; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - Sorts.resize(_worldPacket.ReadBits(2)); - - for (AuctionSortDef& sortDef : Sorts) - _worldPacket >> sortDef; - - _worldPacket >> BucketKey; - - if (TaintedBy) - _worldPacket >> *TaintedBy; -} - -void AuctionListItemsByItemID::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> ItemID; - _worldPacket >> SuffixItemNameDescriptionID; - _worldPacket >> Offset; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - Sorts.resize(_worldPacket.ReadBits(2)); - - for (AuctionSortDef& sortDef : Sorts) - _worldPacket >> sortDef; - - if (TaintedBy) - _worldPacket >> *TaintedBy; -} - -void AuctionListOwnedItems::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> Offset; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - Sorts.resize(_worldPacket.ReadBits(2)); - - for (AuctionSortDef& sortDef : Sorts) - _worldPacket >> sortDef; - - if (TaintedBy) - _worldPacket >> *TaintedBy; -} - void AuctionPlaceBid::Read() { _worldPacket >> Auctioneer; @@ -474,24 +317,6 @@ void AuctionReplicateItems::Read() } } -void AuctionSellCommodity::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> UnitPrice; - _worldPacket >> RunTime; - - if (_worldPacket.ReadBit()) - TaintedBy.emplace(); - - Items.resize(_worldPacket.ReadBits(6)); - - if (TaintedBy) - _worldPacket >> *TaintedBy; - - for (AuctionItemForSale& item : Items) - _worldPacket >> item; -} - void AuctionSellItem::Read() { _worldPacket >> Auctioneer; @@ -511,24 +336,6 @@ void AuctionSellItem::Read() _worldPacket >> item; } -void AuctionSetFavoriteItem::Read() -{ - IsNotFavorite = _worldPacket.ReadBit(); - _worldPacket >> Item; -} - -void AuctionGetCommodityQuote::Read() -{ - _worldPacket >> Auctioneer; - _worldPacket >> ItemID; - _worldPacket >> Quantity; - if (_worldPacket.ReadBit()) - { - TaintedBy.emplace(); - _worldPacket >> *TaintedBy; - } -} - WorldPacket const* AuctionClosedNotification::Write() { _worldPacket << Info; diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h index 9b5420bb4ac..20888842b4e 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.h +++ b/src/server/game/Server/Packets/AuctionHousePackets.h @@ -141,52 +141,6 @@ namespace WorldPackets Item::ItemInstance Item; }; - class AuctionBrowseQuery final : public ClientPacket - { - public: - AuctionBrowseQuery(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_BROWSE_QUERY, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - uint32 Offset = 0; - uint8 MinLevel = 1; - uint8 MaxLevel = MAX_LEVEL; - uint8 Unused1007_1 = 0; - uint8 Unused1007_2 = 0; - AuctionHouseFilterMask Filters = AuctionHouseFilterMask(0); - std::vector<uint8> KnownPets; // size checked separately in Read() - int8 MaxPetLevel = 0; - Optional<Addon::AddOnInfo> TaintedBy; - std::string Name; - Array<AuctionListFilterClass, 7> ItemClassFilters; - Array<AuctionSortDef, 2> Sorts; - }; - - class AuctionCancelCommoditiesPurchase final : public ClientPacket - { - public: - AuctionCancelCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - Optional<Addon::AddOnInfo> TaintedBy; - }; - - class AuctionConfirmCommoditiesPurchase final : public ClientPacket - { - public: - AuctionConfirmCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - int32 ItemID = 0; - uint32 Quantity = 0; - Optional<Addon::AddOnInfo> TaintedBy; - }; - class AuctionHelloRequest final : public ClientPacket { public: @@ -197,76 +151,6 @@ namespace WorldPackets ObjectGuid Guid; }; - class AuctionListBiddedItems final : public ClientPacket - { - public: - AuctionListBiddedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BIDDED_ITEMS, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - uint32 Offset = 0; - Array<uint32, 100> AuctionIDs; - Array<AuctionSortDef, 2> Sorts; - Optional<Addon::AddOnInfo> TaintedBy; - }; - - class AuctionListBucketsByBucketKeys final : public ClientPacket - { - public: - AuctionListBucketsByBucketKeys(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - Optional<Addon::AddOnInfo> TaintedBy; - Array<AuctionBucketKey, 100> BucketKeys; - Array<AuctionSortDef, 2> Sorts; - }; - - class AuctionListItemsByBucketKey final : public ClientPacket - { - public: - AuctionListItemsByBucketKey(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - uint32 Offset = 0; - int8 Unknown830 = 0; - Optional<Addon::AddOnInfo> TaintedBy; - Array<AuctionSortDef, 2> Sorts; - AuctionBucketKey BucketKey; - }; - - class AuctionListItemsByItemID final : public ClientPacket - { - public: - AuctionListItemsByItemID(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - int32 ItemID = 0; - int32 SuffixItemNameDescriptionID = 0; - uint32 Offset = 0; - Optional<Addon::AddOnInfo> TaintedBy; - Array<AuctionSortDef, 2> Sorts; - }; - - class AuctionListOwnedItems final : public ClientPacket - { - public: - AuctionListOwnedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_OWNED_ITEMS, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - uint32 Offset = 0; - Optional<Addon::AddOnInfo> TaintedBy; - Array<AuctionSortDef, 2> Sorts; - }; - class AuctionPlaceBid final : public ClientPacket { public: @@ -308,28 +192,6 @@ namespace WorldPackets Optional<Addon::AddOnInfo> TaintedBy; }; - class AuctionRequestFavoriteList final : public ClientPacket - { - public: - AuctionRequestFavoriteList(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_REQUEST_FAVORITE_LIST, std::move(packet)) { } - - void Read() override { } - }; - - class AuctionSellCommodity final : public ClientPacket - { - public: - AuctionSellCommodity(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SELL_COMMODITY, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - uint64 UnitPrice = 0; - uint32 RunTime = 0; - Optional<Addon::AddOnInfo> TaintedBy; - Array<AuctionItemForSale, 64> Items; - }; - class AuctionSellItem final : public ClientPacket { public: @@ -345,30 +207,6 @@ namespace WorldPackets Array<AuctionItemForSale, 1> Items; }; - class AuctionSetFavoriteItem final : public ClientPacket - { - public: - AuctionSetFavoriteItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SET_FAVORITE_ITEM, std::move(packet)) { } - - void Read() override; - - AuctionFavoriteInfo Item; - bool IsNotFavorite = true; - }; - - class AuctionGetCommodityQuote final : public ClientPacket - { - public: - AuctionGetCommodityQuote(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_GET_COMMODITY_QUOTE, std::move(packet)) { } - - void Read() override; - - ObjectGuid Auctioneer; - int32 ItemID = 0; - uint32 Quantity = 0; - Optional<Addon::AddOnInfo> TaintedBy; - }; - class AuctionClosedNotification final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/BankPackets.cpp b/src/server/game/Server/Packets/BankPackets.cpp index 63f9300c31d..0e299e6a5d0 100644 --- a/src/server/game/Server/Packets/BankPackets.cpp +++ b/src/server/game/Server/Packets/BankPackets.cpp @@ -35,22 +35,3 @@ void WorldPackets::Bank::BuyBankSlot::Read() { _worldPacket >> Guid; } - -void WorldPackets::Bank::AutoBankReagent::Read() -{ - _worldPacket >> Inv; - _worldPacket >> PackSlot; - _worldPacket >> Slot; -} - -void WorldPackets::Bank::AutoStoreBankReagent::Read() -{ - _worldPacket >> Inv; - _worldPacket >> Slot; - _worldPacket >> PackSlot; -} - -void WorldPackets::Bank::ReagentBank::Read() -{ - _worldPacket >> Banker; -} diff --git a/src/server/game/Server/Packets/BankPackets.h b/src/server/game/Server/Packets/BankPackets.h index f43f672bc95..4277a33a5eb 100644 --- a/src/server/game/Server/Packets/BankPackets.h +++ b/src/server/game/Server/Packets/BankPackets.h @@ -59,42 +59,6 @@ namespace WorldPackets ObjectGuid Guid; }; - - class AutoBankReagent final : public ClientPacket - { - public: - AutoBankReagent(WorldPacket&& packet) : ClientPacket(CMSG_AUTOBANK_REAGENT, std::move(packet)) { } - - void Read() override; - - WorldPackets::Item::InvUpdate Inv; - uint8 Slot = 0; - uint8 PackSlot = 0; - }; - - class AutoStoreBankReagent final : public ClientPacket - { - public: - AutoStoreBankReagent(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_BANK_REAGENT, std::move(packet)) { } - - void Read() override; - - WorldPackets::Item::InvUpdate Inv; - uint8 Slot = 0; - uint8 PackSlot = 0; - }; - - // CMSG_BUY_REAGENT_BANK - // CMSG_REAGENT_BANK_DEPOSIT - class ReagentBank final : public ClientPacket - { - public: - ReagentBank(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } - - void Read() override; - - ObjectGuid Banker; - }; } } #endif // BankPackets_h__ diff --git a/src/server/game/Server/Packets/BattlePetPackets.cpp b/src/server/game/Server/Packets/BattlePetPackets.cpp index 1c080a4d573..07bfd844379 100644 --- a/src/server/game/Server/Packets/BattlePetPackets.cpp +++ b/src/server/game/Server/Packets/BattlePetPackets.cpp @@ -108,27 +108,6 @@ void WorldPackets::BattlePet::BattlePetSetBattleSlot::Read() _worldPacket >> Slot; } -void WorldPackets::BattlePet::BattlePetModifyName::Read() -{ - _worldPacket >> PetGuid; - uint32 nameLength = _worldPacket.ReadBits(7); - bool hasDeclinedNames = _worldPacket.ReadBit(); - - if (hasDeclinedNames) - { - DeclinedNames = std::make_unique<DeclinedName>(); - uint8 declinedNameLengths[MAX_DECLINED_NAME_CASES]; - - for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - declinedNameLengths[i] = _worldPacket.ReadBits(7); - - for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - DeclinedNames->name[i] = _worldPacket.ReadString(declinedNameLengths[i]); - } - - Name = _worldPacket.ReadString(nameLength); -} - void WorldPackets::BattlePet::QueryBattlePetName::Read() { _worldPacket >> BattlePetID; @@ -162,11 +141,6 @@ WorldPacket const* WorldPackets::BattlePet::QueryBattlePetNameResponse::Write() return &_worldPacket; } -void WorldPackets::BattlePet::BattlePetDeletePet::Read() -{ - _worldPacket >> PetGuid; -} - void WorldPackets::BattlePet::BattlePetSetFlags::Read() { _worldPacket >> PetGuid; @@ -179,11 +153,6 @@ void WorldPackets::BattlePet::BattlePetClearFanfare::Read() _worldPacket >> PetGuid; } -void WorldPackets::BattlePet::CageBattlePet::Read() -{ - _worldPacket >> PetGuid; -} - WorldPacket const* WorldPackets::BattlePet::BattlePetDeleted::Write() { _worldPacket << PetGuid; diff --git a/src/server/game/Server/Packets/BattlePetPackets.h b/src/server/game/Server/Packets/BattlePetPackets.h index 164c7b51aa6..8e2eb5f9723 100644 --- a/src/server/game/Server/Packets/BattlePetPackets.h +++ b/src/server/game/Server/Packets/BattlePetPackets.h @@ -142,18 +142,6 @@ namespace WorldPackets uint8 Slot = 0; }; - class BattlePetModifyName final : public ClientPacket - { - public: - BattlePetModifyName(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_MODIFY_NAME, std::move(packet)) { } - - void Read() override; - - ObjectGuid PetGuid; - std::string Name; - std::unique_ptr<DeclinedName> DeclinedNames; - }; - class QueryBattlePetName final : public ClientPacket { public: @@ -182,16 +170,6 @@ namespace WorldPackets std::string Name; }; - class BattlePetDeletePet final : public ClientPacket - { - public: - BattlePetDeletePet(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_DELETE_PET, std::move(packet)) { } - - void Read() override; - - ObjectGuid PetGuid; - }; - class BattlePetSetFlags final : public ClientPacket { public: @@ -214,16 +192,6 @@ namespace WorldPackets ObjectGuid PetGuid; }; - class CageBattlePet final : public ClientPacket - { - public: - CageBattlePet(WorldPacket&& packet) : ClientPacket(CMSG_CAGE_BATTLE_PET, std::move(packet)) { } - - void Read() override; - - ObjectGuid PetGuid; - }; - class BattlePetDeleted final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/BlackMarketPackets.cpp b/src/server/game/Server/Packets/BlackMarketPackets.cpp index d24019ec693..6adc0d1fd5d 100644 --- a/src/server/game/Server/Packets/BlackMarketPackets.cpp +++ b/src/server/game/Server/Packets/BlackMarketPackets.cpp @@ -22,12 +22,6 @@ void WorldPackets::BlackMarket::BlackMarketOpen::Read() _worldPacket >> Guid; } -void WorldPackets::BlackMarket::BlackMarketRequestItems::Read() -{ - _worldPacket >> Guid; - _worldPacket >> LastUpdateID; -} - ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::BlackMarket::BlackMarketItem const& blackMarketItem) { data << int32(blackMarketItem.MarketID); @@ -72,14 +66,6 @@ WorldPacket const* WorldPackets::BlackMarket::BlackMarketRequestItemsResult::Wri return &_worldPacket; } -void WorldPackets::BlackMarket::BlackMarketBidOnItem::Read() -{ - _worldPacket >> Guid; - _worldPacket >> MarketID; - _worldPacket >> BidAmount; - _worldPacket >> Item; -} - WorldPacket const* WorldPackets::BlackMarket::BlackMarketBidOnItemResult::Write() { _worldPacket << int32(MarketID); diff --git a/src/server/game/Server/Packets/BlackMarketPackets.h b/src/server/game/Server/Packets/BlackMarketPackets.h index aa400617008..63795638348 100644 --- a/src/server/game/Server/Packets/BlackMarketPackets.h +++ b/src/server/game/Server/Packets/BlackMarketPackets.h @@ -50,17 +50,6 @@ namespace WorldPackets ObjectGuid Guid; }; - class BlackMarketRequestItems final : public ClientPacket - { - public: - BlackMarketRequestItems(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_REQUEST_ITEMS, std::move(packet)) { } - - void Read() override; - - ObjectGuid Guid; - Timestamp<> LastUpdateID; - }; - class BlackMarketRequestItemsResult final : public ServerPacket { public: @@ -72,19 +61,6 @@ namespace WorldPackets std::vector<BlackMarketItem> Items; }; - class BlackMarketBidOnItem final : public ClientPacket - { - public: - BlackMarketBidOnItem(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_BID_ON_ITEM, std::move(packet)) { } - - void Read() override; - - ObjectGuid Guid; - int32 MarketID = 0; - Item::ItemInstance Item; - uint64 BidAmount = 0; - }; - class BlackMarketBidOnItemResult final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp index 07cb5393c06..62eebccf188 100644 --- a/src/server/game/Server/Packets/CalendarPackets.cpp +++ b/src/server/game/Server/Packets/CalendarPackets.cpp @@ -227,13 +227,6 @@ void WorldPackets::Calendar::CalendarStatus::Read() _worldPacket >> Status; } -void WorldPackets::Calendar::SetSavedInstanceExtend::Read() -{ - _worldPacket >> MapID; - _worldPacket >> DifficultyID; - Extend = _worldPacket.ReadBit(); -} - void WorldPackets::Calendar::CalendarModeratorStatusQuery::Read() { _worldPacket >> Guid; diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h index e76b4162f02..cab6ecec89a 100644 --- a/src/server/game/Server/Packets/CalendarPackets.h +++ b/src/server/game/Server/Packets/CalendarPackets.h @@ -438,18 +438,6 @@ namespace WorldPackets uint8 Status = 0; }; - class SetSavedInstanceExtend final : public ClientPacket - { - public: - SetSavedInstanceExtend(WorldPacket&& packet) : ClientPacket(CMSG_SET_SAVED_INSTANCE_EXTEND, std::move(packet)) { } - - void Read() override; - - int32 MapID = 0; - bool Extend = false; - uint32 DifficultyID = 0; - }; - class CalendarModeratorStatusQuery final : public ClientPacket { public: diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 21af63f970f..e7bfac49d1b 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -321,12 +321,6 @@ WorldPacket const* EnumCharactersResult::Write() return &_worldPacket; } -void CheckCharacterNameAvailability::Read() -{ - _worldPacket >> SequenceIndex; - Name = _worldPacket.ReadString(_worldPacket.ReadBits(6)); -} - WorldPacket const* CheckCharacterNameAvailabilityResult::Write() { _worldPacket << uint32(SequenceIndex); @@ -694,12 +688,6 @@ WorldPacket const * SetPlayerDeclinedNamesResult::Write() return &_worldPacket; } -void SavePersonalEmblem::Read() -{ - _worldPacket >> Vendor; - _worldPacket >> PersonalTabard; -} - WorldPacket const* PlayerSavePersonalEmblem::Write() { _worldPacket << int32(Error); diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index 05985bd981c..312955cafae 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -224,17 +224,6 @@ namespace WorldPackets std::vector<RaceLimitDisableInfo> RaceLimitDisables; }; - class CheckCharacterNameAvailability final : public ClientPacket - { - public: - CheckCharacterNameAvailability(WorldPacket&& packet) : ClientPacket(CMSG_CHECK_CHARACTER_NAME_AVAILABILITY, std::move(packet)) { } - - void Read() override; - - uint32 SequenceIndex = 0; - std::string Name; - }; - class CheckCharacterNameAvailabilityResult final : public ServerPacket { public: @@ -793,17 +782,6 @@ namespace WorldPackets int32 ResultCode = 0; }; - class SavePersonalEmblem final : public ClientPacket - { - public: - SavePersonalEmblem(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_PERSONAL_EMBLEM, std::move(packet)) { } - - void Read() override; - - ObjectGuid Vendor; - CustomTabardInfo PersonalTabard; - }; - class PlayerSavePersonalEmblem final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp index 0ba94718a9e..64fc9765539 100644 --- a/src/server/game/Server/Packets/ChatPackets.cpp +++ b/src/server/game/Server/Packets/ChatPackets.cpp @@ -341,11 +341,6 @@ WorldPacket const* WorldPackets::Chat::ChatRestricted::Write() return &_worldPacket; } -void WorldPackets::Chat::CanLocalWhisperTargetRequest::Read() -{ - _worldPacket >> WhisperTarget; -} - WorldPacket const* WorldPackets::Chat::CanLocalWhisperTargetResponse::Write() { _worldPacket << WhisperTarget; diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h index dc61634eb3c..24e38656037 100644 --- a/src/server/game/Server/Packets/ChatPackets.h +++ b/src/server/game/Server/Packets/ChatPackets.h @@ -339,16 +339,6 @@ namespace WorldPackets int32 Reason = 0; }; - class CanLocalWhisperTargetRequest final : public ClientPacket - { - public: - CanLocalWhisperTargetRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_REQUEST, std::move(packet)) { } - - void Read() override; - - ObjectGuid WhisperTarget; - }; - class CanLocalWhisperTargetResponse final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp index 88c971c8ae7..c8166747dbe 100644 --- a/src/server/game/Server/Packets/GuildPackets.cpp +++ b/src/server/game/Server/Packets/GuildPackets.cpp @@ -80,16 +80,6 @@ WorldPacket const* WorldPackets::Guild::GuildRoster::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildRosterUpdate::Write() -{ - _worldPacket << uint32(MemberData.size()); - - for (GuildRosterMemberData const& member : MemberData) - _worldPacket << member; - - return &_worldPacket; -} - void WorldPackets::Guild::GuildUpdateMotdText::Read() { uint32 textLen = _worldPacket.ReadBits(11); diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h index 31f9c6ba62d..035c9304bd2 100644 --- a/src/server/game/Server/Packets/GuildPackets.h +++ b/src/server/game/Server/Packets/GuildPackets.h @@ -136,16 +136,6 @@ namespace WorldPackets int32 GuildFlags = 0; }; - class GuildRosterUpdate final : public ServerPacket - { - public: - GuildRosterUpdate() : ServerPacket(SMSG_GUILD_ROSTER_UPDATE, 4) { } - - WorldPacket const* Write() override; - - std::vector<GuildRosterMemberData> MemberData; - }; - class GuildUpdateMotdText final : public ClientPacket { public: diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index 28ba261924a..093db816652 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -484,30 +484,6 @@ namespace WorldPackets ObjectGuid Item; }; - class SortBags final : public ClientPacket - { - public: - SortBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_BAGS, std::move(packet)) { } - - void Read() override { } - }; - - class SortBankBags final : public ClientPacket - { - public: - SortBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_BANK_BAGS, std::move(packet)) { } - - void Read() override { } - }; - - class SortReagentBankBags final : public ClientPacket - { - public: - SortReagentBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_REAGENT_BANK_BAGS, std::move(packet)) { } - - void Read() override { } - }; - class BagCleanupFinished final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/LootPackets.cpp b/src/server/game/Server/Packets/LootPackets.cpp index a1d393b5074..457a99b8eae 100644 --- a/src/server/game/Server/Packets/LootPackets.cpp +++ b/src/server/game/Server/Packets/LootPackets.cpp @@ -165,11 +165,6 @@ WorldPacket const* WorldPackets::Loot::LootList::Write() return &_worldPacket; } -void WorldPackets::Loot::SetLootSpecialization::Read() -{ - _worldPacket >> SpecID; -} - WorldPacket const* WorldPackets::Loot::StartLootRoll::Write() { _worldPacket << LootObj; diff --git a/src/server/game/Server/Packets/LootPackets.h b/src/server/game/Server/Packets/LootPackets.h index 74d1783e8cc..2160ffa7c28 100644 --- a/src/server/game/Server/Packets/LootPackets.h +++ b/src/server/game/Server/Packets/LootPackets.h @@ -205,16 +205,6 @@ namespace WorldPackets Optional<ObjectGuid> RoundRobinWinner; }; - class SetLootSpecialization final : public ClientPacket - { - public: - SetLootSpecialization(WorldPacket&& packet) : ClientPacket(CMSG_SET_LOOT_SPECIALIZATION, std::move(packet)) { } - - void Read() override; - - uint32 SpecID = 0; - }; - class StartLootRoll final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 2240f4ae250..9de158bb675 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -647,11 +647,6 @@ void WorldPackets::Misc::SetPvP::Read() EnablePVP = _worldPacket.ReadBit(); } -void WorldPackets::Misc::SetWarMode::Read() -{ - Enable = _worldPacket.ReadBit(); -} - WorldPacket const* WorldPackets::Misc::AccountHeirloomUpdate::Write() { _worldPacket.WriteBit(IsFullUpdate); diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index 5988b69458f..eb06acf66de 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -813,16 +813,6 @@ namespace WorldPackets bool EnablePVP = false; }; - class SetWarMode final : public ClientPacket - { - public: - SetWarMode(WorldPacket&& packet) : ClientPacket(CMSG_SET_WAR_MODE, std::move(packet)) { } - - void Read() override; - - bool Enable = false; - }; - class AccountHeirloomUpdate final : public ServerPacket { public: @@ -971,14 +961,6 @@ namespace WorldPackets uint32 LineID = 0; }; - class RequestLatestSplashScreen final : public ClientPacket - { - public: - RequestLatestSplashScreen(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_LATEST_SPLASH_SCREEN, std::move(packet)) { } - - void Read() override { } - }; - class SplashScreenShowLatest final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp index b42ceca8007..7a015e4bdae 100644 --- a/src/server/game/Server/Packets/PartyPackets.cpp +++ b/src/server/game/Server/Packets/PartyPackets.cpp @@ -732,22 +732,6 @@ WorldPacket const* WorldPackets::Party::BroadcastSummonResponse::Write() return &_worldPacket; } -void WorldPackets::Party::SetRestrictPingsToAssistants::Read() -{ - _worldPacket >> OptionalInit(PartyIndex); - _worldPacket >> Bits<1>(RestrictPingsToAssistants); - if (PartyIndex) - _worldPacket >> PartyIndex.emplace(); -} - -void WorldPackets::Party::SendPingUnit::Read() -{ - _worldPacket >> SenderGUID; - _worldPacket >> TargetGUID; - Type = _worldPacket.read<PingSubjectType, uint8>(); - _worldPacket >> PinFrameID; -} - WorldPacket const* WorldPackets::Party::ReceivePingUnit::Write() { _worldPacket << SenderGUID; @@ -758,15 +742,6 @@ WorldPacket const* WorldPackets::Party::ReceivePingUnit::Write() return &_worldPacket; } -void WorldPackets::Party::SendPingWorldPoint::Read() -{ - _worldPacket >> SenderGUID; - _worldPacket >> MapID; - _worldPacket >> Point; - _worldPacket >> As<uint8>(Type); - _worldPacket >> PinFrameID; -} - WorldPacket const* WorldPackets::Party::ReceivePingWorldPoint::Write() { _worldPacket << SenderGUID; diff --git a/src/server/game/Server/Packets/PartyPackets.h b/src/server/game/Server/Packets/PartyPackets.h index 35f4937c964..f450f25ee90 100644 --- a/src/server/game/Server/Packets/PartyPackets.h +++ b/src/server/game/Server/Packets/PartyPackets.h @@ -665,30 +665,6 @@ namespace WorldPackets bool Accepted = false; }; - class SetRestrictPingsToAssistants final : public ClientPacket - { - public: - explicit SetRestrictPingsToAssistants(WorldPacket&& packet) : ClientPacket(CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS, std::move(packet)) { } - - void Read() override; - - Optional<uint8> PartyIndex; - bool RestrictPingsToAssistants = false; - }; - - class SendPingUnit final : public ClientPacket - { - public: - explicit SendPingUnit(WorldPacket&& packet) : ClientPacket(CMSG_SEND_PING_UNIT, std::move(packet)) { } - - void Read() override; - - ObjectGuid SenderGUID; - ObjectGuid TargetGUID; - PingSubjectType Type = PingSubjectType::Max; - uint32 PinFrameID = 0; - }; - class ReceivePingUnit final : public ServerPacket { public: @@ -702,20 +678,6 @@ namespace WorldPackets uint32 PinFrameID = 0; }; - class SendPingWorldPoint final : public ClientPacket - { - public: - explicit SendPingWorldPoint(WorldPacket&& packet) : ClientPacket(CMSG_SEND_PING_WORLD_POINT, std::move(packet)) { } - - void Read() override; - - ObjectGuid SenderGUID; - uint32 MapID = 0; - TaggedPosition<Position::XYZ> Point; - PingSubjectType Type = PingSubjectType::Max; - uint32 PinFrameID = 0; - }; - class ReceivePingWorldPoint final : public ServerPacket { public: diff --git a/src/server/game/Server/Packets/QuestPackets.cpp b/src/server/game/Server/Packets/QuestPackets.cpp index bc13c530f7a..c000257862c 100644 --- a/src/server/game/Server/Packets/QuestPackets.cpp +++ b/src/server/game/Server/Packets/QuestPackets.cpp @@ -812,11 +812,4 @@ WorldPacket const* DisplayPlayerChoice::Write() _worldPacket.WriteString(PendingChoiceText); return &_worldPacket; } - -void ChoiceResponse::Read() -{ - _worldPacket >> ChoiceID; - _worldPacket >> ResponseIdentifier; - IsReroll = _worldPacket.ReadBit(); -} } diff --git a/src/server/game/Server/Packets/QuestPackets.h b/src/server/game/Server/Packets/QuestPackets.h index 3edb4054ea6..f90977ef07a 100644 --- a/src/server/game/Server/Packets/QuestPackets.h +++ b/src/server/game/Server/Packets/QuestPackets.h @@ -763,18 +763,6 @@ namespace WorldPackets bool HideWarboardHeader = false; bool KeepOpenAfterChoice = false; }; - - class ChoiceResponse final : public ClientPacket - { - public: - ChoiceResponse(WorldPacket&& packet) : ClientPacket(CMSG_CHOICE_RESPONSE, std::move(packet)) { } - - void Read() override; - - int32 ChoiceID = 0; - int32 ResponseIdentifier = 0; - bool IsReroll = false; - }; } } diff --git a/src/server/game/Server/Packets/ReputationPackets.cpp b/src/server/game/Server/Packets/ReputationPackets.cpp index aff39c3bbde..9f77a774f73 100644 --- a/src/server/game/Server/Packets/ReputationPackets.cpp +++ b/src/server/game/Server/Packets/ReputationPackets.cpp @@ -34,22 +34,6 @@ WorldPacket const* WorldPackets::Reputation::InitializeFactions::Write() return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Reputation::ForcedReaction const& forcedReaction) -{ - data << int32(forcedReaction.Faction); - data << int32(forcedReaction.Reaction); - return data; -} - -WorldPacket const* WorldPackets::Reputation::SetForcedReactions::Write() -{ - _worldPacket << uint32(Reactions.size()); - for (ForcedReaction const& reaction : Reactions) - _worldPacket << reaction; - - return &_worldPacket; -} - ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Reputation::FactionStandingData const& factionStanding) { data << int32(factionStanding.Index); diff --git a/src/server/game/Server/Packets/ReputationPackets.h b/src/server/game/Server/Packets/ReputationPackets.h index c38c4235914..2acaa859ed6 100644 --- a/src/server/game/Server/Packets/ReputationPackets.h +++ b/src/server/game/Server/Packets/ReputationPackets.h @@ -39,30 +39,6 @@ namespace WorldPackets std::array<uint16, FactionCount> FactionFlags = { }; ///< @see enum FactionFlags }; - class RequestForcedReactions final : public ClientPacket - { - public: - RequestForcedReactions(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_FORCED_REACTIONS, std::move(packet)) { } - - void Read() override { } - }; - - struct ForcedReaction - { - int32 Faction = 0; - int32 Reaction = 0; - }; - - class SetForcedReactions final : public ServerPacket - { - public: - SetForcedReactions() : ServerPacket(SMSG_SET_FORCED_REACTIONS) { } - - WorldPacket const* Write() override; - - std::vector<ForcedReaction> Reactions; - }; - struct FactionStandingData { FactionStandingData() { } diff --git a/src/server/game/Server/Packets/ScenarioPackets.cpp b/src/server/game/Server/Packets/ScenarioPackets.cpp index 616c410ab00..4b1f95deb44 100644 --- a/src/server/game/Server/Packets/ScenarioPackets.cpp +++ b/src/server/game/Server/Packets/ScenarioPackets.cpp @@ -94,13 +94,6 @@ WorldPacket const* ScenarioVacate::Write() return &_worldPacket; } -void QueryScenarioPOI::Read() -{ - MissingScenarioPOIs.resize(_worldPacket.read<uint32>()); - for (int32& scenarioPOI : MissingScenarioPOIs) - _worldPacket >> scenarioPOI; -} - WorldPacket const* ScenarioPOIs::Write() { _worldPacket << uint32(ScenarioPOIDataStats.size()); diff --git a/src/server/game/Server/Packets/ScenarioPackets.h b/src/server/game/Server/Packets/ScenarioPackets.h index 1193e6de42d..ea58b6da030 100644 --- a/src/server/game/Server/Packets/ScenarioPackets.h +++ b/src/server/game/Server/Packets/ScenarioPackets.h @@ -95,16 +95,6 @@ public: uint8 Unk2 = 0; }; -class QueryScenarioPOI final : public ClientPacket -{ -public: - QueryScenarioPOI(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_SCENARIO_POI, std::move(packet)) { } - - void Read() override; - - Array<int32, MAX_ALLOWED_SCENARIO_POI_QUERY_SIZE> MissingScenarioPOIs; -}; - struct ScenarioPOIData { int32 CriteriaTreeID = 0; diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index dd055018bce..ccb284edfe5 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -33,11 +33,6 @@ void CancelChannelling::Read() _worldPacket >> Reason; } -void CancelModSpeedNoControlAuras::Read() -{ - _worldPacket >> TargetGUID; -} - void PetCancelAura::Read() { _worldPacket >> PetGUID; @@ -1024,12 +1019,6 @@ WorldPacket const* MissileCancel::Write() return &_worldPacket; } -void TradeSkillSetFavorite::Read() -{ - _worldPacket >> RecipeID; - IsFavorite = _worldPacket.ReadBit(); -} - void KeyboundOverride::Read() { _worldPacket >> OverrideID; diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index 870389954f0..dd60478e9b6 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -82,16 +82,6 @@ namespace WorldPackets void Read() override { } }; - class CancelModSpeedNoControlAuras final : public ClientPacket - { - public: - CancelModSpeedNoControlAuras(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS, std::move(packet)) { } - - void Read() override; - - ObjectGuid TargetGUID; - }; - class PetCancelAura final : public ClientPacket { public: @@ -1043,17 +1033,6 @@ namespace WorldPackets int32 SpellID = 0; }; - class TradeSkillSetFavorite final : public ClientPacket - { - public: - TradeSkillSetFavorite(WorldPacket&& packet) : ClientPacket(CMSG_TRADE_SKILL_SET_FAVORITE, std::move(packet)) { } - - void Read() override; - - int32 RecipeID = 0; - bool IsFavorite = false; - }; - class KeyboundOverride final : public ClientPacket { public: diff --git a/src/server/game/Server/Packets/TradePackets.cpp b/src/server/game/Server/Packets/TradePackets.cpp index 7a92246ab68..dc5845f246d 100644 --- a/src/server/game/Server/Packets/TradePackets.cpp +++ b/src/server/game/Server/Packets/TradePackets.cpp @@ -32,11 +32,6 @@ void WorldPackets::Trade::InitiateTrade::Read() _worldPacket >> Guid; } -void WorldPackets::Trade::SetTradeCurrency::Read() -{ - _worldPacket >> Type >> Quantity; -} - void WorldPackets::Trade::SetTradeGold::Read() { _worldPacket >> Coinage; diff --git a/src/server/game/Server/Packets/TradePackets.h b/src/server/game/Server/Packets/TradePackets.h index db4caa1135d..0603bbef86c 100644 --- a/src/server/game/Server/Packets/TradePackets.h +++ b/src/server/game/Server/Packets/TradePackets.h @@ -89,17 +89,6 @@ namespace WorldPackets ObjectGuid Guid; }; - class SetTradeCurrency final : public ClientPacket - { - public: - SetTradeCurrency(WorldPacket&& packet) : ClientPacket(CMSG_SET_TRADE_CURRENCY, std::move(packet)) { } - - void Read() override; - - uint32 Type = 0; - uint32 Quantity = 0; - }; - class SetTradeGold final : public ClientPacket { public: diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 55249504f6a..29118270a17 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -140,17 +140,13 @@ void OpcodeTable::InitializeClientOpcodes() #define DEFINE_HANDLER(opcode, status, processing, handler) \ ValidateAndSetClientOpcode(opcode, #opcode, status, &CallHandlerWrapper<typename get_packet_class<decltype(handler)>::type, handler>, processing) - DEFINE_HANDLER(CMSG_ABANDON_NPE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ACCEPT_GUILD_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAcceptInvite); - DEFINE_HANDLER(CMSG_ACCEPT_RETURNING_PLAYER_PROMPT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ACCEPT_SOCIAL_CONTRACT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ACCEPT_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAcceptTradeOpcode); DEFINE_HANDLER(CMSG_ACCEPT_WARGAME_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_ACTIVATE_SOULBIND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ACTIVATE_TAXI, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleActivateTaxiOpcode); DEFINE_HANDLER(CMSG_ADDON_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_ADD_ACCOUNT_COSMETIC, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ADD_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddFriendOpcode); DEFINE_HANDLER(CMSG_ADD_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddIgnoreOpcode); @@ -172,29 +168,15 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_ATTACK_SWING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackSwingOpcode); DEFINE_HANDLER(CMSG_AUCTIONABLE_TOKEN_SELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_AUCTION_BROWSE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionBrowseQuery); - DEFINE_HANDLER(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionCancelCommoditiesPurchase); - DEFINE_HANDLER(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionConfirmCommoditiesPurchase); - DEFINE_HANDLER(CMSG_AUCTION_GET_COMMODITY_QUOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionGetCommodityQuote); DEFINE_HANDLER(CMSG_AUCTION_HELLO_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionHelloOpcode); - DEFINE_HANDLER(CMSG_AUCTION_LIST_BIDDED_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBiddedItems); - DEFINE_HANDLER(CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBucketsByBucketKeys); - DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItemsByBucketKey); - DEFINE_HANDLER(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListItemsByItemID); - DEFINE_HANDLER(CMSG_AUCTION_LIST_OWNED_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListOwnedItems); DEFINE_HANDLER(CMSG_AUCTION_PLACE_BID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionPlaceBid); DEFINE_HANDLER(CMSG_AUCTION_REMOVE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionRemoveItem); DEFINE_HANDLER(CMSG_AUCTION_REPLICATE_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionReplicateItems); - DEFINE_HANDLER(CMSG_AUCTION_REQUEST_FAVORITE_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionRequestFavoriteList); - DEFINE_HANDLER(CMSG_AUCTION_SELL_COMMODITY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellCommodity); DEFINE_HANDLER(CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSellItem); - DEFINE_HANDLER(CMSG_AUCTION_SET_FAVORITE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionSetFavoriteItem); DEFINE_HANDLER(CMSG_AUTH_CONTINUED_SESSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTH_SESSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoBankItemOpcode); - DEFINE_HANDLER(CMSG_AUTOBANK_REAGENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoBankReagentOpcode); DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoStoreBankItemOpcode); - DEFINE_HANDLER(CMSG_AUTOSTORE_BANK_REAGENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoStoreBankReagentOpcode); DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoEquipItemOpcode); DEFINE_HANDLER(CMSG_AUTO_EQUIP_ITEM_SLOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAutoEquipItemSlotOpcode); DEFINE_HANDLER(CMSG_AUTO_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAutoGuildBankItem); @@ -211,8 +193,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_BATTLEMASTER_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterHelloOpcode); DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinOpcode); DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinArena); - DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_BRAWL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLEMASTER_JOIN_SKIRMISH, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLENET_CHALLENGE_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLENET_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlenetRequest); @@ -228,9 +208,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_BATTLE_PAY_START_PURCHASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLE_PAY_START_VAS_PURCHASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BATTLE_PET_CLEAR_FANFARE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetClearFanfare); - DEFINE_HANDLER(CMSG_BATTLE_PET_DELETE_PET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetDeletePet); - DEFINE_HANDLER(CMSG_BATTLE_PET_DELETE_PET_CHEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_BATTLE_PET_MODIFY_NAME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetModifyName); DEFINE_HANDLER(CMSG_BATTLE_PET_REQUEST_JOURNAL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetRequestJournal); DEFINE_HANDLER(CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetRequestJournalLock); DEFINE_HANDLER(CMSG_BATTLE_PET_SET_BATTLE_SLOT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetSetBattleSlot); @@ -240,17 +217,12 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_BATTLE_PET_UPDATE_NOTIFY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlePetUpdateNotify); DEFINE_HANDLER(CMSG_BEGIN_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBeginTradeOpcode); DEFINE_HANDLER(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBinderActivateOpcode); - DEFINE_HANDLER(CMSG_BLACK_MARKET_BID_ON_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBlackMarketBidOnItem); DEFINE_HANDLER(CMSG_BLACK_MARKET_OPEN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBlackMarketOpen); - DEFINE_HANDLER(CMSG_BLACK_MARKET_REQUEST_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBlackMarketRequestItems); - DEFINE_HANDLER(CMSG_BONUS_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_BUG_REPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBugReportOpcode); DEFINE_HANDLER(CMSG_BUSY_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBusyTradeOpcode); DEFINE_HANDLER(CMSG_BUY_BACK_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBuybackItem); DEFINE_HANDLER(CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBuyBankSlotOpcode); DEFINE_HANDLER(CMSG_BUY_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleBuyItemOpcode); - DEFINE_HANDLER(CMSG_BUY_REAGENT_BANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBuyReagentBankOpcode); - DEFINE_HANDLER(CMSG_CAGE_BATTLE_PET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCageBattlePet); DEFINE_HANDLER(CMSG_CALENDAR_ADD_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarAddEvent); DEFINE_HANDLER(CMSG_CALENDAR_COMMUNITY_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarCommunityInvite); DEFINE_HANDLER(CMSG_CALENDAR_COMPLAIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCalendarComplain); @@ -271,8 +243,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_CANCEL_CAST, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleCancelCastOpcode); DEFINE_HANDLER(CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelChanneling); DEFINE_HANDLER(CMSG_CANCEL_GROWTH_AURA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelGrowthAuraOpcode); - DEFINE_HANDLER(CMSG_CANCEL_MASTER_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelModSpeedNoControlAuras); DEFINE_HANDLER(CMSG_CANCEL_MOUNT_AURA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelMountAuraOpcode); DEFINE_HANDLER(CMSG_CANCEL_QUEUED_SPELL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelQueuedSpellOpcode); DEFINE_HANDLER(CMSG_CANCEL_TEMP_ENCHANTMENT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelTempEnchantmentOpcode); @@ -280,9 +250,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_CAN_DUEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCanDuel); DEFINE_HANDLER(CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CAST_SPELL, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleCastSpellOpcode); - DEFINE_HANDLER(CMSG_CHALLENGE_MODE_REQUEST_LEADERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CHANGE_BANK_BAG_SLOT_FLAG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CHANGE_MONUMENT_APPEARANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CHANGE_REALM_TICKET, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlenetChangeRealmTicket); DEFINE_HANDLER(CMSG_CHANGE_SUB_GROUP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChangeSubGroupOpcode); DEFINE_HANDLER(CMSG_CHARACTER_CHECK_UPGRADE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); @@ -294,7 +261,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_CHAR_RACE_OR_FACTION_CHANGE, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharRaceOrFactionChangeOpcode); DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChatAddonMessageOpcode); DEFINE_HANDLER(CMSG_CHAT_ADDON_MESSAGE_TARGETED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChatAddonMessageTargetedOpcode); - DEFINE_HANDLER(CMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChatCanLocalWhisperTargetRequest); DEFINE_HANDLER(CMSG_CHAT_CHANNEL_ANNOUNCEMENTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelCommand); DEFINE_HANDLER(CMSG_CHAT_CHANNEL_BAN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelPlayerCommand); DEFINE_HANDLER(CMSG_CHAT_CHANNEL_DECLINE_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChannelCommand); @@ -329,25 +295,13 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_CHAT_REPORT_FILTERED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CHAT_REPORT_IGNORED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode); DEFINE_HANDLER(CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUnregisterAllAddonPrefixesOpcode); - DEFINE_HANDLER(CMSG_CHECK_CHARACTER_NAME_AVAILABILITY, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCheckCharacterNameAvailability); DEFINE_HANDLER(CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCheckIsAdventureMapPoiValid); - DEFINE_HANDLER(CMSG_CHOICE_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandlePlayerChoiceResponse); - DEFINE_HANDLER(CMSG_CHROMIE_TIME_SELECT_EXPANSION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLAIM_WEEKLY_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_DELETE_CONFIG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_NOTIFY_EMPTY_CONFIG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_NOTIFY_VALIDATION_FAILED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_RENAME_CONFIG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_REQUEST_NEW_CONFIG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_SET_STARTER_BUILD_ACTIVE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLASS_TALENTS_SET_USES_SHARED_ACTION_BARS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CLEAR_NEW_APPEARANCE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CLEAR_RAID_MARKER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleClearRaidMarker); DEFINE_HANDLER(CMSG_CLEAR_TRADE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleClearTradeItemOpcode); DEFINE_HANDLER(CMSG_CLIENT_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePortGraveyard); DEFINE_HANDLER(CMSG_CLOSE_INTERACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCloseInteraction); DEFINE_HANDLER(CMSG_CLOSE_QUEST_CHOICE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CLOSE_RUNEFORGE_INTERACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CLUB_FINDER_APPLICATION_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CLUB_FINDER_GET_APPLICANTS_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); @@ -361,7 +315,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CLUB_PRESENCE_SUBSCRIBE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_COLLECTION_ITEM_SET_FAVORITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCollectionItemSetFavorite); - DEFINE_HANDLER(CMSG_COMMENTATOR_SPECTATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_COMMENTATOR_ENABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_COMMENTATOR_EXIT_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); @@ -382,36 +335,18 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CONSUMABLE_TOKEN_REDEEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CONTENT_TRACKING_START_TRACKING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CONTENT_TRACKING_STOP_TRACKING, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CONTRIBUTION_CONTRIBUTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CONVERSATION_CINEMATIC_READY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CONVERSATION_LINE_STARTED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleConversationLineStarted); DEFINE_HANDLER(CMSG_CONVERT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleConvertRaidOpcode); - DEFINE_HANDLER(CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_CANCEL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_CLAIM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_CREATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_FULFILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_LIST_CRAFTER_ORDERS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_LIST_MY_ORDERS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_REJECT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_RELEASE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_REPORT_PLAYER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CRAFTING_ORDER_UPDATE_IGNORE_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CREATE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharCreateOpcode); - DEFINE_HANDLER(CMSG_CREATE_SHIPMENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_DB_QUERY_BULK, STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::HandleDBQueryBulk); DEFINE_HANDLER(CMSG_DECLINE_GUILD_INVITES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDeclineGuildInvites); DEFINE_HANDLER(CMSG_DECLINE_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDeclinePetition); DEFINE_HANDLER(CMSG_DELETE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDeleteEquipmentSet); DEFINE_HANDLER(CMSG_DEL_FRIEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDelFriendOpcode); DEFINE_HANDLER(CMSG_DEL_IGNORE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDelIgnoreOpcode); - DEFINE_HANDLER(CMSG_DEPOSIT_REAGENT_BANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReagentBankDepositOpcode); DEFINE_HANDLER(CMSG_DESTROY_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleDestroyItemOpcode); DEFINE_HANDLER(CMSG_DF_BOOT_PLAYER_VOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgSetBootVoteOpcode); - DEFINE_HANDLER(CMSG_DF_CONFIRM_EXPAND_SEARCH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_DF_GET_JOIN_STATUS, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleDFGetJoinStatus); DEFINE_HANDLER(CMSG_DF_GET_SYSTEM_INFO, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleDFGetSystemInfo); DEFINE_HANDLER(CMSG_DF_JOIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgJoinOpcode); @@ -423,7 +358,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_DISCARDED_TIME_SYNC_ACKS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_DISMISS_CRITTER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDismissCritter); DEFINE_HANDLER(CMSG_DO_COUNTDOWN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_DO_MASTER_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_DO_READY_CHECK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDoReadyCheckOpcode); DEFINE_HANDLER(CMSG_DUEL_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleDuelResponseOpcode); DEFINE_HANDLER(CMSG_EJECT_PASSENGER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEjectPassenger); @@ -443,24 +377,19 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_GET_ACCOUNT_CHARACTER_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GET_ACCOUNT_NOTIFICATIONS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GET_ITEM_PURCHASE_DATA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGetItemPurchaseData); - DEFINE_HANDLER(CMSG_GET_LANDING_PAGE_SHIPMENTS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GET_MIRROR_IMAGE_DATA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMirrorImageDataRequest); DEFINE_HANDLER(CMSG_GET_PVP_OPTIONS_ENABLED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGetPVPOptionsEnabled); - DEFINE_HANDLER(CMSG_GET_RAF_ACCOUNT_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GET_REMAINING_GAME_TIME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_GET_TROPHY_LIST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleGetUndeleteCooldownStatus); DEFINE_HANDLER(CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GM_TICKET_GET_CASE_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGMTicketGetCaseStatusOpcode); DEFINE_HANDLER(CMSG_GM_TICKET_GET_SYSTEM_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleGMTicketSystemStatusOpcode); - DEFINE_HANDLER(CMSG_GOSSIP_REFRESH_OPTIONS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGossipSelectOptionOpcode); DEFINE_HANDLER(CMSG_GUILD_ADD_BATTLENET_FRIEND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GUILD_ADD_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAddRank); DEFINE_HANDLER(CMSG_GUILD_ASSIGN_MEMBER_RANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAssignRank); - DEFINE_HANDLER(CMSG_GUILD_AUTO_DECLINE_INVITATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_GUILD_BANK_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankActivate); DEFINE_HANDLER(CMSG_GUILD_BANK_BUY_TAB, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankBuyTab); DEFINE_HANDLER(CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildBankDepositMoney); @@ -500,26 +429,21 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_GUILD_UPDATE_INFO_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildUpdateInfoText); DEFINE_HANDLER(CMSG_GUILD_UPDATE_MOTD_TEXT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildUpdateMotdText); DEFINE_HANDLER(CMSG_HEARTH_AND_RESURRECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleHearthAndResurrect); - DEFINE_HANDLER(CMSG_HIDE_QUEST_CHOICE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_HOTFIX_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleHotfixRequest); DEFINE_HANDLER(CMSG_IGNORE_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleIgnoreTradeOpcode); DEFINE_HANDLER(CMSG_INITIATE_ROLE_POLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateRolePoll); DEFINE_HANDLER(CMSG_INITIATE_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInitiateTradeOpcode); DEFINE_HANDLER(CMSG_INSPECT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleInspectOpcode); DEFINE_HANDLER(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInstanceLockResponse); - DEFINE_HANDLER(CMSG_ISLAND_QUEUE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_ITEM_PURCHASE_REFUND, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleItemRefund); DEFINE_HANDLER(CMSG_ITEM_TEXT_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleItemTextQuery); - DEFINE_HANDLER(CMSG_JOIN_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_JOIN_RATED_BATTLEGROUND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_KEEP_ALIVE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess); DEFINE_HANDLER(CMSG_KEYBOUND_OVERRIDE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleKeyboundOverride); DEFINE_HANDLER(CMSG_LATENCY_REPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_LEARN_PVP_TALENTS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LEARN_TALENT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleLearnTalentOpcode); DEFINE_HANDLER(CMSG_LEARN_PREVIEW_TALENTS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleLearnPreviewTalentsOpcode); DEFINE_HANDLER(CMSG_LEAVE_GROUP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLeaveGroupOpcode); - DEFINE_HANDLER(CMSG_LEAVE_PET_BATTLE_QUEUE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LFG_LIST_APPLY_TO_GROUP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LFG_LIST_CANCEL_APPLICATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LFG_LIST_DECLINE_APPLICANT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); @@ -533,9 +457,7 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_LIST_INVENTORY, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleListInventoryOpcode); DEFINE_HANDLER(CMSG_LIVE_REGION_ACCOUNT_RESTORE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_LIVE_REGION_KEY_BINDINGS_COPY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LOADING_SCREEN_NOTIFY, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleLoadScreenOpcode); - DEFINE_HANDLER(CMSG_LOAD_SELECTED_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LOGOUT_CANCEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLogoutCancelOpcode); DEFINE_HANDLER(CMSG_LOGOUT_INSTANT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLogoutRequestOpcode); @@ -603,7 +525,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_MOVE_REMOVE_INERTIA_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MOVE_REMOVE_MOVEMENT_FORCES, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveRemoveMovementForceAck); - DEFINE_HANDLER(CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MOVE_SET_ADV_FLY, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION_ACK, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); @@ -654,44 +575,23 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_MOVE_TIME_SKIPPED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode); DEFINE_HANDLER(CMSG_MOVE_UPDATE_FALL_SPEED, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes); DEFINE_HANDLER(CMSG_MOVE_WATER_WALK_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementAckMessage); - DEFINE_HANDLER(CMSG_MYTHIC_PLUS_REQUEST_MAP_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_NEUTRAL_PLAYER_SELECT_FACTION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_NEXT_CINEMATIC_CAMERA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleNextCinematicCamera); DEFINE_HANDLER(CMSG_OBJECT_UPDATE_FAILED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleObjectUpdateFailedOpcode); DEFINE_HANDLER(CMSG_OBJECT_UPDATE_RESCUED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleObjectUpdateRescuedOpcode); DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleOfferPetition); DEFINE_HANDLER(CMSG_OPENING_CINEMATIC, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleOpeningCinematic); DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleOpenItemOpcode); - DEFINE_HANDLER(CMSG_OPEN_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_OPEN_SHIPMENT_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_OPEN_TRADESKILL_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_OPT_OUT_OF_LOOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleOptOutOfLootOpcode); DEFINE_HANDLER(CMSG_OVERRIDE_SCREEN_FLASH, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_PARTY_INVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyInviteOpcode); DEFINE_HANDLER(CMSG_PARTY_INVITE_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyInviteResponseOpcode); DEFINE_HANDLER(CMSG_PARTY_UNINVITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyUninviteOpcode); - DEFINE_HANDLER(CMSG_PERFORM_ITEM_INTERACTION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PERKS_PROGRAM_REQUEST_PENDING_REWARDS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PERKS_PROGRAM_REQUEST_PURCHASE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PERKS_PROGRAM_REQUEST_REFUND, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PERKS_PROGRAM_SET_FROZEN_VENDOR_ITEM, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PERKS_PROGRAM_STATUS_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_PETITION_BUY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionBuy); DEFINE_HANDLER(CMSG_PETITION_RENAME_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionRenameGuild); DEFINE_HANDLER(CMSG_PETITION_SHOW_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionShowList); DEFINE_HANDLER(CMSG_PETITION_SHOW_SIGNATURES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetitionShowSignatures); DEFINE_HANDLER(CMSG_PET_ABANDON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAbandon); DEFINE_HANDLER(CMSG_PET_ACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAction); - DEFINE_HANDLER(CMSG_PET_BATTLE_FINAL_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_INPUT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_QUIT_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_REPLACE_FRONT_PET, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_REQUEST_PVP, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_REQUEST_UPDATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_REQUEST_WILD, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_PET_BATTLE_WILD_LOCATION_FAIL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_PET_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandlePetCancelAuraOpcode); DEFINE_HANDLER(CMSG_PET_CAST_SPELL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandlePetCastSpellOpcode); DEFINE_HANDLER(CMSG_PET_RENAME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetRename); @@ -722,7 +622,6 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_QUERY_QUEST_INFO, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestQueryOpcode); DEFINE_HANDLER(CMSG_QUERY_QUEST_ITEM_USABILITY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUERY_REALM_NAME, STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::HandleQueryRealmName); - DEFINE_HANDLER(CMSG_QUERY_SCENARIO_POI, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQueryScenarioPOI); DEFINE_HANDLER(CMSG_QUERY_TIME, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQueryTimeOpcode); DEFINE_HANDLER(CMSG_QUERY_TREASURE_PICKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUERY_VOID_STORAGE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleVoidStorageQuery); @@ -740,51 +639,32 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_QUEST_LOG_REMOVE_QUEST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestLogRemoveQuest); DEFINE_HANDLER(CMSG_QUEST_POI_QUERY, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleQuestPOIQuery); DEFINE_HANDLER(CMSG_QUEST_PUSH_RESULT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPushResult); - DEFINE_HANDLER(CMSG_QUEST_SESSION_BEGIN_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_QUEST_SESSION_REQUEST_START, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_QUEST_SESSION_REQUEST_STOP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUEUED_MESSAGES_END, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUICK_JOIN_REQUEST_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_QUICK_JOIN_RESPOND_TO_INVITE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_RAF_CLAIM_ACTIVITY_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_RAF_CLAIM_NEXT_REWARD, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_RAF_GENERATE_RECRUITMENT_LINK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_RAF_UPDATE_RECRUITMENT_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomRollOpcode); DEFINE_HANDLER(CMSG_READY_CHECK_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleReadyCheckResponseOpcode); DEFINE_HANDLER(CMSG_READ_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleReadItem); DEFINE_HANDLER(CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReclaimCorpse); DEFINE_HANDLER(CMSG_REFORGE_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleReforgeItem); DEFINE_HANDLER(CMSG_REMOVE_NEW_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRemoveNewItem); - DEFINE_HANDLER(CMSG_REMOVE_RAF_RECRUIT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REORDER_CHARACTERS, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleReorderCharacters); DEFINE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRepairItemOpcode); - DEFINE_HANDLER(CMSG_REPLACE_TROPHY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepopRequest); DEFINE_HANDLER(CMSG_REPORT_CLIENT_VARIABLES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REPORT_ENABLED_ADDONS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_REPORT_FROZEN_WHILE_LOADING_MAP, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REPORT_PVP_PLAYER_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleReportPvPAFK); DEFINE_HANDLER(CMSG_REPORT_SERVER_LAG, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_REPORT_STUCK_IN_COMBAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestAccountData); DEFINE_HANDLER(CMSG_REQUEST_AREA_POI_UPDATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_BATTLEFIELD_STATUS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestBattlefieldStatusOpcode); DEFINE_HANDLER(CMSG_REQUEST_CEMETERY_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestCemeteryList); - DEFINE_HANDLER(CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_REQUEST_COVENANT_CALLINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_CROWD_CONTROL_SPELL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_REQUEST_FORCED_REACTIONS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestForcedReactionsOpcode); DEFINE_HANDLER(CMSG_REQUEST_GUILD_PARTY_STATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildRequestPartyState); DEFINE_HANDLER(CMSG_REQUEST_GUILD_REWARDS_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestGuildRewardsList); - DEFINE_HANDLER(CMSG_REQUEST_LATEST_SPLASH_SCREEN, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestLatestSplashScreen); DEFINE_HANDLER(CMSG_REQUEST_LFG_LIST_BLACKLIST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleLfgRequestLFGListBlacklist); - DEFINE_HANDLER(CMSG_REQUEST_MYTHIC_PLUS_AFFIXES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPartyJoinUpdates); DEFINE_HANDLER(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPartyMemberStatsOpcode); DEFINE_HANDLER(CMSG_REQUEST_PET_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPetInfo); @@ -792,63 +672,45 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_REQUEST_PVP_REWARDS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestPvpReward); DEFINE_HANDLER(CMSG_REQUEST_RAID_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestRaidInfoOpcode); DEFINE_HANDLER(CMSG_REQUEST_RATED_PVP_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestRatedPvpInfo); - DEFINE_HANDLER(CMSG_REQUEST_REALM_GUILD_MASTER_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_SCHEDULED_PVP_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_STABLED_PETS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestStabledPets); DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_EXIT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehicleExit); DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehicleNextSeat); DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehiclePrevSeat); DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleRequestVehicleSwitchSeat); - DEFINE_HANDLER(CMSG_REQUEST_WEEKLY_REWARDS, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_REQUEST_WORLD_QUEST_UPDATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestWorldQuestUpdate); - DEFINE_HANDLER(CMSG_RESET_CHALLENGE_MODE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_RESET_CHALLENGE_MODE_CHEAT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_RESET_INSTANCES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode); DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleResurrectResponse); - DEFINE_HANDLER(CMSG_REVERT_MONUMENT_APPEARANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_RIDE_VEHICLE_INTERACT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRideVehicleInteract); - DEFINE_HANDLER(CMSG_RPE_RESET_CHARACTER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SAVE_CUF_PROFILES, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSaveCUFProfiles); DEFINE_HANDLER(CMSG_SAVE_ACCOUNT_DATA_EXPORT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SAVE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetSave); DEFINE_HANDLER(CMSG_SAVE_GUILD_EMBLEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSaveGuildEmblem); - DEFINE_HANDLER(CMSG_SAVE_PERSONAL_EMBLEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSavePersonalEmblem); DEFINE_HANDLER(CMSG_SCENE_PLAYBACK_CANCELED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleScenePlaybackCanceled); DEFINE_HANDLER(CMSG_SCENE_PLAYBACK_COMPLETE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleScenePlaybackComplete); DEFINE_HANDLER(CMSG_SCENE_TRIGGER_EVENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSceneTriggerEvent); DEFINE_HANDLER(CMSG_SELF_RES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSelfResOpcode); - DEFINE_HANDLER(CMSG_SELL_ALL_JUNK_ITEMS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SELL_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSellItemOpcode); - DEFINE_HANDLER(CMSG_SEND_CHARACTER_CLUB_INVITATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SEND_CONTACT_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleContactListOpcode); DEFINE_HANDLER(CMSG_SEND_MAIL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSendMail); - DEFINE_HANDLER(CMSG_SEND_PING_UNIT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSendPingUnit); - DEFINE_HANDLER(CMSG_SEND_PING_WORLD_POINT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSendPingWorldPoint); DEFINE_HANDLER(CMSG_SEND_TEXT_EMOTE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTextEmoteOpcode); DEFINE_HANDLER(CMSG_SERVER_TIME_OFFSET_REQUEST, STATUS_AUTHED, PROCESS_INPLACE, &WorldSession::HandleServerTimeOffsetRequest); - DEFINE_HANDLER(CMSG_SET_ACHIEVEMENTS_HIDDEN, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_ACTION_BAR_TOGGLES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionBarToggles); DEFINE_HANDLER(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionButtonOpcode); DEFINE_HANDLER(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveMoverOpcode); DEFINE_HANDLER(CMSG_SET_ADVANCED_COMBAT_LOGGING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetAdvancedCombatLogging); DEFINE_HANDLER(CMSG_SET_ASSISTANT_LEADER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetAssistantLeaderOpcode); - DEFINE_HANDLER(CMSG_SET_BACKPACK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SET_BACKPACK_SELL_JUNK_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SET_BANK_AUTOSORT_DISABLED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_CONTACT_NOTES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetContactNotesOpcode); DEFINE_HANDLER(CMSG_SET_CURRENCY_FLAGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_DIFFICULTY_ID, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_DUNGEON_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetDungeonDifficultyOpcode); - DEFINE_HANDLER(CMSG_SET_EMPOWER_MIN_HOLD_STAGE_PERCENT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_EVERYONE_IS_ASSISTANT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetEveryoneIsAssistant); - DEFINE_HANDLER(CMSG_SET_EXCLUDED_CHAT_CENSOR_SOURCES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_FACTION_AT_WAR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionAtWar); DEFINE_HANDLER(CMSG_SET_FACTION_INACTIVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionInactiveOpcode); DEFINE_HANDLER(CMSG_SET_FACTION_NOT_AT_WAR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionNotAtWar); DEFINE_HANDLER(CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_LOOT_METHOD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetLootMethodOpcode); - DEFINE_HANDLER(CMSG_SET_LOOT_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetLootSpecialization); DEFINE_HANDLER(CMSG_SET_PARTY_ASSIGNMENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPartyAssignment); DEFINE_HANDLER(CMSG_SET_PARTY_LEADER, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetPartyLeaderOpcode); DEFINE_HANDLER(CMSG_SET_PET_SLOT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetPetSlot); @@ -857,46 +719,33 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_SET_PRIMARY_TALENT_TREE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetPrimaryTalentTreeOpcode); DEFINE_HANDLER(CMSG_SET_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPvP); DEFINE_HANDLER(CMSG_SET_RAID_DIFFICULTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetRaidDifficultyOpcode); - DEFINE_HANDLER(CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetRestrictPingsToAssistants); DEFINE_HANDLER(CMSG_SET_ROLE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetRoleOpcode); - DEFINE_HANDLER(CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSavedInstanceExtend); DEFINE_HANDLER(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSelectionOpcode); DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetSheathedOpcode); - DEFINE_HANDLER(CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetTaxiBenchmark); DEFINE_HANDLER(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetTitleOpcode); - DEFINE_HANDLER(CMSG_SET_TRADE_CURRENCY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeCurrencyOpcode); DEFINE_HANDLER(CMSG_SET_TRADE_GOLD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeGoldOpcode); DEFINE_HANDLER(CMSG_SET_TRADE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeItemOpcode); - DEFINE_HANDLER(CMSG_SET_WAR_MODE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWarMode); DEFINE_HANDLER(CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode); DEFINE_HANDLER(CMSG_SHOW_TRADE_SKILL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SIGN_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSignPetition); DEFINE_HANDLER(CMSG_SILENCE_PARTY_TALKER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SOCIAL_CONTRACT_REQUEST, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleSocialContractRequest); DEFINE_HANDLER(CMSG_SOCKET_GEMS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSocketGems); - DEFINE_HANDLER(CMSG_SORT_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortBags); - DEFINE_HANDLER(CMSG_SORT_BANK_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortBankBags); - DEFINE_HANDLER(CMSG_SORT_REAGENT_BANK_BAGS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSortReagentBankBags); DEFINE_HANDLER(CMSG_SPAWN_TRACKING_UPDATE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SPELL_CLICK, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSpellClick); - DEFINE_HANDLER(CMSG_SPELL_EMPOWER_RELEASE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_SPELL_EMPOWER_RESTART, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSpiritHealerActivate); DEFINE_HANDLER(CMSG_SPLIT_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSplitGuildBankItem); DEFINE_HANDLER(CMSG_SPLIT_GUILD_BANK_ITEM_TO_INVENTORY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSplitGuildBankItemToInventory); DEFINE_HANDLER(CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSplitItemOpcode); DEFINE_HANDLER(CMSG_SPLIT_ITEM_TO_GUILD_BANK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSplitItemToGuildBank); DEFINE_HANDLER(CMSG_STAND_STATE_CHANGE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleStandStateChangeOpcode); - DEFINE_HANDLER(CMSG_START_CHALLENGE_MODE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_START_SPECTATOR_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_START_WAR_GAME, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_STORE_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleStoreGuildBankItem); DEFINE_HANDLER(CMSG_SUBMIT_USER_FEEDBACK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSubmitUserFeedback); - DEFINE_HANDLER(CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SUMMON_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSummonResponseOpcode); DEFINE_HANDLER(CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSupportTicketSubmitComplaint); - DEFINE_HANDLER(CMSG_SURRENDER_ARENA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SUSPEND_COMMS_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_SUSPEND_TOKEN_RESPONSE, STATUS_TRANSFER, PROCESS_THREADUNSAFE, &WorldSession::HandleSuspendTokenResponse); DEFINE_HANDLER(CMSG_SWAP_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSwapGuildBankItemWithGuildBankItem); @@ -918,30 +767,24 @@ void OpcodeTable::InitializeClientOpcodes() DEFINE_HANDLER(CMSG_TOGGLE_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTogglePvP); DEFINE_HANDLER(CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTotemDestroyed); DEFINE_HANDLER(CMSG_TOY_CLEAR_FANFARE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleToyClearFanfare); - DEFINE_HANDLER(CMSG_TRADE_SKILL_SET_FAVORITE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTradeSkillSetFavorite); DEFINE_HANDLER(CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTrainerBuySpellOpcode); DEFINE_HANDLER(CMSG_TRAINER_LIST, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleTrainerListOpcode); DEFINE_HANDLER(CMSG_TRAITS_COMMIT_CONFIG, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_TRANSMOGRIFY_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTransmogrifyItems); DEFINE_HANDLER(CMSG_TURN_IN_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTurnInPetition); DEFINE_HANDLER(CMSG_TUTORIAL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTutorialFlag); - DEFINE_HANDLER(CMSG_UI_MAP_QUEST_LINES_REQUEST, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UNACCEPT_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUnacceptTradeOpcode); DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharUndeleteOpcode); DEFINE_HANDLER(CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleUnlearnSkillOpcode); - DEFINE_HANDLER(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UNLOCK_VOID_STORAGE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleVoidStorageUnlock); DEFINE_HANDLER(CMSG_UPDATE_AADC_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleChatUpdateAADCStatus); DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateAccountData); DEFINE_HANDLER(CMSG_UPDATE_AREA_TRIGGER_VISUAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UPDATE_CLIENT_SETTINGS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_UPDATE_CRAFTING_NPC_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UPDATE_MISSILE_TRAJECTORY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateMissileTrajectory); DEFINE_HANDLER(CMSG_UPDATE_RAID_TARGET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateRaidTargetOpcode); DEFINE_HANDLER(CMSG_UPDATE_SPELL_VISUAL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_UPDATE_VAS_PURCHASE_STATES, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_UPGRADE_RUNEFORGE_LEGENDARY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_USE_CRITTER_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUseCritterItem); DEFINE_HANDLER(CMSG_USE_EQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleUseEquipmentSet); @@ -1304,7 +1147,6 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_END, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENCOUNTER_START, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_END_LIGHTNING_STORM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENSURE_WORLD_LOADED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENTER_ENCRYPTED_MODE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENUM_CHARACTERS_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1425,7 +1267,6 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_REWARD_LIST, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_ROSTER_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_GUILD_SEND_RANK_CHANGE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_HEALTH_UPDATE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -1482,13 +1323,6 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEGACY_LOOT_RULES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEVEL_LINKING_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LEVEL_UP_INFO, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICANT_LIST_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICATIONS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_APPLICATIONS_LIST_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_BROWSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_COMMAND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_POST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LF_GUILD_RECRUITS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_BOOT_PLAYER, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_DISABLED, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LFG_EXPAND_SEARCH_PROMPT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); @@ -1932,7 +1766,6 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_STANDING, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_VISIBLE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FORCED_REACTIONS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ITEM_PURCHASE_DATA, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_LOOT_METHOD_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_MAX_WEEKLY_QUANTITY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index ffcccf9c473..9e041978c99 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -36,8 +36,8 @@ enum ConnectionType : int8 CONNECTION_TYPE_DEFAULT = -1 }; -constexpr std::size_t MIN_CMSG_OPCODE_NUMBER = 0x305C; -constexpr std::size_t MAX_CMSG_OPCODE_NUMBER = 0x5036; +constexpr std::size_t MIN_CMSG_OPCODE_NUMBER = 0x3126; +constexpr std::size_t MAX_CMSG_OPCODE_NUMBER = 0x5034; constexpr std::size_t NUM_CMSG_OPCODES = MAX_CMSG_OPCODE_NUMBER - MIN_CMSG_OPCODE_NUMBER + 1; constexpr std::size_t MIN_SMSG_OPCODE_NUMBER = 0x256C; @@ -49,38 +49,38 @@ constexpr uint16 UNKNOWN_OPCODE = 0xBADD; // special marker value for uninitia enum OpcodeClient : uint16 { CMSG_ACCEPT_GUILD_INVITE = 0x35FD, - CMSG_ACCEPT_SOCIAL_CONTRACT = 0x3749, + CMSG_ACCEPT_SOCIAL_CONTRACT = 0x374B, CMSG_ACCEPT_TRADE = 0x315B, CMSG_ACCEPT_WARGAME_INVITE = 0x35E0, - CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x3739, + CMSG_ACCOUNT_NOTIFICATION_ACKNOWLEDGED = 0x373B, CMSG_ACTIVATE_TAXI = 0x34AB, - CMSG_ADD_BATTLENET_FRIEND = 0x3658, - CMSG_ADD_FRIEND = 0x36D4, - CMSG_ADD_IGNORE = 0x36D8, CMSG_ADDON_LIST = 0x35D8, - CMSG_ADD_TOY = 0x329B, - CMSG_ADVENTURE_MAP_START_QUEST = 0x32DA, - CMSG_ALTER_APPEARANCE = 0x34F5, + CMSG_ADD_BATTLENET_FRIEND = 0x3659, + CMSG_ADD_FRIEND = 0x36D6, + CMSG_ADD_IGNORE = 0x36DA, + CMSG_ADD_TOY = 0x32A3, + CMSG_ADVENTURE_MAP_START_QUEST = 0x32E5, + CMSG_ALTER_APPEARANCE = 0x34FE, CMSG_AREA_SPIRIT_HEALER_QUERY = 0x34B0, CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x34B1, CMSG_AREA_TRIGGER = 0x31D8, - CMSG_ARENA_TEAM_ACCEPT = 0x36B5, - CMSG_ARENA_TEAM_DECLINE = 0x36B6, - CMSG_ARENA_TEAM_DISBAND = 0x36B9, - CMSG_ARENA_TEAM_LEADER = 0x36BA, - CMSG_ARENA_TEAM_LEAVE = 0x36B7, - CMSG_ARENA_TEAM_REMOVE = 0x36B8, - CMSG_ARENA_TEAM_ROSTER = 0x36B4, + CMSG_ARENA_TEAM_ACCEPT = 0x36B7, + CMSG_ARENA_TEAM_DECLINE = 0x36B8, + CMSG_ARENA_TEAM_DISBAND = 0x36BB, + CMSG_ARENA_TEAM_LEADER = 0x36BC, + CMSG_ARENA_TEAM_LEAVE = 0x36B9, + CMSG_ARENA_TEAM_REMOVE = 0x36BA, + CMSG_ARENA_TEAM_ROSTER = 0x36B6, CMSG_ASSIGN_EQUIPMENT_SET_SPEC = 0x3209, - CMSG_ATTACK_STOP = 0x3258, - CMSG_ATTACK_SWING = 0x3257, - CMSG_AUCTIONABLE_TOKEN_SELL = 0x36EA, - CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36EB, + CMSG_ATTACK_STOP = 0x325D, + CMSG_ATTACK_SWING = 0x325C, + CMSG_AUCTIONABLE_TOKEN_SELL = 0x36EC, + CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE = 0x36ED, CMSG_AUCTION_HELLO_REQUEST = 0x34CA, CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x34D0, CMSG_AUCTION_LIST_ITEMS = 0x34CD, CMSG_AUCTION_LIST_OWNER_ITEMS = 0x34CF, - CMSG_AUCTION_LIST_PENDING_SALES = 0x34D2, + CMSG_AUCTION_LIST_PENDING_SALES = 0x34DC, CMSG_AUCTION_PLACE_BID = 0x34D1, CMSG_AUCTION_REMOVE_ITEM = 0x34CC, CMSG_AUCTION_REPLICATE_ITEMS = 0x34CE, @@ -94,86 +94,84 @@ enum OpcodeClient : uint16 CMSG_AUTO_GUILD_BANK_ITEM = 0x34B6, CMSG_AUTO_STORE_BAG_ITEM = 0x3999, CMSG_AUTO_STORE_GUILD_BANK_ITEM = 0x34BF, - CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x32F3, - CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x32E1, - CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x32F5, - CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x32F4, + CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER = 0x32FE, + CMSG_AZERITE_EMPOWERED_ITEM_VIEWED = 0x32EC, + CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE = 0x3300, + CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE = 0x32FF, CMSG_BANKER_ACTIVATE = 0x34B3, - CMSG_BATTLEFIELD_LEAVE = 0x3177, - CMSG_BATTLEFIELD_LIST = 0x3183, - CMSG_BATTLEFIELD_PORT = 0x3527, - CMSG_BATTLEMASTER_HELLO = 0x32B3, - CMSG_BATTLEMASTER_JOIN = 0x3520, - CMSG_BATTLEMASTER_JOIN_ARENA = 0x3521, - CMSG_JOIN_RATED_BATTLEGROUND = 0x317D, - CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x3522, - CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D7, - CMSG_BATTLENET_REQUEST = 0x36F9, - CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36D1, - CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x3717, - CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36D0, - CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C7, - CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x373E, - CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36C0, - CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36C1, - CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x3710, - CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x370C, - CMSG_BATTLE_PAY_START_PURCHASE = 0x36CF, - CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36F6, + CMSG_BATTLEFIELD_LEAVE = 0x3174, + CMSG_BATTLEFIELD_LIST = 0x3180, + CMSG_BATTLEFIELD_PORT = 0x3530, + CMSG_BATTLEMASTER_HELLO = 0x32BC, + CMSG_BATTLEMASTER_JOIN = 0x3529, + CMSG_BATTLEMASTER_JOIN_ARENA = 0x352A, + CMSG_BATTLEMASTER_JOIN_SKIRMISH = 0x352B, + CMSG_BATTLENET_CHALLENGE_RESPONSE = 0x36D9, + CMSG_BATTLENET_REQUEST = 0x36FB, + CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE = 0x36D3, + CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT = 0x3719, + CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE = 0x36D2, + CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET = 0x36C9, + CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS = 0x3740, + CMSG_BATTLE_PAY_GET_PRODUCT_LIST = 0x36C2, + CMSG_BATTLE_PAY_GET_PURCHASE_LIST = 0x36C3, + CMSG_BATTLE_PAY_OPEN_CHECKOUT = 0x3712, + CMSG_BATTLE_PAY_REQUEST_PRICE_INFO = 0x370E, + CMSG_BATTLE_PAY_START_PURCHASE = 0x36D1, + CMSG_BATTLE_PAY_START_VAS_PURCHASE = 0x36F8, CMSG_BATTLE_PET_CLEAR_FANFARE = 0x3126, - CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3621, - CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3620, - CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362A, - CMSG_BATTLE_PET_SET_FLAGS = 0x362D, - CMSG_BATTLE_PET_SUMMON = 0x3626, + CMSG_BATTLE_PET_REQUEST_JOURNAL = 0x3622, + CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK = 0x3621, + CMSG_BATTLE_PET_SET_BATTLE_SLOT = 0x362B, + CMSG_BATTLE_PET_SET_FLAGS = 0x362E, + CMSG_BATTLE_PET_SUMMON = 0x3627, CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY = 0x31E2, CMSG_BATTLE_PET_UPDATE_NOTIFY = 0x31E1, CMSG_BEGIN_TRADE = 0x3158, CMSG_BINDER_ACTIVATE = 0x34B2, - CMSG_BLACK_MARKET_OPEN = 0x352D, - CMSG_BUG_REPORT = 0x3683, + CMSG_BLACK_MARKET_OPEN = 0x3536, + CMSG_BUG_REPORT = 0x3684, CMSG_BUSY_TRADE = 0x3159, CMSG_BUY_BACK_ITEM = 0x34A4, CMSG_BUY_BANK_SLOT = 0x34B4, CMSG_BUY_ITEM = 0x34A3, - CMSG_BUY_STABLE_SLOT = 0x316C, - CMSG_CALENDAR_ADD_EVENT = 0x367B, - CMSG_CALENDAR_COMMUNITY_INVITE = 0x366F, - CMSG_CALENDAR_COMPLAIN = 0x3677, - CMSG_CALENDAR_COPY_EVENT = 0x3676, - CMSG_CALENDAR_EVENT_SIGN_UP = 0x3679, - CMSG_CALENDAR_GET = 0x366D, - CMSG_CALENDAR_GET_EVENT = 0x366E, - CMSG_CALENDAR_GET_NUM_PENDING = 0x3678, - CMSG_CALENDAR_INVITE = 0x3670, - CMSG_CALENDAR_MODERATOR_STATUS = 0x3674, - CMSG_CALENDAR_REMOVE_EVENT = 0x3675, - CMSG_CALENDAR_REMOVE_INVITE = 0x3671, - CMSG_CALENDAR_RSVP = 0x3672, - CMSG_CALENDAR_STATUS = 0x3673, - CMSG_CALENDAR_UPDATE_EVENT = 0x367C, - CMSG_CANCEL_AURA = 0x31B1, - CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34E7, - CMSG_CANCEL_CAST = 0x32A1, - CMSG_CANCEL_CHANNELING = 0x326C, - CMSG_CANCEL_GROWTH_AURA = 0x3271, - CMSG_CANCEL_MOUNT_AURA = 0x3281, - CMSG_CANCEL_QUEUED_SPELL = 0x3184, - CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34F2, + CMSG_CALENDAR_ADD_EVENT = 0x367C, + CMSG_CALENDAR_COMMUNITY_INVITE = 0x3670, + CMSG_CALENDAR_COMPLAIN = 0x3678, + CMSG_CALENDAR_COPY_EVENT = 0x3677, + CMSG_CALENDAR_EVENT_SIGN_UP = 0x367A, + CMSG_CALENDAR_GET = 0x366E, + CMSG_CALENDAR_GET_EVENT = 0x366F, + CMSG_CALENDAR_GET_NUM_PENDING = 0x3679, + CMSG_CALENDAR_INVITE = 0x3671, + CMSG_CALENDAR_MODERATOR_STATUS = 0x3675, + CMSG_CALENDAR_REMOVE_EVENT = 0x3676, + CMSG_CALENDAR_REMOVE_INVITE = 0x3672, + CMSG_CALENDAR_RSVP = 0x3673, + CMSG_CALENDAR_STATUS = 0x3674, + CMSG_CALENDAR_UPDATE_EVENT = 0x367D, + CMSG_CANCEL_AURA = 0x31AE, + CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x34F0, + CMSG_CANCEL_CAST = 0x32A9, + CMSG_CANCEL_CHANNELLING = 0x3272, + CMSG_CANCEL_GROWTH_AURA = 0x3277, + CMSG_CANCEL_MOUNT_AURA = 0x3287, + CMSG_CANCEL_QUEUED_SPELL = 0x3181, + CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34FB, CMSG_CANCEL_TRADE = 0x315D, - CMSG_CAN_DUEL = 0x3660, - CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x370B, - CMSG_CAST_SPELL = 0x329E, - CMSG_CHANGE_REALM_TICKET = 0x36FD, - CMSG_CHANGE_SUB_GROUP = 0x364B, - CMSG_CHARACTER_CHECK_UPGRADE = 0x36CA, - CMSG_CHARACTER_RENAME_REQUEST = 0x36C5, - CMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_REQUEST = 0x36C8, - CMSG_CHARACTER_UPGRADE_START = 0x36C9, - CMSG_CHAR_CREATE_FINALIZE_REINCARNATION = 0x375B, - CMSG_CHAR_CUSTOMIZE = 0x3688, - CMSG_CHAR_DELETE = 0x3699, - CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x368E, + CMSG_CAN_DUEL = 0x3661, + CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE = 0x370D, + CMSG_CAST_SPELL = 0x32A6, + CMSG_CHANGE_REALM_TICKET = 0x36FF, + CMSG_CHANGE_SUB_GROUP = 0x364C, + CMSG_CHARACTER_CHECK_UPGRADE = 0x36CC, + CMSG_CHARACTER_RENAME_REQUEST = 0x36C7, + CMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_REQUEST = 0x36CA, + CMSG_CHARACTER_UPGRADE_START = 0x36CB, + CMSG_CHAR_CREATE_FINALIZE_REINCARNATION = 0x3764, + CMSG_CHAR_CUSTOMIZE = 0x3689, + CMSG_CHAR_DELETE = 0x369B, + CMSG_CHAR_RACE_OR_FACTION_CHANGE = 0x368F, CMSG_CHAT_ADDON_MESSAGE = 0x3802, CMSG_CHAT_ADDON_MESSAGE_TARGETED = 0x3803, CMSG_CHAT_CHANNEL_ANNOUNCEMENTS = 0x37F7, @@ -210,24 +208,26 @@ enum OpcodeClient : uint16 CMSG_CHAT_REPORT_FILTERED = 0x37E0, CMSG_CHAT_REPORT_IGNORED = 0x37DF, CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES = 0x37E2, - CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x3249, + CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID = 0x324E, CMSG_CLEAR_NEW_APPEARANCE = 0x3129, - CMSG_CLEAR_RAID_MARKER = 0x31A9, + CMSG_CLEAR_RAID_MARKER = 0x31A6, + CMSG_CLEAR_TRADE_ITEM = 0x315F, + CMSG_CLIENT_PORT_GRAVEYARD = 0x3532, CMSG_CLOSE_INTERACTION = 0x3493, - CMSG_CLOSE_QUEST_CHOICE = 0x32A4, - CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION = 0x330F, - CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x3722, - CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x3720, - CMSG_CLUB_FINDER_POST = 0x371D, - CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x3724, - CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x371E, - CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x371F, - CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x3723, - CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x3725, - CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x3721, - CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST = 0x3740, - CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x36FB, - CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3630, + CMSG_CLOSE_QUEST_CHOICE = 0x32AD, + CMSG_CLOSE_TRAIT_SYSTEM_INTERACTION = 0x331A, + CMSG_CLUB_FINDER_APPLICATION_RESPONSE = 0x3724, + CMSG_CLUB_FINDER_GET_APPLICANTS_LIST = 0x3722, + CMSG_CLUB_FINDER_POST = 0x371F, + CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA = 0x3726, + CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST = 0x3720, + CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB = 0x3721, + CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST = 0x3725, + CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS = 0x3727, + CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT = 0x3723, + CMSG_CLUB_FINDER_WHISPER_APPLICANT_REQUEST = 0x3742, + CMSG_CLUB_PRESENCE_SUBSCRIBE = 0x36FD, + CMSG_COLLECTION_ITEM_SET_FAVORITE = 0x3631, CMSG_COMMENTATOR_ENABLE = 0x35F0, CMSG_COMMENTATOR_ENTER_INSTANCE = 0x35F4, CMSG_COMMENTATOR_EXIT_INSTANCE = 0x35F5, @@ -235,149 +235,150 @@ enum OpcodeClient : uint16 CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS = 0x35F3, CMSG_COMMENTATOR_GET_PLAYER_INFO = 0x35F2, CMSG_COMMENTATOR_START_WARGAME = 0x35EF, - CMSG_COMMERCE_TOKEN_GET_COUNT = 0x36E8, - CMSG_COMMERCE_TOKEN_GET_LOG = 0x36F2, - CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x36E9, - CMSG_COMPLAINT = 0x366A, - CMSG_COMPLETE_CINEMATIC = 0x3547, - CMSG_COMPLETE_MOVIE = 0x34DD, + CMSG_COMMERCE_TOKEN_GET_COUNT = 0x36EA, + CMSG_COMMERCE_TOKEN_GET_LOG = 0x36F4, + CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE = 0x36EB, + CMSG_COMPLAINT = 0x366B, + CMSG_COMPLETE_CINEMATIC = 0x3550, + CMSG_COMPLETE_MOVIE = 0x34E6, CMSG_CONFIRM_BARBERS_CHOICE = 0x3210, CMSG_CONFIRM_RESPEC_WIPE = 0x320F, CMSG_CONNECT_TO_FAILED = 0x35D4, - CMSG_CONSUMABLE_TOKEN_BUY = 0x36ED, - CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x36EE, - CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x36EC, - CMSG_CONSUMABLE_TOKEN_REDEEM = 0x36F0, - CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x36F1, - CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST = 0x355E, - CMSG_CONVERSATION_LINE_STARTED = 0x3548, - CMSG_CONVERT_RAID = 0x364D, - CMSG_CREATE_CHARACTER = 0x3641, + CMSG_CONSUMABLE_TOKEN_BUY = 0x36EF, + CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE = 0x36F0, + CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY = 0x36EE, + CMSG_CONSUMABLE_TOKEN_REDEEM = 0x36F2, + CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION = 0x36F3, + CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST = 0x3567, + CMSG_CONVERSATION_LINE_STARTED = 0x3551, + CMSG_CONVERT_RAID = 0x364E, + CMSG_CREATE_CHARACTER = 0x3642, CMSG_DB_QUERY_BULK = 0x35E4, - CMSG_DECLINE_GUILD_INVITES = 0x351D, - CMSG_DECLINE_PETITION = 0x3536, - CMSG_DELETE_EQUIPMENT_SET = 0x350A, - CMSG_DEL_FRIEND = 0x36D5, - CMSG_DEL_IGNORE = 0x36D9, - CMSG_DESTROY_ITEM = 0x3295, - CMSG_DF_BOOT_PLAYER_VOTE = 0x3617, - CMSG_DF_GET_JOIN_STATUS = 0x3615, - CMSG_DF_GET_SYSTEM_INFO = 0x3614, - CMSG_DF_JOIN = 0x360A, - CMSG_DF_LEAVE = 0x3613, - CMSG_DF_PROPOSAL_RESPONSE = 0x3608, - CMSG_DF_READY_CHECK_RESPONSE = 0x361B, - CMSG_DF_SET_ROLES = 0x3616, - CMSG_DF_TELEPORT = 0x3618, - CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A41, - CMSG_DISMISS_CRITTER = 0x34F9, - CMSG_DO_COUNTDOWN = 0x371C, - CMSG_DO_READY_CHECK = 0x3631, - CMSG_DUEL_RESPONSE = 0x34E2, - CMSG_EJECT_PASSENGER = 0x323E, - CMSG_EMOTE = 0x3543, + CMSG_DECLINE_GUILD_INVITES = 0x3526, + CMSG_DECLINE_PETITION = 0x353F, + CMSG_DELETE_EQUIPMENT_SET = 0x3513, + CMSG_DEL_FRIEND = 0x36D7, + CMSG_DEL_IGNORE = 0x36DB, + CMSG_DESTROY_ITEM = 0x329D, + CMSG_DF_BOOT_PLAYER_VOTE = 0x3618, + CMSG_DF_GET_JOIN_STATUS = 0x3616, + CMSG_DF_GET_SYSTEM_INFO = 0x3615, + CMSG_DF_JOIN = 0x360B, + CMSG_DF_LEAVE = 0x3614, + CMSG_DF_PROPOSAL_RESPONSE = 0x3609, + CMSG_DF_READY_CHECK_RESPONSE = 0x361C, + CMSG_DF_SET_ROLES = 0x3617, + CMSG_DF_TELEPORT = 0x3619, + CMSG_DISCARDED_TIME_SYNC_ACKS = 0x3A42, + CMSG_DISMISS_CRITTER = 0x3502, + CMSG_DO_COUNTDOWN = 0x371E, + CMSG_DO_READY_CHECK = 0x3632, + CMSG_DUEL_RESPONSE = 0x34EB, + CMSG_EJECT_PASSENGER = 0x3243, + CMSG_EMOTE = 0x354C, CMSG_ENABLE_NAGLE = 0x377F, CMSG_ENABLE_TAXI_NODE = 0x34A9, - CMSG_ENGINE_SURVEY = 0x36E7, + CMSG_ENGINE_SURVEY = 0x36E9, CMSG_ENTER_ENCRYPTED_MODE_ACK = 0x377B, CMSG_ENUM_CHARACTERS = 0x35E8, - CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36E1, - CMSG_FAR_SIGHT = 0x34E8, - CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B3, - CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B4, - CMSG_GAME_OBJ_REPORT_USE = 0x34EF, - CMSG_GAME_OBJ_USE = 0x34EE, + CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT = 0x36E3, + CMSG_FAR_SIGHT = 0x34F1, + CMSG_GAME_EVENT_DEBUG_DISABLE = 0x31B0, + CMSG_GAME_EVENT_DEBUG_ENABLE = 0x31B1, + CMSG_GAME_OBJ_REPORT_USE = 0x34F8, + CMSG_GAME_OBJ_USE = 0x34F7, CMSG_GENERATE_RANDOM_CHARACTER_NAME = 0x35E7, - CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36BB, - CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x3738, - CMSG_GET_ITEM_PURCHASE_DATA = 0x3531, - CMSG_GET_MIRROR_IMAGE_DATA = 0x3299, + CMSG_GET_ACCOUNT_CHARACTER_LIST = 0x36BD, + CMSG_GET_ACCOUNT_NOTIFICATIONS = 0x373A, + CMSG_GET_ITEM_PURCHASE_DATA = 0x353A, + CMSG_GET_MIRROR_IMAGE_DATA = 0x32A1, CMSG_GET_PVP_OPTIONS_ENABLED = 0x35EE, - CMSG_GET_REMAINING_GAME_TIME = 0x36EF, - CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E3, - CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x36F4, - CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x36F5, - CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x368C, - CMSG_GM_TICKET_GET_CASE_STATUS = 0x368B, - CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x368A, + CMSG_GET_REMAINING_GAME_TIME = 0x36F1, + CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS = 0x36E5, + CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST = 0x36F6, + CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST = 0x36F7, + CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY = 0x368D, + CMSG_GM_TICKET_GET_CASE_STATUS = 0x368C, + CMSG_GM_TICKET_GET_SYSTEM_STATUS = 0x368B, CMSG_GOSSIP_SELECT_OPTION = 0x3494, - CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x5036, - CMSG_GUILD_ADD_RANK = 0x501B, + CMSG_GUILD_ADD_BATTLENET_FRIEND = 0x5034, + CMSG_GUILD_ADD_RANK = 0x5019, CMSG_GUILD_ASSIGN_MEMBER_RANK = 0x5016, - CMSG_GUILD_AUTO_DECLINE_INVITATION = 0x5018, CMSG_GUILD_BANK_ACTIVATE = 0x34B5, CMSG_GUILD_BANK_BUY_TAB = 0x34C3, CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x34C5, - CMSG_GUILD_BANK_LOG_QUERY = 0x502F, + CMSG_GUILD_BANK_LOG_QUERY = 0x502D, CMSG_GUILD_BANK_QUERY_TAB = 0x34C2, - CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x5030, - CMSG_GUILD_BANK_SET_TAB_TEXT = 0x5033, - CMSG_GUILD_BANK_TEXT_QUERY = 0x5034, + CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY = 0x502E, + CMSG_GUILD_BANK_SET_TAB_TEXT = 0x5031, + CMSG_GUILD_BANK_TEXT_QUERY = 0x5032, CMSG_GUILD_BANK_UPDATE_TAB = 0x34C4, CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x34C6, - CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0x502D, - CMSG_GUILD_CHANGE_NAME_REQUEST = 0x502E, - CMSG_GUILD_DECLINE_INVITATION = 0x5017, - CMSG_GUILD_DELETE = 0x501F, - CMSG_GUILD_DELETE_RANK = 0x501C, + CMSG_GUILD_CHALLENGE_UPDATE_REQUEST = 0x502B, + CMSG_GUILD_CHANGE_NAME_REQUEST = 0x502C, + CMSG_GUILD_DECLINE_INVITATION = 0x35FE, + CMSG_GUILD_DELETE = 0x501D, + CMSG_GUILD_DELETE_RANK = 0x501A, CMSG_GUILD_DEMOTE_MEMBER = 0x5015, - CMSG_GUILD_EVENT_LOG_QUERY = 0x5032, - CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x5028, - CMSG_GUILD_GET_RANKS = 0x5024, - CMSG_GUILD_GET_ROSTER = 0x502A, - CMSG_GUILD_INVITE_BY_NAME = 0x3607, - CMSG_GUILD_LEAVE = 0x5019, - CMSG_GUILD_NEWS_UPDATE_STICKY = 0x5025, - CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0x501A, - CMSG_GUILD_PERMISSIONS_QUERY = 0x5031, + CMSG_GUILD_EVENT_LOG_QUERY = 0x5030, + CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS = 0x5026, + CMSG_GUILD_GET_RANKS = 0x5022, + CMSG_GUILD_GET_ROSTER = 0x5028, + CMSG_GUILD_INVITE_BY_NAME = 0x3608, + CMSG_GUILD_LEAVE = 0x5017, + CMSG_GUILD_NEWS_UPDATE_STICKY = 0x5023, + CMSG_GUILD_OFFICER_REMOVE_MEMBER = 0x5018, + CMSG_GUILD_PERMISSIONS_QUERY = 0x502F, CMSG_GUILD_PROMOTE_MEMBER = 0x5014, - CMSG_GUILD_QUERY_MEMBER_RECIPES = 0x5020, - CMSG_GUILD_QUERY_NEWS = 0x5023, - CMSG_GUILD_QUERY_RECIPES = 0x5021, - CMSG_GUILD_REPLACE_GUILD_MASTER = 0x5035, - CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x5026, - CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x5027, - CMSG_GUILD_SET_GUILD_MASTER = 0x36CC, - CMSG_GUILD_SET_MEMBER_NOTE = 0x5029, - CMSG_GUILD_SET_RANK_PERMISSIONS = 0x501E, - CMSG_GUILD_SHIFT_RANK = 0x501D, - CMSG_GUILD_UPDATE_INFO_TEXT = 0x502C, - CMSG_GUILD_UPDATE_MOTD_TEXT = 0x502B, - CMSG_HEARTH_AND_RESURRECT = 0x3506, + CMSG_GUILD_QUERY_MEMBER_RECIPES = 0x501E, + CMSG_GUILD_QUERY_NEWS = 0x5021, + CMSG_GUILD_QUERY_RECIPES = 0x501F, + CMSG_GUILD_REPLACE_GUILD_MASTER = 0x5033, + CMSG_GUILD_SET_ACHIEVEMENT_TRACKING = 0x5024, + CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT = 0x5025, + CMSG_GUILD_SET_GUILD_MASTER = 0x36CE, + CMSG_GUILD_SET_MEMBER_NOTE = 0x5027, + CMSG_GUILD_SET_RANK_PERMISSIONS = 0x501C, + CMSG_GUILD_SHIFT_RANK = 0x501B, + CMSG_GUILD_UPDATE_INFO_TEXT = 0x502A, + CMSG_GUILD_UPDATE_MOTD_TEXT = 0x5029, + CMSG_HEARTH_AND_RESURRECT = 0x350F, CMSG_HOTFIX_REQUEST = 0x35E5, CMSG_IGNORE_TRADE = 0x315A, CMSG_INITIATE_ROLE_POLL = 0x35DA, CMSG_INITIATE_TRADE = 0x3157, - CMSG_INSPECT = 0x352B, - CMSG_INSPECT_PVP = 0x369F, - CMSG_INSTANCE_LOCK_RESPONSE = 0x350B, - CMSG_ITEM_PURCHASE_REFUND = 0x3532, - CMSG_ITEM_TEXT_QUERY = 0x32C6, - CMSG_KEEP_ALIVE = 0x367D, + CMSG_INSPECT = 0x3534, + CMSG_INSPECT_PVP = 0x36A1, + CMSG_INSTANCE_LOCK_RESPONSE = 0x3514, + CMSG_ITEM_PURCHASE_REFUND = 0x353B, + CMSG_ITEM_TEXT_QUERY = 0x32D1, + CMSG_JOIN_RATED_BATTLEGROUND = 0x317A, + CMSG_KEEP_ALIVE = 0x367E, CMSG_KEYBOUND_OVERRIDE = 0x3225, CMSG_LATENCY_REPORT = 0x3785, - CMSG_LEARN_PREVIEW_TALENTS = 0x3555, - CMSG_LEARN_PREVIEW_TALENTS_PET = 0x3557, - CMSG_LEARN_TALENT = 0x3554, - CMSG_LEAVE_GROUP = 0x3648, - CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360E, - CMSG_LFG_LIST_CANCEL_APPLICATION = 0x360F, - CMSG_LFG_LIST_DECLINE_APPLICANT = 0x3610, - CMSG_LFG_LIST_GET_STATUS = 0x360C, - CMSG_LFG_LIST_INVITE_APPLICANT = 0x3611, - CMSG_LFG_LIST_INVITE_RESPONSE = 0x3612, - CMSG_LFG_LIST_JOIN = 0x32F1, - CMSG_LFG_LIST_LEAVE = 0x360B, - CMSG_LFG_LIST_SEARCH = 0x360D, - CMSG_LFG_LIST_SET_ROLES = 0x3303, - CMSG_LFG_LIST_UPDATE_REQUEST = 0x32F2, + CMSG_LEARN_PREVIEW_TALENTS = 0x355E, + CMSG_LEARN_PREVIEW_TALENTS_PET = 0x3560, + CMSG_LEARN_TALENT = 0x355D, + CMSG_LEAVE_GROUP = 0x3649, + CMSG_LFG_LIST_APPLY_TO_GROUP = 0x360F, + CMSG_LFG_LIST_CANCEL_APPLICATION = 0x3610, + CMSG_LFG_LIST_DECLINE_APPLICANT = 0x3611, + CMSG_LFG_LIST_GET_STATUS = 0x360D, + CMSG_LFG_LIST_INVITE_APPLICANT = 0x3612, + CMSG_LFG_LIST_INVITE_RESPONSE = 0x3613, + CMSG_LFG_LIST_JOIN = 0x32FC, + CMSG_LFG_LIST_LEAVE = 0x360C, + CMSG_LFG_LIST_SEARCH = 0x360E, + CMSG_LFG_LIST_SET_ROLES = 0x330E, + CMSG_LFG_LIST_UPDATE_REQUEST = 0x32FD, CMSG_LIST_INVENTORY = 0x34A1, - CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36BE, - CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36BC, + CMSG_LIVE_REGION_ACCOUNT_RESTORE = 0x36C0, + CMSG_LIVE_REGION_CHARACTER_COPY = 0x36BF, + CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST = 0x36BE, CMSG_LOADING_SCREEN_NOTIFY = 0x35F8, - CMSG_LOGOUT_CANCEL = 0x34D8, - CMSG_LOGOUT_INSTANT = 0x34D9, - CMSG_LOGOUT_REQUEST = 0x34D6, + CMSG_LOGOUT_CANCEL = 0x34E1, + CMSG_LOGOUT_INSTANT = 0x34E2, + CMSG_LOGOUT_REQUEST = 0x34E0, CMSG_LOG_DISCONNECT = 0x377D, CMSG_LOG_STREAMING_ERROR = 0x3781, CMSG_LOOT_ITEM = 0x3213, @@ -385,42 +386,43 @@ enum OpcodeClient : uint16 CMSG_LOOT_RELEASE = 0x3215, CMSG_LOOT_ROLL = 0x3216, CMSG_LOOT_UNIT = 0x3211, - CMSG_LOW_LEVEL_RAID1 = 0x3512, - CMSG_LOW_LEVEL_RAID2 = 0x369D, - CMSG_MAIL_CREATE_TEXT_ITEM = 0x353D, + CMSG_LOW_LEVEL_RAID1 = 0x351B, + CMSG_LOW_LEVEL_RAID2 = 0x369F, + CMSG_MAIL_CREATE_TEXT_ITEM = 0x3546, CMSG_MAIL_DELETE = 0x3227, - CMSG_MAIL_GET_LIST = 0x3538, - CMSG_MAIL_MARK_AS_READ = 0x353C, - CMSG_MAIL_RETURN_TO_SENDER = 0x3654, - CMSG_MAIL_TAKE_ITEM = 0x353A, - CMSG_MAIL_TAKE_MONEY = 0x3539, + CMSG_MAIL_GET_LIST = 0x3541, + CMSG_MAIL_MARK_AS_READ = 0x3545, + CMSG_MAIL_RETURN_TO_SENDER = 0x3655, + CMSG_MAIL_TAKE_ITEM = 0x3543, + CMSG_MAIL_TAKE_MONEY = 0x3542, CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT = 0x322A, CMSG_MASTER_LOOT_ITEM = 0x3214, CMSG_MERGE_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM = 0x34C0, CMSG_MERGE_GUILD_BANK_ITEM_WITH_ITEM = 0x34BD, CMSG_MERGE_ITEM_WITH_GUILD_BANK_ITEM = 0x34BB, - CMSG_MINIMAP_PING = 0x364a, - CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318F, + CMSG_MINIMAP_PING = 0x364B, + CMSG_MISSILE_TRAJECTORY_COLLISION = 0x318C, CMSG_MOUNT_CLEAR_FANFARE = 0x3127, - CMSG_MOUNT_SET_FAVORITE = 0x362F, - CMSG_MOUNT_SPECIAL_ANIM = 0x3282, - CMSG_MOVE_ADD_IMPULSE_ACK = 0x3A50, - CMSG_MOVE_APPLY_INERTIA_ACK = 0x3A4E, + CMSG_MOUNT_SET_FAVORITE = 0x3630, + CMSG_MOUNT_SPECIAL_ANIM = 0x3288, + CMSG_MOVE_ADD_IMPULSE_ACK = 0x3A51, + CMSG_MOVE_APPLY_INERTIA_ACK = 0x3A4F, CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK = 0x3A15, - CMSG_MOVE_CHANGE_TRANSPORT = 0x3A2F, - CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A34, - CMSG_MOVE_COLLISION_DISABLE_ACK = 0x3A39, - CMSG_MOVE_COLLISION_ENABLE_ACK = 0x3A3A, - CMSG_MOVE_DISMISS_VEHICLE = 0x3A33, + CMSG_MOVE_CHANGE_TRANSPORT = 0x3A30, + CMSG_MOVE_CHANGE_VEHICLE_SEATS = 0x3A35, + CMSG_MOVE_COLLISION_DISABLE_ACK = 0x3A3A, + CMSG_MOVE_COLLISION_ENABLE_ACK = 0x3A3B, + CMSG_MOVE_DISMISS_VEHICLE = 0x3A34, CMSG_MOVE_DOUBLE_JUMP = 0x39EB, CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK = 0x3A1E, + CMSG_MOVE_ENABLE_FULL_SPEED_TURNING_ACK = 0x3A65, CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK = 0x3A24, CMSG_MOVE_FALL_LAND = 0x39FB, CMSG_MOVE_FALL_RESET = 0x3A19, CMSG_MOVE_FEATHER_FALL_ACK = 0x3A1C, - CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x3A2E, - CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x3A2D, - CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x3A32, + CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x3A2F, + CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x3A2E, + CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK = 0x3A33, CMSG_MOVE_FORCE_ROOT_ACK = 0x3A0E, CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x3A0C, CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK = 0x3A0B, @@ -429,51 +431,51 @@ enum OpcodeClient : uint16 CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK = 0x3A23, CMSG_MOVE_FORCE_UNROOT_ACK = 0x3A0F, CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK = 0x3A21, - CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x3A35, - CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x3A36, + CMSG_MOVE_GRAVITY_DISABLE_ACK = 0x3A36, + CMSG_MOVE_GRAVITY_ENABLE_ACK = 0x3A37, CMSG_MOVE_GUILD_BANK_ITEM = 0x34BA, CMSG_MOVE_HEARTBEAT = 0x3A10, CMSG_MOVE_HOVER_ACK = 0x3A13, - CMSG_MOVE_INERTIA_DISABLE_ACK = 0x3A37, - CMSG_MOVE_INERTIA_ENABLE_ACK = 0x3A38, - CMSG_MOVE_INIT_ACTIVE_MOVER_COMPLETE = 0x3A46, + CMSG_MOVE_INERTIA_DISABLE_ACK = 0x3A38, + CMSG_MOVE_INERTIA_ENABLE_ACK = 0x3A39, + CMSG_MOVE_INIT_ACTIVE_MOVER_COMPLETE = 0x3A47, CMSG_MOVE_JUMP = 0x39EA, CMSG_MOVE_KNOCK_BACK_ACK = 0x3A12, - CMSG_MOVE_REMOVE_INERTIA_ACK = 0x3A4F, + CMSG_MOVE_REMOVE_INERTIA_ACK = 0x3A50, CMSG_MOVE_REMOVE_MOVEMENT_FORCES = 0x3A17, CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK = 0x3A16, - CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE = 0x3A44, - CMSG_MOVE_SET_ADV_FLY = 0x3A52, - CMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED_ACK = 0x3A58, - CMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION_ACK = 0x3A53, - CMSG_MOVE_SET_ADV_FLYING_BANKING_RATE_ACK = 0x3A59, - CMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD_ACK = 0x3A56, - CMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT_ACK = 0x3A57, - CMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT_ACK = 0x3A60, - CMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT_ACK = 0x3A55, - CMSG_MOVE_SET_ADV_FLYING_MAX_VEL_ACK = 0x3A54, - CMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION_ACK = 0x3A5E, - CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN_ACK = 0x3A5A, - CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP_ACK = 0x3A5B, - CMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION_ACK = 0x3A5D, - CMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD_ACK = 0x3A5C, - CMSG_MOVE_SET_CAN_ADV_FLY_ACK = 0x3A51, + CMSG_MOVE_SET_ADV_FLY = 0x3A53, + CMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED_ACK = 0x3A59, + CMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION_ACK = 0x3A54, + CMSG_MOVE_SET_ADV_FLYING_BANKING_RATE_ACK = 0x3A5A, + CMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD_ACK = 0x3A57, + CMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT_ACK = 0x3A58, + CMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT_ACK = 0x3A61, + CMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT_ACK = 0x3A56, + CMSG_MOVE_SET_ADV_FLYING_MAX_VEL_ACK = 0x3A55, + CMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION_ACK = 0x3A5F, + CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN_ACK = 0x3A5B, + CMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP_ACK = 0x3A5C, + CMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION_ACK = 0x3A5E, + CMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD_ACK = 0x3A5D, + CMSG_MOVE_SET_CAN_ADV_FLY_ACK = 0x3A52, CMSG_MOVE_SET_CAN_FLY_ACK = 0x3A27, CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK = 0x3A25, - CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x3A3B, + CMSG_MOVE_SET_COLLISION_HEIGHT_ACK = 0x3A3C, CMSG_MOVE_SET_FACING = 0x3A09, - CMSG_MOVE_SET_FACING_HEARTBEAT = 0x3A5F, - CMSG_MOVE_SET_FLY = 0x3A28, + CMSG_MOVE_SET_FACING_HEARTBEAT = 0x3A60, + CMSG_MOVE_SET_FLY = 0x3A29, CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK = 0x3A26, - CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK = 0x3A42, + CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK = 0x3A43, CMSG_MOVE_SET_PITCH = 0x3A0A, CMSG_MOVE_SET_RUN_MODE = 0x39F2, + CMSG_MOVE_SET_TURN_RATE_CHEAT = 0x3A06, CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x3A14, CMSG_MOVE_SET_WALK_MODE = 0x39F3, CMSG_MOVE_SPLINE_DONE = 0x3A18, - CMSG_MOVE_START_ASCEND = 0x3A29, + CMSG_MOVE_START_ASCEND = 0x3A2A, CMSG_MOVE_START_BACKWARD = 0x39E5, - CMSG_MOVE_START_DESCEND = 0x3A30, + CMSG_MOVE_START_DESCEND = 0x3A31, CMSG_MOVE_START_FORWARD = 0x39E4, CMSG_MOVE_START_PITCH_DOWN = 0x39F0, CMSG_MOVE_START_PITCH_UP = 0x39EF, @@ -483,7 +485,7 @@ enum OpcodeClient : uint16 CMSG_MOVE_START_TURN_LEFT = 0x39EC, CMSG_MOVE_START_TURN_RIGHT = 0x39ED, CMSG_MOVE_STOP = 0x39E6, - CMSG_MOVE_STOP_ASCEND = 0x3A2A, + CMSG_MOVE_STOP_ASCEND = 0x3A2B, CMSG_MOVE_STOP_PITCH = 0x39F1, CMSG_MOVE_STOP_STRAFE = 0x39E9, CMSG_MOVE_STOP_SWIM = 0x39FD, @@ -492,177 +494,172 @@ enum OpcodeClient : uint16 CMSG_MOVE_TIME_SKIPPED = 0x3A1B, CMSG_MOVE_UPDATE_FALL_SPEED = 0x3A1A, CMSG_MOVE_WATER_WALK_ACK = 0x3A1D, - CMSG_NEXT_CINEMATIC_CAMERA = 0x3546, - CMSG_OBJECT_UPDATE_FAILED = 0x3185, - CMSG_OBJECT_UPDATE_RESCUED = 0x3186, - CMSG_OFFER_PETITION = 0x32FE, - CMSG_OPENING_CINEMATIC = 0x3545, - CMSG_OPEN_ITEM = 0x32C7, - CMSG_OPT_OUT_OF_LOOT = 0x34F6, - CMSG_OVERRIDE_SCREEN_FLASH = 0x351E, - CMSG_PARTY_INVITE = 0x3603, - CMSG_PARTY_INVITE_RESPONSE = 0x3605, - CMSG_PARTY_UNINVITE = 0x3646, + CMSG_NEXT_CINEMATIC_CAMERA = 0x354F, + CMSG_OBJECT_UPDATE_FAILED = 0x3182, + CMSG_OBJECT_UPDATE_RESCUED = 0x3183, + CMSG_OFFER_PETITION = 0x3309, + CMSG_OPENING_CINEMATIC = 0x354E, + CMSG_OPEN_ITEM = 0x32D2, + CMSG_OPT_OUT_OF_LOOT = 0x34FF, + CMSG_OVERRIDE_SCREEN_FLASH = 0x3527, + CMSG_PARTY_INVITE = 0x3604, + CMSG_PARTY_INVITE_RESPONSE = 0x3606, + CMSG_PARTY_UNINVITE = 0x3647, CMSG_PETITION_BUY = 0x34C8, - CMSG_PETITION_RENAME_GUILD = 0x36CD, + CMSG_PETITION_RENAME_GUILD = 0x36CF, CMSG_PETITION_SHOW_LIST = 0x34C7, CMSG_PETITION_SHOW_SIGNATURES = 0x34C9, CMSG_PET_ABANDON = 0x348D, CMSG_PET_ACTION = 0x348B, CMSG_PET_CANCEL_AURA = 0x348E, - CMSG_PET_CAST_SPELL = 0x329D, - CMSG_PET_LEARN_TALENT = 0x3556, - CMSG_PET_RENAME = 0x3682, + CMSG_PET_CAST_SPELL = 0x32A5, + CMSG_PET_LEARN_TALENT = 0x355F, + CMSG_PET_RENAME = 0x3683, CMSG_PET_SET_ACTION = 0x348A, CMSG_PET_SPELL_AUTOCAST = 0x348F, CMSG_PET_STOP_ATTACK = 0x348C, CMSG_PING = 0x377C, - CMSG_CLEAR_TRADE_ITEM = 0x315F, - CMSG_CLIENT_PORT_GRAVEYARD = 0x3529, CMSG_PLAYER_LOGIN = 0x35EA, - CMSG_SAVE_GUILD_EMBLEM = 0x32AA, - CMSG_TABARD_VENDOR_ACTIVATE = 0x32AB, - CMSG_VIOLENCE_LEVEL = 0x3189, CMSG_PUSH_QUEST_TO_PARTY = 0x349F, - CMSG_PVP_LOG_DATA = 0x3181, - CMSG_QUERY_ARENA_TEAM = 0x36A0, - CMSG_QUERY_BATTLE_PET_NAME = 0x3278, - CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x365E, - CMSG_QUERY_CORPSE_TRANSPORT = 0x365F, - CMSG_QUERY_COUNTDOWN_TIMER = 0x31AC, - CMSG_QUERY_CREATURE = 0x3272, - CMSG_QUERY_GAME_OBJECT = 0x3273, - CMSG_QUERY_GUILD_INFO = 0x3687, - CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x3500, - CMSG_QUERY_NEXT_MAIL_TIME = 0x353B, - CMSG_QUERY_NPC_TEXT = 0x3274, - CMSG_QUERY_PAGE_TEXT = 0x3276, - CMSG_QUERY_PETITION = 0x3279, - CMSG_QUERY_PET_NAME = 0x3277, + CMSG_PVP_LOG_DATA = 0x317E, + CMSG_QUERY_ARENA_TEAM = 0x36A2, + CMSG_QUERY_BATTLE_PET_NAME = 0x327E, + CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT = 0x365F, + CMSG_QUERY_CORPSE_TRANSPORT = 0x3660, + CMSG_QUERY_COUNTDOWN_TIMER = 0x31A9, + CMSG_QUERY_CREATURE = 0x3278, + CMSG_QUERY_GAME_OBJECT = 0x3279, + CMSG_QUERY_GUILD_INFO = 0x3688, + CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x3509, + CMSG_QUERY_NEXT_MAIL_TIME = 0x3544, + CMSG_QUERY_NPC_TEXT = 0x327A, + CMSG_QUERY_PAGE_TEXT = 0x327C, + CMSG_QUERY_PETITION = 0x327F, + CMSG_QUERY_PET_NAME = 0x327D, CMSG_QUERY_PLAYER_NAMES = 0x3786, CMSG_QUERY_PLAYER_NAMES_FOR_COMMUNITY = 0x3784, CMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID = 0x3783, - CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3179, - CMSG_QUERY_QUEST_INFO = 0x3275, - CMSG_QUERY_QUEST_ITEM_USABILITY = 0x317A, - CMSG_QUERY_REALM_NAME = 0x3686, - CMSG_QUERY_TIME = 0x34D5, - CMSG_QUERY_TREASURE_PICKER = 0x32DD, - CMSG_QUERY_VOID_STORAGE = 0x31A5, + CMSG_QUERY_QUEST_COMPLETION_NPCS = 0x3176, + CMSG_QUERY_QUEST_INFO = 0x327B, + CMSG_QUERY_QUEST_ITEM_USABILITY = 0x3177, + CMSG_QUERY_REALM_NAME = 0x3687, + CMSG_QUERY_TIME = 0x34DF, + CMSG_QUERY_TREASURE_PICKER = 0x32E8, + CMSG_QUERY_VOID_STORAGE = 0x31A2, CMSG_QUEST_CONFIRM_ACCEPT = 0x349E, CMSG_QUEST_GIVER_ACCEPT_QUEST = 0x3498, CMSG_QUEST_GIVER_CHOOSE_REWARD = 0x349A, - CMSG_QUEST_GIVER_CLOSE_QUEST = 0x354B, + CMSG_QUEST_GIVER_CLOSE_QUEST = 0x3554, CMSG_QUEST_GIVER_COMPLETE_QUEST = 0x3499, CMSG_QUEST_GIVER_HELLO = 0x3496, CMSG_QUEST_GIVER_QUERY_QUEST = 0x3497, CMSG_QUEST_GIVER_REQUEST_REWARD = 0x349B, CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY = 0x349D, CMSG_QUEST_GIVER_STATUS_QUERY = 0x349C, - CMSG_QUEST_GIVER_STATUS_TRACKED_QUERY = 0x356E, - CMSG_QUEST_LOG_REMOVE_QUEST = 0x3530, - CMSG_QUEST_POI_QUERY = 0x36AE, + CMSG_QUEST_GIVER_STATUS_TRACKED_QUERY = 0x3577, + CMSG_QUEST_LOG_REMOVE_QUEST = 0x3539, + CMSG_QUEST_POI_QUERY = 0x36B0, CMSG_QUEST_PUSH_RESULT = 0x34A0, CMSG_QUEUED_MESSAGES_END = 0x3780, - CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x3709, - CMSG_QUICK_JOIN_REQUEST_INVITE = 0x3708, - CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3707, - CMSG_RANDOM_ROLL = 0x3653, - CMSG_READY_CHECK_RESPONSE = 0x3632, - CMSG_READ_ITEM = 0x32C8, + CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS = 0x370B, + CMSG_QUICK_JOIN_REQUEST_INVITE = 0x370A, + CMSG_QUICK_JOIN_RESPOND_TO_INVITE = 0x3709, + CMSG_RANDOM_ROLL = 0x3654, + CMSG_READY_CHECK_RESPONSE = 0x3633, + CMSG_READ_ITEM = 0x32D3, + CMSG_RECLAIM_CORPSE = 0x34E4, CMSG_REFORGE_ITEM = 0x3156, - CMSG_RECLAIM_CORPSE = 0x34DB, - CMSG_REMOVE_GLYPH = 0x3301, - CMSG_REMOVE_NEW_ITEM = 0x32E0, + CMSG_REMOVE_GLYPH = 0x330C, + CMSG_REMOVE_NEW_ITEM = 0x32EB, CMSG_REORDER_CHARACTERS = 0x35E9, - CMSG_REPAIR_ITEM = 0x34EC, - CMSG_REPOP_REQUEST = 0x3528, - CMSG_REPORT_CLIENT_VARIABLES = 0x3703, - CMSG_REPORT_ENABLED_ADDONS = 0x3702, - CMSG_REPORT_FROZEN_WHILE_LOADING_MAP = 0x36A6, - CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x3704, - CMSG_REPORT_PVP_PLAYER_AFK = 0x34F4, - CMSG_REPORT_SERVER_LAG = 0x32FC, - CMSG_REQUEST_ACCOUNT_DATA = 0x3690, - CMSG_REQUEST_AREA_POI_UPDATE = 0x32DF, + CMSG_REPAIR_ITEM = 0x34F5, + CMSG_REPOP_REQUEST = 0x3531, + CMSG_REPORT_CLIENT_VARIABLES = 0x3705, + CMSG_REPORT_ENABLED_ADDONS = 0x3704, + CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS = 0x3706, + CMSG_REPORT_PVP_PLAYER_AFK = 0x34FD, + CMSG_REPORT_SERVER_LAG = 0x3307, + CMSG_REQUEST_ACCOUNT_DATA = 0x3692, + CMSG_REQUEST_AREA_POI_UPDATE = 0x32EA, CMSG_REQUEST_BATTLEFIELD_STATUS = 0x35DC, - CMSG_REQUEST_CEMETERY_LIST = 0x317B, - CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x352C, - CMSG_REQUEST_FORCED_REACTIONS = 0x3207, - CMSG_REQUEST_GUILD_PARTY_STATE = 0x31AB, - CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31AA, - CMSG_REQUEST_HONOR_STATS = 0x3180, - CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32A6, + CMSG_REQUEST_CEMETERY_LIST = 0x3178, + CMSG_REQUEST_CROWD_CONTROL_SPELL = 0x3535, + CMSG_REQUEST_GUILD_PARTY_STATE = 0x31A8, + CMSG_REQUEST_GUILD_REWARDS_LIST = 0x31A7, + CMSG_REQUEST_HONOR_STATS = 0x317D, + CMSG_REQUEST_LFG_LIST_BLACKLIST = 0x32AF, CMSG_REQUEST_PARTY_JOIN_UPDATES = 0x35F7, - CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3652, + CMSG_REQUEST_PARTY_MEMBER_STATS = 0x3653, CMSG_REQUEST_PET_INFO = 0x3490, - CMSG_REQUEST_PLAYED_TIME = 0x327C, - CMSG_REQUEST_PVP_REWARDS = 0x3198, - CMSG_REQUEST_RAID_INFO = 0x36CE, + CMSG_REQUEST_PLAYED_TIME = 0x3282, + CMSG_REQUEST_PVP_REWARDS = 0x3195, + CMSG_REQUEST_RAID_INFO = 0x36D0, CMSG_REQUEST_RATED_PVP_INFO = 0x35E3, - CMSG_REQUEST_SCHEDULED_PVP_INFO = 0x3199, + CMSG_REQUEST_SCHEDULED_PVP_INFO = 0x3196, CMSG_REQUEST_STABLED_PETS = 0x3491, - CMSG_REQUEST_VEHICLE_EXIT = 0x3239, - CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x323B, - CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x323A, - CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x323C, - CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x32DE, - CMSG_RESET_INSTANCES = 0x3666, - CMSG_RESURRECT_RESPONSE = 0x3681, - CMSG_RIDE_VEHICLE_INTERACT = 0x323D, - CMSG_SAVE_ACCOUNT_DATA_EXPORT = 0x374D, - CMSG_SAVE_CUF_PROFILES = 0x3190, - CMSG_SAVE_EQUIPMENT_SET = 0x3509, + CMSG_REQUEST_VEHICLE_EXIT = 0x323E, + CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x3240, + CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x323F, + CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 0x3241, + CMSG_REQUEST_WORLD_QUEST_UPDATE = 0x32E9, + CMSG_RESET_INSTANCES = 0x3667, + CMSG_RESURRECT_RESPONSE = 0x3682, + CMSG_RIDE_VEHICLE_INTERACT = 0x3242, + CMSG_SAVE_ACCOUNT_DATA_EXPORT = 0x374F, + CMSG_SAVE_CUF_PROFILES = 0x318D, + CMSG_SAVE_EQUIPMENT_SET = 0x3512, + CMSG_SAVE_GUILD_EMBLEM = 0x32B3, CMSG_SCENE_PLAYBACK_CANCELED = 0x3222, CMSG_SCENE_PLAYBACK_COMPLETE = 0x3221, CMSG_SCENE_TRIGGER_EVENT = 0x3223, - CMSG_SELF_RES = 0x3533, + CMSG_SEAMLESS_TRANSFER_COMPLETE = 0x331E, + CMSG_SELF_RES = 0x353C, CMSG_SELL_ITEM = 0x34A2, - CMSG_SEND_CONTACT_LIST = 0x36D3, + CMSG_SEND_CONTACT_LIST = 0x36D5, CMSG_SEND_MAIL = 0x35FA, CMSG_SEND_TEXT_EMOTE = 0x3488, - CMSG_SERVER_TIME_OFFSET_REQUEST = 0x3698, - CMSG_SET_ACTION_BAR_TOGGLES = 0x3534, - CMSG_SET_ACTION_BUTTON = 0x3560, - CMSG_SET_ACTIVE_MOVER = 0x3A3C, - CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32B6, - CMSG_SET_AMMO = 0x3561, - CMSG_SET_ASSISTANT_LEADER = 0x364E, - CMSG_SET_CONTACT_NOTES = 0x36D6, - CMSG_SET_CURRENCY_FLAGS = 0x316E, + CMSG_SERVER_TIME_OFFSET_REQUEST = 0x369A, + CMSG_SET_ACTION_BAR_TOGGLES = 0x353D, + CMSG_SET_ACTION_BUTTON = 0x3569, + CMSG_SET_ACTIVE_MOVER = 0x3A3D, + CMSG_SET_ADVANCED_COMBAT_LOGGING = 0x32BF, + CMSG_SET_AMMO = 0x356A, + CMSG_SET_ASSISTANT_LEADER = 0x364F, + CMSG_SET_CONTACT_NOTES = 0x36D8, + CMSG_SET_CURRENCY_FLAGS = 0x316B, CMSG_SET_DIFFICULTY_ID = 0x3224, - CMSG_SET_DUNGEON_DIFFICULTY = 0x3680, - CMSG_SET_EVERYONE_IS_ASSISTANT = 0x3619, - CMSG_SET_FACTION_AT_WAR = 0x34DE, - CMSG_SET_FACTION_INACTIVE = 0x34E0, - CMSG_SET_FACTION_NOT_AT_WAR = 0x34DF, - CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31BB, - CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x32CB, - CMSG_SET_LOOT_METHOD = 0x3647, - CMSG_SET_PARTY_ASSIGNMENT = 0x3650, - CMSG_SET_PARTY_LEADER = 0x3649, - CMSG_SET_PET_SLOT = 0x316D, - CMSG_SET_PLAYER_DECLINED_NAMES = 0x3685, - CMSG_SET_PREFERRED_CEMETERY = 0x317C, - CMSG_SET_PRIMARY_TALENT_TREE = 0x3559, - CMSG_SET_PVP = 0x32AE, - CMSG_SET_RAID_DIFFICULTY = 0x36DF, + CMSG_SET_DUNGEON_DIFFICULTY = 0x3681, + CMSG_SET_EVERYONE_IS_ASSISTANT = 0x361A, + CMSG_SET_FACTION_AT_WAR = 0x34E7, + CMSG_SET_FACTION_INACTIVE = 0x34E9, + CMSG_SET_FACTION_NOT_AT_WAR = 0x34E8, + CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE = 0x31B8, + CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT = 0x32D6, + CMSG_SET_LOOT_METHOD = 0x3648, + CMSG_SET_PARTY_ASSIGNMENT = 0x3651, + CMSG_SET_PARTY_LEADER = 0x364A, + CMSG_SET_PET_SLOT = 0x316A, + CMSG_SET_PLAYER_DECLINED_NAMES = 0x3686, + CMSG_SET_PREFERRED_CEMETERY = 0x3179, + CMSG_SET_PRIMARY_TALENT_TREE = 0x3562, + CMSG_SET_PVP = 0x32B7, + CMSG_SET_RAID_DIFFICULTY = 0x36E1, CMSG_SET_ROLE = 0x35D9, - CMSG_SET_SELECTION = 0x352A, + CMSG_SET_SELECTION = 0x3533, CMSG_SET_SHEATHED = 0x3489, - CMSG_SET_TAXI_BENCHMARK_MODE = 0x34F3, - CMSG_SET_TITLE = 0x3280, + CMSG_SET_TAXI_BENCHMARK_MODE = 0x34FC, + CMSG_SET_TITLE = 0x3286, CMSG_SET_TRADE_GOLD = 0x3160, CMSG_SET_TRADE_ITEM = 0x315E, - CMSG_SET_WATCHED_FACTION = 0x34E1, - CMSG_SHOWING_CLOAK = 0x356C, - CMSG_SHOWING_HELM = 0x356B, - CMSG_SHOW_TRADE_SKILL = 0x36C6, - CMSG_SIGN_PETITION = 0x3535, - CMSG_SILENCE_PARTY_TALKER = 0x3651, - CMSG_SOCIAL_CONTRACT_REQUEST = 0x3748, - CMSG_SOCKET_GEMS = 0x34EB, - CMSG_SPAWN_TRACKING_UPDATE = 0x3294, + CMSG_SET_WATCHED_FACTION = 0x34EA, + CMSG_SHOWING_CLOAK = 0x3575, + CMSG_SHOWING_HELM = 0x3574, + CMSG_SHOW_TRADE_SKILL = 0x36C8, + CMSG_SIGN_PETITION = 0x353E, + CMSG_SILENCE_PARTY_TALKER = 0x3652, + CMSG_SOCIAL_CONTRACT_REQUEST = 0x374A, + CMSG_SOCKET_GEMS = 0x34F4, + CMSG_SPAWN_TRACKING_UPDATE = 0x329A, CMSG_SPELL_CLICK = 0x3495, CMSG_SPIRIT_HEALER_ACTIVATE = 0x34AF, CMSG_SPLIT_GUILD_BANK_ITEM = 0x34C1, @@ -670,295 +667,140 @@ enum OpcodeClient : uint16 CMSG_SPLIT_ITEM = 0x399C, CMSG_SPLIT_ITEM_TO_GUILD_BANK = 0x34BC, CMSG_STABLE_PET = 0x3169, - CMSG_STABLE_SWAP_PET = 0x316B, - CMSG_STAND_STATE_CHANGE = 0x318E, + CMSG_STAND_STATE_CHANGE = 0x318B, CMSG_START_SPECTATOR_WAR_GAME = 0x35DF, CMSG_START_WAR_GAME = 0x35DE, CMSG_STORE_GUILD_BANK_ITEM = 0x34B7, - CMSG_SUBMIT_USER_FEEDBACK = 0x368F, - CMSG_SUMMON_RESPONSE = 0x3668, - CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x3644, - CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3643, - CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x3645, + CMSG_SUBMIT_USER_FEEDBACK = 0x3691, + CMSG_SUMMON_RESPONSE = 0x3669, + CMSG_SUPPORT_TICKET_SUBMIT_BUG = 0x3645, + CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT = 0x3644, + CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION = 0x3646, CMSG_SUSPEND_COMMS_ACK = 0x3778, CMSG_SUSPEND_TOKEN_RESPONSE = 0x377E, CMSG_SWAP_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM = 0x34B9, CMSG_SWAP_INV_ITEM = 0x399B, CMSG_SWAP_ITEM = 0x399A, CMSG_SWAP_ITEM_WITH_GUILD_BANK_ITEM = 0x34B8, - CMSG_SWAP_SUB_GROUPS = 0x364C, - CMSG_SWAP_VOID_ITEM = 0x31A7, + CMSG_SWAP_SUB_GROUPS = 0x364D, + CMSG_SWAP_VOID_ITEM = 0x31A4, + CMSG_TABARD_VENDOR_ACTIVATE = 0x32B4, CMSG_TALK_TO_GOSSIP = 0x3492, CMSG_TAXI_NODE_STATUS_QUERY = 0x34A8, CMSG_TAXI_QUERY_AVAILABLE_NODES = 0x34AA, CMSG_TAXI_REQUEST_EARLY_LANDING = 0x34AC, - CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A40, - CMSG_TIME_SYNC_RESPONSE = 0x3A3D, - CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A3F, - CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3E, - CMSG_TOGGLE_DIFFICULTY = 0x3655, - CMSG_TOGGLE_PVP = 0x32AD, - CMSG_TOTEM_DESTROYED = 0x34F8, + CMSG_TIME_ADJUSTMENT_RESPONSE = 0x3A41, + CMSG_TIME_SYNC_RESPONSE = 0x3A3E, + CMSG_TIME_SYNC_RESPONSE_DROPPED = 0x3A40, + CMSG_TIME_SYNC_RESPONSE_FAILED = 0x3A3F, + CMSG_TOGGLE_DIFFICULTY = 0x3656, + CMSG_TOGGLE_PVP = 0x32B6, + CMSG_TOTEM_DESTROYED = 0x3501, CMSG_TOY_CLEAR_FANFARE = 0x3128, CMSG_TRAINER_BUY_SPELL = 0x34AE, CMSG_TRAINER_LIST = 0x34AD, - CMSG_TRAITS_COMMIT_CONFIG = 0x3304, - CMSG_TRANSMOGRIFY_ITEMS = 0x319A, - CMSG_TURN_IN_PETITION = 0x3537, - CMSG_TUTORIAL = 0x36E0, + CMSG_TRAITS_COMMIT_CONFIG = 0x330F, + CMSG_TRANSMOGRIFY_ITEMS = 0x3197, + CMSG_TURN_IN_PETITION = 0x3540, + CMSG_TUTORIAL = 0x36E2, CMSG_UNACCEPT_TRADE = 0x315C, - CMSG_UNDELETE_CHARACTER = 0x36E2, - CMSG_UNLEARN_SKILL = 0x34E5, - CMSG_UNLOCK_VOID_STORAGE = 0x31A4, - CMSG_UNSTABLE_PET = 0x316A, - CMSG_UPDATE_AADC_STATUS = 0x373D, - CMSG_UPDATE_ACCOUNT_DATA = 0x3691, - CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32A0, - CMSG_UPDATE_CLIENT_SETTINGS = 0x3662, - CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A43, - CMSG_UPDATE_RAID_TARGET = 0x364F, - CMSG_UPDATE_SPELL_VISUAL = 0x329F, - CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F7, - CMSG_USED_FOLLOW = 0x318B, - CMSG_USE_CRITTER_ITEM = 0x3243, + CMSG_UNDELETE_CHARACTER = 0x36E4, + CMSG_UNLEARN_SKILL = 0x34EE, + CMSG_UNLOCK_VOID_STORAGE = 0x31A1, + CMSG_UPDATE_AADC_STATUS = 0x373F, + CMSG_UPDATE_ACCOUNT_DATA = 0x3693, + CMSG_UPDATE_AREA_TRIGGER_VISUAL = 0x32A8, + CMSG_UPDATE_CLIENT_SETTINGS = 0x3663, + CMSG_UPDATE_MISSILE_TRAJECTORY = 0x3A44, + CMSG_UPDATE_RAID_TARGET = 0x3650, + CMSG_UPDATE_SPELL_VISUAL = 0x32A7, + CMSG_UPDATE_VAS_PURCHASE_STATES = 0x36F9, + CMSG_USED_FOLLOW = 0x3188, + CMSG_USE_CRITTER_ITEM = 0x3248, CMSG_USE_EQUIPMENT_SET = 0x3995, - CMSG_USE_ITEM = 0x329A, - CMSG_USE_TOY = 0x329C, - CMSG_VAS_CHECK_TRANSFER_OK = 0x370F, - CMSG_VAS_GET_QUEUE_MINUTES = 0x370E, - CMSG_VAS_GET_SERVICE_STATUS = 0x370D, - CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x3713, - CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x3714, - CMSG_VOICE_CHAT_LOGIN = 0x3712, - CMSG_VOID_STORAGE_TRANSFER = 0x31A6, + CMSG_USE_ITEM = 0x32A2, + CMSG_USE_TOY = 0x32A4, + CMSG_VAS_CHECK_TRANSFER_OK = 0x3711, + CMSG_VAS_GET_QUEUE_MINUTES = 0x3710, + CMSG_VAS_GET_SERVICE_STATUS = 0x370F, + CMSG_VIOLENCE_LEVEL = 0x3186, + CMSG_VOICE_CHANNEL_STT_TOKEN_REQUEST = 0x3715, + CMSG_VOICE_CHAT_JOIN_CHANNEL = 0x3716, + CMSG_VOICE_CHAT_LOGIN = 0x3714, + CMSG_VOID_STORAGE_TRANSFER = 0x31A3, CMSG_WARDEN3_DATA = 0x35EC, - CMSG_WHO = 0x367F, - CMSG_WHO_IS = 0x367E, + CMSG_WHO = 0x3680, + CMSG_WHO_IS = 0x367F, CMSG_WORLD_PORT_RESPONSE = 0x35F9, CMSG_WRAP_ITEM = 0x3994, - - // Deleted opcodes, here only to allow compile - CMSG_ABANDON_NPE_RESPONSE = UNKNOWN_OPCODE, - CMSG_ACCEPT_RETURNING_PLAYER_PROMPT = UNKNOWN_OPCODE, - CMSG_ACTIVATE_SOULBIND = UNKNOWN_OPCODE, - CMSG_ADD_ACCOUNT_COSMETIC = UNKNOWN_OPCODE, - CMSG_AUCTION_BROWSE_QUERY = UNKNOWN_OPCODE, - CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE = UNKNOWN_OPCODE, - CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE = UNKNOWN_OPCODE, - CMSG_AUCTION_GET_COMMODITY_QUOTE = UNKNOWN_OPCODE, - CMSG_AUCTION_LIST_BIDDED_ITEMS = UNKNOWN_OPCODE, - CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS = UNKNOWN_OPCODE, - CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY = UNKNOWN_OPCODE, - CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID = UNKNOWN_OPCODE, - CMSG_AUCTION_LIST_OWNED_ITEMS = UNKNOWN_OPCODE, - CMSG_AUCTION_REQUEST_FAVORITE_LIST = UNKNOWN_OPCODE, - CMSG_AUCTION_SELL_COMMODITY = UNKNOWN_OPCODE, - CMSG_AUCTION_SET_FAVORITE_ITEM = UNKNOWN_OPCODE, - CMSG_AUTOBANK_REAGENT = UNKNOWN_OPCODE, - CMSG_AUTOSTORE_BANK_REAGENT = UNKNOWN_OPCODE, - CMSG_BATTLE_PET_DELETE_PET = UNKNOWN_OPCODE, - CMSG_BATTLE_PET_DELETE_PET_CHEAT = UNKNOWN_OPCODE, - CMSG_BATTLE_PET_MODIFY_NAME = UNKNOWN_OPCODE, - CMSG_BATTLEMASTER_JOIN_BRAWL = UNKNOWN_OPCODE, - CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE = UNKNOWN_OPCODE, - CMSG_BLACK_MARKET_BID_ON_ITEM = UNKNOWN_OPCODE, - CMSG_BLACK_MARKET_REQUEST_ITEMS = UNKNOWN_OPCODE, - CMSG_BONUS_ROLL = UNKNOWN_OPCODE, - CMSG_BUY_REAGENT_BANK = UNKNOWN_OPCODE, - CMSG_CAGE_BATTLE_PET = UNKNOWN_OPCODE, - CMSG_CANCEL_CHANNELLING = UNKNOWN_OPCODE, - CMSG_CANCEL_MASTER_LOOT_ROLL = UNKNOWN_OPCODE, - CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS = UNKNOWN_OPCODE, - CMSG_CHALLENGE_MODE_REQUEST_LEADERS = UNKNOWN_OPCODE, - CMSG_CHANGE_BANK_BAG_SLOT_FLAG = UNKNOWN_OPCODE, - CMSG_CHANGE_MONUMENT_APPEARANCE = UNKNOWN_OPCODE, - CMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_REQUEST = UNKNOWN_OPCODE, - CMSG_CHECK_CHARACTER_NAME_AVAILABILITY = UNKNOWN_OPCODE, - CMSG_CHOICE_RESPONSE = UNKNOWN_OPCODE, - CMSG_CHROMIE_TIME_SELECT_EXPANSION = UNKNOWN_OPCODE, - CMSG_CLAIM_WEEKLY_REWARD = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_DELETE_CONFIG = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_NOTIFY_EMPTY_CONFIG = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_NOTIFY_VALIDATION_FAILED = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_RENAME_CONFIG = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_REQUEST_NEW_CONFIG = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_SET_STARTER_BUILD_ACTIVE = UNKNOWN_OPCODE, - CMSG_CLASS_TALENTS_SET_USES_SHARED_ACTION_BARS = UNKNOWN_OPCODE, - CMSG_CLOSE_RUNEFORGE_INTERACTION = UNKNOWN_OPCODE, - CMSG_COMMENTATOR_SPECTATE = UNKNOWN_OPCODE, - CMSG_CONTENT_TRACKING_START_TRACKING = UNKNOWN_OPCODE, - CMSG_CONTENT_TRACKING_STOP_TRACKING = UNKNOWN_OPCODE, - CMSG_CONTRIBUTION_CONTRIBUTE = UNKNOWN_OPCODE, - CMSG_CONVERSATION_CINEMATIC_READY = UNKNOWN_OPCODE, - CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_CANCEL = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_CLAIM = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_CREATE = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_FULFILL = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_LIST_CRAFTER_ORDERS = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_LIST_MY_ORDERS = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_REJECT = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_RELEASE = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_REPORT_PLAYER = UNKNOWN_OPCODE, - CMSG_CRAFTING_ORDER_UPDATE_IGNORE_LIST = UNKNOWN_OPCODE, - CMSG_CREATE_SHIPMENT = UNKNOWN_OPCODE, - CMSG_DEPOSIT_REAGENT_BANK = UNKNOWN_OPCODE, - CMSG_DF_CONFIRM_EXPAND_SEARCH = UNKNOWN_OPCODE, - CMSG_DO_MASTER_LOOT_ROLL = UNKNOWN_OPCODE, - CMSG_GET_LANDING_PAGE_SHIPMENTS = UNKNOWN_OPCODE, - CMSG_GET_RAF_ACCOUNT_INFO = UNKNOWN_OPCODE, - CMSG_GET_TROPHY_LIST = UNKNOWN_OPCODE, - CMSG_GOSSIP_REFRESH_OPTIONS = UNKNOWN_OPCODE, - CMSG_HIDE_QUEST_CHOICE = UNKNOWN_OPCODE, - CMSG_ISLAND_QUEUE = UNKNOWN_OPCODE, - CMSG_JOIN_PET_BATTLE_QUEUE = UNKNOWN_OPCODE, - CMSG_LEARN_PVP_TALENTS = UNKNOWN_OPCODE, - CMSG_LEARN_TALENTS = UNKNOWN_OPCODE, - CMSG_LEAVE_PET_BATTLE_QUEUE = UNKNOWN_OPCODE, - CMSG_LIVE_REGION_KEY_BINDINGS_COPY = UNKNOWN_OPCODE, - CMSG_LOAD_SELECTED_TROPHY = UNKNOWN_OPCODE, - CMSG_MOVE_SET_TURN_RATE_CHEAT = UNKNOWN_OPCODE, - CMSG_MYTHIC_PLUS_REQUEST_MAP_STATS = UNKNOWN_OPCODE, - CMSG_NEUTRAL_PLAYER_SELECT_FACTION = UNKNOWN_OPCODE, - CMSG_OPEN_MISSION_NPC = UNKNOWN_OPCODE, - CMSG_OPEN_SHIPMENT_NPC = UNKNOWN_OPCODE, - CMSG_OPEN_TRADESKILL_NPC = UNKNOWN_OPCODE, - CMSG_PERFORM_ITEM_INTERACTION = UNKNOWN_OPCODE, - CMSG_PERKS_PROGRAM_REQUEST_PENDING_REWARDS = UNKNOWN_OPCODE, - CMSG_PERKS_PROGRAM_REQUEST_PURCHASE = UNKNOWN_OPCODE, - CMSG_PERKS_PROGRAM_REQUEST_REFUND = UNKNOWN_OPCODE, - CMSG_PERKS_PROGRAM_SET_FROZEN_VENDOR_ITEM = UNKNOWN_OPCODE, - CMSG_PERKS_PROGRAM_STATUS_REQUEST = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_FINAL_NOTIFY = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_INPUT = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_QUIT_NOTIFY = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_REPLACE_FRONT_PET = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_REQUEST_PVP = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_REQUEST_UPDATE = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_REQUEST_WILD = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY = UNKNOWN_OPCODE, - CMSG_PET_BATTLE_WILD_LOCATION_FAIL = UNKNOWN_OPCODE, - CMSG_QUERY_SCENARIO_POI = UNKNOWN_OPCODE, - CMSG_QUEST_SESSION_BEGIN_RESPONSE = UNKNOWN_OPCODE, - CMSG_QUEST_SESSION_REQUEST_START = UNKNOWN_OPCODE, - CMSG_QUEST_SESSION_REQUEST_STOP = UNKNOWN_OPCODE, - CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION = UNKNOWN_OPCODE, - CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED = UNKNOWN_OPCODE, - CMSG_RAF_CLAIM_ACTIVITY_REWARD = UNKNOWN_OPCODE, - CMSG_RAF_CLAIM_NEXT_REWARD = UNKNOWN_OPCODE, - CMSG_RAF_GENERATE_RECRUITMENT_LINK = UNKNOWN_OPCODE, - CMSG_RAF_UPDATE_RECRUITMENT_INFO = UNKNOWN_OPCODE, - CMSG_REMOVE_RAF_RECRUIT = UNKNOWN_OPCODE, - CMSG_REPLACE_TROPHY = UNKNOWN_OPCODE, - CMSG_REPORT_STUCK_IN_COMBAT = UNKNOWN_OPCODE, - CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO = UNKNOWN_OPCODE, - CMSG_REQUEST_COVENANT_CALLINGS = UNKNOWN_OPCODE, - CMSG_REQUEST_LATEST_SPLASH_SCREEN = UNKNOWN_OPCODE, - CMSG_REQUEST_MYTHIC_PLUS_AFFIXES = UNKNOWN_OPCODE, - CMSG_REQUEST_MYTHIC_PLUS_SEASON_DATA = UNKNOWN_OPCODE, - CMSG_REQUEST_REALM_GUILD_MASTER_INFO = UNKNOWN_OPCODE, - CMSG_REQUEST_WEEKLY_REWARDS = UNKNOWN_OPCODE, - CMSG_RESET_CHALLENGE_MODE = UNKNOWN_OPCODE, - CMSG_RESET_CHALLENGE_MODE_CHEAT = UNKNOWN_OPCODE, - CMSG_REVERT_MONUMENT_APPEARANCE = UNKNOWN_OPCODE, - CMSG_RPE_RESET_CHARACTER = UNKNOWN_OPCODE, - CMSG_SAVE_PERSONAL_EMBLEM = UNKNOWN_OPCODE, - CMSG_SELL_ALL_JUNK_ITEMS = UNKNOWN_OPCODE, - CMSG_SEND_CHARACTER_CLUB_INVITATION = UNKNOWN_OPCODE, - CMSG_SEND_PING_UNIT = UNKNOWN_OPCODE, - CMSG_SEND_PING_WORLD_POINT = UNKNOWN_OPCODE, - CMSG_SET_ACHIEVEMENTS_HIDDEN = UNKNOWN_OPCODE, - CMSG_SET_BACKPACK_AUTOSORT_DISABLED = UNKNOWN_OPCODE, - CMSG_SET_BACKPACK_SELL_JUNK_DISABLED = UNKNOWN_OPCODE, - CMSG_SET_BANK_AUTOSORT_DISABLED = UNKNOWN_OPCODE, - CMSG_SET_EMPOWER_MIN_HOLD_STAGE_PERCENT = UNKNOWN_OPCODE, - CMSG_SET_EXCLUDED_CHAT_CENSOR_SOURCES = UNKNOWN_OPCODE, - CMSG_SET_LOOT_SPECIALIZATION = UNKNOWN_OPCODE, - CMSG_SET_RESTRICT_PINGS_TO_ASSISTANTS = UNKNOWN_OPCODE, - CMSG_SET_SAVED_INSTANCE_EXTEND = UNKNOWN_OPCODE, - CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT = UNKNOWN_OPCODE, - CMSG_SET_TRADE_CURRENCY = UNKNOWN_OPCODE, - CMSG_SET_WAR_MODE = UNKNOWN_OPCODE, - CMSG_SORT_BAGS = UNKNOWN_OPCODE, - CMSG_SORT_BANK_BAGS = UNKNOWN_OPCODE, - CMSG_SORT_REAGENT_BANK_BAGS = UNKNOWN_OPCODE, - CMSG_SPELL_EMPOWER_RELEASE = UNKNOWN_OPCODE, - CMSG_SPELL_EMPOWER_RESTART = UNKNOWN_OPCODE, - CMSG_START_CHALLENGE_MODE = UNKNOWN_OPCODE, - CMSG_SUBSCRIPTION_INTERSTITIAL_RESPONSE = UNKNOWN_OPCODE, - CMSG_SURRENDER_ARENA = UNKNOWN_OPCODE, - CMSG_TRADE_SKILL_SET_FAVORITE = UNKNOWN_OPCODE, - CMSG_TRAITS_TALENT_TEST_UNLEARN_SPELLS = UNKNOWN_OPCODE, - CMSG_UI_MAP_QUEST_LINES_REQUEST = UNKNOWN_OPCODE, - CMSG_UNLEARN_SPECIALIZATION = UNKNOWN_OPCODE, - CMSG_UPDATE_CRAFTING_NPC_RECIPES = UNKNOWN_OPCODE, - CMSG_UPGRADE_RUNEFORGE_LEGENDARY = UNKNOWN_OPCODE, }; enum OpcodeServer : uint16 { - SMSG_ABORT_NEW_WORLD = 0x259A, - SMSG_ACCOUNT_CRITERIA_UPDATE = 0x286A, - SMSG_ACCOUNT_DATA_TIMES = 0x270E, - SMSG_ACCOUNT_EXPORT_RESPONSE = 0x28AB, - SMSG_ACCOUNT_MOUNT_REMOVED = 0x25B1, - SMSG_ACCOUNT_MOUNT_UPDATE = 0x25B0, - SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x2885, - SMSG_ACCOUNT_TOY_UPDATE = 0x25B2, - SMSG_ACHIEVEMENT_DELETED = 0x26EC, - SMSG_ACHIEVEMENT_EARNED = 0x2645, - SMSG_ACTIVATE_TAXI_REPLY = 0x2681, + SMSG_ABORT_NEW_WORLD = 0x259C, + SMSG_ACCOUNT_CHARACTER_CURRENCY_LISTS = 0x2897, + SMSG_ACCOUNT_CRITERIA_UPDATE = 0x2856, + SMSG_ACCOUNT_DATA_TIMES = 0x2711, + SMSG_ACCOUNT_EXPORT_RESPONSE = 0x2888, + SMSG_ACCOUNT_MOUNT_REMOVED = 0x25B3, + SMSG_ACCOUNT_MOUNT_UPDATE = 0x25B2, + SMSG_ACCOUNT_NOTIFICATIONS_RESPONSE = 0x2870, + SMSG_ACCOUNT_TOY_UPDATE = 0x25B4, + SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = 0x25B8, + SMSG_ACCOUNT_TRANSMOG_UPDATE = 0x25B7, + SMSG_ACHIEVEMENT_DELETED = 0x26EF, + SMSG_ACHIEVEMENT_EARNED = 0x2647, + SMSG_ACTIVATE_TAXI_REPLY = 0x2684, SMSG_ACTIVE_GLYPHS = 0x2C53, - SMSG_ADDON_LIST_REQUEST = 0x2644, - SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x263F, - SMSG_ADD_ITEM_PASSIVE = 0x25AC, - SMSG_ADD_LOSS_OF_CONTROL = 0x2675, - SMSG_ADD_RUNE_POWER = 0x26BC, - SMSG_ADJUST_SPLINE_DURATION = 0x25D2, - SMSG_AE_LOOT_TARGETS = 0x261A, - SMSG_AE_LOOT_TARGET_ACK = 0x261B, - SMSG_AI_REACTION = 0x26B9, - SMSG_ALLIED_RACE_DETAILS = 0x27FE, + SMSG_ADDON_LIST_REQUEST = 0x2646, + SMSG_ADD_BATTLENET_FRIEND_RESPONSE = 0x2641, + SMSG_ADD_ITEM_PASSIVE = 0x25AE, + SMSG_ADD_LOSS_OF_CONTROL = 0x2677, + SMSG_ADD_RUNE_POWER = 0x26BF, + SMSG_ADJUST_SPLINE_DURATION = 0x25D4, + SMSG_AE_LOOT_TARGETS = 0x261C, + SMSG_AE_LOOT_TARGET_ACK = 0x261D, + SMSG_AI_REACTION = 0x26BC, + SMSG_ALLIED_RACE_DETAILS = 0x2800, SMSG_ALL_ACCOUNT_CRITERIA = 0x2571, SMSG_ALL_ACHIEVEMENT_DATA = 0x2570, SMSG_ALL_GUILD_ACHIEVEMENTS = 0x29B8, - SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2587, + SMSG_ARCHAEOLOGY_SURVERY_CAST = 0x2589, SMSG_AREA_POI_UPDATE_RESPONSE = 0x3010, - SMSG_AREA_SPIRIT_HEALER_TIME = 0x2744, + SMSG_AREA_SPIRIT_HEALER_TIME = 0x2746, SMSG_AREA_TRIGGER_DENIED = 0x2903, SMSG_AREA_TRIGGER_FORCE_SET_POSITION_AND_FACING = 0x2900, - SMSG_AREA_TRIGGER_MESSAGE = 0x2882, - SMSG_AREA_TRIGGER_NO_CORPSE = 0x271A, + SMSG_AREA_TRIGGER_MESSAGE = 0x286E, + SMSG_AREA_TRIGGER_NO_CORPSE = 0x271D, SMSG_AREA_TRIGGER_RE_PATH = 0x28FD, SMSG_AREA_TRIGGER_RE_SHAPE = 0x2902, SMSG_AREA_TRIGGER_UNATTACH = 0x2901, - SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x2634, - SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x264A, - SMSG_ARENA_TEAM_COMMAND_RESULT = 0x2767, - SMSG_ARENA_TEAM_EVENT = 0x2766, - SMSG_ARENA_TEAM_INVITE = 0x2765, - SMSG_ARENA_TEAM_ROSTER = 0x2764, - SMSG_ARENA_TEAM_STATS = 0x2768, + SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT = 0x2636, + SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS = 0x264C, + SMSG_ARENA_TEAM_COMMAND_RESULT = 0x2769, + SMSG_ARENA_TEAM_EVENT = 0x2768, + SMSG_ARENA_TEAM_INVITE = 0x2767, + SMSG_ARENA_TEAM_ROSTER = 0x2766, + SMSG_ARENA_TEAM_STATS = 0x276A, SMSG_ATTACKER_STATE_UPDATE = 0x2952, SMSG_ATTACK_START = 0x293D, SMSG_ATTACK_STOP = 0x293E, SMSG_ATTACK_SWING_ERROR = 0x294C, SMSG_ATTACK_SWING_LANDED_LOG = 0x294D, - SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x27DA, - SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x27D9, - SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x27D8, - SMSG_AUCTION_CLOSED_NOTIFICATION = 0x26F7, - SMSG_AUCTION_COMMAND_RESULT = 0x26F4, - SMSG_AUCTION_HELLO_RESPONSE = 0x26F2, - SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x287F, - SMSG_AUCTION_LIST_ITEMS_RESULT = 0x2865, - SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x287E, - SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x26F9, - SMSG_AUCTION_OUTBID_NOTIFICATION = 0x26F6, - SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x26F8, - SMSG_AUCTION_REPLICATE_RESPONSE = 0x26F3, - SMSG_AUCTION_WON_NOTIFICATION = 0x26F5, + SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD = 0x27DC, + SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE = 0x27DB, + SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED = 0x27DA, + SMSG_AUCTION_CLOSED_NOTIFICATION = 0x26FA, + SMSG_AUCTION_COMMAND_RESULT = 0x26F7, + SMSG_AUCTION_HELLO_RESPONSE = 0x26F5, + SMSG_AUCTION_LIST_BIDDER_ITEMS_RESULT = 0x286B, + SMSG_AUCTION_LIST_ITEMS_RESULT = 0x2852, + SMSG_AUCTION_LIST_OWNER_ITEMS_RESULT = 0x286A, + SMSG_AUCTION_LIST_PENDING_SALES_RESULT = 0x26FC, + SMSG_AUCTION_OUTBID_NOTIFICATION = 0x26F9, + SMSG_AUCTION_OWNER_BID_NOTIFICATION = 0x26FB, + SMSG_AUCTION_REPLICATE_RESPONSE = 0x26F6, + SMSG_AUCTION_WON_NOTIFICATION = 0x26F8, SMSG_AURA_POINTS_DEPLETED = 0x2C22, SMSG_AURA_UPDATE = 0x2C21, SMSG_AUTH_CHALLENGE = 0x3048, @@ -966,8 +808,8 @@ enum OpcodeServer : uint16 SMSG_AUTH_RESPONSE = 0x256D, SMSG_AVAILABLE_HOTFIXES = 0x290F, SMSG_BAG_CLEANUP_FINISHED = 0x2DA7, - SMSG_BARBER_SHOP_RESULT = 0x26C2, - SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x2848, + SMSG_BARBER_SHOP_RESULT = 0x26C5, + SMSG_BATCH_PRESENCE_SUBSCRIPTION = 0x2834, SMSG_BATTLEFIELD_LIST = 0x2927, SMSG_BATTLEFIELD_PORT_DENIED = 0x292D, SMSG_BATTLEFIELD_STATUS_ACTIVE = 0x2923, @@ -982,107 +824,108 @@ enum OpcodeServer : uint16 SMSG_BATTLEGROUND_PLAYER_LEFT = 0x292C, SMSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2928, SMSG_BATTLEGROUND_POINTS = 0x294E, - SMSG_BATTLENET_CHALLENGE_ABORT = 0x2793, - SMSG_BATTLENET_CHALLENGE_START = 0x2792, - SMSG_BATTLENET_NOTIFICATION = 0x280A, - SMSG_BATTLENET_RESPONSE = 0x2809, - SMSG_BATTLE_NET_CONNECTION_STATUS = 0x280B, - SMSG_BATTLE_PAY_ACK_FAILED = 0x278C, - SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x2781, - SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x2782, - SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x278B, - SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x277F, - SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x277E, - SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x288A, - SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x277C, - SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x277D, - SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x277B, - SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x2779, - SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x277A, - SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x2780, - SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x278A, - SMSG_BATTLE_PAY_START_CHECKOUT = 0x2826, - SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x2788, - SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x2787, - SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x281A, - SMSG_BATTLE_PETS_HEALED = 0x25F5, - SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x267C, - SMSG_BATTLE_PET_DELETED = 0x25F2, - SMSG_BATTLE_PET_ERROR = 0x263A, - SMSG_BATTLE_PET_JOURNAL = 0x25F1, - SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x25EF, - SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x25F0, - SMSG_BATTLE_PET_RESTORED = 0x25F4, - SMSG_BATTLE_PET_REVOKED = 0x25F3, - SMSG_BATTLE_PET_TRAP_LEVEL = 0x25ED, - SMSG_BATTLE_PET_UPDATES = 0x25EC, + SMSG_BATTLENET_CHALLENGE_ABORT = 0x2795, + SMSG_BATTLENET_CHALLENGE_START = 0x2794, + SMSG_BATTLENET_NOTIFICATION = 0x280C, + SMSG_BATTLENET_RESPONSE = 0x280B, + SMSG_BATTLE_NET_CONNECTION_STATUS = 0x280D, + SMSG_BATTLE_PAY_ACK_FAILED = 0x278E, + SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED = 0x2783, + SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED = 0x2784, + SMSG_BATTLE_PAY_CONFIRM_PURCHASE = 0x278D, + SMSG_BATTLE_PAY_DELIVERY_ENDED = 0x2781, + SMSG_BATTLE_PAY_DELIVERY_STARTED = 0x2780, + SMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_VAS_RESPONSE = 0x2875, + SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED = 0x277E, + SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE = 0x277F, + SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE = 0x277D, + SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE = 0x277B, + SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE = 0x277C, + SMSG_BATTLE_PAY_MOUNT_DELIVERED = 0x2782, + SMSG_BATTLE_PAY_PURCHASE_UPDATE = 0x278C, + SMSG_BATTLE_PAY_START_CHECKOUT = 0x2828, + SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE = 0x278A, + SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE = 0x2789, + SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE = 0x281C, + SMSG_BATTLE_PETS_HEALED = 0x25F7, + SMSG_BATTLE_PET_CAGE_DATE_ERROR = 0x267F, + SMSG_BATTLE_PET_DELETED = 0x25F4, + SMSG_BATTLE_PET_ERROR = 0x263C, + SMSG_BATTLE_PET_JOURNAL = 0x25F3, + SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED = 0x25F1, + SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED = 0x25F2, + SMSG_BATTLE_PET_RESTORED = 0x25F6, + SMSG_BATTLE_PET_REVOKED = 0x25F5, + SMSG_BATTLE_PET_TRAP_LEVEL = 0x25EF, + SMSG_BATTLE_PET_UPDATES = 0x25EE, SMSG_BIND_POINT_UPDATE = 0x257D, - SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x262A, - SMSG_BLACK_MARKET_OUTBID = 0x262B, - SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x2629, - SMSG_BLACK_MARKET_WON = 0x262C, - SMSG_BONUS_ROLL_EMPTY = 0x2647, + SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT = 0x262C, + SMSG_BLACK_MARKET_OUTBID = 0x262D, + SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT = 0x262B, + SMSG_BLACK_MARKET_WON = 0x262E, + SMSG_BONUS_ROLL_EMPTY = 0x2649, SMSG_BOSS_KILL = 0x2951, SMSG_BREAK_TARGET = 0x293C, SMSG_BROADCAST_ACHIEVEMENT = 0x2BBC, SMSG_BROADCAST_LEVELUP = 0x2BBD, - SMSG_BUY_FAILED = 0x26CB, - SMSG_BUY_SUCCEEDED = 0x26CA, + SMSG_BUY_FAILED = 0x26CE, + SMSG_BUY_SUCCEEDED = 0x26CD, SMSG_CACHE_INFO = 0x291D, SMSG_CACHE_VERSION = 0x291C, - SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x26A1, - SMSG_CALENDAR_COMMAND_RESULT = 0x26A2, - SMSG_CALENDAR_COMMUNITY_INVITE = 0x2691, - SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x2699, - SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x269A, - SMSG_CALENDAR_INVITE_ADDED = 0x2692, - SMSG_CALENDAR_INVITE_ALERT = 0x2696, - SMSG_CALENDAR_INVITE_NOTES = 0x269B, - SMSG_CALENDAR_INVITE_NOTES_ALERT = 0x269C, - SMSG_CALENDAR_INVITE_REMOVED = 0x2693, - SMSG_CALENDAR_INVITE_REMOVED_ALERT = 0x2698, - SMSG_CALENDAR_INVITE_STATUS = 0x2694, - SMSG_CALENDAR_INVITE_STATUS_ALERT = 0x2697, - SMSG_CALENDAR_MODERATOR_STATUS = 0x2695, - SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x269D, - SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x269E, - SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x269F, - SMSG_CALENDAR_SEND_CALENDAR = 0x268F, - SMSG_CALENDAR_SEND_EVENT = 0x2690, - SMSG_CALENDAR_SEND_NUM_PENDING = 0x26A0, - SMSG_CAMERA_EFFECT = 0x272A, - SMSG_CANCEL_AUTO_REPEAT = 0x26E2, + SMSG_CALENDAR_CLEAR_PENDING_ACTION = 0x26A4, + SMSG_CALENDAR_COMMAND_RESULT = 0x26A5, + SMSG_CALENDAR_COMMUNITY_INVITE = 0x2694, + SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x269C, + SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x269D, + SMSG_CALENDAR_INVITE_ADDED = 0x2695, + SMSG_CALENDAR_INVITE_ALERT = 0x2699, + SMSG_CALENDAR_INVITE_NOTES = 0x269E, + SMSG_CALENDAR_INVITE_NOTES_ALERT = 0x269F, + SMSG_CALENDAR_INVITE_REMOVED = 0x2696, + SMSG_CALENDAR_INVITE_REMOVED_ALERT = 0x269B, + SMSG_CALENDAR_INVITE_STATUS = 0x2697, + SMSG_CALENDAR_INVITE_STATUS_ALERT = 0x269A, + SMSG_CALENDAR_MODERATOR_STATUS = 0x2698, + SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x26A0, + SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x26A1, + SMSG_CALENDAR_RAID_LOCKOUT_UPDATED = 0x26A2, + SMSG_CALENDAR_SEND_CALENDAR = 0x2692, + SMSG_CALENDAR_SEND_EVENT = 0x2693, + SMSG_CALENDAR_SEND_NUM_PENDING = 0x26A3, + SMSG_CAMERA_EFFECT = 0x272C, + SMSG_CANCEL_AUTO_REPEAT = 0x26E5, SMSG_CANCEL_COMBAT = 0x294B, SMSG_CANCEL_ORPHAN_SPELL_VISUAL = 0x2C45, - SMSG_CANCEL_PRELOAD_WORLD = 0x2598, - SMSG_CANCEL_SCENE = 0x2639, + SMSG_CANCEL_PRELOAD_WORLD = 0x259A, + SMSG_CANCEL_SCENE = 0x263B, SMSG_CANCEL_SPELL_VISUAL = 0x2C43, SMSG_CANCEL_SPELL_VISUAL_KIT = 0x2C47, SMSG_CAN_DUEL_RESULT = 0x2947, - SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x2819, + SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE = 0x281B, SMSG_CAST_FAILED = 0x2C56, SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT = 0x3004, - SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x280C, + SMSG_CHANGE_REALM_TICKET_RESPONSE = 0x280E, SMSG_CHANNEL_LIST = 0x2BC4, SMSG_CHANNEL_NOTIFY = 0x2BC1, SMSG_CHANNEL_NOTIFY_JOINED = 0x2BC2, SMSG_CHANNEL_NOTIFY_LEFT = 0x2BC3, - SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x27C5, - SMSG_CHARACTER_LOGIN_FAILED = 0x2709, - SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x2791, - SMSG_CHARACTER_RENAME_RESULT = 0x276B, - SMSG_CHARACTER_UPGRADE_ABORTED = 0x27C4, - SMSG_CHARACTER_UPGRADE_COMPLETE = 0x27C3, - SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x27C6, - SMSG_CHARACTER_UPGRADE_STARTED = 0x27C2, - SMSG_CHAR_CUSTOMIZE_FAILURE = 0x26E6, - SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x26E7, - SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27AF, + SMSG_CHARACTER_CHECK_UPGRADE_RESULT = 0x27C7, + SMSG_CHARACTER_LOGIN_FAILED = 0x270C, + SMSG_CHARACTER_OBJECT_TEST_RESPONSE = 0x2793, + SMSG_CHARACTER_RENAME_RESULT = 0x276D, + SMSG_CHARACTER_UPGRADE_ABORTED = 0x27C6, + SMSG_CHARACTER_UPGRADE_COMPLETE = 0x27C5, + SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT = 0x27C8, + SMSG_CHARACTER_UPGRADE_STARTED = 0x27C4, + SMSG_CHAR_CUSTOMIZE_FAILURE = 0x26E9, + SMSG_CHAR_CUSTOMIZE_SUCCESS = 0x26EA, + SMSG_CHAR_FACTION_CHANGE_RESULT = 0x27B1, SMSG_CHAT = 0x2BAD, SMSG_CHAT_AUTO_RESPONDED = 0x2BB8, SMSG_CHAT_DOWN = 0x2BBE, SMSG_CHAT_IGNORED_ACCOUNT_MUTED = 0x2BAC, SMSG_CHAT_IS_DOWN = 0x2BBF, + SMSG_CHAT_NOT_IN_GUILD = 0x2BCC, SMSG_CHAT_NOT_IN_PARTY = 0x2BB2, SMSG_CHAT_PLAYER_AMBIGUOUS = 0x2BB0, SMSG_CHAT_PLAYER_NOTFOUND = 0x2BB7, @@ -1090,66 +933,74 @@ enum OpcodeServer : uint16 SMSG_CHAT_RESTRICTED = 0x2BB3, SMSG_CHAT_SERVER_MESSAGE = 0x2BC5, SMSG_CHEAT_IGNORE_DIMISHING_RETURNS = 0x2C12, - SMSG_CHECK_WARGAME_ENTRY = 0x2592, + SMSG_CHECK_WARGAME_ENTRY = 0x2594, SMSG_CLEAR_ALL_SPELL_CHARGES = 0x2C26, - SMSG_CLEAR_BOSS_EMOTES = 0x25BD, - SMSG_CLEAR_COOLDOWN = 0x26BE, + SMSG_CLEAR_BOSS_EMOTES = 0x25BF, + SMSG_CLEAR_COOLDOWN = 0x26C1, SMSG_CLEAR_COOLDOWNS = 0x2C25, SMSG_CLEAR_SPELL_CHARGES = 0x2C27, SMSG_CLEAR_TARGET = 0x2948, - SMSG_COIN_REMOVED = 0x2619, + SMSG_CLUB_FINDER_ERROR_MESSAGE = 0x283F, + SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = 0x2842, + SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = 0x2840, + SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = 0x283D, + SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = 0x2841, + SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = 0x283E, + SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = 0x2879, + SMSG_COIN_REMOVED = 0x261B, SMSG_COMBAT_EVENT_FAILED = 0x293F, - SMSG_COMMENTATOR_MAP_INFO = 0x270B, - SMSG_COMMENTATOR_PLAYER_INFO = 0x270C, - SMSG_COMMENTATOR_STATE_CHANGED = 0x270A, - SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x27D5, - SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x27E1, - SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x27D7, - SMSG_COMMERCE_TOKEN_UPDATE = 0x27D6, - SMSG_COMPLAINT_RESULT = 0x26AF, - SMSG_CONFIRM_BARBERS_CHOICE = 0x26C1, - SMSG_CONFIRM_PARTY_INVITE = 0x2818, + SMSG_COMMENTATOR_MAP_INFO = 0x270E, + SMSG_COMMENTATOR_PLAYER_INFO = 0x270F, + SMSG_COMMENTATOR_STATE_CHANGED = 0x270D, + SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE = 0x27D7, + SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE = 0x27E3, + SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE = 0x27D9, + SMSG_COMMERCE_TOKEN_UPDATE = 0x27D8, + SMSG_COMPLAINT_RESULT = 0x26B2, + SMSG_CONFIRM_BARBERS_CHOICE = 0x26C4, + SMSG_CONFIRM_PARTY_INVITE = 0x281A, SMSG_CONNECT_TO = 0x304D, - SMSG_CONSOLE_WRITE = 0x2637, - SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x27DD, - SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x27DC, - SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x27DB, - SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x27DF, - SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x27E0, - SMSG_CONTACT_LIST = 0x278F, - SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x281F, - SMSG_CONTROL_UPDATE = 0x2649, + SMSG_CONSOLE_WRITE = 0x2639, + SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE = 0x27DF, + SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED = 0x27DE, + SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE = 0x27DD, + SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED = 0x27E1, + SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE = 0x27E2, + SMSG_CONTACT_LIST = 0x2791, + SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE = 0x2821, + SMSG_CONTROL_UPDATE = 0x264B, SMSG_CONVERT_RUNE = 0x2C5F, - SMSG_COOLDOWN_CHEAT = 0x273D, - SMSG_COOLDOWN_EVENT = 0x26BD, - SMSG_CORPSE_LOCATION = 0x2651, - SMSG_CORPSE_RECLAIM_DELAY = 0x274E, - SMSG_CORPSE_TRANSPORT_QUERY = 0x2716, - SMSG_CREATE_CHAR = 0x2705, - SMSG_CRITERIA_DELETED = 0x26EB, - SMSG_CRITERIA_UPDATE = 0x26E5, - SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26C6, - SMSG_CUSTOM_LOAD_SCREEN = 0x25CD, + SMSG_COOLDOWN_CHEAT = 0x273F, + SMSG_COOLDOWN_EVENT = 0x26C0, + SMSG_CORPSE_LOCATION = 0x2653, + SMSG_CORPSE_RECLAIM_DELAY = 0x2750, + SMSG_CORPSE_TRANSPORT_QUERY = 0x2719, + SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = 0x2AA4, + SMSG_CREATE_CHAR = 0x2708, + SMSG_CRITERIA_DELETED = 0x26EE, + SMSG_CRITERIA_UPDATE = 0x26E8, + SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x26C9, + SMSG_CUSTOM_LOAD_SCREEN = 0x25CF, SMSG_DAILY_QUESTS_RESET = 0x2A80, SMSG_DAMAGE_CALC_LOG = 0x2C61, SMSG_DB_REPLY = 0x290E, - SMSG_DEATH_RELEASE_LOC = 0x26D7, - SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE = 0x2659, + SMSG_DEATH_RELEASE_LOC = 0x26DA, + SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE = 0x265B, SMSG_DEFENSE_MESSAGE = 0x2BB6, - SMSG_DELETE_CHAR = 0x2706, - SMSG_DESTROY_ARENA_UNIT = 0x2746, - SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x26FD, - SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258A, - SMSG_DISENCHANT_CREDIT = 0x25A9, - SMSG_DISMOUNT = 0x26B5, + SMSG_DELETE_CHAR = 0x2709, + SMSG_DESTROY_ARENA_UNIT = 0x2748, + SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x2700, + SMSG_DIFFERENT_INSTANCE_FROM_PARTY = 0x258C, + SMSG_DISENCHANT_CREDIT = 0x25AB, + SMSG_DISMOUNT = 0x26B8, SMSG_DISMOUNT_RESULT = 0x257C, SMSG_DISPEL_FAILED = 0x2C2F, - SMSG_DISPLAY_GAME_ERROR = 0x259F, + SMSG_DISPLAY_GAME_ERROR = 0x25A1, SMSG_DISPLAY_PLAYER_CHOICE = 0x2FFC, - SMSG_DISPLAY_PROMOTION = 0x264E, + SMSG_DISPLAY_PROMOTION = 0x2650, SMSG_DISPLAY_QUEST_POPUP = 0x2A9E, - SMSG_DISPLAY_TOAST = 0x2626, - SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25E3, + SMSG_DISPLAY_TOAST = 0x2628, + SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR = 0x25E5, SMSG_DROP_NEW_CONNECTION = 0x304C, SMSG_DUEL_ARRANGED = 0x2941, SMSG_DUEL_COMPLETE = 0x2945, @@ -1158,177 +1009,179 @@ enum OpcodeServer : uint16 SMSG_DUEL_OUT_OF_BOUNDS = 0x2942, SMSG_DUEL_REQUESTED = 0x2940, SMSG_DUEL_WINNER = 0x2946, - SMSG_DURABILITY_DAMAGE_DEATH = 0x2749, - SMSG_EMOTE = 0x27CC, - SMSG_ENABLE_BARBER_SHOP = 0x26C0, - SMSG_ENCHANTMENT_LOG = 0x2717, - SMSG_ENCOUNTER_END = 0x2786, - SMSG_ENCOUNTER_START = 0x2785, - SMSG_END_LIGHTNING_STORM = 0x26AC, - SMSG_ENSURE_WORLD_LOADED = 0x288B, + SMSG_DURABILITY_DAMAGE_DEATH = 0x274B, + SMSG_EMOTE = 0x27CE, + SMSG_ENABLE_BARBER_SHOP = 0x26C3, + SMSG_ENCHANTMENT_LOG = 0x271A, + SMSG_ENCOUNTER_END = 0x2788, + SMSG_ENCOUNTER_START = 0x2787, + SMSG_END_LIGHTNING_STORM = 0x26AF, SMSG_ENTER_ENCRYPTED_MODE = 0x3049, SMSG_ENUM_CHARACTERS_RESULT = 0x2584, - SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x27F7, + SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE = 0x27F9, SMSG_ENVIRONMENTAL_DAMAGE_LOG = 0x2C1E, - SMSG_EQUIPMENT_SET_ID = 0x26B6, + SMSG_EQUIPMENT_SET_ID = 0x26B9, SMSG_EXPECTED_SPAM_RECORDS = 0x2BB1, - SMSG_EXPLORATION_EXPERIENCE = 0x2763, - SMSG_FACTION_BONUS_INFO = 0x2729, + SMSG_EXPLORATION_EXPERIENCE = 0x2765, + SMSG_FACTION_BONUS_INFO = 0x272B, SMSG_FAILED_PLAYER_CONDITION = 0x2FFA, - SMSG_FAILED_QUEST_TURN_IN = 0x2815, - SMSG_FEATURE_SYSTEM_STATUS = 0x25C1, - SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25C2, - SMSG_FEIGN_DEATH_RESISTED = 0x2748, - SMSG_FISH_ESCAPED = 0x26D4, - SMSG_FISH_NOT_HOOKED = 0x26D3, - SMSG_FLIGHT_SPLINE_SYNC = 0x2E2B, - SMSG_FORCED_DEATH_UPDATE = 0x26D8, - SMSG_FORCE_ANIM = 0x2755, - SMSG_FORCE_OBJECT_RELINK = 0x264D, - SMSG_FRIEND_STATUS = 0x2790, - SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25C5, - SMSG_GAME_OBJECT_BASE = 0x282C, - SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x288E, - SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25C6, - SMSG_GAME_OBJECT_DESPAWN = 0x25C7, - SMSG_GAME_OBJECT_INTERACTION = 0x288D, + SMSG_FAILED_QUEST_TURN_IN = 0x2817, + SMSG_FEATURE_SYSTEM_STATUS = 0x25C3, + SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN = 0x25C4, + SMSG_FEIGN_DEATH_RESISTED = 0x274A, + SMSG_FISH_ESCAPED = 0x26D7, + SMSG_FISH_NOT_HOOKED = 0x26D6, + SMSG_FLIGHT_SPLINE_SYNC = 0x2E2D, + SMSG_FORCED_DEATH_UPDATE = 0x26DB, + SMSG_FORCE_ANIM = 0x2757, + SMSG_FORCE_OBJECT_RELINK = 0x264F, + SMSG_FORCE_RANDOM_TRANSMOG_TOAST = 0x25B6, + SMSG_FRIEND_STATUS = 0x2792, + SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT = 0x25C7, + SMSG_GAME_OBJECT_BASE = 0x282E, + SMSG_GAME_OBJECT_CLOSE_INTERACTION = 0x2878, + SMSG_GAME_OBJECT_CUSTOM_ANIM = 0x25C8, + SMSG_GAME_OBJECT_DESPAWN = 0x25C9, + SMSG_GAME_OBJECT_INTERACTION = 0x2877, SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL = 0x2C4A, SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT = 0x2C49, - SMSG_GAME_OBJECT_RESET_STATE = 0x2722, - SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x2808, - SMSG_GAME_OBJECT_UI_LINK = 0x271E, - SMSG_GAME_SPEED_SET = 0x2685, - SMSG_GAME_TIME_SET = 0x2710, - SMSG_GAME_TIME_UPDATE = 0x270F, - SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2586, - SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x2820, - SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x2769, - SMSG_GET_REALM_HIDDEN_RESULT = 0x28B0, - SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x27DE, - SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x27F3, - SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x27F4, + SMSG_GAME_OBJECT_RESET_STATE = 0x2724, + SMSG_GAME_OBJECT_SET_STATE_LOCAL = 0x280A, + SMSG_GAME_OBJECT_UI_LINK = 0x2721, + SMSG_GAME_SPEED_SET = 0x2688, + SMSG_GAME_TIME_SET = 0x2713, + SMSG_GAME_TIME_UPDATE = 0x2712, + SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT = 0x2588, + SMSG_GENERATE_SSO_TOKEN_RESPONSE = 0x2822, + SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x276B, + SMSG_GET_REALM_HIDDEN_RESULT = 0x288D, + SMSG_GET_REMAINING_GAME_TIME_RESPONSE = 0x27E0, + SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT = 0x27F5, + SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT = 0x27F6, SMSG_GM_PLAYER_INFO = 0x3005, SMSG_GM_REQUEST_PLAYER_INFO = 0x2FFB, - SMSG_GM_TICKET_CASE_STATUS = 0x26A7, - SMSG_GM_TICKET_SYSTEM_STATUS = 0x26A6, - SMSG_GOD_MODE = 0x2700, + SMSG_GM_TICKET_CASE_STATUS = 0x26AA, + SMSG_GM_TICKET_SYSTEM_STATUS = 0x26A9, + SMSG_GOD_MODE = 0x2703, SMSG_GOSSIP_COMPLETE = 0x2A97, SMSG_GOSSIP_MESSAGE = 0x2A98, - SMSG_GOSSIP_OPTION_NPC_INTERACTION = 0x2AA7, - SMSG_GOSSIP_POI = 0x279B, + SMSG_GOSSIP_OPTION_NPC_INTERACTION = 0x2AA8, + SMSG_GOSSIP_POI = 0x279D, SMSG_GOSSIP_QUEST_UPDATE = 0x2A99, - SMSG_GROUP_ACTION_THROTTLED = 0x258F, - SMSG_GROUP_AUTO_KICK = 0x2798, - SMSG_GROUP_DECLINE = 0x2794, - SMSG_GROUP_DESTROYED = 0x2797, - SMSG_GROUP_NEW_LEADER = 0x262F, - SMSG_GROUP_REQUEST_DECLINE = 0x2795, - SMSG_GROUP_UNINVITE = 0x2796, - SMSG_GUILD_ACHIEVEMENT_DELETED = 0x29C6, - SMSG_GUILD_ACHIEVEMENT_EARNED = 0x29C5, - SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x29C8, - SMSG_GUILD_BANK_LOG_QUERY_RESULTS = 0x29E0, - SMSG_GUILD_BANK_QUERY_RESULTS = 0x29DF, - SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY = 0x29E1, - SMSG_GUILD_BANK_TEXT_QUERY_RESULT = 0x29E4, - SMSG_GUILD_CHALLENGE_COMPLETED = 0x29D4, - SMSG_GUILD_CHALLENGE_UPDATE = 0x29D3, - SMSG_GUILD_CHANGE_NAME_RESULT = 0x29DE, + SMSG_GROUP_ACTION_THROTTLED = 0x2591, + SMSG_GROUP_AUTO_KICK = 0x279A, + SMSG_GROUP_DECLINE = 0x2796, + SMSG_GROUP_DESTROYED = 0x2799, + SMSG_GROUP_NEW_LEADER = 0x2631, + SMSG_GROUP_REQUEST_DECLINE = 0x2797, + SMSG_GROUP_UNINVITE = 0x2798, + SMSG_GUILD_ACHIEVEMENT_DELETED = 0x29C5, + SMSG_GUILD_ACHIEVEMENT_EARNED = 0x29C4, + SMSG_GUILD_ACHIEVEMENT_MEMBERS = 0x29C7, + SMSG_GUILD_BANK_LOG_QUERY_RESULTS = 0x29DF, + SMSG_GUILD_BANK_QUERY_RESULTS = 0x29DE, + SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY = 0x29E0, + SMSG_GUILD_BANK_TEXT_QUERY_RESULT = 0x29E3, + SMSG_GUILD_CHALLENGE_COMPLETED = 0x29D3, + SMSG_GUILD_CHALLENGE_UPDATE = 0x29D2, + SMSG_GUILD_CHANGE_NAME_RESULT = 0x29DD, SMSG_GUILD_COMMAND_RESULT = 0x29BA, - SMSG_GUILD_CRITERIA_DELETED = 0x29C7, - SMSG_GUILD_CRITERIA_UPDATE = 0x29C4, - SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED = 0x29F9, - SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0x29F8, - SMSG_GUILD_EVENT_DISBANDED = 0x29EE, - SMSG_GUILD_EVENT_LOG_QUERY_RESULTS = 0x29E3, - SMSG_GUILD_EVENT_MOTD = 0x29EF, - SMSG_GUILD_EVENT_NEW_LEADER = 0x29ED, - SMSG_GUILD_EVENT_PLAYER_JOINED = 0x29EB, - SMSG_GUILD_EVENT_PLAYER_LEFT = 0x29EC, - SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0x29F0, - SMSG_GUILD_EVENT_RANKS_UPDATED = 0x29F2, - SMSG_GUILD_EVENT_RANK_CHANGED = 0x29F3, - SMSG_GUILD_EVENT_TAB_ADDED = 0x29F4, - SMSG_GUILD_EVENT_TAB_DELETED = 0x29F5, - SMSG_GUILD_EVENT_TAB_MODIFIED = 0x29F6, - SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0x29F7, - SMSG_GUILD_FLAGGED_FOR_RENAME = 0x29DD, - SMSG_GUILD_INVITE = 0x29CB, - SMSG_GUILD_INVITE_DECLINED = 0x29E9, - SMSG_GUILD_INVITE_EXPIRED = 0x29EA, - SMSG_GUILD_ITEM_LOOTED_NOTIFY = 0x29D5, - SMSG_GUILD_KNOWN_RECIPES = 0x29BF, - SMSG_GUILD_MEMBERS_WITH_RECIPE = 0x29C0, - SMSG_GUILD_MEMBER_DAILY_RESET = 0x29E5, - SMSG_GUILD_MEMBER_RECIPES = 0x29BE, - SMSG_GUILD_MEMBER_UPDATE_NOTE = 0x29CA, - SMSG_GUILD_MOVED = 0x29DB, - SMSG_GUILD_MOVE_STARTING = 0x29DA, - SMSG_GUILD_NAME_CHANGED = 0x29DC, - SMSG_GUILD_NEWS = 0x29C2, - SMSG_GUILD_NEWS_DELETED = 0x29C3, - SMSG_GUILD_PARTY_STATE = 0x29CC, - SMSG_GUILD_PERMISSIONS_QUERY_RESULTS = 0x29E2, - SMSG_GUILD_RANKS = 0x29C9, - SMSG_GUILD_REPUTATION_REACTION_CHANGED = 0x29CD, - SMSG_GUILD_RESET = 0x29D9, - SMSG_GUILD_REWARD_LIST = 0x29C1, + SMSG_GUILD_CRITERIA_DELETED = 0x29C6, + SMSG_GUILD_CRITERIA_UPDATE = 0x29C3, + SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED = 0x29F8, + SMSG_GUILD_EVENT_BANK_MONEY_CHANGED = 0x29F7, + SMSG_GUILD_EVENT_DISBANDED = 0x29ED, + SMSG_GUILD_EVENT_LOG_QUERY_RESULTS = 0x29E2, + SMSG_GUILD_EVENT_MOTD = 0x29EE, + SMSG_GUILD_EVENT_NEW_LEADER = 0x29EC, + SMSG_GUILD_EVENT_PLAYER_JOINED = 0x29EA, + SMSG_GUILD_EVENT_PLAYER_LEFT = 0x29EB, + SMSG_GUILD_EVENT_PRESENCE_CHANGE = 0x29EF, + SMSG_GUILD_EVENT_RANKS_UPDATED = 0x29F1, + SMSG_GUILD_EVENT_RANK_CHANGED = 0x29F2, + SMSG_GUILD_EVENT_STATUS_CHANGE = 0x29F0, + SMSG_GUILD_EVENT_TAB_ADDED = 0x29F3, + SMSG_GUILD_EVENT_TAB_DELETED = 0x29F4, + SMSG_GUILD_EVENT_TAB_MODIFIED = 0x29F5, + SMSG_GUILD_EVENT_TAB_TEXT_CHANGED = 0x29F6, + SMSG_GUILD_FLAGGED_FOR_RENAME = 0x29DC, + SMSG_GUILD_HARDCORE_MEMBER_DEATH = 0x29BC, + SMSG_GUILD_INVITE = 0x29CA, + SMSG_GUILD_INVITE_DECLINED = 0x29E8, + SMSG_GUILD_INVITE_EXPIRED = 0x29E9, + SMSG_GUILD_ITEM_LOOTED_NOTIFY = 0x29D4, + SMSG_GUILD_KNOWN_RECIPES = 0x29BE, + SMSG_GUILD_MEMBERS_WITH_RECIPE = 0x29BF, + SMSG_GUILD_MEMBER_DAILY_RESET = 0x29E4, + SMSG_GUILD_MEMBER_RECIPES = 0x29BD, + SMSG_GUILD_MEMBER_UPDATE_NOTE = 0x29C9, + SMSG_GUILD_MOVED = 0x29DA, + SMSG_GUILD_MOVE_STARTING = 0x29D9, + SMSG_GUILD_NAME_CHANGED = 0x29DB, + SMSG_GUILD_NEWS = 0x29C1, + SMSG_GUILD_NEWS_DELETED = 0x29C2, + SMSG_GUILD_PARTY_STATE = 0x29CB, + SMSG_GUILD_PERMISSIONS_QUERY_RESULTS = 0x29E1, + SMSG_GUILD_RANKS = 0x29C8, + SMSG_GUILD_REPUTATION_REACTION_CHANGED = 0x29CC, + SMSG_GUILD_RESET = 0x29D8, + SMSG_GUILD_REWARD_LIST = 0x29C0, SMSG_GUILD_ROSTER = 0x29BB, - SMSG_GUILD_ROSTER_UPDATE = 0x29BC, SMSG_GUILD_SEND_RANK_CHANGE = 0x29B9, - SMSG_HEALTH_UPDATE = 0x26D5, - SMSG_HIGHEST_THREAT_UPDATE = 0x26DD, + SMSG_HARDCORE_DEATH_ALERT = 0x2895, + SMSG_HEALTH_UPDATE = 0x26D8, + SMSG_HIGHEST_THREAT_UPDATE = 0x26E0, SMSG_HOTFIX_CONNECT = 0x2911, SMSG_HOTFIX_MESSAGE = 0x2910, - SMSG_INITIALIZE_FACTIONS = 0x2728, + SMSG_INITIALIZE_FACTIONS = 0x272A, SMSG_INITIAL_SETUP = 0x2580, - SMSG_INIT_WORLD_STATES = 0x274A, + SMSG_INIT_WORLD_STATES = 0x274C, SMSG_INSPECT_HONOR_STATS = 0x2933, - SMSG_INSPECT_PVP = 0x2726, - SMSG_INSPECT_RESULT = 0x2633, - SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27B5, - SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27B4, - SMSG_INSTANCE_ENCOUNTER_END = 0x27BD, - SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27B3, - SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27BF, - SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27BE, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27B8, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27B7, - SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27BC, - SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27C0, - SMSG_INSTANCE_ENCOUNTER_START = 0x27B9, - SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27B6, - SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x27BB, - SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x27BA, - SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x26FE, - SMSG_INSTANCE_INFO = 0x2636, - SMSG_INSTANCE_RESET = 0x268A, - SMSG_INSTANCE_RESET_FAILED = 0x268B, - SMSG_INSTANCE_SAVE_CREATED = 0x2784, + SMSG_INSPECT_PVP = 0x2728, + SMSG_INSPECT_RESULT = 0x2635, + SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY = 0x27B7, + SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT = 0x27B6, + SMSG_INSTANCE_ENCOUNTER_END = 0x27BF, + SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT = 0x27B5, + SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE = 0x27C1, + SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION = 0x27C0, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE = 0x27BA, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START = 0x27B9, + SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE = 0x27BE, + SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED = 0x27C2, + SMSG_INSTANCE_ENCOUNTER_START = 0x27BB, + SMSG_INSTANCE_ENCOUNTER_TIMER_START = 0x27B8, + SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS = 0x27BD, + SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE = 0x27BC, + SMSG_INSTANCE_GROUP_SIZE_CHANGED = 0x2701, + SMSG_INSTANCE_INFO = 0x2638, + SMSG_INSTANCE_RESET = 0x268D, + SMSG_INSTANCE_RESET_FAILED = 0x268E, + SMSG_INSTANCE_SAVE_CREATED = 0x2786, SMSG_INTERRUPT_POWER_REGEN = 0x2C58, SMSG_INVALIDATE_PAGE_TEXT = 0x2918, SMSG_INVALIDATE_PLAYER = 0x2FFF, - SMSG_INVALID_PROMOTION_CODE = 0x2757, + SMSG_INVALID_PROMOTION_CODE = 0x2759, SMSG_INVENTORY_CHANGE_FAILURE = 0x2DA5, - SMSG_INVENTORY_FIXUP_COMPLETE = 0x2817, - SMSG_INVENTORY_FULL_OVERFLOW = 0x2828, - SMSG_ISLAND_AZERITE_GAIN = 0x2760, - SMSG_ISLAND_COMPLETE = 0x2761, + SMSG_INVENTORY_FIXUP_COMPLETE = 0x2819, + SMSG_INVENTORY_FULL_OVERFLOW = 0x282A, + SMSG_ISLAND_AZERITE_GAIN = 0x2762, + SMSG_ISLAND_COMPLETE = 0x2763, SMSG_IS_QUEST_COMPLETE_RESPONSE = 0x2A84, - SMSG_ITEM_CHANGED = 0x26EF, - SMSG_ITEM_COOLDOWN = 0x27CB, - SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x2759, - SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x259E, - SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x259C, - SMSG_ITEM_PUSH_RESULT = 0x2625, - SMSG_ITEM_TIME_UPDATE = 0x2758, - SMSG_KICK_REASON = 0x268D, - SMSG_LATENCY_REPORT_PING = 0x2886, + SMSG_ITEM_CHANGED = 0x26F2, + SMSG_ITEM_COOLDOWN = 0x27CD, + SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x275B, + SMSG_ITEM_EXPIRE_PURCHASE_REFUND = 0x25A0, + SMSG_ITEM_PURCHASE_REFUND_RESULT = 0x259E, + SMSG_ITEM_PUSH_RESULT = 0x2627, + SMSG_ITEM_TIME_UPDATE = 0x275A, + SMSG_KICK_REASON = 0x2690, + SMSG_LATENCY_REPORT_PING = 0x2871, SMSG_LEARNED_SPELLS = 0x2C4C, - SMSG_LEARN_PVP_TALENT_FAILED = 0x25D6, - SMSG_LEARN_TALENT_FAILED = 0x25D5, - SMSG_LEGACY_LOOT_RULES = 0x282D, - SMSG_LEVEL_UP_INFO = 0x26ED, + SMSG_LEARN_PVP_TALENT_FAILED = 0x25D8, + SMSG_LEARN_TALENT_FAILED = 0x25D7, + SMSG_LEGACY_LOOT_RULES = 0x282F, + SMSG_LEVEL_UP_INFO = 0x26F0, SMSG_LFG_BOOT_PLAYER = 0x2A35, SMSG_LFG_DISABLED = 0x2A33, SMSG_LFG_EXPAND_SEARCH_PROMPT = 0x2A3B, @@ -1356,79 +1209,72 @@ enum OpcodeServer : uint16 SMSG_LFG_SLOT_INVALID = 0x2A30, SMSG_LFG_TELEPORT_DENIED = 0x2A32, SMSG_LFG_UPDATE_STATUS = 0x2A24, - SMSG_LF_GUILD_APPLICANT_LIST_CHANGED = 0x29D6, - SMSG_LF_GUILD_APPLICATIONS = 0x29D2, - SMSG_LF_GUILD_APPLICATIONS_LIST_CHANGED = 0x29D7, - SMSG_LF_GUILD_BROWSE = 0x29CF, - SMSG_LF_GUILD_COMMAND_RESULT = 0x29D1, - SMSG_LF_GUILD_POST = 0x29CE, - SMSG_LF_GUILD_RECRUITS = 0x29D0, - SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x2776, - SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x2775, - SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x276A, - SMSG_LOAD_CUF_PROFILES = 0x25BE, - SMSG_LOAD_EQUIPMENT_SET = 0x2712, - SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x2890, - SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x2891, - SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x2892, - SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x2893, - SMSG_LOGIN_SET_TIME_SPEED = 0x2711, - SMSG_LOGIN_VERIFY_WORLD = 0x2599, - SMSG_LOGOUT_CANCEL_ACK = 0x2689, - SMSG_LOGOUT_COMPLETE = 0x2688, - SMSG_LOGOUT_RESPONSE = 0x2687, - SMSG_LOG_XP_GAIN = 0x26E9, - SMSG_LOOT_ALL_PASSED = 0x2623, - SMSG_LOOT_LIST = 0x2745, - SMSG_LOOT_MONEY_NOTIFY = 0x261E, - SMSG_LOOT_RELEASE = 0x261D, - SMSG_LOOT_RELEASE_ALL = 0x261C, - SMSG_LOOT_REMOVED = 0x2617, - SMSG_LOOT_RESPONSE = 0x2616, - SMSG_LOOT_ROLL = 0x2620, - SMSG_LOOT_ROLLS_COMPLETE = 0x2622, - SMSG_LOOT_ROLL_WON = 0x2624, - SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2674, - SMSG_MAIL_COMMAND_RESULT = 0x263D, - SMSG_MAIL_LIST_RESULT = 0x275A, - SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x275B, + SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT = 0x2778, + SMSG_LIVE_REGION_CHARACTER_COPY_RESULT = 0x2777, + SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT = 0x276C, + SMSG_LOAD_CUF_PROFILES = 0x25C0, + SMSG_LOAD_EQUIPMENT_SET = 0x2715, + SMSG_LOBBY_MATCHMAKER_LOBBY_ACQUIRED_SERVER = 0x287A, + SMSG_LOBBY_MATCHMAKER_PARTY_INFO = 0x287B, + SMSG_LOBBY_MATCHMAKER_PARTY_INVITE_REJECTED = 0x287C, + SMSG_LOBBY_MATCHMAKER_RECEIVE_INVITE = 0x287D, + SMSG_LOGIN_SET_TIME_SPEED = 0x2714, + SMSG_LOGIN_VERIFY_WORLD = 0x259B, + SMSG_LOGOUT_CANCEL_ACK = 0x268C, + SMSG_LOGOUT_COMPLETE = 0x268B, + SMSG_LOGOUT_RESPONSE = 0x268A, + SMSG_LOG_XP_GAIN = 0x26EC, + SMSG_LOOT_ALL_PASSED = 0x2625, + SMSG_LOOT_LIST = 0x2747, + SMSG_LOOT_MONEY_NOTIFY = 0x2620, + SMSG_LOOT_RELEASE = 0x261F, + SMSG_LOOT_RELEASE_ALL = 0x261E, + SMSG_LOOT_REMOVED = 0x2619, + SMSG_LOOT_RESPONSE = 0x2618, + SMSG_LOOT_ROLL = 0x2622, + SMSG_LOOT_ROLLS_COMPLETE = 0x2624, + SMSG_LOOT_ROLL_WON = 0x2626, + SMSG_LOSS_OF_CONTROL_AURA_UPDATE = 0x2676, + SMSG_MAIL_COMMAND_RESULT = 0x263F, + SMSG_MAIL_LIST_RESULT = 0x275C, + SMSG_MAIL_QUERY_NEXT_TIME_RESULT = 0x275D, SMSG_MAP_OBJECTIVES_INIT = 0x2950, - SMSG_MAP_OBJ_EVENTS = 0x25C8, - SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2621, + SMSG_MAP_OBJ_EVENTS = 0x25CA, + SMSG_MASTER_LOOT_CANDIDATE_LIST = 0x2623, SMSG_MESSAGE_BOX = 0x2576, - SMSG_MINIMAP_PING = 0x26D2, + SMSG_MINIMAP_PING = 0x26D5, SMSG_MIRROR_IMAGE_COMPONENTED_DATA = 0x2C14, SMSG_MIRROR_IMAGE_CREATURE_DATA = 0x2C13, - SMSG_MISSILE_CANCEL = 0x25C9, - SMSG_MODIFY_COOLDOWN = 0x276C, + SMSG_MISSILE_CANCEL = 0x25CB, + SMSG_MODIFY_COOLDOWN = 0x276E, SMSG_MOUNT_RESULT = 0x257B, - SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x2849, - SMSG_MOVE_APPLY_INERTIA = 0x2E2E, - SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2E15, - SMSG_MOVE_DISABLE_COLLISION = 0x2E11, + SMSG_MOVEMENT_ENFORCEMENT_ALERT = 0x2835, + SMSG_MOVE_APPLY_INERTIA = 0x2E30, + SMSG_MOVE_APPLY_MOVEMENT_FORCE = 0x2E17, + SMSG_MOVE_DISABLE_COLLISION = 0x2E13, SMSG_MOVE_DISABLE_DOUBLE_JUMP = 0x2DFD, - SMSG_MOVE_DISABLE_GRAVITY = 0x2E0D, - SMSG_MOVE_DISABLE_INERTIA = 0x2E0F, - SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0C, - SMSG_MOVE_ENABLE_COLLISION = 0x2E12, + SMSG_MOVE_DISABLE_GRAVITY = 0x2E0F, + SMSG_MOVE_DISABLE_INERTIA = 0x2E11, + SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0E, + SMSG_MOVE_ENABLE_COLLISION = 0x2E14, SMSG_MOVE_ENABLE_DOUBLE_JUMP = 0x2DFC, - SMSG_MOVE_ENABLE_GRAVITY = 0x2E0E, - SMSG_MOVE_ENABLE_INERTIA = 0x2E10, - SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0B, + SMSG_MOVE_ENABLE_GRAVITY = 0x2E10, + SMSG_MOVE_ENABLE_INERTIA = 0x2E12, + SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x2E0D, SMSG_MOVE_KNOCK_BACK = 0x2E03, - SMSG_MOVE_REMOVE_INERTIA = 0x2E2F, - SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x2E16, + SMSG_MOVE_REMOVE_INERTIA = 0x2E31, + SMSG_MOVE_REMOVE_MOVEMENT_FORCE = 0x2E18, SMSG_MOVE_ROOT = 0x2DF9, SMSG_MOVE_SET_ACTIVE_MOVER = 0x2DD5, SMSG_MOVE_SET_CAN_FLY = 0x2E05, - SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x2E07, - SMSG_MOVE_SET_COLLISION_HEIGHT = 0x2E13, - SMSG_MOVE_SET_COMPOUND_STATE = 0x2E17, + SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING = 0x2E09, + SMSG_MOVE_SET_COLLISION_HEIGHT = 0x2E15, + SMSG_MOVE_SET_COMPOUND_STATE = 0x2E19, SMSG_MOVE_SET_FEATHER_FALL = 0x2DFF, SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x2DF5, SMSG_MOVE_SET_FLIGHT_SPEED = 0x2DF4, SMSG_MOVE_SET_HOVERING = 0x2E01, - SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x2E09, + SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES = 0x2E0B, SMSG_MOVE_SET_LAND_WALK = 0x2DFE, SMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE = 0x2DE6, SMSG_MOVE_SET_NORMAL_FALL = 0x2E00, @@ -1438,45 +1284,45 @@ enum OpcodeServer : uint16 SMSG_MOVE_SET_SWIM_BACK_SPEED = 0x2DF3, SMSG_MOVE_SET_SWIM_SPEED = 0x2DF2, SMSG_MOVE_SET_TURN_RATE = 0x2DF7, - SMSG_MOVE_SET_VEHICLE_REC_ID = 0x2E14, + SMSG_MOVE_SET_VEHICLE_REC_ID = 0x2E16, SMSG_MOVE_SET_WALK_SPEED = 0x2DF6, SMSG_MOVE_SET_WATER_WALK = 0x2DFB, - SMSG_MOVE_SKIP_TIME = 0x2E18, - SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0x2E1D, - SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x2E1B, - SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0x2E1E, - SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x2E1C, - SMSG_MOVE_SPLINE_ROOT = 0x2E19, - SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x2E1F, + SMSG_MOVE_SKIP_TIME = 0x2E1A, + SMSG_MOVE_SPLINE_DISABLE_COLLISION = 0x2E1F, + SMSG_MOVE_SPLINE_DISABLE_GRAVITY = 0x2E1D, + SMSG_MOVE_SPLINE_ENABLE_COLLISION = 0x2E20, + SMSG_MOVE_SPLINE_ENABLE_GRAVITY = 0x2E1E, + SMSG_MOVE_SPLINE_ROOT = 0x2E1B, + SMSG_MOVE_SPLINE_SET_FEATHER_FALL = 0x2E21, SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED = 0x2DEC, SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED = 0x2DEB, - SMSG_MOVE_SPLINE_SET_FLYING = 0x2E29, - SMSG_MOVE_SPLINE_SET_HOVER = 0x2E21, - SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x2E24, - SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x2E20, + SMSG_MOVE_SPLINE_SET_FLYING = 0x2E2B, + SMSG_MOVE_SPLINE_SET_HOVER = 0x2E23, + SMSG_MOVE_SPLINE_SET_LAND_WALK = 0x2E26, + SMSG_MOVE_SPLINE_SET_NORMAL_FALL = 0x2E22, SMSG_MOVE_SPLINE_SET_PITCH_RATE = 0x2DEF, SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED = 0x2DE8, - SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x2E27, + SMSG_MOVE_SPLINE_SET_RUN_MODE = 0x2E29, SMSG_MOVE_SPLINE_SET_RUN_SPEED = 0x2DE7, SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED = 0x2DEA, SMSG_MOVE_SPLINE_SET_SWIM_SPEED = 0x2DE9, SMSG_MOVE_SPLINE_SET_TURN_RATE = 0x2DEE, - SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x2E28, + SMSG_MOVE_SPLINE_SET_WALK_MODE = 0x2E2A, SMSG_MOVE_SPLINE_SET_WALK_SPEED = 0x2DED, - SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x2E23, - SMSG_MOVE_SPLINE_START_SWIM = 0x2E25, - SMSG_MOVE_SPLINE_STOP_SWIM = 0x2E26, - SMSG_MOVE_SPLINE_UNROOT = 0x2E1A, - SMSG_MOVE_SPLINE_UNSET_FLYING = 0x2E2A, - SMSG_MOVE_SPLINE_UNSET_HOVER = 0x2E22, + SMSG_MOVE_SPLINE_SET_WATER_WALK = 0x2E25, + SMSG_MOVE_SPLINE_START_SWIM = 0x2E27, + SMSG_MOVE_SPLINE_STOP_SWIM = 0x2E28, + SMSG_MOVE_SPLINE_UNROOT = 0x2E1C, + SMSG_MOVE_SPLINE_UNSET_FLYING = 0x2E2C, + SMSG_MOVE_SPLINE_UNSET_HOVER = 0x2E24, SMSG_MOVE_TELEPORT = 0x2E04, SMSG_MOVE_UNROOT = 0x2DFA, SMSG_MOVE_UNSET_CAN_FLY = 0x2E06, - SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x2E08, + SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING = 0x2E0A, SMSG_MOVE_UNSET_HOVERING = 0x2E02, - SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x2E0A, + SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES = 0x2E0C, SMSG_MOVE_UPDATE = 0x2DE0, - SMSG_MOVE_UPDATE_APPLY_INERTIA = 0x2E30, + SMSG_MOVE_UPDATE_APPLY_INERTIA = 0x2E32, SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE = 0x2DE4, SMSG_MOVE_UPDATE_COLLISION_HEIGHT = 0x2DDF, SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED = 0x2DDC, @@ -1484,7 +1330,7 @@ enum OpcodeServer : uint16 SMSG_MOVE_UPDATE_KNOCK_BACK = 0x2DE2, SMSG_MOVE_UPDATE_MOD_MOVEMENT_FORCE_MAGNITUDE = 0x2DE3, SMSG_MOVE_UPDATE_PITCH_RATE = 0x2DDE, - SMSG_MOVE_UPDATE_REMOVE_INERTIA = 0x2E31, + SMSG_MOVE_UPDATE_REMOVE_INERTIA = 0x2E33, SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE = 0x2DE5, SMSG_MOVE_UPDATE_RUN_BACK_SPEED = 0x2DD7, SMSG_MOVE_UPDATE_RUN_SPEED = 0x2DD6, @@ -1493,107 +1339,111 @@ enum OpcodeServer : uint16 SMSG_MOVE_UPDATE_TELEPORT = 0x2DE1, SMSG_MOVE_UPDATE_TURN_RATE = 0x2DDD, SMSG_MOVE_UPDATE_WALK_SPEED = 0x2DD8, - SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25DE, - SMSG_NEW_DATA_BUILD = 0x28AE, - SMSG_NEW_TAXI_PATH = 0x2682, - SMSG_NEW_WORLD = 0x2596, + SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT = 0x25E0, + SMSG_NEW_DATA_BUILD = 0x288C, + SMSG_NEW_TAXI_PATH = 0x2685, + SMSG_NEW_WORLD = 0x2598, SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x2C42, - SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26AE, - SMSG_NOTIFY_MONEY = 0x259B, - SMSG_NOTIFY_RECEIVED_MAIL = 0x263E, - SMSG_NPC_INTERACTION_OPEN_RESULT = 0x288C, - SMSG_OFFER_PETITION_ERROR = 0x26BA, - SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x26EA, + SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION = 0x26B1, + SMSG_NOTIFY_MONEY = 0x259D, + SMSG_NOTIFY_RECEIVED_MAIL = 0x2640, + SMSG_NPC_INTERACTION_OPEN_RESULT = 0x2876, + SMSG_OFFER_PETITION_ERROR = 0x26BD, + SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x26ED, SMSG_ON_MONSTER_MOVE = 0x2DD4, SMSG_OPEN_CONTAINER = 0x2DA6, SMSG_OPEN_LFG_DUNGEON_FINDER = 0x2A31, - SMSG_OVERRIDE_LIGHT = 0x26BF, - SMSG_PAGE_TEXT = 0x271D, - SMSG_PARTY_COMMAND_RESULT = 0x2799, - SMSG_PARTY_INVITE = 0x25BF, - SMSG_PARTY_KILL_LOG = 0x275E, - SMSG_PARTY_MEMBER_FULL_STATE = 0x275D, - SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x275C, - SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x2879, - SMSG_PARTY_UPDATE = 0x25F6, - SMSG_PAUSE_MIRROR_TIMER = 0x2714, - SMSG_PENDING_RAID_LOCK = 0x26FC, - SMSG_PETITION_ALREADY_SIGNED = 0x25A1, - SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x29FB, - SMSG_PETITION_SHOW_LIST = 0x26C3, - SMSG_PETITION_SHOW_SIGNATURES = 0x26C4, - SMSG_PETITION_SIGN_RESULTS = 0x2750, - SMSG_PET_ACTION_FEEDBACK = 0x274D, - SMSG_PET_ACTION_SOUND = 0x26A4, - SMSG_PET_BATTLE_SLOT_UPDATES = 0x25EE, + SMSG_OVERRIDE_LIGHT = 0x26C2, + SMSG_PAGE_TEXT = 0x2720, + SMSG_PARTY_COMMAND_RESULT = 0x279B, + SMSG_PARTY_INVITE = 0x25C1, + SMSG_PARTY_KILL_LOG = 0x2760, + SMSG_PARTY_MEMBER_FULL_STATE = 0x275F, + SMSG_PARTY_MEMBER_PARTIAL_STATE = 0x275E, + SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE = 0x2865, + SMSG_PARTY_UPDATE = 0x25F8, + SMSG_PAUSE_MIRROR_TIMER = 0x2717, + SMSG_PENDING_RAID_LOCK = 0x26FF, + SMSG_PETITION_ALREADY_SIGNED = 0x25A3, + SMSG_PETITION_RENAME_GUILD_RESPONSE = 0x29FA, + SMSG_PETITION_SHOW_LIST = 0x26C6, + SMSG_PETITION_SHOW_SIGNATURES = 0x26C7, + SMSG_PETITION_SIGN_RESULTS = 0x2752, + SMSG_PET_ACTION_FEEDBACK = 0x274F, + SMSG_PET_ACTION_SOUND = 0x26A7, + SMSG_PET_BATTLE_SLOT_UPDATES = 0x25F0, SMSG_PET_CAST_FAILED = 0x2C57, SMSG_PET_CLEAR_SPELLS = 0x2C23, - SMSG_PET_DISMISS_SOUND = 0x26A5, - SMSG_PET_GOD_MODE = 0x267F, - SMSG_PET_GUIDS = 0x2708, + SMSG_PET_DISMISS_SOUND = 0x26A8, + SMSG_PET_GOD_MODE = 0x2682, + SMSG_PET_GUIDS = 0x270B, SMSG_PET_LEARNED_SPELLS = 0x2C4E, - SMSG_PET_MODE = 0x2589, - SMSG_PET_NAME_INVALID = 0x26C8, - SMSG_PET_NEWLY_TAMED = 0x2588, + SMSG_PET_MODE = 0x258B, + SMSG_PET_NAME_INVALID = 0x26CB, + SMSG_PET_NEWLY_TAMED = 0x258A, SMSG_PET_SPELLS_MESSAGE = 0x2C24, - SMSG_PET_STABLE_RESULT = 0x2595, - SMSG_PET_TAME_FAILURE = 0x26B7, + SMSG_PET_STABLE_RESULT = 0x2597, + SMSG_PET_TAME_FAILURE = 0x26BA, SMSG_PET_UNLEARNED_SPELLS = 0x2C4F, SMSG_PHASE_SHIFT_CHANGE = 0x2578, - SMSG_PLAYED_TIME = 0x26D9, - SMSG_PLAYER_ACKNOWLEDGE_ARROW_CALLOUT = 0x3022, - SMSG_PLAYER_BATTLEFIELD_AUTO_QUEUE = 0x301C, - SMSG_PLAYER_BONUS_ROLL_FAILED = 0x3016, + SMSG_PLAYED_TIME = 0x26DC, + SMSG_PLAYER_ACKNOWLEDGE_ARROW_CALLOUT = 0x3024, + SMSG_PLAYER_BATTLEFIELD_AUTO_QUEUE = 0x301E, + SMSG_PLAYER_BONUS_ROLL_FAILED = 0x3018, SMSG_PLAYER_BOUND = 0x2FF8, + SMSG_PLAYER_CHOICE_CLEAR = 0x2FFE, + SMSG_PLAYER_CHOICE_DISPLAY_ERROR = 0x2FFD, SMSG_PLAYER_CONDITION_RESULT = 0x300A, - SMSG_PLAYER_HIDE_ARROW_CALLOUT = 0x3021, + SMSG_PLAYER_HIDE_ARROW_CALLOUT = 0x3023, SMSG_PLAYER_IS_ADVENTURE_MAP_POI_VALID = 0x3009, - SMSG_PLAYER_SAVE_GUILD_EMBLEM = 0x29FA, - SMSG_PLAYER_SHOW_ARROW_CALLOUT = 0x3020, - SMSG_PLAYER_SHOW_GENERIC_WIDGET_DISPLAY = 0x301E, + SMSG_PLAYER_SAVE_GUILD_EMBLEM = 0x29F9, + SMSG_PLAYER_SHOW_ARROW_CALLOUT = 0x3022, + SMSG_PLAYER_SHOW_GENERIC_WIDGET_DISPLAY = 0x3020, + SMSG_PLAYER_SHOW_PARTY_POSE_UI = 0x3021, + SMSG_PLAYER_SHOW_UI_EVENT_TOAST = 0x301B, SMSG_PLAYER_SKINNED = 0x3006, SMSG_PLAYER_TUTORIAL_HIGHLIGHT_SPELL = 0x300D, SMSG_PLAYER_TUTORIAL_UNHIGHLIGHT_SPELL = 0x300C, - SMSG_PLAYER_WORLD_PVP_QUEUE = 0x301D, - SMSG_PLAY_MUSIC = 0x2771, - SMSG_PLAY_OBJECT_SOUND = 0x2772, - SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2735, + SMSG_PLAYER_WORLD_PVP_QUEUE = 0x301F, + SMSG_PLAY_MUSIC = 0x2773, + SMSG_PLAY_OBJECT_SOUND = 0x2774, + SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0x2737, SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0x2C46, - SMSG_PLAY_SCENE = 0x2638, - SMSG_PLAY_SOUND = 0x2770, - SMSG_PLAY_SPEAKERBOT_SOUND = 0x2773, + SMSG_PLAY_SCENE = 0x263A, + SMSG_PLAY_SOUND = 0x2772, + SMSG_PLAY_SPEAKERBOT_SOUND = 0x2775, SMSG_PLAY_SPELL_VISUAL = 0x2C44, SMSG_PLAY_SPELL_VISUAL_KIT = 0x2C48, SMSG_PONG = 0x304E, - SMSG_POWER_UPDATE = 0x26D6, + SMSG_POWER_UPDATE = 0x26D9, SMSG_PRELOAD_CHILD_MAP = 0x2579, - SMSG_PRELOAD_WORLD = 0x2597, - SMSG_PREPOPULATE_NAME_CACHE = 0x284C, - SMSG_PRE_RESSURECT = 0x276F, - SMSG_PRINT_NOTIFICATION = 0x25CC, - SMSG_PROC_RESIST = 0x275F, - SMSG_PROPOSE_LEVEL_GRANT = 0x26E1, + SMSG_PRELOAD_WORLD = 0x2599, + SMSG_PREPOPULATE_NAME_CACHE = 0x2838, + SMSG_PRE_RESSURECT = 0x2771, + SMSG_PRINT_NOTIFICATION = 0x25CE, + SMSG_PROC_RESIST = 0x2761, + SMSG_PROPOSE_LEVEL_GRANT = 0x26E4, SMSG_PUSH_SPELL_TO_ACTION_BAR = 0x2C50, SMSG_PVP_CREDIT = 0x294A, SMSG_PVP_LOG_DATA = 0x2934, SMSG_PVP_MATCH_INITIALIZE = 0x2956, SMSG_PVP_MATCH_START = 0x2953, SMSG_PVP_OPTIONS_ENABLED = 0x2938, - SMSG_PVP_SEASON = 0x25C3, + SMSG_PVP_SEASON = 0x25C5, SMSG_QUERY_ARENA_TEAM_RESPONSE = 0x2920, SMSG_QUERY_BATTLE_PET_NAME_RESPONSE = 0x291A, SMSG_QUERY_CREATURE_RESPONSE = 0x2914, SMSG_QUERY_GAME_OBJECT_RESPONSE = 0x2915, - SMSG_QUERY_GUILD_INFO_RESPONSE = 0x29E6, + SMSG_QUERY_GUILD_INFO_RESPONSE = 0x29E5, SMSG_QUERY_ITEM_TEXT_RESPONSE = 0x291E, SMSG_QUERY_NPC_TEXT_RESPONSE = 0x2916, SMSG_QUERY_PAGE_TEXT_RESPONSE = 0x2917, SMSG_QUERY_PETITION_RESPONSE = 0x291B, SMSG_QUERY_PET_NAME_RESPONSE = 0x2919, - SMSG_QUERY_PLAYER_NAMES_RESPONSE = 0x301B, + SMSG_QUERY_PLAYER_NAMES_RESPONSE = 0x301D, SMSG_QUERY_PLAYER_NAME_BY_COMMUNITY_ID_RESPONSE = 0x3002, SMSG_QUERY_QUEST_INFO_RESPONSE = 0x2A96, - SMSG_QUERY_TIME_RESPONSE = 0x26E8, + SMSG_QUERY_TIME_RESPONSE = 0x26EB, SMSG_QUEST_COMPLETION_NPC_RESPONSE = 0x2A81, SMSG_QUEST_CONFIRM_ACCEPT = 0x2A8F, SMSG_QUEST_FORCE_REMOVED = 0x2A9C, @@ -1612,114 +1462,123 @@ enum OpcodeServer : uint16 SMSG_QUEST_POI_QUERY_RESPONSE = 0x2A9D, SMSG_QUEST_POI_UPDATE_RESPONSE = 0x2A9F, SMSG_QUEST_PUSH_RESULT = 0x2A90, + SMSG_QUEST_SESSION_READY_CHECK = 0x2849, + SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = 0x284A, + SMSG_QUEST_SESSION_RESULT = 0x2848, SMSG_QUEST_UPDATE_ADD_CREDIT = 0x2A8C, SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x2A8D, SMSG_QUEST_UPDATE_ADD_PVP_CREDIT = 0x2A8E, SMSG_QUEST_UPDATE_COMPLETE = 0x2A89, SMSG_QUEST_UPDATE_FAILED = 0x2A8A, SMSG_QUEST_UPDATE_FAILED_TIMER = 0x2A8B, - SMSG_QUEUE_SUMMARY_UPDATE = 0x2816, - SMSG_RAID_DIFFICULTY_SET = 0x27B0, - SMSG_RAID_GROUP_ONLY = 0x27B2, + SMSG_QUEUE_SUMMARY_UPDATE = 0x2818, + SMSG_RAID_DIFFICULTY_SET = 0x27B2, + SMSG_RAID_GROUP_ONLY = 0x27B4, SMSG_RAID_INSTANCE_MESSAGE = 0x2BB4, - SMSG_RAID_MARKERS_CHANGED = 0x25A2, - SMSG_RANDOM_ROLL = 0x2632, + SMSG_RAID_MARKERS_CHANGED = 0x25A4, + SMSG_RANDOM_ROLL = 0x2634, SMSG_RATED_PVP_INFO = 0x2931, - SMSG_READY_CHECK_COMPLETED = 0x25FA, - SMSG_READY_CHECK_RESPONSE = 0x25F9, - SMSG_READY_CHECK_STARTED = 0x25F8, - SMSG_READ_ITEM_RESULT_FAILED = 0x27AC, - SMSG_READ_ITEM_RESULT_OK = 0x27A4, + SMSG_READY_CHECK_COMPLETED = 0x25FC, + SMSG_READY_CHECK_RESPONSE = 0x25FB, + SMSG_READY_CHECK_STARTED = 0x25FA, + SMSG_READ_ITEM_RESULT_FAILED = 0x27AE, + SMSG_READ_ITEM_RESULT_OK = 0x27A6, SMSG_REALM_QUERY_RESPONSE = 0x2913, - SMSG_REATTACH_RESURRECT = 0x274F, - SMSG_RECRUIT_A_FRIEND_FAILURE = 0x26C5, - SMSG_REFER_A_FRIEND_EXPIRED = 0x2727, - SMSG_REFRESH_COMPONENT = 0x2653, + SMSG_REATTACH_RESURRECT = 0x2751, + SMSG_RECRUIT_A_FRIEND_FAILURE = 0x26C8, + SMSG_REFER_A_FRIEND_EXPIRED = 0x2729, + SMSG_REFORGE_RESULT = 0x2581, + SMSG_REFRESH_COMPONENT = 0x2655, SMSG_REFRESH_SPELL_HISTORY = 0x2C2B, - SMSG_REMOVE_ITEM_PASSIVE = 0x25AD, + SMSG_REMOVE_ITEM_PASSIVE = 0x25AF, + SMSG_REMOVE_SPELL_FROM_ACTION_BAR = 0x2C51, SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x3001, - SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x2590, + SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x2592, SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x2939, SMSG_REQUEST_SCHEDULED_PVP_INFO_RESPONSE = 0x293A, SMSG_RESET_COMPRESSION_CONTEXT = 0x304F, - SMSG_RESET_FAILED_NOTIFY = 0x26BB, + SMSG_RESET_FAILED_NOTIFY = 0x26BE, SMSG_RESET_QUEST_POI = 0x2AA0, SMSG_RESET_RANGED_COMBAT_TIMER = 0x2949, SMSG_RESET_WEEKLY_CURRENCY = 0x2575, - SMSG_RESPEC_WIPE_CONFIRM = 0x2614, + SMSG_RESPEC_WIPE_CONFIRM = 0x2616, SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x2572, SMSG_RESUME_CAST = 0x2C3A, SMSG_RESUME_CAST_BAR = 0x2C3D, SMSG_RESUME_COMMS = 0x304B, - SMSG_RESUME_TOKEN = 0x25AB, + SMSG_RESUME_TOKEN = 0x25AD, SMSG_RESURRECT_REQUEST = 0x257E, SMSG_RESYNC_RUNES = 0x2C5E, - SMSG_ROLE_CHANGED_INFORM = 0x258B, + SMSG_RETURN_APPLICANT_LIST = 0x283C, + SMSG_RETURN_RECRUITING_CLUBS = 0x283B, + SMSG_ROLE_CHANGED_INFORM = 0x258D, SMSG_ROLE_CHOSEN = 0x2A39, - SMSG_ROLE_POLL_INFORM = 0x258C, - SMSG_RUNE_REGEN_DEBUG = 0x25B8, - SMSG_SCENARIO_COMPLETED = 0x27F0, - SMSG_SCENARIO_POIS = 0x2635, - SMSG_SCENARIO_PROGRESS_UPDATE = 0x262E, - SMSG_SCENARIO_SHOW_CRITERIA = 0x2806, - SMSG_SCENARIO_STATE = 0x262D, - SMSG_SCENARIO_UI_UPDATE = 0x2805, - SMSG_SCENARIO_VACATE = 0x27AD, - SMSG_SCENE_OBJECT_EVENT = 0x25E4, - SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25E9, - SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25EA, - SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x25E6, - SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x25E5, - SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x25E8, - SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25E7, + SMSG_ROLE_POLL_INFORM = 0x258E, + SMSG_RUNE_REGEN_DEBUG = 0x25BA, + SMSG_SCENARIO_COMPLETED = 0x27F2, + SMSG_SCENARIO_POIS = 0x2637, + SMSG_SCENARIO_PROGRESS_UPDATE = 0x2630, + SMSG_SCENARIO_SHOW_CRITERIA = 0x2808, + SMSG_SCENARIO_STATE = 0x262F, + SMSG_SCENARIO_UI_UPDATE = 0x2807, + SMSG_SCENARIO_VACATE = 0x27AF, + SMSG_SCENE_OBJECT_EVENT = 0x25E6, + SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND = 0x25EB, + SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED = 0x25EC, + SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND = 0x25E8, + SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE = 0x25E7, + SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE = 0x25EA, + SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT = 0x25E9, SMSG_SCRIPT_CAST = 0x2C55, - SMSG_SELL_RESPONSE = 0x26C9, - SMSG_SEND_ITEM_PASSIVES = 0x25AE, + SMSG_SELL_RESPONSE = 0x26CC, + SMSG_SEND_ITEM_PASSIVES = 0x25B0, SMSG_SEND_KNOWN_SPELLS = 0x2C29, - SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x2630, - SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x2631, + SMSG_SEND_RAID_TARGET_UPDATE_ALL = 0x2632, + SMSG_SEND_RAID_TARGET_UPDATE_SINGLE = 0x2633, SMSG_SEND_SPELL_CHARGES = 0x2C2C, SMSG_SEND_SPELL_HISTORY = 0x2C2A, SMSG_SEND_UNLEARN_SPELLS = 0x2C2D, - SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x2650, - SMSG_SERVER_TIME = 0x2686, - SMSG_SERVER_TIME_OFFSET = 0x2718, + SMSG_SERVER_FIRST_ACHIEVEMENTS = 0x2652, + SMSG_SERVER_TIME = 0x2689, + SMSG_SERVER_TIME_OFFSET = 0x271B, SMSG_SETUP_CURRENCY = 0x2573, - SMSG_SET_AI_ANIM_KIT = 0x2734, - SMSG_SET_ANIM_TIER = 0x2738, - SMSG_SET_CHR_UPGRADE_TIER = 0x25E1, + SMSG_SET_AI_ANIM_KIT = 0x2736, + SMSG_SET_ANIM_TIER = 0x273A, + SMSG_SET_CHR_UPGRADE_TIER = 0x25E3, SMSG_SET_CURRENCY = 0x2574, SMSG_SET_DF_FAST_LAUNCH_RESULT = 0x2A2E, - SMSG_SET_DUNGEON_DIFFICULTY = 0x26A8, - SMSG_SET_FACTION_AT_WAR = 0x2704, - SMSG_SET_FACTION_NOT_VISIBLE = 0x272F, - SMSG_SET_FACTION_STANDING = 0x2730, - SMSG_SET_FACTION_VISIBLE = 0x272E, + SMSG_SET_DUNGEON_DIFFICULTY = 0x26AB, + SMSG_SET_FACTION_AT_WAR = 0x2707, + SMSG_SET_FACTION_NOT_VISIBLE = 0x2731, + SMSG_SET_FACTION_STANDING = 0x2732, + SMSG_SET_FACTION_VISIBLE = 0x2730, SMSG_SET_FLAT_SPELL_MODIFIER = 0x2C35, - SMSG_SET_FORCED_REACTIONS = 0x2721, - SMSG_SET_ITEM_PURCHASE_DATA = 0x259D, - SMSG_SET_LOOT_METHOD_FAILED = 0x27D4, - SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25A0, - SMSG_SET_MELEE_ANIM_KIT = 0x2737, - SMSG_SET_MOVEMENT_ANIM_KIT = 0x2736, + SMSG_SET_FORGE_MASTER = 0x2593, + SMSG_SET_ITEM_PURCHASE_DATA = 0x259F, + SMSG_SET_LOOT_METHOD_FAILED = 0x27D6, + SMSG_SET_MAX_WEEKLY_QUANTITY = 0x25A2, + SMSG_SET_MELEE_ANIM_KIT = 0x2739, + SMSG_SET_MOVEMENT_ANIM_KIT = 0x2738, SMSG_SET_PCT_SPELL_MODIFIER = 0x2C36, - SMSG_SET_PET_SPECIALIZATION = 0x2627, + SMSG_SET_PET_SPECIALIZATION = 0x2629, SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x3003, - SMSG_SET_PLAY_HOVER_ANIM = 0x25BC, - SMSG_SET_PROFICIENCY = 0x2739, + SMSG_SET_PLAY_HOVER_ANIM = 0x25BE, + SMSG_SET_PROFICIENCY = 0x273B, SMSG_SET_SPELL_CHARGES = 0x2C28, - SMSG_SET_TIME_ZONE_INFORMATION = 0x267B, - SMSG_SET_VEHICLE_REC_ID = 0x26FB, - SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25DD, + SMSG_SET_TIME_ZONE_INFORMATION = 0x267E, + SMSG_SET_VEHICLE_REC_ID = 0x26FE, + SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI = 0x25DF, SMSG_SHOW_QUEST_COMPLETION_TEXT = 0x2A95, - SMSG_SHOW_TAXI_NODES = 0x26D1, - SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x2778, - SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x2895, - SMSG_SOCKET_GEMS_FAILURE = 0x272C, - SMSG_SOCKET_GEMS_SUCCESS = 0x272B, - SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0x25DF, - SMSG_SPECIAL_MOUNT_ANIM = 0x26A3, - SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x271C, + SMSG_SHOW_TAXI_NODES = 0x26D4, + SMSG_SHOW_TRADE_SKILL_RESPONSE = 0x277A, + SMSG_SOCIAL_CONTRACT_REQUEST_RESPONSE = 0x287F, + SMSG_SOCKET_GEMS_FAILURE = 0x272E, + SMSG_SOCKET_GEMS_SUCCESS = 0x272D, + SMSG_SOR_START_EXPERIENCE_INCOMPLETE = 0x25E1, + SMSG_SPECIAL_MOUNT_ANIM = 0x26A6, + SMSG_SPECTATE_END = 0x288B, + SMSG_SPECTATE_PLAYER = 0x288A, + SMSG_SPEC_INVOLUNTARILY_CHANGED = 0x271F, SMSG_SPELL_ABSORB_LOG = 0x2C1C, SMSG_SPELL_CATEGORY_COOLDOWN = 0x2C16, SMSG_SPELL_CHANNEL_START = 0x2C33, @@ -1744,86 +1603,85 @@ enum OpcodeServer : uint16 SMSG_SPELL_PERIODIC_AURA_LOG = 0x2C18, SMSG_SPELL_PREPARE = 0x2C37, SMSG_SPELL_START = 0x2C39, - SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x25CE, - SMSG_STAND_STATE_UPDATE = 0x2720, - SMSG_START_ELAPSED_TIMER = 0x2606, - SMSG_START_ELAPSED_TIMERS = 0x2608, - SMSG_START_LIGHTNING_STORM = 0x26AB, - SMSG_START_LOOT_ROLL = 0x261F, - SMSG_START_MIRROR_TIMER = 0x2713, - SMSG_START_TIMER = 0x25A7, - SMSG_STOP_ELAPSED_TIMER = 0x2607, - SMSG_STOP_MIRROR_TIMER = 0x2715, - SMSG_STOP_SPEAKERBOT_SOUND = 0x2774, - SMSG_STREAMING_MOVIES = 0x25A6, - SMSG_SUGGEST_INVITE_INFORM = 0x279A, - SMSG_SUMMON_CANCEL = 0x26B4, - SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x258E, - SMSG_SUMMON_REQUEST = 0x2725, + SMSG_SPELL_VISUAL_LOAD_SCREEN = 0x25D0, + SMSG_STAND_STATE_UPDATE = 0x2723, + SMSG_START_ELAPSED_TIMER = 0x2608, + SMSG_START_ELAPSED_TIMERS = 0x260A, + SMSG_START_LIGHTNING_STORM = 0x26AE, + SMSG_START_LOOT_ROLL = 0x2621, + SMSG_START_MIRROR_TIMER = 0x2716, + SMSG_START_TIMER = 0x25A9, + SMSG_STOP_ELAPSED_TIMER = 0x2609, + SMSG_STOP_MIRROR_TIMER = 0x2718, + SMSG_STOP_SPEAKERBOT_SOUND = 0x2776, + SMSG_STREAMING_MOVIES = 0x25A8, + SMSG_SUGGEST_INVITE_INFORM = 0x279C, + SMSG_SUMMON_CANCEL = 0x26B7, + SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED = 0x2590, + SMSG_SUMMON_REQUEST = 0x2727, SMSG_SUPERCEDED_SPELLS = 0x2C4B, SMSG_SUSPEND_COMMS = 0x304A, - SMSG_SUSPEND_TOKEN = 0x25AA, - SMSG_SYNC_WOW_ENTITLEMENTS = 0x286D, - SMSG_TALENTS_INVOLUNTARILY_RESET = 0x271B, - SMSG_TALENT_GROUP_ROLE_CHANGED = 0x258D, - SMSG_TAXI_NODE_STATUS = 0x2680, - SMSG_TEXT_EMOTE = 0x267E, - SMSG_THREAT_CLEAR = 0x26E0, - SMSG_THREAT_REMOVE = 0x26DF, - SMSG_THREAT_UPDATE = 0x26DE, + SMSG_SUSPEND_TOKEN = 0x25AC, + SMSG_SYNC_WOW_ENTITLEMENTS = 0x2859, + SMSG_TALENTS_INVOLUNTARILY_RESET = 0x271E, + SMSG_TALENT_GROUP_ROLE_CHANGED = 0x258F, + SMSG_TAXI_NODE_STATUS = 0x2683, + SMSG_TEXT_EMOTE = 0x2681, + SMSG_THREAT_CLEAR = 0x26E3, + SMSG_THREAT_REMOVE = 0x26E2, + SMSG_THREAT_UPDATE = 0x26E1, SMSG_TIME_ADJUSTMENT = 0x2DD3, SMSG_TIME_SYNC_REQUEST = 0x2DD2, - SMSG_TITLE_EARNED = 0x26DB, - SMSG_TITLE_LOST = 0x26DC, - SMSG_TOTEM_CREATED = 0x26CC, - SMSG_TOTEM_MOVED = 0x26CE, + SMSG_TITLE_EARNED = 0x26DE, + SMSG_TITLE_LOST = 0x26DF, + SMSG_TOTEM_CREATED = 0x26CF, + SMSG_TOTEM_MOVED = 0x26D1, SMSG_TRADE_STATUS = 0x2583, SMSG_TRADE_UPDATED = 0x2582, - SMSG_TRAINER_BUY_FAILED = 0x26E4, - SMSG_TRAINER_LIST = 0x26E3, - SMSG_TRAIT_CONFIG_COMMIT_FAILED = 0x25D3, - SMSG_TRANSFER_ABORTED = 0x2707, - SMSG_TRANSFER_PENDING = 0x25CF, + SMSG_TRAINER_BUY_FAILED = 0x26E7, + SMSG_TRAINER_LIST = 0x26E6, + SMSG_TRAIT_CONFIG_COMMIT_FAILED = 0x25D5, + SMSG_TRANSFER_ABORTED = 0x270A, + SMSG_TRANSFER_PENDING = 0x25D1, SMSG_TREASURE_PICKER_RESPONSE = 0x291F, - SMSG_TRIGGER_CINEMATIC = 0x27CD, - SMSG_TRIGGER_MOVIE = 0x26CF, - SMSG_TURN_IN_PETITION_RESULT = 0x2752, - SMSG_TUTORIAL_FLAGS = 0x27C1, - SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27CF, - SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27D0, + SMSG_TRIGGER_CINEMATIC = 0x27CF, + SMSG_TRIGGER_MOVIE = 0x26D2, + SMSG_TURN_IN_PETITION_RESULT = 0x2754, + SMSG_TUTORIAL_FLAGS = 0x27C3, + SMSG_UNDELETE_CHARACTER_RESPONSE = 0x27D1, + SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE = 0x27D2, SMSG_UNLEARNED_SPELLS = 0x2C4D, SMSG_UNLOAD_CHILD_MAP = 0x257A, - SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x2888, - SMSG_UPDATE_ACCOUNT_DATA = 0x270D, - SMSG_UPDATE_ACTION_BUTTONS = 0x25E2, - SMSG_UPDATE_BNET_SESSION_KEY = 0x2827, - SMSG_UPDATE_CELESTIAL_BODY = 0x2823, - SMSG_UPDATE_CHARACTER_FLAGS = 0x27C7, - SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x276E, - SMSG_UPDATE_COOLDOWN = 0x276D, - SMSG_UPDATE_EXPANSION_LEVEL = 0x2648, - SMSG_UPDATE_GAME_TIME_STATE = 0x282A, - SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26AD, - SMSG_UPDATE_LAST_INSTANCE = 0x268C, - SMSG_UPDATE_OBJECT = 0x27CE, - SMSG_UPDATE_TALENT_DATA = 0x25D9, - SMSG_UPDATE_PRIMARY_SPEC = 0x25DA, - //SMSG_UPDATE_TALENT_DATA = 0x25D8, - SMSG_UPDATE_WORLD_STATE = 0x274C, + SMSG_UPDATE_AADC_STATUS_RESPONSE = 0x2873, + SMSG_UPDATE_ACCOUNT_DATA = 0x2710, + SMSG_UPDATE_ACTION_BUTTONS = 0x25E4, + SMSG_UPDATE_BNET_SESSION_KEY = 0x2829, + SMSG_UPDATE_CELESTIAL_BODY = 0x2825, + SMSG_UPDATE_CHARACTER_FLAGS = 0x27C9, + SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN = 0x2770, + SMSG_UPDATE_COOLDOWN = 0x276F, + SMSG_UPDATE_EXPANSION_LEVEL = 0x264A, + SMSG_UPDATE_GAME_TIME_STATE = 0x282C, + SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x26B0, + SMSG_UPDATE_LAST_INSTANCE = 0x268F, + SMSG_UPDATE_OBJECT = 0x27D0, + SMSG_UPDATE_PRIMARY_SPEC = 0x25DC, + SMSG_UPDATE_TALENT_DATA = 0x25DB, + SMSG_UPDATE_WORLD_STATE = 0x274E, SMSG_USERLIST_ADD = 0x2BB9, SMSG_USERLIST_REMOVE = 0x2BBA, SMSG_USERLIST_UPDATE = 0x2BBB, - SMSG_USE_EQUIPMENT_SET_RESULT = 0x2753, - SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x281E, - SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x281C, - SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x281B, - SMSG_VAS_PURCHASE_COMPLETE = 0x27F6, - SMSG_VAS_PURCHASE_STATE_UPDATE = 0x27F5, - SMSG_VENDOR_INVENTORY = 0x25BA, + SMSG_USE_EQUIPMENT_SET_RESULT = 0x2755, + SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE = 0x2820, + SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE = 0x281E, + SMSG_VAS_GET_SERVICE_STATUS_RESPONSE = 0x281D, + SMSG_VAS_PURCHASE_COMPLETE = 0x27F8, + SMSG_VAS_PURCHASE_STATE_UPDATE = 0x27F7, + SMSG_VENDOR_INVENTORY = 0x25BC, SMSG_VIGNETTE_UPDATE = 0x3008, - SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x2822, - SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x2884, - SMSG_VOICE_LOGIN_RESPONSE = 0x2821, + SMSG_VOICE_CHANNEL_INFO_RESPONSE = 0x2824, + SMSG_VOICE_CHANNEL_STT_TOKEN_RESPONSE = 0x286F, + SMSG_VOICE_LOGIN_RESPONSE = 0x2823, SMSG_VOID_ITEM_SWAP_RESPONSE = 0x2DA4, SMSG_VOID_STORAGE_CONTENTS = 0x2DA1, SMSG_VOID_STORAGE_FAILED = 0x2DA0, @@ -1832,213 +1690,198 @@ enum OpcodeServer : uint16 SMSG_WAIT_QUEUE_FINISH = 0x256F, SMSG_WAIT_QUEUE_UPDATE = 0x256E, SMSG_WARDEN3_DATA = 0x2577, - SMSG_WARDEN3_DISABLED = 0x2825, - SMSG_WARDEN3_ENABLED = 0x2824, - SMSG_WARFRONT_COMPLETE = 0x2762, + SMSG_WARDEN3_DISABLED = 0x2827, + SMSG_WARDEN3_ENABLED = 0x2826, + SMSG_WARFRONT_COMPLETE = 0x2764, SMSG_WARGAME_REQUEST_OPPONENT_RESPONSE = 0x2937, SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT = 0x2935, - SMSG_WEATHER = 0x26AA, + SMSG_WEATHER = 0x26AD, SMSG_WHO = 0x2BAE, - SMSG_WHO_IS = 0x26A9, - SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x2829, + SMSG_WHO_IS = 0x26AC, + SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME = 0x282B, SMSG_WORLD_QUEST_UPDATE_RESPONSE = 0x300F, - SMSG_WORLD_SERVER_INFO = 0x25AF, - SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x286E, - SMSG_XP_GAIN_ABORTED = 0x25CB, - SMSG_XP_GAIN_ENABLED = 0x27B1, + SMSG_WORLD_SERVER_INFO = 0x25B1, + SMSG_WOW_ENTITLEMENT_NOTIFICATION = 0x285A, + SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_END = 0x2880, + SMSG_WOW_LABS_NOTIFY_PLAYERS_MATCH_STATE_CHANGED = 0x2881, + SMSG_WOW_LABS_PARTY_ERROR = 0x2885, + SMSG_WOW_LABS_SET_PREDICTION_CIRCLE = 0x2882, + SMSG_XP_GAIN_ABORTED = 0x25CD, + SMSG_XP_GAIN_ENABLED = 0x27B3, SMSG_ZONE_UNDER_ATTACK = 0x2BB5, // Opcodes that are not generated automatically - SMSG_ACCOUNT_HEIRLOOM_UPDATE = 0x25B3, // no client handler - SMSG_COMPRESSED_PACKET = 0x3052, - SMSG_MULTIPLE_PACKETS = 0x3051, + SMSG_ACCOUNT_HEIRLOOM_UPDATE = 0x25B5, + SMSG_COMPRESSED_PACKET = 0x3052, + SMSG_MULTIPLE_PACKETS = 0x3051, // Deleted opcodes, here only to allow compile - SMSG_ACCOUNT_COSMETIC_ADDED = UNKNOWN_OPCODE, - SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE = UNKNOWN_OPCODE, - SMSG_ACCOUNT_TRANSMOG_UPDATE = UNKNOWN_OPCODE, - SMSG_ACTIVATE_ESSENCE_FAILED = UNKNOWN_OPCODE, - SMSG_ACTIVATE_SOULBIND_FAILED = UNKNOWN_OPCODE, - SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = UNKNOWN_OPCODE, - SMSG_ADVANCED_COMBAT_LOG = UNKNOWN_OPCODE, - SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = UNKNOWN_OPCODE, - SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL = UNKNOWN_OPCODE, - SMSG_AREA_TRIGGER_UPDATE_DECAL_PROPERTIES = UNKNOWN_OPCODE, - SMSG_ARENA_CLEAR_OPPONENTS = UNKNOWN_OPCODE, - SMSG_AUCTION_DISABLE_NEW_POSTINGS = UNKNOWN_OPCODE, - SMSG_AUCTION_FAVORITE_LIST = UNKNOWN_OPCODE, - SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = UNKNOWN_OPCODE, - SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = UNKNOWN_OPCODE, - SMSG_AUCTION_LIST_BUCKETS_RESULT = UNKNOWN_OPCODE, - SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = UNKNOWN_OPCODE, - SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = UNKNOWN_OPCODE, - SMSG_BATTLEFIELD_STATUS_GROUP_PROPOSAL_FAILED = UNKNOWN_OPCODE, - SMSG_BROADCAST_SUMMON_CAST = UNKNOWN_OPCODE, - SMSG_BROADCAST_SUMMON_RESPONSE = UNKNOWN_OPCODE, - SMSG_CANCEL_PING_PIN = UNKNOWN_OPCODE, - SMSG_CAPTURE_POINT_REMOVED = UNKNOWN_OPCODE, - SMSG_CHAIN_MISSILE_BOUNCE = UNKNOWN_OPCODE, - SMSG_CHALLENGE_MODE_COMPLETE = UNKNOWN_OPCODE, - SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = UNKNOWN_OPCODE, - SMSG_CHALLENGE_MODE_RESET = UNKNOWN_OPCODE, - SMSG_CHALLENGE_MODE_START = UNKNOWN_OPCODE, - SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = UNKNOWN_OPCODE, - SMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_RESPONSE = UNKNOWN_OPCODE, - SMSG_CHAT_REGIONAL_SERVICE_STATUS = UNKNOWN_OPCODE, - SMSG_CHECK_ABANDON_NPE = UNKNOWN_OPCODE, - SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = UNKNOWN_OPCODE, - SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = UNKNOWN_OPCODE, - SMSG_CLAIM_RAF_REWARD_RESPONSE = UNKNOWN_OPCODE, - SMSG_CLEAR_RESURRECT = UNKNOWN_OPCODE, - SMSG_CLEAR_TREASURE_PICKER_CACHE = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_ERROR_MESSAGE = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_UPDATE_APPLICATIONS = UNKNOWN_OPCODE, - SMSG_CLUB_FINDER_WHISPER_APPLICANT_RESPONSE = UNKNOWN_OPCODE, - SMSG_COMPLETE_SHIPMENT_RESPONSE = UNKNOWN_OPCODE, - SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = UNKNOWN_OPCODE, - SMSG_COVENANT_CALLINGS_AVAILABILITY_RESPONSE = UNKNOWN_OPCODE, - SMSG_COVENANT_PREVIEW_OPEN_NPC = UNKNOWN_OPCODE, - SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = UNKNOWN_OPCODE, - SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_CANCEL_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_CLAIM_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_CRAFT_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_CREATE_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_FULFILL_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_REJECT_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_RELEASE_RESULT = UNKNOWN_OPCODE, - SMSG_CRAFTING_ORDER_UPDATE_STATE = UNKNOWN_OPCODE, - SMSG_CRAFT_ENCHANT_RESULT = UNKNOWN_OPCODE, - SMSG_CREATE_SHIPMENT_RESPONSE = UNKNOWN_OPCODE, - SMSG_CREATOR_VISUALS_OVERRIDE = UNKNOWN_OPCODE, - SMSG_DELETE_EXPIRED_MISSIONS_RESULT = UNKNOWN_OPCODE, - SMSG_DISPLAY_SOULBIND_UPDATE_MESSAGE = UNKNOWN_OPCODE, - SMSG_DISPLAY_WORLD_TEXT = UNKNOWN_OPCODE, - SMSG_DISPLAY_WORLD_TEXT_ON_TARGET = UNKNOWN_OPCODE, - SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = UNKNOWN_OPCODE, - SMSG_FLUSH_COMBAT_LOG_FILE = UNKNOWN_OPCODE, - SMSG_FORCE_ANIMATIONS = UNKNOWN_OPCODE, - SMSG_FORCE_RANDOM_TRANSMOG_TOAST = UNKNOWN_OPCODE, - SMSG_GAIN_MAW_POWER = UNKNOWN_OPCODE, - SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = UNKNOWN_OPCODE, - SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = UNKNOWN_OPCODE, - SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = UNKNOWN_OPCODE, - SMSG_GET_SHIPMENT_INFO_RESPONSE = UNKNOWN_OPCODE, - SMSG_GET_TROPHY_LIST_RESPONSE = UNKNOWN_OPCODE, - SMSG_GOSSIP_REFRESH_OPTIONS = UNKNOWN_OPCODE, - SMSG_GUILD_EVENT_STATUS_CHANGE = UNKNOWN_OPCODE, - SMSG_ITEM_INTERACTION_COMPLETE = UNKNOWN_OPCODE, - SMSG_LEVEL_LINKING_RESULT = UNKNOWN_OPCODE, - SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = UNKNOWN_OPCODE, - SMSG_MEETING_STONE_FAILED = UNKNOWN_OPCODE, - SMSG_MOVE_ADD_IMPULSE = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_BANKING_RATE = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_MAX_VEL = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION = UNKNOWN_OPCODE, - SMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD = UNKNOWN_OPCODE, - SMSG_MOVE_SET_CAN_ADV_FLY = UNKNOWN_OPCODE, - SMSG_MOVE_UNSET_CAN_ADV_FLY = UNKNOWN_OPCODE, - SMSG_MOVE_UPDATE_ADD_IMPULSE = UNKNOWN_OPCODE, - SMSG_MULTI_FLOOR_LEAVE_FLOOR = UNKNOWN_OPCODE, - SMSG_MULTI_FLOOR_NEW_FLOOR = UNKNOWN_OPCODE, - SMSG_MYTHIC_PLUS_ALL_MAP_STATS = UNKNOWN_OPCODE, - SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = UNKNOWN_OPCODE, - SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = UNKNOWN_OPCODE, - SMSG_MYTHIC_PLUS_SEASON_DATA = UNKNOWN_OPCODE, - SMSG_OPEN_SHIPMENT_NPC_RESULT = UNKNOWN_OPCODE, - SMSG_PAST_TIME_EVENTS = UNKNOWN_OPCODE, - SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = UNKNOWN_OPCODE, - SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = UNKNOWN_OPCODE, - SMSG_PERKS_PROGRAM_DISABLED = UNKNOWN_OPCODE, - SMSG_PERKS_PROGRAM_RESULT = UNKNOWN_OPCODE, - SMSG_PERKS_PROGRAM_VENDOR_UPDATE = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_CHAT_RESTRICTED = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_FINALIZE_LOCATION = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_FINAL_ROUND = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_FINISHED = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_FIRST_ROUND = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_INITIAL_UPDATE = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_PVP_CHALLENGE = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_QUEUE_STATUS = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_REPLACEMENTS_MADE = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_REQUEST_FAILED = UNKNOWN_OPCODE, - SMSG_PET_BATTLE_ROUND_RESULT = UNKNOWN_OPCODE, - SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED = UNKNOWN_OPCODE, - SMSG_PLAYER_AZERITE_ITEM_GAINS = UNKNOWN_OPCODE, - SMSG_PLAYER_CHOICE_CLEAR = UNKNOWN_OPCODE, - SMSG_PLAYER_CHOICE_DISPLAY_ERROR = UNKNOWN_OPCODE, - SMSG_PLAYER_OPEN_SUBSCRIPTION_INTERSTITIAL = UNKNOWN_OPCODE, - SMSG_PLAYER_SAVE_PERSONAL_EMBLEM = UNKNOWN_OPCODE, - SMSG_PLAYER_SHOW_PARTY_POSE_UI = UNKNOWN_OPCODE, - SMSG_PLAYER_SHOW_UI_EVENT_TOAST = UNKNOWN_OPCODE, - SMSG_PLAY_TIME_WARNING = UNKNOWN_OPCODE, - SMSG_PROFESSION_GOSSIP = UNKNOWN_OPCODE, - SMSG_PVP_MATCH_COMPLETE = UNKNOWN_OPCODE, - SMSG_PVP_MATCH_SET_STATE = UNKNOWN_OPCODE, - SMSG_PVP_MATCH_STATISTICS = UNKNOWN_OPCODE, - SMSG_PVP_TIER_RECORD = UNKNOWN_OPCODE, - SMSG_QUERY_GUILD_FOLLOW_INFO_RESPONSE = UNKNOWN_OPCODE, - SMSG_QUERY_REALM_GUILD_MASTER_INFO_RESPONSE = UNKNOWN_OPCODE, - SMSG_QUEST_SESSION_INFO_RESPONSE = UNKNOWN_OPCODE, - SMSG_QUEST_SESSION_READY_CHECK = UNKNOWN_OPCODE, - SMSG_QUEST_SESSION_READY_CHECK_RESPONSE = UNKNOWN_OPCODE, - SMSG_QUEST_SESSION_RESULT = UNKNOWN_OPCODE, - SMSG_RAF_ACCOUNT_INFO = UNKNOWN_OPCODE, - SMSG_RAF_ACTIVITY_STATE_CHANGED = UNKNOWN_OPCODE, - SMSG_RAF_DEBUG_FRIEND_MONTHS = UNKNOWN_OPCODE, - SMSG_RECEIVE_PING_UNIT = UNKNOWN_OPCODE, - SMSG_RECEIVE_PING_WORLD_POINT = UNKNOWN_OPCODE, - SMSG_RECRAFT_ITEM_RESULT = UNKNOWN_OPCODE, - SMSG_REMOVE_SPELL_FROM_ACTION_BAR = UNKNOWN_OPCODE, - SMSG_REPLACE_TROPHY_RESPONSE = UNKNOWN_OPCODE, - SMSG_RESET_LAST_LOADED_CONFIG_CVARS = UNKNOWN_OPCODE, - SMSG_RESPONSE_PERK_PENDING_REWARDS = UNKNOWN_OPCODE, - SMSG_RESPONSE_PERK_RECENT_PURCHASES = UNKNOWN_OPCODE, - SMSG_RESTART_GLOBAL_COOLDOWN = UNKNOWN_OPCODE, - SMSG_RESTRICTED_ACCOUNT_WARNING = UNKNOWN_OPCODE, - SMSG_RETURNING_PLAYER_PROMPT = UNKNOWN_OPCODE, - SMSG_RETURN_APPLICANT_LIST = UNKNOWN_OPCODE, - SMSG_RETURN_RECRUITING_CLUBS = UNKNOWN_OPCODE, - SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = UNKNOWN_OPCODE, - SMSG_SETUP_COMBAT_LOG_FILE_FLUSH = UNKNOWN_OPCODE, - SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = UNKNOWN_OPCODE, - SMSG_SET_SHIPMENT_READY_RESPONSE = UNKNOWN_OPCODE, - SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = UNKNOWN_OPCODE, - SMSG_SHIPMENT_FACTION_UPDATE_RESULT = UNKNOWN_OPCODE, - SMSG_SPELL_EMPOWER_SET_STAGE = UNKNOWN_OPCODE, - SMSG_SPELL_EMPOWER_START = UNKNOWN_OPCODE, - SMSG_SPELL_EMPOWER_UPDATE = UNKNOWN_OPCODE, - SMSG_SPLASH_SCREEN_SHOW_LATEST = UNKNOWN_OPCODE, - SMSG_STARTER_BUILD_ACTIVATE_FAILED = UNKNOWN_OPCODE, - SMSG_STOP_TIMER = UNKNOWN_OPCODE, - SMSG_TOTEM_DURATION_CHANGED = UNKNOWN_OPCODE, - SMSG_TOTEM_REMOVED = UNKNOWN_OPCODE, - SMSG_UI_MAP_QUEST_LINES_RESPONSE = UNKNOWN_OPCODE, - SMSG_UPDATE_CAPTURE_POINT = UNKNOWN_OPCODE, - SMSG_UPDATE_CRAFTING_NPC_RECIPES = UNKNOWN_OPCODE, - SMSG_UPDATE_DAILY_MISSION_COUNTER = UNKNOWN_OPCODE, - SMSG_UPDATE_RECENT_PLAYER_GUIDS = UNKNOWN_OPCODE, - SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = UNKNOWN_OPCODE, - SMSG_WEEKLY_REWARDS_RESULT = UNKNOWN_OPCODE, - SMSG_WEEKLY_REWARD_CLAIM_RESULT = UNKNOWN_OPCODE, - SMSG_XP_AWARDED_FROM_CURRENCY = UNKNOWN_OPCODE + SMSG_ACCOUNT_COSMETIC_ADDED = UNKNOWN_OPCODE, + SMSG_ACTIVATE_ESSENCE_FAILED = UNKNOWN_OPCODE, + SMSG_ACTIVATE_SOULBIND_FAILED = UNKNOWN_OPCODE, + SMSG_ACTIVE_SCHEDULED_WORLD_STATE_INFO = UNKNOWN_OPCODE, + SMSG_ADVANCED_COMBAT_LOG = UNKNOWN_OPCODE, + SMSG_APPLY_MOUNT_EQUIPMENT_RESULT = UNKNOWN_OPCODE, + SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL = UNKNOWN_OPCODE, + SMSG_AREA_TRIGGER_UPDATE_DECAL_PROPERTIES = UNKNOWN_OPCODE, + SMSG_ARENA_CLEAR_OPPONENTS = UNKNOWN_OPCODE, + SMSG_AUCTION_DISABLE_NEW_POSTINGS = UNKNOWN_OPCODE, + SMSG_AUCTION_FAVORITE_LIST = UNKNOWN_OPCODE, + SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT = UNKNOWN_OPCODE, + SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT = UNKNOWN_OPCODE, + SMSG_AUCTION_LIST_BUCKETS_RESULT = UNKNOWN_OPCODE, + SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT = UNKNOWN_OPCODE, + SMSG_BACKPACK_DEFAULT_SIZE_CHANGED = UNKNOWN_OPCODE, + SMSG_BATTLEFIELD_STATUS_GROUP_PROPOSAL_FAILED = UNKNOWN_OPCODE, + SMSG_BROADCAST_SUMMON_CAST = UNKNOWN_OPCODE, + SMSG_BROADCAST_SUMMON_RESPONSE = UNKNOWN_OPCODE, + SMSG_CANCEL_PING_PIN = UNKNOWN_OPCODE, + SMSG_CAPTURE_POINT_REMOVED = UNKNOWN_OPCODE, + SMSG_CHAIN_MISSILE_BOUNCE = UNKNOWN_OPCODE, + SMSG_CHALLENGE_MODE_COMPLETE = UNKNOWN_OPCODE, + SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT = UNKNOWN_OPCODE, + SMSG_CHALLENGE_MODE_RESET = UNKNOWN_OPCODE, + SMSG_CHALLENGE_MODE_START = UNKNOWN_OPCODE, + SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT = UNKNOWN_OPCODE, + SMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_RESPONSE = UNKNOWN_OPCODE, + SMSG_CHAT_REGIONAL_SERVICE_STATUS = UNKNOWN_OPCODE, + SMSG_CHECK_ABANDON_NPE = UNKNOWN_OPCODE, + SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT = UNKNOWN_OPCODE, + SMSG_CHROMIE_TIME_SELECT_EXPANSION_SUCCESS = UNKNOWN_OPCODE, + SMSG_CLAIM_RAF_REWARD_RESPONSE = UNKNOWN_OPCODE, + SMSG_CLEAR_RESURRECT = UNKNOWN_OPCODE, + SMSG_CLEAR_TREASURE_PICKER_CACHE = UNKNOWN_OPCODE, + SMSG_COMPLETE_SHIPMENT_RESPONSE = UNKNOWN_OPCODE, + SMSG_CONVERT_ITEMS_TO_CURRENCY_VALUE = UNKNOWN_OPCODE, + SMSG_COVENANT_PREVIEW_OPEN_NPC = UNKNOWN_OPCODE, + SMSG_COVENANT_RENOWN_SEND_CATCHUP_STATE = UNKNOWN_OPCODE, + SMSG_CRAFTING_HOUSE_HELLO_RESPONSE = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_CANCEL_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_CLAIM_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_CRAFT_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_CREATE_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_FULFILL_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_LIST_ORDERS_RESPONSE = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_REJECT_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_RELEASE_RESULT = UNKNOWN_OPCODE, + SMSG_CRAFTING_ORDER_UPDATE_STATE = UNKNOWN_OPCODE, + SMSG_CRAFT_ENCHANT_RESULT = UNKNOWN_OPCODE, + SMSG_CREATE_SHIPMENT_RESPONSE = UNKNOWN_OPCODE, + SMSG_CREATOR_VISUALS_OVERRIDE = UNKNOWN_OPCODE, + SMSG_DELETE_EXPIRED_MISSIONS_RESULT = UNKNOWN_OPCODE, + SMSG_DISPLAY_SOULBIND_UPDATE_MESSAGE = UNKNOWN_OPCODE, + SMSG_DISPLAY_WORLD_TEXT = UNKNOWN_OPCODE, + SMSG_DISPLAY_WORLD_TEXT_ON_TARGET = UNKNOWN_OPCODE, + SMSG_ENSURE_WORLD_LOADED = UNKNOWN_OPCODE, + SMSG_EXTERNAL_TRANSACTION_ID_GENERATED = UNKNOWN_OPCODE, + SMSG_FLUSH_COMBAT_LOG_FILE = UNKNOWN_OPCODE, + SMSG_FORCE_ANIMATIONS = UNKNOWN_OPCODE, + SMSG_GAIN_MAW_POWER = UNKNOWN_OPCODE, + SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE = UNKNOWN_OPCODE, + SMSG_GET_SELECTED_TROPHY_ID_RESPONSE = UNKNOWN_OPCODE, + SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE = UNKNOWN_OPCODE, + SMSG_GET_SHIPMENT_INFO_RESPONSE = UNKNOWN_OPCODE, + SMSG_GET_TROPHY_LIST_RESPONSE = UNKNOWN_OPCODE, + SMSG_GOSSIP_REFRESH_OPTIONS = UNKNOWN_OPCODE, + SMSG_GUILD_ROSTER_UPDATE = UNKNOWN_OPCODE, + SMSG_ITEM_INTERACTION_COMPLETE = UNKNOWN_OPCODE, + SMSG_LEVEL_LINKING_RESULT = UNKNOWN_OPCODE, + SMSG_LIVE_REGION_KEY_BINDINGS_COPY_RESULT = UNKNOWN_OPCODE, + SMSG_MEETING_STONE_FAILED = UNKNOWN_OPCODE, + SMSG_MOVE_ADD_IMPULSE = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_ADD_IMPULSE_MAX_SPEED = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_AIR_FRICTION = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_BANKING_RATE = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_DOUBLE_JUMP_VEL_MOD = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_GLIDE_START_MIN_HEIGHT = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_LAUNCH_SPEED_COEFFICIENT = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_LIFT_COEFFICIENT = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_MAX_VEL = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_OVER_MAX_DECELERATION = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_DOWN = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_PITCHING_RATE_UP = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_SURFACE_FRICTION = UNKNOWN_OPCODE, + SMSG_MOVE_SET_ADV_FLYING_TURN_VELOCITY_THRESHOLD = UNKNOWN_OPCODE, + SMSG_MOVE_SET_CAN_ADV_FLY = UNKNOWN_OPCODE, + SMSG_MOVE_UNSET_CAN_ADV_FLY = UNKNOWN_OPCODE, + SMSG_MOVE_UPDATE_ADD_IMPULSE = UNKNOWN_OPCODE, + SMSG_MULTI_FLOOR_LEAVE_FLOOR = UNKNOWN_OPCODE, + SMSG_MULTI_FLOOR_NEW_FLOOR = UNKNOWN_OPCODE, + SMSG_MYTHIC_PLUS_ALL_MAP_STATS = UNKNOWN_OPCODE, + SMSG_MYTHIC_PLUS_CURRENT_AFFIXES = UNKNOWN_OPCODE, + SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD = UNKNOWN_OPCODE, + SMSG_MYTHIC_PLUS_SEASON_DATA = UNKNOWN_OPCODE, + SMSG_OPEN_SHIPMENT_NPC_RESULT = UNKNOWN_OPCODE, + SMSG_PAST_TIME_EVENTS = UNKNOWN_OPCODE, + SMSG_PERKS_PROGRAM_ACTIVITY_COMPLETE = UNKNOWN_OPCODE, + SMSG_PERKS_PROGRAM_ACTIVITY_UPDATE = UNKNOWN_OPCODE, + SMSG_PERKS_PROGRAM_DISABLED = UNKNOWN_OPCODE, + SMSG_PERKS_PROGRAM_RESULT = UNKNOWN_OPCODE, + SMSG_PERKS_PROGRAM_VENDOR_UPDATE = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_CHAT_RESTRICTED = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_FINALIZE_LOCATION = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_FINAL_ROUND = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_FINISHED = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_FIRST_ROUND = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_INITIAL_UPDATE = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_PVP_CHALLENGE = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_QUEUE_STATUS = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_REPLACEMENTS_MADE = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_REQUEST_FAILED = UNKNOWN_OPCODE, + SMSG_PET_BATTLE_ROUND_RESULT = UNKNOWN_OPCODE, + SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED = UNKNOWN_OPCODE, + SMSG_PLAYER_AZERITE_ITEM_GAINS = UNKNOWN_OPCODE, + SMSG_PLAYER_OPEN_SUBSCRIPTION_INTERSTITIAL = UNKNOWN_OPCODE, + SMSG_PLAYER_SAVE_PERSONAL_EMBLEM = UNKNOWN_OPCODE, + SMSG_PLAY_TIME_WARNING = UNKNOWN_OPCODE, + SMSG_PROFESSION_GOSSIP = UNKNOWN_OPCODE, + SMSG_PVP_MATCH_COMPLETE = UNKNOWN_OPCODE, + SMSG_PVP_MATCH_SET_STATE = UNKNOWN_OPCODE, + SMSG_PVP_MATCH_STATISTICS = UNKNOWN_OPCODE, + SMSG_PVP_TIER_RECORD = UNKNOWN_OPCODE, + SMSG_QUERY_GUILD_FOLLOW_INFO_RESPONSE = UNKNOWN_OPCODE, + SMSG_QUERY_REALM_GUILD_MASTER_INFO_RESPONSE = UNKNOWN_OPCODE, + SMSG_QUEST_SESSION_INFO_RESPONSE = UNKNOWN_OPCODE, + SMSG_RAF_ACCOUNT_INFO = UNKNOWN_OPCODE, + SMSG_RAF_ACTIVITY_STATE_CHANGED = UNKNOWN_OPCODE, + SMSG_RAF_DEBUG_FRIEND_MONTHS = UNKNOWN_OPCODE, + SMSG_RECEIVE_PING_UNIT = UNKNOWN_OPCODE, + SMSG_RECEIVE_PING_WORLD_POINT = UNKNOWN_OPCODE, + SMSG_RECRAFT_ITEM_RESULT = UNKNOWN_OPCODE, + SMSG_REPLACE_TROPHY_RESPONSE = UNKNOWN_OPCODE, + SMSG_RESET_LAST_LOADED_CONFIG_CVARS = UNKNOWN_OPCODE, + SMSG_RESPONSE_PERK_PENDING_REWARDS = UNKNOWN_OPCODE, + SMSG_RESPONSE_PERK_RECENT_PURCHASES = UNKNOWN_OPCODE, + SMSG_RESTART_GLOBAL_COOLDOWN = UNKNOWN_OPCODE, + SMSG_RESTRICTED_ACCOUNT_WARNING = UNKNOWN_OPCODE, + SMSG_RETURNING_PLAYER_PROMPT = UNKNOWN_OPCODE, + SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = UNKNOWN_OPCODE, + SMSG_SETUP_COMBAT_LOG_FILE_FLUSH = UNKNOWN_OPCODE, + SMSG_SET_FORCED_REACTIONS = UNKNOWN_OPCODE, + SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = UNKNOWN_OPCODE, + SMSG_SET_SHIPMENT_READY_RESPONSE = UNKNOWN_OPCODE, + SMSG_SHADOWLANDS_CAPACITANCE_UPDATE = UNKNOWN_OPCODE, + SMSG_SHIPMENT_FACTION_UPDATE_RESULT = UNKNOWN_OPCODE, + SMSG_SPELL_EMPOWER_SET_STAGE = UNKNOWN_OPCODE, + SMSG_SPELL_EMPOWER_START = UNKNOWN_OPCODE, + SMSG_SPELL_EMPOWER_UPDATE = UNKNOWN_OPCODE, + SMSG_SPLASH_SCREEN_SHOW_LATEST = UNKNOWN_OPCODE, + SMSG_STARTER_BUILD_ACTIVATE_FAILED = UNKNOWN_OPCODE, + SMSG_STOP_TIMER = UNKNOWN_OPCODE, + SMSG_TOTEM_DURATION_CHANGED = UNKNOWN_OPCODE, + SMSG_TOTEM_REMOVED = UNKNOWN_OPCODE, + SMSG_UI_MAP_QUEST_LINES_RESPONSE = UNKNOWN_OPCODE, + SMSG_UPDATE_CAPTURE_POINT = UNKNOWN_OPCODE, + SMSG_UPDATE_CRAFTING_NPC_RECIPES = UNKNOWN_OPCODE, + SMSG_UPDATE_DAILY_MISSION_COUNTER = UNKNOWN_OPCODE, + SMSG_UPDATE_RECENT_PLAYER_GUIDS = UNKNOWN_OPCODE, + SMSG_WEEKLY_REWARDS_PROGRESS_RESULT = UNKNOWN_OPCODE, + SMSG_WEEKLY_REWARDS_RESULT = UNKNOWN_OPCODE, + SMSG_WEEKLY_REWARD_CLAIM_RESULT = UNKNOWN_OPCODE, + SMSG_XP_AWARDED_FROM_CURRENCY = UNKNOWN_OPCODE, }; constexpr bool IsInstanceOnlyOpcode(uint32 opcode) diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 628428ba656..315c44bfcea 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -118,23 +118,11 @@ namespace WorldPackets namespace AuctionHouse { - class AuctionBrowseQuery; - class AuctionCancelCommoditiesPurchase; - class AuctionConfirmCommoditiesPurchase; - class AuctionGetCommodityQuote; class AuctionHelloRequest; - class AuctionListBiddedItems; - class AuctionListBucketsByBucketKeys; - class AuctionListItemsByBucketKey; - class AuctionListItemsByItemID; - class AuctionListOwnedItems; class AuctionPlaceBid; class AuctionRemoveItem; class AuctionReplicateItems; - class AuctionRequestFavoriteList; - class AuctionSellCommodity; class AuctionSellItem; - class AuctionSetFavoriteItem; } namespace Auth @@ -147,9 +135,6 @@ namespace WorldPackets class AutoBankItem; class AutoStoreBankItem; class BuyBankSlot; - class AutoBankReagent; - class AutoStoreBankReagent; - class ReagentBank; } namespace Battleground @@ -183,18 +168,15 @@ namespace WorldPackets class BattlePetSetBattleSlot; class BattlePetModifyName; class QueryBattlePetName; - class BattlePetDeletePet; class BattlePetSetFlags; class BattlePetClearFanfare; class BattlePetSummon; class BattlePetUpdateNotify; - class CageBattlePet; } namespace BlackMarket { class BlackMarketOpen; - class BlackMarketRequestItems; class BlackMarketBidOnItem; class BlackMarketOutbid; } @@ -215,7 +197,6 @@ namespace WorldPackets class CalendarRemoveEvent; class CalendarRemoveInvite; class CalendarUpdateEvent; - class SetSavedInstanceExtend; class CalendarComplain; } @@ -234,7 +215,6 @@ namespace WorldPackets class CharacterRenameRequest; class CharCustomize; class CharRaceOrFactionChange; - class CheckCharacterNameAvailability; class GenerateRandomCharacterName; class GetUndeleteCharacterCooldownStatus; class ReorderCharacters; @@ -251,7 +231,6 @@ namespace WorldPackets class SetFactionInactive; class SetWatchedFaction; class SetPlayerDeclinedNames; - class SavePersonalEmblem; enum class LoginFailureReason : uint8; } @@ -287,7 +266,6 @@ namespace WorldPackets class ChatRegisterAddonPrefixes; class ChatUnregisterAllAddonPrefixes; class ChatReportIgnored; - class CanLocalWhisperTargetRequest; class UpdateAADCStatus; } @@ -418,9 +396,6 @@ namespace WorldPackets class CancelTempEnchantment; class UseCritterItem; class SocketGems; - class SortBags; - class SortBankBags; - class SortReagentBankBags; struct ItemInstance; class ReforgeItem; class RemoveNewItem; @@ -448,7 +423,6 @@ namespace WorldPackets class LootRelease; class LootMoney; class LootRoll; - class SetLootSpecialization; } namespace Mail @@ -491,13 +465,11 @@ namespace WorldPackets class OpeningCinematic; class TogglePvP; class SetPvP; - class SetWarMode; class MountSpecial; class SetTaxiBenchmarkMode; class MountSetFavorite; class CloseInteraction; class ConversationLineStarted; - class RequestLatestSplashScreen; class QueryCountdownTimer; } @@ -571,9 +543,6 @@ namespace WorldPackets class SwapSubGroups; class RaidMarkersChanged; class ClearRaidMarker; - class SetRestrictPingsToAssistants; - class SendPingUnit; - class SendPingWorldPoint; } namespace Pet @@ -638,7 +607,6 @@ namespace WorldPackets class QuestPushResult; class PushQuestToParty; class RequestWorldQuestUpdate; - class ChoiceResponse; } namespace RaF @@ -647,11 +615,6 @@ namespace WorldPackets class GrantLevel; } - namespace Reputation - { - class RequestForcedReactions; - } - namespace Toy { class AccountToyUpdate; @@ -660,11 +623,6 @@ namespace WorldPackets class ToyClearFanfare; } - namespace Scenario - { - class QueryScenarioPOI; - } - namespace Scenes { class SceneTriggerEvent; @@ -690,7 +648,6 @@ namespace WorldPackets class CancelChannelling; class CancelGrowthAura; class CancelMountAura; - class CancelModSpeedNoControlAuras; class CancelQueuedSpell; class PetCancelAura; class CancelCast; @@ -705,7 +662,6 @@ namespace WorldPackets class SpellClick; class MissileTrajectoryCollision; class UpdateMissileTrajectory; - class TradeSkillSetFavorite; class KeyboundOverride; } @@ -757,7 +713,6 @@ namespace WorldPackets class ClearTradeItem; class IgnoreTrade; class InitiateTrade; - class SetTradeCurrency; class SetTradeGold; class SetTradeItem; class UnacceptTrade; @@ -1163,7 +1118,6 @@ class TC_GAME_API WorldSession void AbortLogin(WorldPackets::Character::LoginFailureReason reason); void HandleLoadScreenOpcode(WorldPackets::Character::LoadingScreenNotify& loadingScreenNotify); void HandlePlayerLogin(LoginQueryHolder const& holder); - void HandleCheckCharacterNameAvailability(WorldPackets::Character::CheckCharacterNameAvailability& checkCharacterNameAvailability); void HandleCharRenameOpcode(WorldPackets::Character::CharacterRenameRequest& request); void HandleCharRenameCallBack(std::shared_ptr<WorldPackets::Character::CharacterRenameInfo> renameInfo, PreparedQueryResult result); void HandleSetPlayerDeclinedNames(WorldPackets::Character::SetPlayerDeclinedNames& packet); @@ -1178,7 +1132,6 @@ class TC_GAME_API WorldSession void HandleGetUndeleteCooldownStatus(WorldPackets::Character::GetUndeleteCharacterCooldownStatus& /*getCooldown*/); void HandleUndeleteCooldownStatusCallback(PreparedQueryResult result); void HandleCharUndeleteOpcode(WorldPackets::Character::UndeleteCharacter& undeleteInfo); - void HandleSavePersonalEmblem(WorldPackets::Character::SavePersonalEmblem const& savePersonalEmblem); bool MeetsChrCustomizationReq(ChrCustomizationReqEntry const* req, Races race, Classes playerClass, bool checkRequiredDependentChoices, Trinity::IteratorPair<UF::ChrCustomizationChoice const*> selectedChoices) const; bool ValidateAppearance(Races race, Classes playerClass, Gender gender, @@ -1227,7 +1180,6 @@ class TC_GAME_API WorldSession void HandleLootOpcode(WorldPackets::Loot::LootUnit& packet); void HandleLootReleaseOpcode(WorldPackets::Loot::LootRelease& packet); void HandleLootMasterGiveOpcode(WorldPackets::Loot::MasterLootItem& masterLootItem); - void HandleSetLootSpecialization(WorldPackets::Loot::SetLootSpecialization& packet); void HandleWhoOpcode(WorldPackets::Who::WhoRequestPkt& whoRequest); void HandleLogoutRequestOpcode(WorldPackets::Character::LogoutRequest& logoutRequest); @@ -1243,7 +1195,6 @@ class TC_GAME_API WorldSession void HandleTogglePvP(WorldPackets::Misc::TogglePvP& packet); void HandleSetPvP(WorldPackets::Misc::SetPvP& packet); - void HandleSetWarMode(WorldPackets::Misc::SetWarMode& packet); void HandleSetSelectionOpcode(WorldPackets::Misc::SetSelection& packet); void HandleStandStateChangeOpcode(WorldPackets::Misc::StandStateChange& packet); @@ -1263,7 +1214,6 @@ class TC_GAME_API WorldSession void HandleSetFactionNotAtWar(WorldPackets::Character::SetFactionNotAtWar& packet); void HandleSetWatchedFactionOpcode(WorldPackets::Character::SetWatchedFaction& packet); void HandleSetFactionInactiveOpcode(WorldPackets::Character::SetFactionInactive& packet); - void HandleRequestForcedReactionsOpcode(WorldPackets::Reputation::RequestForcedReactions& requestForcedReactions); void HandleUpdateAccountData(WorldPackets::ClientConfig::UserClientUpdateAccountData& packet); void HandleRequestAccountData(WorldPackets::ClientConfig::RequestAccountData& request); @@ -1325,9 +1275,6 @@ class TC_GAME_API WorldSession void HandleInitiateRolePoll(WorldPackets::Party::InitiateRolePoll& packet); void HandleSetEveryoneIsAssistant(WorldPackets::Party::SetEveryoneIsAssistant& packet); void HandleClearRaidMarker(WorldPackets::Party::ClearRaidMarker& packet); - void HandleSetRestrictPingsToAssistants(WorldPackets::Party::SetRestrictPingsToAssistants const& setRestrictPingsToAssistants); - void HandleSendPingUnit(WorldPackets::Party::SendPingUnit const& pingUnit); - void HandleSendPingWorldPoint(WorldPackets::Party::SendPingWorldPoint const& pingWorldPoint); void HandlePetitionBuy(WorldPackets::Petition::PetitionBuy& packet); void HandlePetitionShowSignatures(WorldPackets::Petition::PetitionShowSignatures& packet); @@ -1404,42 +1351,23 @@ class TC_GAME_API WorldSession void HandleClearTradeItemOpcode(WorldPackets::Trade::ClearTradeItem& clearTradeItem); void HandleIgnoreTradeOpcode(WorldPackets::Trade::IgnoreTrade& ignoreTrade); void HandleInitiateTradeOpcode(WorldPackets::Trade::InitiateTrade& initiateTrade); - void HandleSetTradeCurrencyOpcode(WorldPackets::Trade::SetTradeCurrency& setTradeCurrency); void HandleSetTradeGoldOpcode(WorldPackets::Trade::SetTradeGold& setTradeGold); void HandleSetTradeItemOpcode(WorldPackets::Trade::SetTradeItem& setTradeItem); void HandleUnacceptTradeOpcode(WorldPackets::Trade::UnacceptTrade& unacceptTrade); - void HandleAuctionBrowseQuery(WorldPackets::AuctionHouse::AuctionBrowseQuery& browseQuery); - void HandleAuctionCancelCommoditiesPurchase(WorldPackets::AuctionHouse::AuctionCancelCommoditiesPurchase& cancelCommoditiesPurchase); - void HandleAuctionConfirmCommoditiesPurchase(WorldPackets::AuctionHouse::AuctionConfirmCommoditiesPurchase& confirmCommoditiesPurchase); - void HandleAuctionGetCommodityQuote(WorldPackets::AuctionHouse::AuctionGetCommodityQuote& startCommoditiesPurchase); void HandleAuctionHelloOpcode(WorldPackets::AuctionHouse::AuctionHelloRequest& hello); - void HandleAuctionListBiddedItems(WorldPackets::AuctionHouse::AuctionListBiddedItems& listBiddedItems); - void HandleAuctionListBucketsByBucketKeys(WorldPackets::AuctionHouse::AuctionListBucketsByBucketKeys& listBucketsByBucketKeys); - void HandleAuctionListItemsByBucketKey(WorldPackets::AuctionHouse::AuctionListItemsByBucketKey& listItemsByBucketKey); - void HandleAuctionListItemsByItemID(WorldPackets::AuctionHouse::AuctionListItemsByItemID& listItemsByItemID); - void HandleAuctionListOwnedItems(WorldPackets::AuctionHouse::AuctionListOwnedItems& listOwnedItems); void HandleAuctionPlaceBid(WorldPackets::AuctionHouse::AuctionPlaceBid& placeBid); void HandleAuctionRemoveItem(WorldPackets::AuctionHouse::AuctionRemoveItem& removeItem); void HandleAuctionReplicateItems(WorldPackets::AuctionHouse::AuctionReplicateItems& replicateItems); - void HandleAuctionRequestFavoriteList(WorldPackets::AuctionHouse::AuctionRequestFavoriteList& requestFavoriteList); - void HandleAuctionSellCommodity(WorldPackets::AuctionHouse::AuctionSellCommodity& sellCommodity); void HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSellItem& sellItem); - void HandleAuctionSetFavoriteItem(WorldPackets::AuctionHouse::AuctionSetFavoriteItem& setFavoriteItem); // Bank void HandleAutoBankItemOpcode(WorldPackets::Bank::AutoBankItem& packet); void HandleAutoStoreBankItemOpcode(WorldPackets::Bank::AutoStoreBankItem& packet); void HandleBuyBankSlotOpcode(WorldPackets::Bank::BuyBankSlot& packet); - void HandleBuyReagentBankOpcode(WorldPackets::Bank::ReagentBank& reagentBank); - void HandleAutoBankReagentOpcode(WorldPackets::Bank::AutoBankReagent& autoBankRegent); - void HandleAutoStoreBankReagentOpcode(WorldPackets::Bank::AutoStoreBankReagent& autoStoreBankReagent); - void HandleReagentBankDepositOpcode(WorldPackets::Bank::ReagentBank& reagentBank); // Black Market void HandleBlackMarketOpen(WorldPackets::BlackMarket::BlackMarketOpen& blackMarketOpen); - void HandleBlackMarketRequestItems(WorldPackets::BlackMarket::BlackMarketRequestItems& blackMarketRequestItems); - void HandleBlackMarketBidOnItem(WorldPackets::BlackMarket::BlackMarketBidOnItem& blackMarketBidOnItem); void HandleGetMailList(WorldPackets::Mail::MailGetList& getList); void HandleSendMail(WorldPackets::Mail::SendMail& sendMail); @@ -1480,7 +1408,6 @@ class TC_GAME_API WorldSession void HandleCancelAuraOpcode(WorldPackets::Spells::CancelAura& cancelAura); void HandleCancelGrowthAuraOpcode(WorldPackets::Spells::CancelGrowthAura& cancelGrowthAura); void HandleCancelMountAuraOpcode(WorldPackets::Spells::CancelMountAura& cancelMountAura); - void HandleCancelModSpeedNoControlAuras(WorldPackets::Spells::CancelModSpeedNoControlAuras& cancelModSpeedNoControlAuras); void HandleCancelAutoRepeatSpellOpcode(WorldPackets::Spells::CancelAutoRepeatSpell& cancelAutoRepeatSpell); void HandleCancelQueuedSpellOpcode(WorldPackets::Spells::CancelQueuedSpell& cancelQueuedSpell); void HandleMissileTrajectoryCollision(WorldPackets::Spells::MissileTrajectoryCollision& packet); @@ -1491,7 +1418,6 @@ class TC_GAME_API WorldSession void HandleSetPrimaryTalentTreeOpcode(WorldPackets::Talent::SetPrimaryTalentTree& packet); void HandleConfirmRespecWipeOpcode(WorldPackets::Talent::ConfirmRespecWipe& confirmRespecWipe); void HandleUnlearnSkillOpcode(WorldPackets::Spells::UnlearnSkill& packet); - void HandleTradeSkillSetFavorite(WorldPackets::Spells::TradeSkillSetFavorite const& tradeSkillSetFavorite); void HandleQuestgiverStatusQueryOpcode(WorldPackets::Quest::QuestGiverStatusQuery& packet); void HandleQuestgiverStatusMultipleQuery(WorldPackets::Quest::QuestGiverStatusMultipleQuery& packet); @@ -1509,7 +1435,6 @@ class TC_GAME_API WorldSession void HandlePushQuestToParty(WorldPackets::Quest::PushQuestToParty& packet); void HandleQuestPushResult(WorldPackets::Quest::QuestPushResult& packet); void HandleRequestWorldQuestUpdate(WorldPackets::Quest::RequestWorldQuestUpdate& packet); - void HandlePlayerChoiceResponse(WorldPackets::Quest::ChoiceResponse& choiceResponse); void HandleChatMessageOpcode(WorldPackets::Chat::ChatMessage& chatMessage); void HandleChatMessageWhisperOpcode(WorldPackets::Chat::ChatMessageWhisper& chatMessageWhisper); @@ -1526,7 +1451,6 @@ class TC_GAME_API WorldSession void SendChatRestricted(ChatRestrictionType restriction); void HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet); void HandleChatIgnoredOpcode(WorldPackets::Chat::ChatReportIgnored& chatReportIgnored); - void HandleChatCanLocalWhisperTargetRequest(WorldPackets::Chat::CanLocalWhisperTargetRequest const& canLocalWhisperTargetRequest); void HandleChatUpdateAADCStatus(WorldPackets::Chat::UpdateAADCStatus const& updateAADCStatus); void HandleUnregisterAllAddonPrefixesOpcode(WorldPackets::Chat::ChatUnregisterAllAddonPrefixes& packet); @@ -1628,9 +1552,6 @@ class TC_GAME_API WorldSession // Socket gem void HandleSocketGems(WorldPackets::Item::SocketGems& socketGems); - void HandleSortBags(WorldPackets::Item::SortBags& sortBags); - void HandleSortBankBags(WorldPackets::Item::SortBankBags& sortBankBags); - void HandleSortReagentBankBags(WorldPackets::Item::SortReagentBankBags& sortReagentBankBags); void HandleRemoveNewItem(WorldPackets::Item::RemoveNewItem& removeNewItem); void HandleReforgeItem(WorldPackets::Item::ReforgeItem& reforgeItem); @@ -1686,7 +1607,6 @@ class TC_GAME_API WorldSession void SendCalendarRaidLockoutAdded(InstanceLock const* lock); void SendCalendarRaidLockoutRemoved(InstanceLock const* lock); - void HandleSetSavedInstanceExtend(WorldPackets::Calendar::SetSavedInstanceExtend& setSavedInstanceExtend); // Void Storage void HandleVoidStorageUnlock(WorldPackets::VoidStorage::UnlockVoidStorage& unlockVoidStorage); @@ -1747,14 +1667,11 @@ class TC_GAME_API WorldSession void HandleBattlePetRequestJournal(WorldPackets::BattlePet::BattlePetRequestJournal& battlePetRequestJournal); void HandleBattlePetRequestJournalLock(WorldPackets::BattlePet::BattlePetRequestJournalLock& battlePetRequestJournalLock); void HandleBattlePetSetBattleSlot(WorldPackets::BattlePet::BattlePetSetBattleSlot& battlePetSetBattleSlot); - void HandleBattlePetModifyName(WorldPackets::BattlePet::BattlePetModifyName& battlePetModifyName); void HandleQueryBattlePetName(WorldPackets::BattlePet::QueryBattlePetName& queryBattlePetName); - void HandleBattlePetDeletePet(WorldPackets::BattlePet::BattlePetDeletePet& battlePetDeletePet); void HandleBattlePetSetFlags(WorldPackets::BattlePet::BattlePetSetFlags& battlePetSetFlags); void HandleBattlePetClearFanfare(WorldPackets::BattlePet::BattlePetClearFanfare& battlePetClearFanfare); void HandleBattlePetSummon(WorldPackets::BattlePet::BattlePetSummon& battlePetSummon); void HandleBattlePetUpdateNotify(WorldPackets::BattlePet::BattlePetUpdateNotify& battlePetUpdateNotify); - void HandleCageBattlePet(WorldPackets::BattlePet::CageBattlePet& cageBattlePet); // Warden void HandleWardenData(WorldPackets::Warden::WardenData& packet); @@ -1775,11 +1692,6 @@ class TC_GAME_API WorldSession void HandleQueryRealmName(WorldPackets::Query::QueryRealmName& queryRealmName); - // Scenario - void HandleQueryScenarioPOI(WorldPackets::Scenario::QueryScenarioPOI& queryScenarioPOI); - - void HandleRequestLatestSplashScreen(WorldPackets::Misc::RequestLatestSplashScreen& requestLatestSplashScreen); - void HandleSocialContractRequest(WorldPackets::Social::SocialContractRequest& socialContractRequest); union ConnectToKey diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index c4e690dab48..66cd932b254 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5093,7 +5093,6 @@ void AuraEffect::HandleForceReaction(AuraApplication const* aurApp, uint8 mode, ReputationRank factionRank = ReputationRank(GetAmount()); player->GetReputationMgr().ApplyForceReaction(factionId, factionRank, apply); - player->GetReputationMgr().SendForceReactions(); // stop fighting at apply (if forced rank friendly) or at remove (if real rank friendly) if ((apply && factionRank >= REP_FRIENDLY) || (!apply && player->GetReputationRank(factionId) >= REP_FRIENDLY)) |