From 41dd36563dc25c66a4784a11f8b22b35d517ec2d Mon Sep 17 00:00:00 2001 From: Ryzzzen Date: Wed, 21 Nov 2018 09:29:05 +0100 Subject: [PATCH] Update DataValidator.js --- objects/helpers/DataValidator.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/objects/helpers/DataValidator.js b/objects/helpers/DataValidator.js index db97518..8951681 100644 --- a/objects/helpers/DataValidator.js +++ b/objects/helpers/DataValidator.js @@ -62,10 +62,23 @@ class DataValidator { page.primaryStyleId = page.primaryStyleId || Mana.gameClient.findPerkStyleByPerkId(page.selectedPerkIds[0]).id; page.subStyleId = page.subStyleId || Mana.gameClient.findPerkStyleByPerkId(page.selectedPerkIds[4]).id; - if (page.selectedPerkIds.length <= 9 && page.selectedPerkIds === 6 && Mana.preseason) { + const primaryStyle = Mana.gameClient.styles.find(x => x.id === page.primaryStyleId); + if (page.selectedPerkIds.length === 6 && Mana.preseason) { console.log('[DataValidator] Looks like it\'s preseason and it\'s time to fix missing things...'); - page.selectedPerkIds = page.selectedPerkIds.concat([5008, 5002, 5001]); + page.selectedPerkIds = page.selectedPerkIds.concat(primaryStyle.defaultPerks.slice(-3)); } + + page.selectedPerkIds.forEach((id, index) => { + console.log(index); + if (index > 3 && !primaryStyle.defaultStatModsPerSubStyle.find(x => x.id == page.subStyleId).perks.includes(id)) { + console.log('[DataValidator] Perk mod isn\'t supposed to be at this slot. Using a generic one.'); + id = primaryStyle.defaultStatModsPerSubStyle.find(x => x.id == page.subStyleId).perks[0]; + } + else if (index <= 6 && !primaryStyle.slots[index].perks.includes(id)) { + console.log('[DataValidator] Perk ID isn\'t supposed to be at this slot. Using a generic one.'); + id = primaryStyle.slots[index].perks[0]; + } + }); }); return array;