返回提交历史
Modified
src/services/missionInventoryUpdateService.ts
+12
-7
XFEstudio/SpaceNinjaServer
fix: handle lab conquest keeping RewardInfo from previous missions (#2771)
Closes #2768 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2771 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
a5be2915
代码差异
1 个文件
+12
-7
@@ -92,11 +92,6 @@ import { handleGuildGoalProgress } from "./guildService.ts";
92
92
import { importLoadOutConfig } from "./importService.ts";
93
93
94
94
const getRotations = (rewardInfo: IRewardInfo, tierOverride?: number): number[] => {
95
// Disruption missions just tell us (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2599)
96
if (rewardInfo.rewardTierOverrides) {
97
return rewardInfo.rewardTierOverrides;
98
}
99
100
95
// For Spy missions, e.g. 3 vaults cracked = A, B, C
101
96
if (rewardInfo.VaultsCracked) {
102
97
const rotations: number[] = [];
@@ -109,16 +104,26 @@ const getRotations = (rewardInfo: IRewardInfo, tierOverride?: number): number[]
109
104
const region = ExportRegions[rewardInfo.node] as IRegion | undefined;
110
105
const missionType: TMissionType | undefined = region?.missionType;
111
106
112
if (missionType == "MT_RESCUE" && rewardInfo.rewardTier) {
107
// Disruption uses 'rewardTierOverrides' to tell us (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2599)
108
// Note that this may stick in lab conquest so we need to filter by mission type (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2768)
109
if (missionType == "MT_ARTIFACT") {
110
return rewardInfo.rewardTierOverrides ?? [];
111
}
112
113
if (missionType == "MT_RESCUE" && rewardInfo.rewardTier !== undefined) {
113
114
return [rewardInfo.rewardTier];
114
115
}
115
116
116
// 'rewardQualifications' is unreliable for non-endless railjack missions (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2586, https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2612)
117
// 'rewardQualifications' may stick from previous missions for non-endless missions done after them
118
// - via railjack (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2586, https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2612)
119
// - via lab conquest (https://onlyg.it/OpenWF/SpaceNinjaServer/issues/2768)
117
120
switch (region?.missionName) {
118
121
case "/Lotus/Language/Missions/MissionName_Railjack":
119
122
case "/Lotus/Language/Missions/MissionName_RailjackVolatile":
120
123
case "/Lotus/Language/Missions/MissionName_RailjackExterminate":
121
124
case "/Lotus/Language/Missions/MissionName_RailjackAssassinate":
125
case "/Lotus/Language/Missions/MissionName_Assassination":
126
case "/Lotus/Language/Missions/MissionName_Exterminate":
122
127
return [0];
123
128
}
124
129