返回提交历史
Modified
src/services/missionInventoryUpdateService.ts
+18
-13
XFEstudio/SpaceNinjaServer
fix: additional checks in bounty rewards (#1626)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1626 Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
43f3917b
代码差异
1 个文件
+18
-13
@@ -922,7 +922,7 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | u
922
922
923
923
if (syndicateEntry.Tag === "EntratiSyndicate") {
924
924
const vault = syndicateEntry.Jobs.find(j => j.locationTag === locationTag);
925
if (vault) job = vault;
925
if (vault && locationTag) job = vault;
926
926
// if (
927
927
// [
928
928
// "DeimosRuinsExterminateBounty",
@@ -997,8 +997,10 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | u
997
997
(RewardInfo.JobStage === job.xpAmounts.length - 1 || job.isVault) &&
998
998
!isEndlessJob
999
999
) {
1000
rewardManifests.push(job.rewards);
1001
rotations.push(ExportRewards[job.rewards].length - 1);
1000
if (ExportRewards[job.rewards]) {
1001
rewardManifests.push(job.rewards);
1002
rotations.push(ExportRewards[job.rewards].length - 1);
1003
}
1002
1004
}
1003
1005
}
1004
1006
}
@@ -1053,17 +1055,20 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | u
1053
1055
if (rewardManifests.length != 0) {
1054
1056
logger.debug(`generating random mission rewards`, { rewardManifests, rotations });
1055
1057
}
1056
rewardManifests
1057
.map(name => ExportRewards[name])
1058
.forEach(table => {
1059
for (const rotation of rotations) {
1060
const rotationRewards = table[rotation];
1061
const drop = getRandomRewardByChance(rotationRewards);
1062
if (drop) {
1063
drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount });
1064
}
1058
rewardManifests.forEach(name => {
1059
const table = ExportRewards[name];
1060
if (!table) {
1061
logger.error(`unknown droptable: ${name}`);
1062
return;
1063
}
1064
for (const rotation of rotations) {
1065
const rotationRewards = table[rotation];
1066
const drop = getRandomRewardByChance(rotationRewards);
1067
if (drop) {
1068
drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount });
1065
1069
}
1066
});
1070
}
1071
});
1067
1072
1068
1073
if (region.cacheRewardManifest && RewardInfo.EnemyCachesFound) {
1069
1074
const deck = ExportRewards[region.cacheRewardManifest];