Mission reward - unloading else if logic
This commit is contained in:
		
							parent
							
								
									f9b87e44af
								
							
						
					
					
						commit
						00a1043329
					
				@ -147,7 +147,7 @@ const getRewards = (
 | 
			
		||||
    //     { chance: 7.69, name: "Lith W3 Relic", rotation: "B" },
 | 
			
		||||
    //     { chance: 10.82, name: "2X Orokin Cell", rotation: "C" },
 | 
			
		||||
    //     { chance: 10.82, name: "Link Armor", rotation: "C" },
 | 
			
		||||
    //     // { chance: 10.82, name: "200 Endo", rotation: "C" },
 | 
			
		||||
    //     { chance: 10.82, name: "200 Endo", rotation: "C" },
 | 
			
		||||
    //     { chance: 10.82, name: "2,000,000 Credits Cache", rotation: "C" },
 | 
			
		||||
    //     { chance: 7.69, name: "Health Restore (Large)", rotation: "C" },
 | 
			
		||||
    //     { chance: 7.69, name: "Vapor Specter Blueprint", rotation: "C" }
 | 
			
		||||
@ -196,36 +196,46 @@ const formatRewardsToInventoryType = (
 | 
			
		||||
): { InventoryChanges: IMissionInventoryUpdate; MissionRewards: IMissionRewardResponse[] } => {
 | 
			
		||||
    const InventoryChanges: IMissionInventoryUpdate = {};
 | 
			
		||||
    const MissionRewards: IMissionRewardResponse[] = [];
 | 
			
		||||
    rewards.forEach(i => {
 | 
			
		||||
        const mod = modNames[i.name];
 | 
			
		||||
        const gear = gearNames[i.name];
 | 
			
		||||
        const blueprint = blueprintNames[i.name];
 | 
			
		||||
        const misc = miscNames[i.name] || miscNames[i.name.replace(/\d+X\s*/, "")];
 | 
			
		||||
        const resource = resourceNames[i.name] || resourceNames[i.name.replace(/\d+X\s*/, "")];
 | 
			
		||||
        const relic =
 | 
			
		||||
            relicNames[i.name.replace("Relic", "Intact")] || relicNames[i.name.replace("Relic (Radiant)", "Radiant")];
 | 
			
		||||
    for (const reward of rewards) {
 | 
			
		||||
        if (itemCheck(InventoryChanges, MissionRewards, reward.name)) continue;
 | 
			
		||||
 | 
			
		||||
        if (mod) {
 | 
			
		||||
            addRewardResponse(InventoryChanges, MissionRewards, i.name, mod, "RawUpgrades");
 | 
			
		||||
        } else if (gear) {
 | 
			
		||||
            addRewardResponse(InventoryChanges, MissionRewards, i.name, gear, "Consumables");
 | 
			
		||||
        } else if (misc || resource) {
 | 
			
		||||
            addRewardResponse(InventoryChanges, MissionRewards, i.name, misc || resource, "MiscItems");
 | 
			
		||||
        } else if (relic) {
 | 
			
		||||
            addRewardResponse(InventoryChanges, MissionRewards, i.name, relic, "MiscItems");
 | 
			
		||||
        } else if (blueprint) {
 | 
			
		||||
            addRewardResponse(InventoryChanges, MissionRewards, i.name, blueprint, "Recipes");
 | 
			
		||||
        } else if (i.name.includes(" Endo")) {
 | 
			
		||||
        if (reward.name.includes(" Endo")) {
 | 
			
		||||
            if (!InventoryChanges.FusionPoints) InventoryChanges.FusionPoints = 0;
 | 
			
		||||
            InventoryChanges.FusionPoints += getCountFromName(i.name);
 | 
			
		||||
        } else if (i.name.includes(" Credits Cache") || i.name.includes("Return: ")) {
 | 
			
		||||
            InventoryChanges.FusionPoints += getCountFromName(reward.name);
 | 
			
		||||
        } else if (reward.name.includes(" Credits Cache") || reward.name.includes("Return: ")) {
 | 
			
		||||
            if (!InventoryChanges.RegularCredits) InventoryChanges.RegularCredits = 0;
 | 
			
		||||
            InventoryChanges.RegularCredits += getCountFromName(i.name);
 | 
			
		||||
            InventoryChanges.RegularCredits += getCountFromName(reward.name);
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
    }
 | 
			
		||||
    return { InventoryChanges, MissionRewards };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const itemCheck = (
 | 
			
		||||
    InventoryChanges: IMissionInventoryUpdate,
 | 
			
		||||
    MissionRewards: IMissionRewardResponse[],
 | 
			
		||||
    name: string
 | 
			
		||||
) => {
 | 
			
		||||
    const rewardCheck = {
 | 
			
		||||
        RawUpgrades: modNames[name],
 | 
			
		||||
        Consumables: gearNames[name],
 | 
			
		||||
        MiscItems:
 | 
			
		||||
            miscNames[name] ||
 | 
			
		||||
            miscNames[name.replace(/\d+X\s*/, "")] ||
 | 
			
		||||
            resourceNames[name] ||
 | 
			
		||||
            resourceNames[name.replace(/\d+X\s*/, "")] ||
 | 
			
		||||
            relicNames[name.replace("Relic", "Intact")] ||
 | 
			
		||||
            relicNames[name.replace("Relic (Radiant)", "Radiant")],
 | 
			
		||||
        Recipes: blueprintNames[name]
 | 
			
		||||
    };
 | 
			
		||||
    for (const key of Object.keys(rewardCheck) as InventoryFieldType[]) {
 | 
			
		||||
        if (rewardCheck[key]) {
 | 
			
		||||
            addRewardResponse(InventoryChanges, MissionRewards, name, rewardCheck[key]!, key);
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const getCountFromName = (name: string) => {
 | 
			
		||||
    const regex = /(^(?:\d{1,3}(?:,\d{3})*(?:\.\d+)?)(\s|X))|(\s(?:\d{1,3}(?:,\d{3})*(?:\.\d+)?)$)/;
 | 
			
		||||
    const countMatches = name.match(regex);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user