From e8a589a2f836dd7fe5be7f67309bacd8e2f51d89 Mon Sep 17 00:00:00 2001 From: Chomp Date: Thu, 16 Jan 2025 00:48:27 +0000 Subject: [PATCH] Check for child items of ammo boxes before adding more prior to mailing --- project/src/services/MailSendService.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/project/src/services/MailSendService.ts b/project/src/services/MailSendService.ts index 2767373d..4f531d9e 100644 --- a/project/src/services/MailSendService.ts +++ b/project/src/services/MailSendService.ts @@ -393,7 +393,7 @@ export class MailSendService { dt: dialogueMessage.dt, type: dialogueMessage.type, uid: dialogueMessage.uid, - text: dialogueMessage.text + text: dialogueMessage.text, }; break; } @@ -478,11 +478,16 @@ export class MailSendService { reward.slotId = "main"; } - // Boxes can contain sub-items + // Ammo boxes should contain sub-items if (this.itemHelper.isOfBaseclass(itemTemplate._id, BaseClasses.AMMO_BOX)) { - const boxAndCartridges: IItem[] = [reward]; - this.itemHelper.addCartridgesToAmmoBox(boxAndCartridges, itemTemplate); - + const childItems = itemsToSendToPlayer.data?.filter((x) => x.parentId === reward._id); + if (childItems.length > 0) { + // Ammo box reward already has ammo, don't add + itemsToSendToPlayer.data.push(reward); + } else { + const boxAndCartridges: IItem[] = [reward]; + this.itemHelper.addCartridgesToAmmoBox(boxAndCartridges, itemTemplate); + } // Push box + cartridge children into array itemsToSendToPlayer.data.push(...boxAndCartridges); } else {