41 lines
1.0 KiB
TypeScript
41 lines
1.0 KiB
TypeScript
// 物品表
|
||
import { parseNumberList, readFileAndParse, } from '../util'
|
||
import { FILENAME, } from '../../consts'
|
||
const _ = require('lodash');
|
||
|
||
export interface DicArtifactQuality {
|
||
// 唯一id
|
||
id: number;
|
||
// 对应的se表的id
|
||
seids: number[];
|
||
// 解锁的品质
|
||
quality: number;
|
||
// 生效的职业,0表示全生效
|
||
jobClass: number;
|
||
// 生效的武将
|
||
hids: number[];
|
||
}
|
||
|
||
type KeysEnum<T> = { [P in keyof Required<T>]: true };
|
||
const DicArtifactSeidKeys: KeysEnum<DicArtifactQuality> = {
|
||
id: true,
|
||
seids: true,
|
||
quality: true,
|
||
jobClass: true,
|
||
hids: true,
|
||
}
|
||
export const dicArtifactSeid = new Map<number, DicArtifactQuality>(); // seid => dic
|
||
|
||
export function loadArtifactSeid() {
|
||
dicArtifactSeid.clear();
|
||
|
||
let arr = readFileAndParse(FILENAME.DIC_ARTIFACT_SEID);
|
||
|
||
arr.forEach(o => {
|
||
o.seids = parseNumberList(o.newId);
|
||
o.hids = parseNumberList(o.hids);
|
||
dicArtifactSeid.set(o.id, _.pick(o, Object.keys(DicArtifactSeidKeys)));
|
||
});
|
||
|
||
arr = undefined;
|
||
} |