43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
// 武将觉醒表
|
|
import { readJsonFile, parseReward } from '../util'
|
|
import { FILENAME } from '../../consts/consts'
|
|
import { ABI_STAGE } from '../../consts';
|
|
import { RewardInter } from '../interface';
|
|
|
|
export interface DicHeroWake {
|
|
|
|
// 唯一id
|
|
readonly id: number;
|
|
// 品质
|
|
readonly quality: number;
|
|
// 彩星级
|
|
readonly star: number;
|
|
// 碎片数量
|
|
readonly fragmentNum: number;
|
|
// 消耗道具
|
|
readonly consume: Array<RewardInter>;
|
|
// 每阶升级属性
|
|
readonly ceAttr: Map<number, number>
|
|
|
|
}
|
|
|
|
const str = readJsonFile(FILENAME.DIC_HERO_WAKE);
|
|
let arr = JSON.parse(str);
|
|
|
|
export const dicHeroWake = new Map<string, DicHeroWake>();
|
|
arr.forEach(o => {
|
|
o.consume = parseReward(o.consume);
|
|
o.ceAttr = parseCeAttr(o);
|
|
dicHeroWake.set(`${o.quality}_${o.star}`, o);
|
|
});
|
|
|
|
function parseCeAttr(elem) {
|
|
let ceAttr = new Map<number, number>();
|
|
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;
|
|
} |