GenshinData-1/myscripts/collateAnimal.js
theBowja e92ae623ef abc
2022-08-24 17:40:19 -04:00

43 lines
1.5 KiB
JavaScript

const xmat = getExcel('MaterialExcelConfigData');
const xsource = getExcel('MaterialSourceDataExcelConfigData');
const xcodex = getExcel('AnimalCodexExcelConfigData');
const xdescribe = getExcel('AnimalDescribeExcelConfigData');
const xcapture = getExcel('CaptureExcelConfigData');
// FIX THIS EVERY VERSION
const propCOUNTTYPE = "FEBIEOGMDMF"; // AnimalCodexExcelConfigData
function collateAnimal(lang) {
const language = getLanguage(lang);
let mydata = xcodex.reduce((accum, obj) => {
if(obj.type === 'CODEX_MONSTER') return accum;
if(obj.isDisuse) return accum;
let data = {};
data.id = obj.Id;
let mydescribe = xdescribe.find(ele => ele.id === obj.describeId);
data.name = language[mydescribe.nameTextMapHash];
data.description = sanitizeDescription(language[obj.descTextMapHash]);
data.category = language[xmanualtext.find(ele => ele.textMapId === `UI_CODEX_ANIMAL_CATEGORY_${obj.subType.substring(obj.subType.lastIndexOf('_')+1)}`).textMapContentTextMapHash]
// data.capturable = xcapture.find(ele => ele.monsterID === obj.Id) ? true : undefined;
let counttype = obj[propCOUNTTYPE] || "_NONE";
data.counttype = counttype.substring(counttype.lastIndexOf('_')+1);
data.sortorder = obj.SortOrder;
data.nameicon = mydescribe.icon;
let filename = makeFileName(getLanguage('EN')[mydescribe.nameTextMapHash]);
if(filename === '') return accum;
if(accum[filename] !== undefined) console.log('filename collision: ' + filename);
accum[filename] = data;
return accum;
}, {});
return mydata;
}
module.exports = collateAnimal;