forked from OpenWF/SpaceNinjaServer
feat: deepmines bounties
This commit is contained in:
parent
18fafc38b5
commit
8104e2fc27
@ -243,7 +243,7 @@ export const addMissionInventoryUpdates = async (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (inventoryUpdates.MissionStatus == "GS_SUCCESS" && inventoryUpdates.RewardInfo.jobId) {
|
if (inventoryUpdates.RewardInfo.jobId) {
|
||||||
// e.g. for Profit-Taker Phase 1:
|
// e.g. for Profit-Taker Phase 1:
|
||||||
// JobTier: -6,
|
// JobTier: -6,
|
||||||
// jobId: '/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyOne_-6_SolarisUnitedHub1_663a71c80000000000000025_EudicoHeists',
|
// jobId: '/Lotus/Types/Gameplay/Venus/Jobs/Heists/HeistProfitTakerBountyOne_-6_SolarisUnitedHub1_663a71c80000000000000025_EudicoHeists',
|
||||||
@ -251,7 +251,10 @@ export const addMissionInventoryUpdates = async (
|
|||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const [bounty, tier, hub, id, tag] = inventoryUpdates.RewardInfo.jobId.split("_");
|
const [bounty, tier, hub, id, tag] = inventoryUpdates.RewardInfo.jobId.split("_");
|
||||||
if (tag == "EudicoHeists") {
|
if (
|
||||||
|
(tag == "EudicoHeists" && inventoryUpdates.MissionStatus == "GS_SUCCESS") ||
|
||||||
|
(tag == "NokkoColony" && inventoryUpdates.RewardInfo.JobStage == 4)
|
||||||
|
) {
|
||||||
inventory.CompletedJobChains ??= [];
|
inventory.CompletedJobChains ??= [];
|
||||||
let chain = inventory.CompletedJobChains.find(x => x.LocationTag == tag);
|
let chain = inventory.CompletedJobChains.find(x => x.LocationTag == tag);
|
||||||
if (!chain) {
|
if (!chain) {
|
||||||
@ -1514,7 +1517,7 @@ export const addMissionRewards = async (
|
|||||||
syndicateEntry = Goals.find(m => m._id.$oid === syndicateMissionId);
|
syndicateEntry = Goals.find(m => m._id.$oid === syndicateMissionId);
|
||||||
if (syndicateEntry) syndicateEntry.Tag = syndicateEntry.JobAffiliationTag!;
|
if (syndicateEntry) syndicateEntry.Tag = syndicateEntry.JobAffiliationTag!;
|
||||||
}
|
}
|
||||||
if (syndicateEntry && syndicateEntry.Jobs) {
|
if (syndicateEntry && syndicateEntry.Jobs && !jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs")) {
|
||||||
let currentJob = syndicateEntry.Jobs[rewardInfo.JobTier!];
|
let currentJob = syndicateEntry.Jobs[rewardInfo.JobTier!];
|
||||||
if (
|
if (
|
||||||
[
|
[
|
||||||
@ -2022,6 +2025,17 @@ function getRandomMissionDrops(
|
|||||||
xpAmounts: [1000]
|
xpAmounts: [1000]
|
||||||
};
|
};
|
||||||
RewardInfo.Q = false; // Just in case
|
RewardInfo.Q = false; // Just in case
|
||||||
|
} else if (jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob")) {
|
||||||
|
job = {
|
||||||
|
rewards: jobType.replace(
|
||||||
|
"/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob",
|
||||||
|
"Lotus/Types/Game/MissionDecks/NokkoColonyRewards/NokkoColonyRewards"
|
||||||
|
),
|
||||||
|
masteryReq: 0,
|
||||||
|
minEnemyLevel: 30,
|
||||||
|
maxEnemyLevel: 40,
|
||||||
|
xpAmounts: [0, 0, 0, 0, 0]
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
const tierMap = {
|
const tierMap = {
|
||||||
Two: "B",
|
Two: "B",
|
||||||
@ -2065,14 +2079,18 @@ function getRandomMissionDrops(
|
|||||||
} else if (totalStage == 5 && curentStage == 4) {
|
} else if (totalStage == 5 && curentStage == 4) {
|
||||||
tableIndex = 2;
|
tableIndex = 2;
|
||||||
}
|
}
|
||||||
|
if (jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob")) {
|
||||||
|
if (RewardInfo.JobStage === job.xpAmounts.length - 1) rotations = [0, 1, 2];
|
||||||
|
} else {
|
||||||
rotations = [tableIndex];
|
rotations = [tableIndex];
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
rotations = [0];
|
rotations = [0];
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
RewardInfo.Q &&
|
RewardInfo.Q &&
|
||||||
(RewardInfo.JobStage === job.xpAmounts.length - 1 || jobType.endsWith("VaultBounty")) &&
|
(RewardInfo.JobStage === job.xpAmounts.length - 1 || jobType.endsWith("VaultBounty")) &&
|
||||||
|
!jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob") &&
|
||||||
!isEndlessJob
|
!isEndlessJob
|
||||||
) {
|
) {
|
||||||
rotations.push(ExportRewards[job.rewards].length - 1);
|
rotations.push(ExportRewards[job.rewards].length - 1);
|
||||||
@ -2163,6 +2181,7 @@ function getRandomMissionDrops(
|
|||||||
logger.warn(`RewardSeed mismatch:`, { client: RewardInfo.rewardSeed, database: inventory.RewardSeed });
|
logger.warn(`RewardSeed mismatch:`, { client: RewardInfo.rewardSeed, database: inventory.RewardSeed });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (rotations.length > 1) {
|
||||||
const rng = new SRng(BigInt(RewardInfo.rewardSeed ?? generateRewardSeed()) ^ 0xffffffffffffffffn);
|
const rng = new SRng(BigInt(RewardInfo.rewardSeed ?? generateRewardSeed()) ^ 0xffffffffffffffffn);
|
||||||
rewardManifests.forEach(name => {
|
rewardManifests.forEach(name => {
|
||||||
const table = ExportRewards[name];
|
const table = ExportRewards[name];
|
||||||
@ -2179,6 +2198,7 @@ function getRandomMissionDrops(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Railjack Abandoned Cache Rewards, Rotation A (Mandatory Objectives)
|
// Railjack Abandoned Cache Rewards, Rotation A (Mandatory Objectives)
|
||||||
if (RewardInfo.POICompletions) {
|
if (RewardInfo.POICompletions) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user