fix: use wagerTier for The Index rewards (#1545)

Reviewed-on: OpenWF/SpaceNinjaServer#1545
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-04-10 12:54:29 -07:00 committed by Sainan
parent 3f47f89b56
commit fc3ef3a126

View File

@ -51,10 +51,13 @@ import { getInfNodes } from "@/src/helpers/nemesisHelpers";
import { Loadout } from "../models/inventoryModels/loadoutModel"; import { Loadout } from "../models/inventoryModels/loadoutModel";
import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes"; import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes";
const getRotations = (rotationCount: number): number[] => { const getRotations = (rotationCount: number, tierOverride: number | undefined): number[] => {
if (rotationCount === 0) return [0]; 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 = []; const rotatedValues = [];
for (let i = 0; i < rotationCount; i++) { for (let i = 0; i < rotationCount; i++) {
@ -518,6 +521,7 @@ interface AddMissionRewardsReturnType {
export const addMissionRewards = async ( export const addMissionRewards = async (
inventory: TInventoryDatabaseDocument, inventory: TInventoryDatabaseDocument,
{ {
wagerTier: wagerTier,
Nemesis: nemesis, Nemesis: nemesis,
RewardInfo: rewardInfo, RewardInfo: rewardInfo,
LevelKeyName: levelKeyName, LevelKeyName: levelKeyName,
@ -534,7 +538,7 @@ export const addMissionRewards = async (
} }
//TODO: check double reward merging //TODO: check double reward merging
const MissionRewards: IMissionReward[] = getRandomMissionDrops(rewardInfo); const MissionRewards: IMissionReward[] = getRandomMissionDrops(rewardInfo, wagerTier);
logger.debug("random mission drops:", MissionRewards); logger.debug("random mission drops:", MissionRewards);
const inventoryChanges: IInventoryChanges = {}; const inventoryChanges: IInventoryChanges = {};
@ -798,7 +802,7 @@ function getLevelCreditRewards(node: IRegion): number {
//TODO: get dark sektor fixed credit rewards and railjack bonus //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[] = []; const drops: IMissionReward[] = [];
if (RewardInfo.node in ExportRegions) { if (RewardInfo.node in ExportRegions) {
const region = ExportRegions[RewardInfo.node]; const region = ExportRegions[RewardInfo.node];
@ -815,7 +819,7 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo): IMissionReward[] {
} }
} else { } else {
const rotationCount = RewardInfo.rewardQualifications?.length || 0; const rotationCount = RewardInfo.rewardQualifications?.length || 0;
rotations = getRotations(rotationCount); rotations = getRotations(rotationCount, tierOverride);
} }
rewardManifests rewardManifests
.map(name => ExportRewards[name]) .map(name => ExportRewards[name])