forked from OpenWF/SpaceNinjaServer
		
	
							parent
							
								
									8bce83d14c
								
							
						
					
					
						commit
						65f6c7a439
					
				@ -1517,7 +1517,46 @@ export const addMissionRewards = async (
 | 
			
		||||
            syndicateEntry = Goals.find(m => m._id.$oid === syndicateMissionId);
 | 
			
		||||
            if (syndicateEntry) syndicateEntry.Tag = syndicateEntry.JobAffiliationTag!;
 | 
			
		||||
        }
 | 
			
		||||
        if (syndicateEntry && syndicateEntry.Jobs && !jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs")) {
 | 
			
		||||
        const specialCase = [
 | 
			
		||||
            {
 | 
			
		||||
                endings: ["Heists/HeistProfitTakerBountyOne"],
 | 
			
		||||
                stage: 2,
 | 
			
		||||
                amount: 1000,
 | 
			
		||||
                tag: "SolarisSyndicate"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                endings: [
 | 
			
		||||
                    "Heists/HeistProfitTakerBountyTwo",
 | 
			
		||||
                    "Heists/HeistProfitTakerBountyThree",
 | 
			
		||||
                    "Heists/HeistProfitTakerBountyFour",
 | 
			
		||||
                    "Heists/HeistExploiterBountyOne"
 | 
			
		||||
                ],
 | 
			
		||||
                amount: 1000,
 | 
			
		||||
                tag: "SolarisSyndicate"
 | 
			
		||||
            },
 | 
			
		||||
            { endings: ["Hunts/AllTeralystsHunt"], stage: 2, amount: 5000, tag: "CetusSyndicate" },
 | 
			
		||||
            {
 | 
			
		||||
                endings: ["Hunts/TeralystHunt"],
 | 
			
		||||
                amount: 1000,
 | 
			
		||||
                tag: "CetusSyndicate"
 | 
			
		||||
            },
 | 
			
		||||
            { endings: ["Jobs/NewbieJob"], amount: 200, tag: "CetusSyndicate" }
 | 
			
		||||
        ];
 | 
			
		||||
        if (specialCase.some(rule => rule.endings.some(e => jobType.endsWith(e)))) {
 | 
			
		||||
            const specialCaseReward = specialCase.find(
 | 
			
		||||
                rule =>
 | 
			
		||||
                    rule.endings.some(e => jobType.endsWith(e)) &&
 | 
			
		||||
                    (rule.stage === undefined || rewardInfo.JobStage === rule.stage)
 | 
			
		||||
            );
 | 
			
		||||
            if (specialCaseReward) {
 | 
			
		||||
                addStanding(
 | 
			
		||||
                    inventory,
 | 
			
		||||
                    specialCaseReward.tag,
 | 
			
		||||
                    Math.floor(specialCaseReward.amount / (rewardInfo.Q ? 0.8 : 1)),
 | 
			
		||||
                    AffiliationMods
 | 
			
		||||
                );
 | 
			
		||||
            }
 | 
			
		||||
        } else if (syndicateEntry && syndicateEntry.Jobs) {
 | 
			
		||||
            let currentJob = syndicateEntry.Jobs[rewardInfo.JobTier!];
 | 
			
		||||
            if (
 | 
			
		||||
                [
 | 
			
		||||
@ -1575,42 +1614,15 @@ export const addMissionRewards = async (
 | 
			
		||||
                    );
 | 
			
		||||
                    logger.warning(`currentJob`, { currentJob: currentJob });
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                const specialCase = [
 | 
			
		||||
                    { endings: ["Heists/HeistProfitTakerBountyOne"], stage: 2, amount: 1000 },
 | 
			
		||||
                    { endings: ["Hunts/AllTeralystsHunt"], stage: 2, amount: 5000 },
 | 
			
		||||
                    {
 | 
			
		||||
                        endings: [
 | 
			
		||||
                            "Hunts/TeralystHunt",
 | 
			
		||||
                            "Heists/HeistProfitTakerBountyTwo",
 | 
			
		||||
                            "Heists/HeistProfitTakerBountyThree",
 | 
			
		||||
                            "Heists/HeistProfitTakerBountyFour",
 | 
			
		||||
                            "Heists/HeistExploiterBountyOne"
 | 
			
		||||
                        ],
 | 
			
		||||
                        amount: 1000
 | 
			
		||||
                    }
 | 
			
		||||
                ];
 | 
			
		||||
                const specialCaseReward = specialCase.find(
 | 
			
		||||
                    rule =>
 | 
			
		||||
                        rule.endings.some(e => jobType.endsWith(e)) &&
 | 
			
		||||
                        (rule.stage === undefined || rewardInfo.JobStage === rule.stage)
 | 
			
		||||
            } else if (!jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs")) {
 | 
			
		||||
                addStanding(
 | 
			
		||||
                    inventory,
 | 
			
		||||
                    syndicateEntry.Tag,
 | 
			
		||||
                    Math.floor(currentJob.xpAmounts[rewardInfo.JobStage] / (rewardInfo.Q ? 0.8 : 1)),
 | 
			
		||||
                    AffiliationMods
 | 
			
		||||
                );
 | 
			
		||||
 | 
			
		||||
                if (specialCaseReward) {
 | 
			
		||||
                    addStanding(inventory, syndicateEntry.Tag, specialCaseReward.amount, AffiliationMods);
 | 
			
		||||
                } else {
 | 
			
		||||
                    addStanding(
 | 
			
		||||
                        inventory,
 | 
			
		||||
                        syndicateEntry.Tag,
 | 
			
		||||
                        Math.floor(currentJob.xpAmounts[rewardInfo.JobStage] / (rewardInfo.Q ? 0.8 : 1)),
 | 
			
		||||
                        AffiliationMods
 | 
			
		||||
                    );
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (jobType == "/Lotus/Types/Gameplay/Eidolon/Jobs/NewbieJob") {
 | 
			
		||||
            addStanding(inventory, "CetusSyndicate", Math.floor(200 / (rewardInfo.Q ? 0.8 : 1)), AffiliationMods);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (rewardInfo.challengeMissionId) {
 | 
			
		||||
@ -1964,7 +1976,8 @@ function getRandomMissionDrops(
 | 
			
		||||
                        if (syndicateEntry) syndicateEntry.Tag = syndicateEntry.JobAffiliationTag!;
 | 
			
		||||
                    }
 | 
			
		||||
                    if (syndicateEntry && syndicateEntry.Jobs) {
 | 
			
		||||
                        let job = syndicateEntry.Jobs[RewardInfo.JobTier!];
 | 
			
		||||
                        let job;
 | 
			
		||||
                        if (RewardInfo.JobTier && RewardInfo.JobTier > 0) job = syndicateEntry.Jobs[RewardInfo.JobTier];
 | 
			
		||||
 | 
			
		||||
                        if (syndicateEntry.Tag === "EntratiSyndicate") {
 | 
			
		||||
                            if (
 | 
			
		||||
@ -2068,38 +2081,40 @@ function getRandomMissionDrops(
 | 
			
		||||
                        ) {
 | 
			
		||||
                            job = syndicateEntry.Jobs.find(j => j.jobType === jobType)!;
 | 
			
		||||
                        }
 | 
			
		||||
                        rewardManifests = [job.rewards];
 | 
			
		||||
                        if (job.xpAmounts.length > 1) {
 | 
			
		||||
                            const curentStage = RewardInfo.JobStage! + 1;
 | 
			
		||||
                            const totalStage = job.xpAmounts.length;
 | 
			
		||||
                            let tableIndex = 1; // Stage 2, Stage 3 of 4, and Stage 3 of 5
 | 
			
		||||
                        if (job) {
 | 
			
		||||
                            rewardManifests = [job.rewards];
 | 
			
		||||
                            if (job.xpAmounts.length > 1) {
 | 
			
		||||
                                const curentStage = RewardInfo.JobStage! + 1;
 | 
			
		||||
                                const totalStage = job.xpAmounts.length;
 | 
			
		||||
                                let tableIndex = 1; // Stage 2, Stage 3 of 4, and Stage 3 of 5
 | 
			
		||||
 | 
			
		||||
                            if (curentStage == 1) {
 | 
			
		||||
                                tableIndex = 0;
 | 
			
		||||
                            } else if (curentStage == totalStage) {
 | 
			
		||||
                                tableIndex = 3;
 | 
			
		||||
                            } else if (totalStage == 5 && curentStage == 4) {
 | 
			
		||||
                                tableIndex = 2;
 | 
			
		||||
                            }
 | 
			
		||||
                            if (jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob")) {
 | 
			
		||||
                                if (RewardInfo.JobStage === job.xpAmounts.length - 1) {
 | 
			
		||||
                                    rotations = [0, 1, 2];
 | 
			
		||||
                                if (curentStage == 1) {
 | 
			
		||||
                                    tableIndex = 0;
 | 
			
		||||
                                } else if (curentStage == totalStage) {
 | 
			
		||||
                                    tableIndex = 3;
 | 
			
		||||
                                } else if (totalStage == 5 && curentStage == 4) {
 | 
			
		||||
                                    tableIndex = 2;
 | 
			
		||||
                                }
 | 
			
		||||
                                if (jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob")) {
 | 
			
		||||
                                    if (RewardInfo.JobStage === job.xpAmounts.length - 1) {
 | 
			
		||||
                                        rotations = [0, 1, 2];
 | 
			
		||||
                                    } else {
 | 
			
		||||
                                        rewardManifests = [];
 | 
			
		||||
                                    }
 | 
			
		||||
                                } else {
 | 
			
		||||
                                    rewardManifests = [];
 | 
			
		||||
                                    rotations = [tableIndex];
 | 
			
		||||
                                }
 | 
			
		||||
                            } else {
 | 
			
		||||
                                rotations = [tableIndex];
 | 
			
		||||
                                rotations = [0];
 | 
			
		||||
                            }
 | 
			
		||||
                            if (
 | 
			
		||||
                                RewardInfo.Q &&
 | 
			
		||||
                                (RewardInfo.JobStage === job.xpAmounts.length - 1 || jobType.endsWith("VaultBounty")) &&
 | 
			
		||||
                                !jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob") &&
 | 
			
		||||
                                !isEndlessJob
 | 
			
		||||
                            ) {
 | 
			
		||||
                                rotations.push(ExportRewards[job.rewards].length - 1);
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            rotations = [0];
 | 
			
		||||
                        }
 | 
			
		||||
                        if (
 | 
			
		||||
                            RewardInfo.Q &&
 | 
			
		||||
                            (RewardInfo.JobStage === job.xpAmounts.length - 1 || jobType.endsWith("VaultBounty")) &&
 | 
			
		||||
                            !jobType.startsWith("/Lotus/Types/Gameplay/NokkoColony/Jobs/NokkoJob") &&
 | 
			
		||||
                            !isEndlessJob
 | 
			
		||||
                        ) {
 | 
			
		||||
                            rotations.push(ExportRewards[job.rewards].length - 1);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user