[Guilds] Fixes for Guild Bank (#4120)

Updates guild bank functionality
- Allows QTY 100 in guild bank
- Removes bug when deposit area is full and a UF or RoF2 client attempts to deposit another item
- Attempt to deposit a nodrop item in RoF2 creates a dupe situation
This commit is contained in:
Mitch Freeman
2024-02-25 00:50:14 -04:00
committed by GitHub
parent c2e4082045
commit b9fb4babba
2 changed files with 21 additions and 17 deletions
+13 -9
View File
@@ -7759,15 +7759,6 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
case GuildBankDeposit: // Deposit Item
{
if (GuildBanks->IsAreaFull(GuildID(), GuildBankDepositArea))
{
MessageString(Chat::Red, GUILD_BANK_FULL);
GuildBankDepositAck(true, sentAction);
return;
}
EQ::ItemInstance *CursorItemInst = GetInv().GetItem(EQ::invslot::slotCursor);
bool Allowed = true;
@@ -7783,6 +7774,18 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
const EQ::ItemData* CursorItem = CursorItemInst->GetItem();
if (GuildBanks->IsAreaFull(GuildID(), GuildBankDepositArea))
{
MessageString(Chat::Red, GUILD_BANK_FULL);
GuildBankDepositAck(true, sentAction);
if (ClientVersion() >= EQ::versions::ClientVersion::RoF) {
GetInv().PopItem(EQ::invslot::slotCursor);
PushItemOnCursor(CursorItem, true);
}
return;
}
if (!CursorItem->NoDrop || CursorItemInst->IsAttuned())
{
Allowed = false;
@@ -7810,6 +7813,7 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
GuildBankDepositAck(true, sentAction);
if (ClientVersion() >= EQ::versions::ClientVersion::RoF) {
GetInv().PopItem(EQ::invslot::slotCursor);
PushItemOnCursor(CursorItem, true);
}
return;