36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { readJsonFile, parseGoodStr } from '../util'
|
|
import { FILENAME } from '../../consts'
|
|
type KeysEnum<T> = { [P in keyof Required<T>]: true };
|
|
import { RewardInter } from '../interface';
|
|
const _ = require('lodash');
|
|
|
|
export interface DicArmyWishPool {
|
|
readonly id: number;
|
|
readonly wishGoodsEquips: Array<{quality: number, count: number}>;
|
|
readonly wishGoodsHeros: Array<{quality: number, count: number}>;
|
|
readonly consume: number;
|
|
}
|
|
|
|
const DicArmyWishPoolKeys: KeysEnum<DicArmyWishPool> = {
|
|
id: true,
|
|
wishGoodsEquips: true,
|
|
wishGoodsHeros: true,
|
|
consume: true,
|
|
};
|
|
|
|
const str = readJsonFile(FILENAME.DIC_ARMY_BOSS_RANK_REWARD);
|
|
let arr = JSON.parse(str);
|
|
|
|
export const dicArmyWishPool = new Array<DicArmyWishPool>();
|
|
arr.forEach(o => {
|
|
o.wishGoodsEquips = o.wishGoodsEquip.split('|').map(wishGoodsEquip=>{
|
|
let wishGoodsEquips = wishGoodsEquip.split('&');
|
|
return {quality: parseInt(wishGoodsEquips[0]), count: parseInt(wishGoodsEquips[1])};
|
|
});
|
|
o.wishGoodsHeros = o.wishGoodsHero.split('|').map(wishGoodsHero=>{
|
|
let wishGoodsHeros = wishGoodsHero.split('&');
|
|
return {quality: parseInt(wishGoodsHeros[0]), count: parseInt(wishGoodsHeros[1])};
|
|
});
|
|
dicArmyWishPool.push(_.pick(o, Object.keys(DicArmyWishPoolKeys)));
|
|
});
|
|
arr = undefined; |