From fc3ef3a126dcae8c3df864c6556599cf20e86bd0 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Thu, 10 Apr 2025 12:54:29 -0700 Subject: [PATCH] fix: use wagerTier for The Index rewards (#1545) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1545 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/services/missionInventoryUpdateService.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 598c0fc6..9ca788af 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -51,10 +51,13 @@ import { getInfNodes } from "@/src/helpers/nemesisHelpers"; import { Loadout } from "../models/inventoryModels/loadoutModel"; import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes"; -const getRotations = (rotationCount: number): number[] => { +const getRotations = (rotationCount: number, tierOverride: number | undefined): number[] => { if (rotationCount === 0) return [0]; - const rotationPattern = [0, 0, 1, 2]; // A, A, B, C + const rotationPattern = + tierOverride === undefined + ? [0, 0, 1, 2] // A, A, B, C + : [tierOverride]; const rotatedValues = []; for (let i = 0; i < rotationCount; i++) { @@ -518,6 +521,7 @@ interface AddMissionRewardsReturnType { export const addMissionRewards = async ( inventory: TInventoryDatabaseDocument, { + wagerTier: wagerTier, Nemesis: nemesis, RewardInfo: rewardInfo, LevelKeyName: levelKeyName, @@ -534,7 +538,7 @@ export const addMissionRewards = async ( } //TODO: check double reward merging - const MissionRewards: IMissionReward[] = getRandomMissionDrops(rewardInfo); + const MissionRewards: IMissionReward[] = getRandomMissionDrops(rewardInfo, wagerTier); logger.debug("random mission drops:", MissionRewards); const inventoryChanges: IInventoryChanges = {}; @@ -798,7 +802,7 @@ function getLevelCreditRewards(node: IRegion): number { //TODO: get dark sektor fixed credit rewards and railjack bonus } -function getRandomMissionDrops(RewardInfo: IRewardInfo): IMissionReward[] { +function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | undefined): IMissionReward[] { const drops: IMissionReward[] = []; if (RewardInfo.node in ExportRegions) { const region = ExportRegions[RewardInfo.node]; @@ -815,7 +819,7 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo): IMissionReward[] { } } else { const rotationCount = RewardInfo.rewardQualifications?.length || 0; - rotations = getRotations(rotationCount); + rotations = getRotations(rotationCount, tierOverride); } rewardManifests .map(name => ExportRewards[name])