feat: granum void/purgatory rewards (#1663)
Some checks failed
Build / build (push) Has been cancelled
Build Docker image / docker (push) Has been cancelled

Closes #1627

Reviewed-on: #1663
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-16 06:30:36 -07:00 committed by Sainan
parent 3d1b009bdb
commit 51b82df5fd

View File

@ -1141,6 +1141,32 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | u
drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount }); drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount });
} }
} }
if (RewardInfo.PurgatoryRewardQualifications) {
for (const encodedQualification of RewardInfo.PurgatoryRewardQualifications) {
const qualification = parseInt(encodedQualification) - 1;
if (qualification < 0 || qualification > 8) {
logger.error(`unexpected purgatory reward qualification: ${qualification}`);
} else {
const drop = getRandomRewardByChance(
ExportRewards[
[
"/Lotus/Types/Game/MissionDecks/PurgatoryMissionRewards/PurgatoryBlackTokenRewards",
"/Lotus/Types/Game/MissionDecks/PurgatoryMissionRewards/PurgatoryGoldTokenRewards",
"/Lotus/Types/Game/MissionDecks/PurgatoryMissionRewards/PurgatoryBlueTokenRewards"
][Math.trunc(qualification / 3)]
][qualification % 3]
);
if (drop) {
drops.push({
StoreItem: drop.type,
ItemCount: drop.itemCount,
FromEnemyCache: true // to show "identified"
});
}
}
}
}
} }
return drops; return drops;
} }