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

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

代码差异

3 个文件 +34 -10
Modified package-lock.json +4 -4
@@ -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",
Modified package.json +1 -1
@@ -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",
Modified src/services/missionInventoryUpdateService.ts +29 -5
@@ -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);