Files
ZYZ/shared/pubUtils/dictionary/DicHero.ts
2020-12-15 16:02:59 +08:00

66 lines
1.9 KiB
TypeScript

// 武将表
import { ABI_TYPE } from '../../consts'
import { readJsonFile } from '../util'
import { FILENAME } from '../../consts/consts'
export interface DicHero {
// 武将id
readonly heroId: number;
// 武将名
readonly name: string;
// 初始品质
readonly quality: number;
// 阵营
readonly camp: number;
// 兵种
readonly jobid: number;
// 技能
readonly skill: number;
// 武将碎片
readonly pieceId: number;
// 初始星级
readonly initialStars: number;
// 合成碎片数量
readonly pieceCount: number;
// 主属性
readonly baseAbilityArr:Map<number, number>;
readonly baseAbilityUpArr:Map<number, number>;
}
const str = readJsonFile(FILENAME.DIC_HERO);
let arr = JSON.parse(str);
export const dicHero = new Map<number, DicHero>();
arr.forEach(o => {
o.baseAbilityArr = parseBaseAbilityArr(o);
o.baseAbilityUpArr = parseBaseAbilityUpArr(o);
dicHero.set(o.heroId, o);
});
function parseBaseAbilityArr(json) {
let map = new Map<number, number>();
map.set(ABI_TYPE.ABI_HP, json.hp||0);
map.set(ABI_TYPE.ABI_ATK, json.atk||0);
map.set(ABI_TYPE.ABI_MATK, json.matk||0);
map.set(ABI_TYPE.ABI_DEF, json.def||0);
map.set(ABI_TYPE.ABI_MDEF, json.mdef||0);
map.set(ABI_TYPE.ABI_AGI, json.agi||0);
map.set(ABI_TYPE.ABI_LUK, json.luk||0);
map.set(ABI_TYPE.ABI_SPEED, json.speed||0);
return map
}
function parseBaseAbilityUpArr(json) {
let map = new Map<number, number>();
map.set(ABI_TYPE.ABI_HP, json.hp_up||0);
map.set(ABI_TYPE.ABI_ATK, json.atk_up||0);
map.set(ABI_TYPE.ABI_MATK, json.matk_up||0);
map.set(ABI_TYPE.ABI_DEF, json.def_up||0);
map.set(ABI_TYPE.ABI_MDEF, json.mdef_up||0);
map.set(ABI_TYPE.ABI_AGI, json.agi_up||0);
map.set(ABI_TYPE.ABI_LUK, json.luk_up||0);
map.set(ABI_TYPE.ABI_SPEED, json.speed_up||0);
return map
}