diff --git a/myscripts/collateAnimal.js b/myscripts/collateAnimal.js index af557f9e0..a1bd2e978 100644 --- a/myscripts/collateAnimal.js +++ b/myscripts/collateAnimal.js @@ -8,6 +8,7 @@ function collateAnimal(lang) { const language = getLanguage(lang); let mydata = xcodex.reduce((accum, obj) => { if(obj.Type === 'CODEX_MONSTER') return accum; + if(obj.IsDeleteWatcherAfterFinish) return accum; let data = {}; data.Id = obj.Id; diff --git a/myscripts/collateCommission.js b/myscripts/collateCommission.js new file mode 100644 index 000000000..c4a922404 --- /dev/null +++ b/myscripts/collateCommission.js @@ -0,0 +1,69 @@ +const xmat = getExcel('MaterialExcelConfigData'); +const xsource = getExcel('MaterialSourceDataExcelConfigData'); +const xdaily = getExcel('DailyTaskExcelConfigData'); +const xcity = getExcel('CityConfigData'); +const xarea = getExcel('WorldAreaConfigData'); +const xtaskreward = getExcel('DailyTaskRewardExcelConfigData'); +const xpreview = getExcel('RewardPreviewExcelConfigData'); + +const mapRewardToAR = [ + 'AR1to5', + 'AR6to10', + 'AR11to15', + 'AR16to20', + 'AR21to25', + 'AR26to30', + 'AR31to35', + 'AR36to40', + 'AR41to45', + 'AR46to50', + 'AR51to55', + 'AR56to60' +] + + +function collateCommission(lang) { + const language = getLanguage(lang); + let mydata = xdaily.reduce((accum, obj) => { + let data = {}; + data.Id = obj.ID; + + data.name = language[obj.TitleTextMapHash]; + data.description = sanitizeDescription(language[obj.DescriptionTextMapHash]); + data.target = sanitizeDescription(language[obj.TargetTextMapHash]); + + data.city = language[xcity.find(e => e.CityId === obj.CityId).CityNameTextMapHash]; + + const taskreward = xtaskreward.find(e => e.ID === obj.TaskRewardId); + data.rewardpreviews = {}; + for(let i = 0; i < 12; i++) { + let rewardpreview = xpreview.find(pre => pre.Id === taskreward.DropVec[i].PreviewRewardId).PreviewItems.filter(pre => pre.Id); + data.rewardpreviews[mapRewardToAR[i]] = rewardpreview.map(repre => { + let mat = xmat.find(m => m.Id === repre.Id); + let reward = { name: language[mat.NameTextMapHash] }; + reward.count = parseInt(repre.Count); + if(repre.Count.includes(';')) reward.countmax = parseInt(repre.Count.substring(repre.Count.indexOf(';')+1)); + return reward; + }); + } + + + data.TaskRewardId = obj.TaskRewardId + + + let filename = makeFileName(getLanguage('EN')[obj.TitleTextMapHash]); + if(filename === '') return accum; + while(accum[filename] !== undefined) { + filename += 'a'; + } + // if(accum[filename] !== undefined) { + // console.log('filename collision: ' + filename); + // } + accum[filename] = data; + return accum; + }, {}); + + return mydata; +} + +module.exports = collateCommission; \ No newline at end of file diff --git a/myscripts/collateWeapon.js b/myscripts/collateWeapon.js index 9a6a78bdc..a79c2ca92 100644 --- a/myscripts/collateWeapon.js +++ b/myscripts/collateWeapon.js @@ -19,6 +19,7 @@ function collateWeapon(lang) { let myweapon = xplayableWeapon.reduce((accum, obj) => { let data = {}; + data.Id = obj.Id; let filename = makeFileName(getLanguage('EN')[obj.NameTextMapHash]); if(accum[filename] !== undefined) console.log(filename+' IS NOT UNIQUE'); diff --git a/myscripts/myscript.js b/myscripts/myscript.js index 5ecce3fb7..550759ec5 100644 --- a/myscripts/myscript.js +++ b/myscripts/myscript.js @@ -116,11 +116,12 @@ function exportData(folder, collateFunc, englishonly, skipwrite) { // exportData('outfits', require('./collateOutfit')); // exportData('windgliders', require('./collateWindGlider')); -exportData('animals', require('./collateAnimal')); +// exportData('animals', require('./collateAnimal')); // exportData('namecards', require('./collateNamecard')); // exportData('geographies', require('./collateGeography')); // exportData('achievements', require('./collateAchievement')); // exportData('achievementgroups', require('./collateAchievementGroup')); +exportData('commissions', require('./collateCommission'), true); // // exportData('fishingpoints', require('./collateFishingPoint'));