// 武将升星表 import { readJsonFile } from '../util' import { ABI_STAGE, FILENAME } from '../../consts'; const _ = require('lodash'); export interface DicHeroStar { // 唯一id readonly id: number; // 品质 readonly quality: number; // 星级 readonly star: number; // 每小阶碎片数量 readonly advanceUpFragmentNum: number; // 每阶升级属性 readonly ceAttr: Map } const str = readJsonFile(FILENAME.DIC_HERO_STAR); let arr = JSON.parse(str); type KeysEnum = { [P in keyof Required]: true }; const DicHeroStarKeys: KeysEnum = {id: true, quality: true, star: true, advanceUpFragmentNum: true, ceAttr: true}; export const dicHeroStar = new Map(); arr.forEach(o => { o.ceAttr = parseCeAttr(o); dicHeroStar.set(`${o.quality}_${o.star}`, _.pick(o, Object.keys(DicHeroStarKeys))); }); function parseCeAttr(elem) { let ceAttr = new Map(); ceAttr.set(ABI_STAGE.HP, elem.hp_up); ceAttr.set(ABI_STAGE.ATK, elem.atk_up); ceAttr.set(ABI_STAGE.DEF, elem.def_up); ceAttr.set(ABI_STAGE.MDEF, elem.mdef_up); ceAttr.set(ABI_STAGE.AGI, elem.agi_up); ceAttr.set(ABI_STAGE.LUK, elem.luk_up); return ceAttr; }