mirror of
https://github.com/theBowja/GenshinData-1.git
synced 2025-04-28 18:18:13 +09:00
Merge pull request #8 from anunknowperson/master
Implement stories export
This commit is contained in:
commit
3a18620b44
@ -1,6 +1,9 @@
|
||||
// object map that converts relic EquipType to a property name
|
||||
const relicTypeToPropertyName = { 'EQUIP_BRACER': 'flower', 'EQUIP_NECKLACE': 'plume', 'EQUIP_SHOES': 'sands', 'EQUIP_RING': 'goblet', 'EQUIP_DRESS': 'circlet'};
|
||||
|
||||
// convert artifact type to index in readables
|
||||
const relicTypeToIndex = {'EQUIP_BRACER': '4', 'EQUIP_NECKLACE': '2', 'EQUIP_SHOES': '5', 'EQUIP_RING': '1', 'EQUIP_DRESS': '3'}
|
||||
|
||||
function collateArtifact(lang) {
|
||||
const language = getLanguage(lang);
|
||||
const xsets = getExcel('ReliquarySetExcelConfigData');
|
||||
@ -38,6 +41,7 @@ function collateArtifact(lang) {
|
||||
}
|
||||
|
||||
data.images = {};
|
||||
|
||||
// relic pieces
|
||||
obj.containsList.forEach(ele => {
|
||||
let relic = xrelics.find(e => e.id === ele);
|
||||
@ -46,11 +50,14 @@ function collateArtifact(lang) {
|
||||
relicdata.relictype = xmanualtext.find(ele => ele.textMapId === relic.equipType).textMapContentTextMapHash;
|
||||
relicdata.relictype = language[relicdata.relictype];
|
||||
relicdata.description = language[relic.descTextMapHash];
|
||||
relicdata.story = getReadable(`Relic${obj.setId}_${relicTypeToIndex[relic.equipType]}${(lang != 'CHS') ? ('_' + lang) : ''}`, lang);
|
||||
data[relicTypeToPropertyName[relic.equipType]] = relicdata;
|
||||
data.images['name'+relicTypeToPropertyName[relic.equipType]] = relic.icon;
|
||||
data.images[relicTypeToPropertyName[relic.equipType]] = `https://upload-os-bbs.mihoyo.com/game_record/genshin/equip/${relic.icon}.png`;
|
||||
});
|
||||
|
||||
|
||||
|
||||
data.name = setname;
|
||||
accum[filename] = data;
|
||||
return accum;
|
||||
|
@ -31,6 +31,8 @@ function collateWeapon(lang) {
|
||||
data.weapontype = language[weaponTextMapHash[obj.weaponType]];
|
||||
data.rarity = ''+obj.rankLevel;
|
||||
|
||||
data.story = getReadable(`Weapon${obj.id}${(lang != 'CHS') ? ('_' + lang) : ''}`, lang);
|
||||
|
||||
if(obj.weaponProp[0].propType !== 'FIGHT_PROP_BASE_ATTACK') console.log(obj,'weapon did not find base atk');
|
||||
data.baseatk = obj.weaponProp.find(obj => obj.propType === 'FIGHT_PROP_BASE_ATTACK').initValue;
|
||||
|
||||
|
@ -12,6 +12,8 @@ function collateWindGlider(lang) {
|
||||
data.name = language[obj.nameTextMapHash];
|
||||
data.description = sanitizeDescription(language[obj.descTextMapHash]);
|
||||
|
||||
data.story = getReadable(`Wings${obj.flycloakId}${(lang != 'CHS') ? ('_' + lang) : ''}`, lang);
|
||||
|
||||
let flymat = xmat.find(ele => ele.id === obj.materialId) || {};
|
||||
|
||||
data.rarity = flymat.rankLevel+"";
|
||||
|
@ -1,8 +1,20 @@
|
||||
const fs = require('fs');
|
||||
|
||||
|
||||
|
||||
global.getExcel = function(file) { return require(`../ExcelBinOutput/${file}.json`); }
|
||||
global.getTextMap = function(langcode) { return require(`../TextMap/TextMap${langcode}.json`); }
|
||||
|
||||
global.getReadable = function(name, langcode) {
|
||||
let path = `../Readable/${langcode}/${name}.txt`
|
||||
|
||||
if (fs.existsSync(path)) {
|
||||
return fs.readFileSync(path, 'utf8')
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
const xavatar = getExcel('AvatarExcelConfigData'); // array
|
||||
|
||||
global.xskilldepot = getExcel('AvatarSkillDepotExcelConfigData');
|
||||
@ -158,30 +170,30 @@ function exportData(folder, collateFunc, englishonly, skipwrite) {
|
||||
console.log("done "+folder);
|
||||
}
|
||||
|
||||
// exportData('characters', require('./collateCharacter.js'));
|
||||
// exportCurve('characters', 'AvatarCurveExcelConfigData');
|
||||
// exportData('constellations', require('./collateConstellation'));
|
||||
// exportData('talents', require('./collateTalent.js'));
|
||||
// exportData('weapons', require('./collateWeapon.js'));
|
||||
// exportCurve('weapons', 'WeaponCurveExcelConfigData')
|
||||
// exportData('artifacts', require('./collateArtifact.js'));
|
||||
// exportData('foods', require('./collateFood'));
|
||||
// exportData('materials', require('./collateMaterial')); // change: used both TextList/JumpList.
|
||||
exportData('characters', require('./collateCharacter.js'));
|
||||
exportCurve('characters', 'AvatarCurveExcelConfigData');
|
||||
exportData('constellations', require('./collateConstellation'));
|
||||
exportData('talents', require('./collateTalent.js'));
|
||||
exportData('weapons', require('./collateWeapon.js'));
|
||||
exportCurve('weapons', 'WeaponCurveExcelConfigData')
|
||||
exportData('artifacts', require('./collateArtifact.js'));
|
||||
exportData('foods', require('./collateFood'));
|
||||
exportData('materials', require('./collateMaterial')); // change: used both TextList/JumpList.
|
||||
exportData('domains', require('./collateDomain')); // run twice
|
||||
// exportData('enemies', require('./collateEnemy'));
|
||||
// exportCurve('enemies', 'MonsterCurveExcelConfigData');
|
||||
exportData('enemies', require('./collateEnemy'));
|
||||
exportCurve('enemies', 'MonsterCurveExcelConfigData');
|
||||
|
||||
// exportData('domains', require('./collateDomainMonsterList')); // MUST do run only after both domains and enemies have run. sync.
|
||||
exportData('domains', require('./collateDomainMonsterList')); // MUST do run only after both domains and enemies have run. sync.
|
||||
|
||||
// exportData('outfits', require('./collateOutfit'));
|
||||
// exportData('windgliders', require('./collateWindGlider'));
|
||||
// exportData('animals', require('./collateAnimal'));
|
||||
// exportData('namecards', require('./collateNamecard'));
|
||||
// exportData('geographies', require('./collateGeography'));
|
||||
// exportData('achievements', require('./collateAchievement'));
|
||||
// exportData('achievementgroups', require('./collateAchievementGroup'));
|
||||
// exportData('adventureranks', require('./collateAdventureRank'));
|
||||
// exportData('crafts', require('./collateCraft'));
|
||||
exportData('outfits', require('./collateOutfit'));
|
||||
exportData('windgliders', require('./collateWindGlider'));
|
||||
exportData('animals', require('./collateAnimal'));
|
||||
exportData('namecards', require('./collateNamecard'));
|
||||
exportData('geographies', require('./collateGeography'));
|
||||
exportData('achievements', require('./collateAchievement'));
|
||||
exportData('achievementgroups', require('./collateAchievementGroup'));
|
||||
exportData('adventureranks', require('./collateAdventureRank'));
|
||||
exportData('crafts', require('./collateCraft'));
|
||||
|
||||
// exportData('commissions', require('./collateCommission'), true); // unfinished
|
||||
// exportData('voiceovers', require('./collateVoiceover'), true); // unfinished
|
||||
|
Loading…
x
Reference in New Issue
Block a user