mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 15:41:30 +00:00
[Fix] Update GuildBank to correctly handle items with charges equal to zero (#4774)
This commit is contained in:
parent
00e77f190c
commit
f6b18fb003
@ -7653,7 +7653,11 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
|
|||||||
log.char_id = CharacterID();
|
log.char_id = CharacterID();
|
||||||
log.guild_id = GuildID();
|
log.guild_id = GuildID();
|
||||||
log.item_id = inst->GetID();
|
log.item_id = inst->GetID();
|
||||||
log.quantity = inst->GetCharges();
|
log.quantity = 1;
|
||||||
|
if (inst->GetCharges() > 0 || inst->IsStackable() || inst->GetItem()->MaxCharges > 0) {
|
||||||
|
log.quantity = inst->GetCharges();
|
||||||
|
}
|
||||||
|
|
||||||
if (inst->IsAugmented()) {
|
if (inst->IsAugmented()) {
|
||||||
auto augs = inst->GetAugmentIDs();
|
auto augs = inst->GetAugmentIDs();
|
||||||
log.aug_slot_one = augs.at(0);
|
log.aug_slot_one = augs.at(0);
|
||||||
@ -7737,7 +7741,11 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
|
|||||||
item.guild_id = GuildID();
|
item.guild_id = GuildID();
|
||||||
item.area = GuildBankDepositArea;
|
item.area = GuildBankDepositArea;
|
||||||
item.item_id = cursor_item->ID;
|
item.item_id = cursor_item->ID;
|
||||||
item.quantity = cursor_item_inst->GetCharges();
|
item.quantity = 1;
|
||||||
|
if (cursor_item_inst->GetCharges() > 0 || cursor_item_inst->IsStackable() || cursor_item->MaxCharges > 0) {
|
||||||
|
item.quantity = cursor_item_inst->GetCharges();
|
||||||
|
}
|
||||||
|
|
||||||
item.donator = GetCleanName();
|
item.donator = GetCleanName();
|
||||||
item.permissions = GuildBankBankerOnly;
|
item.permissions = GuildBankBankerOnly;
|
||||||
if (cursor_item_inst->IsAugmented()) {
|
if (cursor_item_inst->IsAugmented()) {
|
||||||
@ -7821,14 +7829,11 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inst->GetCharges() > 0) {
|
gbwis->Quantity = 1;
|
||||||
|
if (inst->GetCharges() > 0 || inst->IsStackable() || inst->GetItem()->MaxCharges > 0) {
|
||||||
gbwis->Quantity = inst->GetCharges();
|
gbwis->Quantity = inst->GetCharges();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inst->GetCharges() < 0) {
|
|
||||||
gbwis->Quantity = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
PushItemOnCursor(*inst.get());
|
PushItemOnCursor(*inst.get());
|
||||||
SendItemPacket(EQ::invslot::slotCursor, inst.get(), ItemPacketLimbo);
|
SendItemPacket(EQ::invslot::slotCursor, inst.get(), ItemPacketLimbo);
|
||||||
GuildBanks->DeleteItem(GuildID(), gbwis->Area, gbwis->SlotID, gbwis->Quantity, this);
|
GuildBanks->DeleteItem(GuildID(), gbwis->Area, gbwis->SlotID, gbwis->Quantity, this);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user