// 礼包奖励表 import { readFileAndParse } from '../util'; import { FILENAME } from '../../consts'; const _ = require('lodash'); export interface DicGiftPackagePlan { // 唯一id readonly id: number; // 礼包类型 dic_zyz_giftPackage的id readonly giftPackageId: number; // addReward中的type readonly contentType: number; // 物品id或武将id readonly content: number; // 数量 readonly count: number; // 权重 readonly weight: number; // 保底, 每floor必出floorCount个,提前获取到次数就重置 readonly floorFrequency: number; // 保底数量 readonly floorCount: number; } type KeysEnum = { [P in keyof Required]: true }; const DicGiftPackagePlanKeys: KeysEnum = { id: true, giftPackageId: true, contentType: true, content: true, count: true, weight: true, floorFrequency: true, floorCount: true } export const dicGiftPackagePlan = new Map(); // packageId => [plan] export function loadGiftPackagePlan() { dicGiftPackagePlan.clear(); let arr = readFileAndParse(FILENAME.DIC_GIFT_PACKAGE_PLAN); arr.forEach(o => { if(o.floor == '&') { o.floorFrequency = 0; o.floorCount = 0; } else { let arr = o.floor.split('&'); o.floorFrequency = isNaN(parseInt(arr[0]))? 0: parseInt(arr[0]); o.floorCount = isNaN(parseInt(arr[1]))? 0: parseInt(arr[1]); } if(!dicGiftPackagePlan.has(o.giftPackageId)) { dicGiftPackagePlan.set(o.giftPackageId, []); } dicGiftPackagePlan.get(o.giftPackageId)?.push(_.pick(o, Object.keys(DicGiftPackagePlanKeys))); }); arr = undefined; }