diff options
| author | Shauren <shauren.trinity@gmail.com> | 2019-07-12 20:41:33 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2019-07-14 19:20:44 +0200 |
| commit | 0e4c5697704359f648be4eab52eeb739528eb9d2 (patch) | |
| tree | bc7377eb7ab1f5a3b5f2620bda06b665a764e05d /src/server/game/Handlers/ItemHandler.cpp | |
| parent | 901d36b0a73fa0e181771e97b1848532a778d2e9 (diff) | |
Core/PacketIO: Updated packet structures to 8.2
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/ItemHandler.cpp | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index 5eed12a2172..e6a4f35e040 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -1207,68 +1207,6 @@ void WorldSession::HandleUseCritterItem(WorldPackets::Item::UseCritterItem& useC _player->DestroyItem(item->GetBagSlot(), item->GetSlot(), true); } -void WorldSession::HandleUpgradeItem(WorldPackets::Item::UpgradeItem& upgradeItem) -{ - WorldPackets::Item::ItemUpgradeResult itemUpgradeResult; - if (!_player->GetNPCIfCanInteractWith(upgradeItem.ItemMaster, UNIT_NPC_FLAG_NONE, UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER)) - { - TC_LOG_DEBUG("network", "WORLD: HandleUpgradeItems - %s not found or player can't interact with it.", upgradeItem.ItemMaster.ToString().c_str()); - itemUpgradeResult.Success = false; - SendPacket(itemUpgradeResult.Write()); - return; - } - - Item* item = _player->GetItemByGuid(upgradeItem.ItemGUID); - if (!item) - { - TC_LOG_DEBUG("network", "WORLD: HandleUpgradeItems: Item %s not found!", upgradeItem.ItemGUID.ToString().c_str()); - itemUpgradeResult.Success = false; - SendPacket(itemUpgradeResult.Write()); - return; - } - - ItemUpgradeEntry const* itemUpgradeEntry = sItemUpgradeStore.LookupEntry(upgradeItem.UpgradeID); - if (!itemUpgradeEntry) - { - TC_LOG_DEBUG("network", "WORLD: HandleUpgradeItems - ItemUpgradeEntry (%u) not found.", upgradeItem.UpgradeID); - itemUpgradeResult.Success = false; - SendPacket(itemUpgradeResult.Write()); - return; - } - - // Check if player has enough currency - if (!_player->HasCurrency(itemUpgradeEntry->CurrencyType, itemUpgradeEntry->CurrencyAmount)) - { - TC_LOG_DEBUG("network", "WORLD: HandleUpgradeItems - Player has not enougth currency (ID: %u, Cost: %u) not found.", itemUpgradeEntry->CurrencyType, itemUpgradeEntry->CurrencyAmount); - itemUpgradeResult.Success = false; - SendPacket(itemUpgradeResult.Write()); - return; - } - - uint32 currentUpgradeId = item->GetModifier(ITEM_MODIFIER_UPGRADE_ID); - if (currentUpgradeId != itemUpgradeEntry->PrerequisiteID) - { - TC_LOG_DEBUG("network", "WORLD: HandleUpgradeItems - ItemUpgradeEntry (%u) is not related to this ItemUpgradePath (%u).", itemUpgradeEntry->ID, currentUpgradeId); - itemUpgradeResult.Success = false; - SendPacket(itemUpgradeResult.Write()); - return; - } - - itemUpgradeResult.Success = true; - SendPacket(itemUpgradeResult.Write()); - - if (item->IsEquipped()) - _player->_ApplyItemBonuses(item, item->GetSlot(), false); - - item->SetModifier(ITEM_MODIFIER_UPGRADE_ID, itemUpgradeEntry->ID); - - if (item->IsEquipped()) - _player->_ApplyItemBonuses(item, item->GetSlot(), true); - - item->SetState(ITEM_CHANGED, _player); - _player->ModifyCurrency(itemUpgradeEntry->CurrencyType, -int32(itemUpgradeEntry->CurrencyAmount)); -} - void WorldSession::HandleSortBags(WorldPackets::Item::SortBags& /*sortBags*/) { // TODO: Implement sorting |
