XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

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
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

1 个文件 +18 -13
Modified src/services/missionInventoryUpdateService.ts +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];