mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
[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:
+13
-9
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user