Files
ZYZ/shared/pubUtils/dictionary/DicHeroScroll.ts
2021-03-04 15:33:24 +08:00

45 lines
1.2 KiB
TypeScript

// 武将技能表
import { readJsonFile } from '../util'
import { FILENAME, ABI_STAGE } from '../../consts'
export interface DicHeroScroll {
// id
readonly id: number;
// 初始品质
readonly quality: number;
// 星级
readonly stars: number;
// 当前品质
readonly qualityUp: number;
// 觉醒星级
readonly colorstars: number;
// 每阶升级属性
readonly ceAttr: Map<number, number>
}
const str = readJsonFile(FILENAME.DIC_HERO_SCROLL);
let arr = JSON.parse(str);
export const dicHeroScroll = new Map<string, DicHeroScroll>();
export const preHeroScroll = new Map<number, DicHeroScroll>(); // 前一个
let pre: DicHeroScroll;
arr.forEach(o => {
o.ceAttr = parseCeAttr(o);
dicHeroScroll.set(`${o.quality}_${o.stars}_${o.qualityUp}_${o.colorstars}`, o);
if(pre && pre.quality == o.quality) preHeroScroll.set(o.id, pre);
pre = o;
});
arr = undefined;
pre = undefined;
function parseCeAttr(elem) {
let ceAttr = new Map<number, number>();
ceAttr.set(ABI_STAGE.HP, elem.hp);
ceAttr.set(ABI_STAGE.ATK, elem.atk);
ceAttr.set(ABI_STAGE.DEF, elem.def);
ceAttr.set(ABI_STAGE.MDEF, elem.mdef);
return ceAttr;
}