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

SpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/SpaceNinjaServer

fix: respect rewardTier for rescue missions (#1650)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1650 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

3165d9f4
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

2 个文件 +18 -9
Modified src/services/missionInventoryUpdateService.ts +17 -8
@@ -55,7 +55,22 @@ import { Loadout } from "../models/inventoryModels/loadoutModel";
55 55 import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes";
56 56 import { getWorldState } from "./worldStateService";
57 57
58 const getRotations = (rotationCount: number, tierOverride: number | undefined): number[] => {
58 const getRotations = (rewardInfo: IRewardInfo, tierOverride: number | undefined): number[] => {
59 // For Spy missions, e.g. 3 vaults cracked = A, B, C
60 if (rewardInfo.VaultsCracked) {
61 const rotations: number[] = [];
62 for (let i = 0; i != rewardInfo.VaultsCracked; ++i) {
63 rotations.push(i);
64 }
65 return rotations;
66 }
67
68 // For Rescue missions
69 if (rewardInfo.rewardTier) {
70 return [rewardInfo.rewardTier];
71 }
72
73 const rotationCount = rewardInfo.rewardQualifications?.length || 0;
59 74 if (rotationCount === 0) return [0];
60 75
61 76 const rotationPattern =
@@ -1062,14 +1077,8 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo, tierOverride: number | u
1062 1077 } else {
1063 1078 logger.error(`Unknown syndicate or tier: ${RewardInfo.challengeMissionId}`);
1064 1079 }
1065 } else if (RewardInfo.VaultsCracked) {
1066 // For Spy missions, e.g. 3 vaults cracked = A, B, C
1067 for (let i = 0; i != RewardInfo.VaultsCracked; ++i) {
1068 rotations.push(i);
1069 }
1070 1080 } else {
1071 const rotationCount = RewardInfo.rewardQualifications?.length || 0;
1072 rotations = getRotations(rotationCount, tierOverride);
1081 rotations = getRotations(RewardInfo, tierOverride);
1073 1082 }
1074 1083 if (rewardManifests.length != 0) {
1075 1084 logger.debug(`generating random mission rewards`, { rewardManifests, rotations });
Modified src/types/requestTypes.ts +1 -1
@@ -130,7 +130,7 @@ export type IMissionInventoryUpdateRequest = {
130 130 export interface IRewardInfo {
131 131 node: string;
132 132 VaultsCracked?: number; // for Spy missions
133 rewardTier?: number;
133 rewardTier?: number; // for Rescue missions
134 134 nightmareMode?: boolean;
135 135 useVaultManifest?: boolean;
136 136 EnemyCachesFound?: number;