diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index c88e8d11..b75522c2 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -976,10 +976,16 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | u } if (RewardInfo.node in ExportRegions) { const region = ExportRegions[RewardInfo.node]; - let rewardManifests: string[] = - RewardInfo.periodicMissionTag == "EliteAlert" || RewardInfo.periodicMissionTag == "EliteAlertB" - ? ["/Lotus/Types/Game/MissionDecks/EliteAlertMissionRewards/EliteAlertMissionRewards"] - : region.rewardManifests; + let rewardManifests: string[]; + if (RewardInfo.periodicMissionTag == "EliteAlert" || RewardInfo.periodicMissionTag == "EliteAlertB") { + rewardManifests = ["/Lotus/Types/Game/MissionDecks/EliteAlertMissionRewards/EliteAlertMissionRewards"]; + } else if (RewardInfo.invasionId && region.missionIndex == 0) { + // Invasion assassination has Phorid has the boss who should drop Nyx parts + // TODO: Check that the invasion faction is indeed FC_INFESTATION once the Invasions in worldState are more dynamic + rewardManifests = ["/Lotus/Types/Game/MissionDecks/BossMissionRewards/NyxRewards"]; + } else { + rewardManifests = region.rewardManifests; + } let rotations: number[] = []; if (RewardInfo.jobId) { diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index 9441f632..fbcc74fd 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -129,6 +129,8 @@ export type IMissionInventoryUpdateRequest = { export interface IRewardInfo { node: string; + invasionId?: string; + invasionAllyFaction?: "FC_GRINEER" | "FC_CORPUS"; sortieId?: string; sortieTag?: string; sortiePrereqs?: string[];