aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/BankHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/BankHandler.cpp')
-rw-r--r--src/server/game/Handlers/BankHandler.cpp140
1 files changed, 4 insertions, 136 deletions
diff --git a/src/server/game/Handlers/BankHandler.cpp b/src/server/game/Handlers/BankHandler.cpp
index 5e515cf623a..3fa44da49e4 100644
--- a/src/server/game/Handlers/BankHandler.cpp
+++ b/src/server/game/Handlers/BankHandler.cpp
@@ -149,152 +149,20 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPackets::Bank::BuyBankSlot& pack
_player->UpdateCriteria(CriteriaType::BankSlotsPurchased);
}
-void WorldSession::HandleBuyReagentBankOpcode(WorldPackets::Bank::ReagentBank& reagentBank)
+void WorldSession::HandleBuyReagentBankOpcode(WorldPackets::Bank::ReagentBank& /*reagentBank*/)
{
- if (!CanUseBank(reagentBank.Banker))
- {
- TC_LOG_DEBUG("network", "WORLD: HandleBuyReagentBankOpcode - {} not found or you can't interact with him.", reagentBank.Banker.ToString());
- return;
- }
-
- if (_player->IsReagentBankUnlocked())
- {
- TC_LOG_DEBUG("network", "WORLD: HandleBuyReagentBankOpcode - Player ({}, name: {}) tried to unlock reagent bank a 2nd time.", _player->GetGUID().ToString(), _player->GetName());
- return;
- }
-
- constexpr int64 price = 100 * GOLD;
-
- if (!_player->HasEnoughMoney(price))
- {
- TC_LOG_DEBUG("network", "WORLD: HandleBuyReagentBankOpcode - Player ({}, name: {}) without enough gold.", _player->GetGUID().ToString(), _player->GetName());
- return;
- }
-
- _player->ModifyMoney(-price);
- _player->UnlockReagentBank();
}
-void WorldSession::HandleReagentBankDepositOpcode(WorldPackets::Bank::ReagentBank& reagentBank)
+void WorldSession::HandleReagentBankDepositOpcode(WorldPackets::Bank::ReagentBank& /*reagentBank*/)
{
- if (!CanUseBank(reagentBank.Banker))
- {
- TC_LOG_DEBUG("network", "WORLD: HandleReagentBankDepositOpcode - {} not found or you can't interact with him.", reagentBank.Banker.ToString());
- return;
- }
-
- if (!_player->IsReagentBankUnlocked())
- {
- _player->SendEquipError(EQUIP_ERR_REAGENT_BANK_LOCKED);
- return;
- }
-
- // query all reagents from player's inventory
- bool anyDeposited = false;
- for (Item* item : _player->GetCraftingReagentItemsToDeposit())
- {
- ItemPosCountVec dest;
- InventoryResult msg = _player->CanBankItem(NULL_BAG, NULL_SLOT, dest, item, false, true, true);
- if (msg != EQUIP_ERR_OK)
- {
- if (msg != EQUIP_ERR_REAGENT_BANK_FULL || !anyDeposited)
- _player->SendEquipError(msg, item, nullptr);
- break;
- }
-
- if (dest.size() == 1 && dest[0].pos == item->GetPos())
- {
- _player->SendEquipError(EQUIP_ERR_CANT_SWAP, item, nullptr);
- continue;
- }
-
- // store reagent
- _player->RemoveItem(item->GetBagSlot(), item->GetSlot(), true);
- _player->BankItem(dest, item, true);
- anyDeposited = true;
- }
}
-void WorldSession::HandleAutoBankReagentOpcode(WorldPackets::Bank::AutoBankReagent& autoBankReagent)
+void WorldSession::HandleAutoBankReagentOpcode(WorldPackets::Bank::AutoBankReagent& /*autoBankReagent*/)
{
- if (!CanUseBank())
- {
- TC_LOG_DEBUG("network", "WORLD: HandleAutoBankReagentOpcode - {} not found or you can't interact with him.", _player->PlayerTalkClass->GetInteractionData().SourceGuid.ToString());
- return;
- }
-
- if (!_player->IsReagentBankUnlocked())
- {
- _player->SendEquipError(EQUIP_ERR_REAGENT_BANK_LOCKED);
- return;
- }
-
- Item* item = _player->GetItemByPos(autoBankReagent.PackSlot, autoBankReagent.Slot);
- if (!item)
- return;
-
- ItemPosCountVec dest;
- InventoryResult msg = _player->CanBankItem(NULL_BAG, NULL_SLOT, dest, item, false, true, true);
- if (msg != EQUIP_ERR_OK)
- {
- _player->SendEquipError(msg, item, nullptr);
- return;
- }
-
- if (dest.size() == 1 && dest[0].pos == item->GetPos())
- {
- _player->SendEquipError(EQUIP_ERR_CANT_SWAP, item, nullptr);
- return;
- }
-
- _player->RemoveItem(autoBankReagent.PackSlot, autoBankReagent.Slot, true);
- _player->BankItem(dest, item, true);
}
-void WorldSession::HandleAutoStoreBankReagentOpcode(WorldPackets::Bank::AutoStoreBankReagent& autoStoreBankReagent)
+void WorldSession::HandleAutoStoreBankReagentOpcode(WorldPackets::Bank::AutoStoreBankReagent& /*autoStoreBankReagent*/)
{
- if (!CanUseBank())
- {
- TC_LOG_DEBUG("network", "WORLD: HandleAutoBankReagentOpcode - {} not found or you can't interact with him.", _player->PlayerTalkClass->GetInteractionData().SourceGuid.ToString());
- return;
- }
-
- if (!_player->IsReagentBankUnlocked())
- {
- _player->SendEquipError(EQUIP_ERR_REAGENT_BANK_LOCKED);
- return;
- }
-
- Item* pItem = _player->GetItemByPos(autoStoreBankReagent.Slot, autoStoreBankReagent.PackSlot);
- if (!pItem)
- return;
-
- if (_player->IsReagentBankPos(autoStoreBankReagent.Slot, autoStoreBankReagent.PackSlot))
- {
- ItemPosCountVec dest;
- InventoryResult msg = _player->CanStoreItem(NULL_BAG, NULL_SLOT, dest, pItem, false);
- if (msg != EQUIP_ERR_OK)
- {
- _player->SendEquipError(msg, pItem, nullptr);
- return;
- }
-
- _player->RemoveItem(autoStoreBankReagent.Slot, autoStoreBankReagent.PackSlot, true);
- _player->StoreItem(dest, pItem, true);
- }
- else
- {
- ItemPosCountVec dest;
- InventoryResult msg = _player->CanBankItem(NULL_BAG, NULL_SLOT, dest, pItem, false, true, true);
- if (msg != EQUIP_ERR_OK)
- {
- _player->SendEquipError(msg, pItem, nullptr);
- return;
- }
-
- _player->RemoveItem(autoStoreBankReagent.Slot, autoStoreBankReagent.PackSlot, true);
- _player->BankItem(dest, pItem, true);
- }
}
void WorldSession::SendShowBank(ObjectGuid guid)