返回提交历史
Modified
package-lock.json
+4
-4
Modified
package.json
+1
-1
Modified
src/services/missionInventoryUpdateService.ts
+29
-5
XFEstudio/SpaceNinjaServer
feat: deepmines bounties (#2933)
Closes #2936 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2933 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
3ae535cc
代码差异
3 个文件
+34
-10
@@ -18,7 +18,7 @@
18
18
"morgan": "^1.10.0",
19
19
"ncp": "^2.0.0",
20
20
"undici": "^7.10.0",
21
"warframe-public-export-plus": "^0.5.92",
21
"warframe-public-export-plus": "^0.5.93",
22
22
"warframe-riven-info": "^0.1.2",
23
23
"winston": "^3.17.0",
24
24
"winston-daily-rotate-file": "^5.0.0",
@@ -5534,9 +5534,9 @@
5534
5534
}
5535
5535
},
5536
5536
"node_modules/warframe-public-export-plus": {
5537
"version": "0.5.92",
5538
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.92.tgz",
5539
"integrity": "sha512-5O5VtyVXxKtl5QdpzoVyKov5GX6t3z/U5tqPq73kjoSyA5NQT2V9sWsZK4ASyY8Edv9hNsdwlZdsdP8QmYbubg=="
5537
"version": "0.5.93",
5538
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.93.tgz",
5539
"integrity": "sha512-A8LSFJoyg7sU1n4L0zhLK1g0CREh8Fxvk7eXKoT8nMTroQg6YgEw02gK0MUi9U3rWTnlaGTsXZMp/tgC7HWUKw=="
5540
5540
},
5541
5541
"node_modules/warframe-riven-info": {
5542
5542
"version": "0.1.2",
@@ -36,7 +36,7 @@
36
36
"morgan": "^1.10.0",
37
37
"ncp": "^2.0.0",
38
38
"undici": "^7.10.0",
39
"warframe-public-export-plus": "^0.5.92",
39
"warframe-public-export-plus": "^0.5.93",
40
40
"warframe-riven-info": "^0.1.2",
41
41
"winston": "^3.17.0",
42
42
"winston-daily-rotate-file": "^5.0.0",
@@ -243,7 +243,7 @@ export const addMissionInventoryUpdates = async (
243
243
}
244
244
}
245
245
}
246
if (inventoryUpdates.MissionStatus == "GS_SUCCESS" && inventoryUpdates.RewardInfo.jobId) {
246
if (inventoryUpdates.RewardInfo.jobId) {
247
247
// e.g. for Profit-Taker Phase 1:
248
248
// JobTier: -6,
249
249
// jobId: '/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyOne_-6_SolarisUnitedHub1_663a71c80000000000000025_EudicoHeists',
@@ -251,7 +251,10 @@ export const addMissionInventoryUpdates = async (
251
251
252
252
// eslint-disable-next-line @typescript-eslint/no-unused-vars
253
253
const [bounty, tier, hub, id, tag] = inventoryUpdates.RewardInfo.jobId.split("_");
254
if (tag == "EudicoHeists") {
254
if (
255
(tag == "EudicoHeists" && inventoryUpdates.MissionStatus == "GS_SUCCESS") ||
256
(tag == "NokkoColony" && inventoryUpdates.RewardInfo.JobStage == 4)
257
) {
255
258
inventory.CompletedJobChains ??= [];
256
259
let chain = inventory.CompletedJobChains.find(x => x.LocationTag == tag);
257
260
if (!chain) {
@@ -1514,7 +1517,7 @@ export const addMissionRewards = async (
1514
1517
syndicateEntry = Goals.find(m => m._id.$oid === syndicateMissionId);
1515
1518
if (syndicateEntry) syndicateEntry.Tag = syndicateEntry.JobAffiliationTag!;
1516
1519
}
1517
if (syndicateEntry && syndicateEntry.Jobs) {
1520
if (syndicateEntry && syndicateEntry.Jobs && !jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs")) {
1518
1521
let currentJob = syndicateEntry.Jobs[rewardInfo.JobTier!];
1519
1522
if (
1520
1523
[
@@ -2022,6 +2025,19 @@ function getRandomMissionDrops(
2022
2025
xpAmounts: [1000]
2023
2026
};
2024
2027
RewardInfo.Q = false; // Just in case
2028
} else if (jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob")) {
2029
job = {
2030
rewards: jobType
2031
.replace("SteelPath", "Steel")
2032
.replace(
2033
"/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob",
2034
"Lotus/Types/Game/MissionDecks/NokkoColonyRewards/NokkoColonyRewards"
2035
),
2036
masteryReq: 0,
2037
minEnemyLevel: 30,
2038
maxEnemyLevel: 40,
2039
xpAmounts: [0, 0, 0, 0, 0]
2040
};
2025
2041
} else {
2026
2042
const tierMap = {
2027
2043
Two: "B",
@@ -2065,14 +2081,22 @@ function getRandomMissionDrops(
2065
2081
} else if (totalStage == 5 && curentStage == 4) {
2066
2082
tableIndex = 2;
2067
2083
}
2068
2069
rotations = [tableIndex];
2084
if (jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob")) {
2085
if (RewardInfo.JobStage === job.xpAmounts.length - 1) {
2086
rotations = [0, 1, 2];
2087
} else {
2088
rewardManifests = [];
2089
}
2090
} else {
2091
rotations = [tableIndex];
2092
}
2070
2093
} else {
2071
2094
rotations = [0];
2072
2095
}
2073
2096
if (
2074
2097
RewardInfo.Q &&
2075
2098
(RewardInfo.JobStage === job.xpAmounts.length - 1 || jobType.endsWith("VaultBounty")) &&
2099
!jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob") &&
2076
2100
!isEndlessJob
2077
2101
) {
2078
2102
rotations.push(ExportRewards[job.rewards].length - 1);