From 2913fe33f09970a724694dd49e408c073ef1e2d6 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 15 Aug 2025 19:41:19 +0200 Subject: [PATCH] feat: h-09 apex turret sumdali reward --- package-lock.json | 8 +++---- package.json | 2 +- src/services/missionInventoryUpdateService.ts | 21 +++++++++++++++++++ src/types/requestTypes.ts | 1 + 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 75db2601..46f51c85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "ncp": "^2.0.0", "typescript": "^5.5", "undici": "^7.10.0", - "warframe-public-export-plus": "^0.5.80", + "warframe-public-export-plus": "^0.5.81", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", @@ -5507,9 +5507,9 @@ } }, "node_modules/warframe-public-export-plus": { - "version": "0.5.80", - "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.80.tgz", - "integrity": "sha512-K5f1Ws3szVdnO0tBcxlNdhXoGHIw09cjHel7spKPGL7aF/vmEkbBGRmYQFvs8n5cGo+v+3qIDMre54Ghb3t0Iw==" + "version": "0.5.81", + "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.81.tgz", + "integrity": "sha512-kh3e21XThVDSwdC3TJsMsXZnlZ4B/21HdeJkKcjuTygpCd842EPEKS3lRZl3mpXFOmdha744vAW1XEyHfiLofg==" }, "node_modules/warframe-riven-info": { "version": "0.1.2", diff --git a/package.json b/package.json index 6d7e6812..8b758bcc 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ncp": "^2.0.0", "typescript": "^5.5", "undici": "^7.10.0", - "warframe-public-export-plus": "^0.5.80", + "warframe-public-export-plus": "^0.5.81", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 8fb17b59..7dd56548 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -1309,6 +1309,27 @@ export const addMissionRewards = async ( logger.error(`unknown droptable ${si.DropTable} for DROP_BLUEPRINT`); } } + // e.g. H-09 Apex Turret Sumdali + if (si.DROP_MISC_ITEM) { + const resourceDroptable = droptables.find(x => x.type == "resource"); + if (resourceDroptable) { + for (let i = 0; i != si.DROP_MISC_ITEM.length; ++i) { + const reward = getRandomReward(resourceDroptable.items)!; + logger.debug(`stripped droptable (resources pool) rolled`, reward); + if (Object.keys(await addItem(inventory, reward.type)).length == 0) { + logger.debug(`item already owned, skipping`); + } else { + MissionRewards.push({ + StoreItem: toStoreItem(reward.type), + ItemCount: 1, + FromEnemyCache: true // to show "identified" + }); + } + } + } else { + logger.error(`unknown droptable ${si.DropTable} for DROP_BLUEPRINT`); + } + } } } diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index d272f6cf..8f7e2fbc 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -117,6 +117,7 @@ export type IMissionInventoryUpdateRequest = { DropTable: string; DROP_MOD?: number[]; DROP_BLUEPRINT?: number[]; + DROP_MISC_ITEM?: number[]; }[]; DeathMarks?: string[]; Nemesis?: number; -- 2.47.2