aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ItemHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/ItemHandler.cpp')
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 976a3d4bd55..482661e35f5 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -1534,111 +1534,6 @@ void WorldSession::HandleTransmogrifyItems(WorldPacket& recvData)
}
}
-void WorldSession::SendReforgeResult(bool success)
-{
- WorldPacket data(SMSG_REFORGE_RESULT, 1);
- data.WriteBit(success);
- data.FlushBits();
- SendPacket(&data);
-}
-
-void WorldSession::HandleReforgeItemOpcode(WorldPacket& recvData)
-{
- uint32 slot, reforgeEntry;
- ObjectGuid guid;
- uint32 bag;
- Player* player = GetPlayer();
-
- recvData >> reforgeEntry >> slot >> bag;
-
- guid[2] = recvData.ReadBit();
- guid[6] = recvData.ReadBit();
- guid[3] = recvData.ReadBit();
- guid[4] = recvData.ReadBit();
- guid[1] = recvData.ReadBit();
- guid[0] = recvData.ReadBit();
- guid[7] = recvData.ReadBit();
- guid[5] = recvData.ReadBit();
-
- recvData.ReadByteSeq(guid[2]);
- recvData.ReadByteSeq(guid[3]);
- recvData.ReadByteSeq(guid[6]);
- recvData.ReadByteSeq(guid[4]);
- recvData.ReadByteSeq(guid[1]);
- recvData.ReadByteSeq(guid[0]);
- recvData.ReadByteSeq(guid[7]);
- recvData.ReadByteSeq(guid[5]);
-
- if (!player->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_REFORGER))
- {
- TC_LOG_DEBUG("network", "WORLD: HandleReforgeItemOpcode - %s not found or player can't interact with it.", guid.ToString().c_str());
- SendReforgeResult(false);
- return;
- }
-
- Item* item = player->GetItemByPos(bag, slot);
-
- if (!item)
- {
- TC_LOG_DEBUG("network", "WORLD: HandleReforgeItemOpcode - Player (%s Name: %s) tried to reforge an invalid/non-existant item.", player->GetGUID().ToString().c_str(), player->GetName().c_str());
- SendReforgeResult(false);
- return;
- }
-
- if (!reforgeEntry)
- {
- if (!item->GetEnchantmentId(REFORGE_ENCHANTMENT_SLOT))
- {
- TC_LOG_ERROR("network", "WORLD: HandleReforgeItemOpcode - Player (%s Name: %s) tried to remove reforge from non-reforged item (Entry: %u)", player->GetGUID().ToString().c_str(), player->GetName().c_str(), item->GetEntry());
- SendReforgeResult(false);
- return;
- }
-
- // Reset the item
- if (item->IsEquipped())
- player->ApplyReforgeEnchantment(item, false);
- item->ClearEnchantment(REFORGE_ENCHANTMENT_SLOT);
- SendReforgeResult(true);
- return;
- }
-
- if (item->GetEnchantmentId(REFORGE_ENCHANTMENT_SLOT))
- {
- TC_LOG_ERROR("network", "WORLD: HandleReforgeItemOpcode - Player (%s Name: %s) tried to reforge an already reforged item (Entry: %u)", player->GetGUID().ToString().c_str(), player->GetName().c_str(), item->GetEntry());
- SendReforgeResult(false);
- return;
- }
-
- ItemReforgeEntry const* stats = sItemReforgeStore.LookupEntry(reforgeEntry);
- if (!stats)
- {
- TC_LOG_DEBUG("network", "WORLD: HandleReforgeItemOpcode - Player (%s Name: %s) tried to reforge an item with invalid reforge entry (%u).", player->GetGUID().ToString().c_str(), player->GetName().c_str(), reforgeEntry);
- SendReforgeResult(false);
- return;
- }
-
- if (!item->GetReforgableStat(ItemModType(stats->SourceStat)) || item->GetReforgableStat(ItemModType(stats->FinalStat))) // Cheating, you cant reforge to a stat that the item already has, nor reforge from a stat that the item does not have
- {
- SendReforgeResult(false);
- return;
- }
-
- if (!player->HasEnoughMoney(uint64(item->GetSpecialPrice()))) // cheating
- {
- SendReforgeResult(false);
- return;
- }
-
- player->ModifyMoney(-int64(item->GetSpecialPrice()));
-
- item->SetEnchantment(REFORGE_ENCHANTMENT_SLOT, reforgeEntry, 0, 0);
-
- SendReforgeResult(true);
-
- if (item->IsEquipped())
- player->ApplyReforgeEnchantment(item, true);
-}
-
bool WorldSession::CanUseBank(ObjectGuid bankerGUID) const
{
// bankerGUID parameter is optional, set to 0 by default.