diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-09-01 00:11:04 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-09-01 00:11:04 +0200 |
commit | 8b2fc59397ebca720726270dc5319f1d2ffa0150 (patch) | |
tree | 4259e4ad61b6b0c3ce0db461735b88a266234f70 /src/server/game/Handlers/BankHandler.cpp | |
parent | 629d845ae913b9844616c892dd8b2a63c2a0fefb (diff) |
Core/Players: Fixed buying bank tabs
Diffstat (limited to 'src/server/game/Handlers/BankHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/BankHandler.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Handlers/BankHandler.cpp b/src/server/game/Handlers/BankHandler.cpp index db3a34e0403..86aeb62e661 100644 --- a/src/server/game/Handlers/BankHandler.cpp +++ b/src/server/game/Handlers/BankHandler.cpp @@ -17,10 +17,12 @@ #include "WorldSession.h" #include "BankPackets.h" +#include "Chat.h" #include "Creature.h" #include "DB2Stores.h" #include "GossipDef.h" #include "Item.h" +#include "Language.h" #include "Log.h" #include "NPCPackets.h" #include "Player.h" @@ -169,12 +171,12 @@ void WorldSession::HandleBuyBankTab(WorldPackets::Bank::BuyBankTab const& buyBan case BankType::Character: itemId = ITEM_CHARACTER_BANK_TAB_BAG; slot = _player->GetCharacterBankTabCount(); - inventorySlot = BANK_SLOT_BAG_START; + inventorySlot = BANK_SLOT_BAG_START + slot; break; case BankType::Account: itemId = ITEM_ACCOUNT_BANK_TAB_BAG; slot = _player->GetAccountBankTabCount(); - inventorySlot = ACCOUNT_BANK_SLOT_BAG_START; + inventorySlot = ACCOUNT_BANK_SLOT_BAG_START + slot; break; default: TC_LOG_DEBUG("network", "WorldSession::HandleBuyBankTab {} - Bank type {} is not supported.", @@ -182,9 +184,6 @@ void WorldSession::HandleBuyBankTab(WorldPackets::Bank::BuyBankTab const& buyBan return; } - // next slot - ++slot; - auto bankTab = std::ranges::find(sBankTabStore, std::pair(buyBankTab.BankType, int8(slot)), [](BankTabEntry const* bankTab) { return std::pair(BankType(bankTab->BankType), bankTab->OrderIndex); }); @@ -210,10 +209,12 @@ void WorldSession::HandleBuyBankTab(WorldPackets::Bank::BuyBankTab const& buyBan switch (buyBankTab.BankType) { case BankType::Character: - _player->SetCharacterBankTabCount(slot); + _player->SetCharacterBankTabCount(slot + 1); + _player->SetCharacterBankTabSettings(slot, ChatHandler(this).PGetParseString(LANG_BANK_TAB_NAME, slot + 1), "", "", BagSlotFlags::None); break; case BankType::Account: - _player->SetAccountBankTabCount(slot); + _player->SetAccountBankTabCount(slot + 1); + _player->SetAccountBankTabSettings(slot, ChatHandler(this).PGetParseString(LANG_BANK_TAB_NAME, slot + 1), "", "", BagSlotFlags::None); break; default: break; |