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: 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
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

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