diff --git a/package-lock.json b/package-lock.json index db379b43..9ab7b4bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "morgan": "^1.10.0", "ncp": "^2.0.0", "typescript": "^5.5", - "warframe-public-export-plus": "^0.5.60", + "warframe-public-export-plus": "^0.5.62", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0" @@ -3703,9 +3703,9 @@ } }, "node_modules/warframe-public-export-plus": { - "version": "0.5.60", - "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.60.tgz", - "integrity": "sha512-vMfytUc4xRi+b7RTSq+TJEl91vwEegpQKxLtXwRPfs9ZHhntxc4rmDYSNWJTvgf/aWXsFUxQlqL/GV5OLPGM7g==" + "version": "0.5.62", + "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.62.tgz", + "integrity": "sha512-D8ZzjkU9rrK/59VqCfpMoV31HVmwHZV1dNZxPO85AOlcjg/G81Fu3kgITQTaw9sdNagLPLQnFaiXY58pxxRwgA==" }, "node_modules/warframe-riven-info": { "version": "0.1.2", diff --git a/package.json b/package.json index 010e5dcb..5b995cbd 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "morgan": "^1.10.0", "ncp": "^2.0.0", "typescript": "^5.5", - "warframe-public-export-plus": "^0.5.60", + "warframe-public-export-plus": "^0.5.62", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0" diff --git a/src/controllers/api/missionInventoryUpdateController.ts b/src/controllers/api/missionInventoryUpdateController.ts index 41f49143..fedff108 100644 --- a/src/controllers/api/missionInventoryUpdateController.ts +++ b/src/controllers/api/missionInventoryUpdateController.ts @@ -61,7 +61,11 @@ export const missionInventoryUpdateController: RequestHandler = async (req, res) if ( missionReport.MissionStatus !== "GS_SUCCESS" && - !(missionReport.RewardInfo?.jobId || missionReport.RewardInfo?.challengeMissionId) + !( + missionReport.RewardInfo?.jobId || + missionReport.RewardInfo?.challengeMissionId || + missionReport.RewardInfo?.T + ) ) { if (missionReport.EndOfMatchUpload) { inventory.RewardSeed = generateRewardSeed(); diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 8140caa6..bdaf5fd5 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -1416,6 +1416,37 @@ function getRandomMissionDrops( } else { rewardManifests = []; } + } else if (RewardInfo.T == 13) { + // Undercroft extra/side portal (normal mode), gives 1 Pathos Clamp + Duviri Arcane. + drops.push({ + StoreItem: "/Lotus/StoreItems/Types/Gameplay/Duviri/Resource/DuviriDragonDropItem", + ItemCount: 1 + }); + rewardManifests = [ + "/Lotus/Types/Game/MissionDecks/DuviriEncounterRewards/DuviriStaticUndercroftResourceRewards" + ]; + } else if (RewardInfo.T == 14) { + // Undercroft extra/side portal (steel path), gives 3 Pathos Clamps + Eidolon Arcane. + drops.push({ + StoreItem: "/Lotus/StoreItems/Types/Gameplay/Duviri/Resource/DuviriDragonDropItem", + ItemCount: 3 + }); + rewardManifests = [ + "/Lotus/Types/Game/MissionDecks/DuviriEncounterRewards/DuviriSteelPathStaticUndercroftResourceRewards" + ]; + } else if (RewardInfo.T == 15) { + rewardManifests = [ + mission?.Tier == 1 + ? "/Lotus/Types/Game/MissionDecks/DuviriEncounterRewards/DuviriKullervoSteelPathRNGRewards" + : "/Lotus/Types/Game/MissionDecks/DuviriEncounterRewards/DuviriKullervoNormalRNGRewards" + ]; + } else if (RewardInfo.T == 70) { + // Orowyrm chest, gives 10 Pathos Clamps, or 15 on Steel Path. + drops.push({ + StoreItem: "/Lotus/StoreItems/Types/Gameplay/Duviri/Resource/DuviriDragonDropItem", + ItemCount: mission?.Tier == 1 ? 15 : 10 + }); + rewardManifests = []; } else { rewardManifests = region.rewardManifests; } diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index ab895bd1..6fdd0c09 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -177,6 +177,7 @@ export interface IRewardInfo { PurgatoryRewardQualifications?: string; rewardSeed?: number | bigint; periodicMissionTag?: string; + T?: number; // Duviri ConquestType?: string; ConquestCompleted?: number; ConquestEquipmentSuggestionsFulfilled?: number;