mirror of
https://github.com/theBowja/GenshinData-1.git
synced 2025-04-29 02:28:36 +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
|
// 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'};
|
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) {
|
function collateArtifact(lang) {
|
||||||
const language = getLanguage(lang);
|
const language = getLanguage(lang);
|
||||||
const xsets = getExcel('ReliquarySetExcelConfigData');
|
const xsets = getExcel('ReliquarySetExcelConfigData');
|
||||||
@ -38,6 +41,7 @@ function collateArtifact(lang) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
data.images = {};
|
data.images = {};
|
||||||
|
|
||||||
// relic pieces
|
// relic pieces
|
||||||
obj.containsList.forEach(ele => {
|
obj.containsList.forEach(ele => {
|
||||||
let relic = xrelics.find(e => e.id === 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 = xmanualtext.find(ele => ele.textMapId === relic.equipType).textMapContentTextMapHash;
|
||||||
relicdata.relictype = language[relicdata.relictype];
|
relicdata.relictype = language[relicdata.relictype];
|
||||||
relicdata.description = language[relic.descTextMapHash];
|
relicdata.description = language[relic.descTextMapHash];
|
||||||
|
relicdata.story = getReadable(`Relic${obj.setId}_${relicTypeToIndex[relic.equipType]}${(lang != 'CHS') ? ('_' + lang) : ''}`, lang);
|
||||||
data[relicTypeToPropertyName[relic.equipType]] = relicdata;
|
data[relicTypeToPropertyName[relic.equipType]] = relicdata;
|
||||||
data.images['name'+relicTypeToPropertyName[relic.equipType]] = relic.icon;
|
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.images[relicTypeToPropertyName[relic.equipType]] = `https://upload-os-bbs.mihoyo.com/game_record/genshin/equip/${relic.icon}.png`;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
data.name = setname;
|
data.name = setname;
|
||||||
accum[filename] = data;
|
accum[filename] = data;
|
||||||
return accum;
|
return accum;
|
||||||
|
@ -31,6 +31,8 @@ function collateWeapon(lang) {
|
|||||||
data.weapontype = language[weaponTextMapHash[obj.weaponType]];
|
data.weapontype = language[weaponTextMapHash[obj.weaponType]];
|
||||||
data.rarity = ''+obj.rankLevel;
|
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');
|
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;
|
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.name = language[obj.nameTextMapHash];
|
||||||
data.description = sanitizeDescription(language[obj.descTextMapHash]);
|
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) || {};
|
let flymat = xmat.find(ele => ele.id === obj.materialId) || {};
|
||||||
|
|
||||||
data.rarity = flymat.rankLevel+"";
|
data.rarity = flymat.rankLevel+"";
|
||||||
|
@ -1,8 +1,20 @@
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
global.getExcel = function(file) { return require(`../ExcelBinOutput/${file}.json`); }
|
global.getExcel = function(file) { return require(`../ExcelBinOutput/${file}.json`); }
|
||||||
global.getTextMap = function(langcode) { return require(`../TextMap/TextMap${langcode}.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
|
const xavatar = getExcel('AvatarExcelConfigData'); // array
|
||||||
|
|
||||||
global.xskilldepot = getExcel('AvatarSkillDepotExcelConfigData');
|
global.xskilldepot = getExcel('AvatarSkillDepotExcelConfigData');
|
||||||
@ -158,30 +170,30 @@ function exportData(folder, collateFunc, englishonly, skipwrite) {
|
|||||||
console.log("done "+folder);
|
console.log("done "+folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
// exportData('characters', require('./collateCharacter.js'));
|
exportData('characters', require('./collateCharacter.js'));
|
||||||
// exportCurve('characters', 'AvatarCurveExcelConfigData');
|
exportCurve('characters', 'AvatarCurveExcelConfigData');
|
||||||
// exportData('constellations', require('./collateConstellation'));
|
exportData('constellations', require('./collateConstellation'));
|
||||||
// exportData('talents', require('./collateTalent.js'));
|
exportData('talents', require('./collateTalent.js'));
|
||||||
// exportData('weapons', require('./collateWeapon.js'));
|
exportData('weapons', require('./collateWeapon.js'));
|
||||||
// exportCurve('weapons', 'WeaponCurveExcelConfigData')
|
exportCurve('weapons', 'WeaponCurveExcelConfigData')
|
||||||
// exportData('artifacts', require('./collateArtifact.js'));
|
exportData('artifacts', require('./collateArtifact.js'));
|
||||||
// exportData('foods', require('./collateFood'));
|
exportData('foods', require('./collateFood'));
|
||||||
// exportData('materials', require('./collateMaterial')); // change: used both TextList/JumpList.
|
exportData('materials', require('./collateMaterial')); // change: used both TextList/JumpList.
|
||||||
exportData('domains', require('./collateDomain')); // run twice
|
exportData('domains', require('./collateDomain')); // run twice
|
||||||
// exportData('enemies', require('./collateEnemy'));
|
exportData('enemies', require('./collateEnemy'));
|
||||||
// exportCurve('enemies', 'MonsterCurveExcelConfigData');
|
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('outfits', require('./collateOutfit'));
|
||||||
// exportData('windgliders', require('./collateWindGlider'));
|
exportData('windgliders', require('./collateWindGlider'));
|
||||||
// exportData('animals', require('./collateAnimal'));
|
exportData('animals', require('./collateAnimal'));
|
||||||
// exportData('namecards', require('./collateNamecard'));
|
exportData('namecards', require('./collateNamecard'));
|
||||||
// exportData('geographies', require('./collateGeography'));
|
exportData('geographies', require('./collateGeography'));
|
||||||
// exportData('achievements', require('./collateAchievement'));
|
exportData('achievements', require('./collateAchievement'));
|
||||||
// exportData('achievementgroups', require('./collateAchievementGroup'));
|
exportData('achievementgroups', require('./collateAchievementGroup'));
|
||||||
// exportData('adventureranks', require('./collateAdventureRank'));
|
exportData('adventureranks', require('./collateAdventureRank'));
|
||||||
// exportData('crafts', require('./collateCraft'));
|
exportData('crafts', require('./collateCraft'));
|
||||||
|
|
||||||
// exportData('commissions', require('./collateCommission'), true); // unfinished
|
// exportData('commissions', require('./collateCommission'), true); // unfinished
|
||||||
// exportData('voiceovers', require('./collateVoiceover'), true); // unfinished
|
// exportData('voiceovers', require('./collateVoiceover'), true); // unfinished
|
||||||
|
Loading…
x
Reference in New Issue
Block a user