aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/BankHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-09-01 00:11:04 +0200
committerShauren <shauren.trinity@gmail.com>2025-09-01 00:11:04 +0200
commit8b2fc59397ebca720726270dc5319f1d2ffa0150 (patch)
tree4259e4ad61b6b0c3ce0db461735b88a266234f70 /src/server/game/Handlers/BankHandler.cpp
parent629d845ae913b9844616c892dd8b2a63c2a0fefb (diff)
Core/Players: Fixed buying bank tabs
Diffstat (limited to 'src/server/game/Handlers/BankHandler.cpp')
-rw-r--r--src/server/game/Handlers/BankHandler.cpp15
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;