全局:属性修改

This commit is contained in:
luying
2021-02-27 15:35:16 +08:00
parent d4561c2e3d
commit 0966f025cf
35 changed files with 1186 additions and 1130 deletions

View File

@@ -1,6 +1,6 @@
// 兵种表
import {readJsonFile, parseNumberList, parseGoodStr} from '../util'
import { FILENAME } from '../../consts'
import { FILENAME, ABI_STAGE } from '../../consts'
import { RewardInter } from '../interface';
const _ = require('lodash');
@@ -23,18 +23,8 @@ export interface DicJob {
readonly trainingConsume: Array<RewardInter>;
// 升阶消耗
readonly upGradeConsume: Array<RewardInter>;
// 生命训练提升
readonly hp: number;
// 攻击力训练提升
readonly atk: number;
// 防御力训练提升
readonly def: number;
// 策防训练提升
readonly mdef: number;
// 敏捷训练提升
readonly agi: number;
// 幸运训练提升
readonly luk: number;
// 每阶升级属性
readonly ceAttr: Map<number, number>
}
@@ -42,7 +32,7 @@ const str = readJsonFile(FILENAME.DIC_JOB);
let arr = JSON.parse(str);
type KeysEnum<T> = { [P in keyof Required<T>]: true };
const DicJobKeys: KeysEnum<DicJob> = {jobid: true, name: true, grade: true, unlockLevel: true, job_class: true, type: true, seid: true,trainingConsume: true, upGradeConsume: true, hp: true, atk: true, def: true, mdef: true, agi: true, luk: true};
const DicJobKeys: KeysEnum<DicJob> = {jobid: true, name: true, grade: true, unlockLevel: true, job_class: true, type: true, seid: true,trainingConsume: true, upGradeConsume: true, ceAttr: true};
export const dicJob = new Map<number, DicJob>();
export const jobClassMaxGrades = new Map<number, {grade:number, jobid:number}>();
@@ -52,6 +42,7 @@ arr.forEach(o => {
o.seid = parseNumberList(o.seid);
o.trainingConsume = parseGoodStr(o.trainingConsume);
o.upGradeConsume = parseGoodStr(o.upGradeConsume);
o.ceAttr = parseCeAttr(o);
dicJob.set(o.jobid, _.pick(o, Object.keys(DicJobKeys)));
let jobClass = jobClassMaxGrades.get(o.job_class);
if (!!jobClass && jobClass.grade < o.grade) {
@@ -61,4 +52,13 @@ arr.forEach(o => {
});
function parseCeAttr(elem) {
let ceAttr = new Map<number, number>();
ceAttr.set(ABI_STAGE.HP, elem.hp);
ceAttr.set(ABI_STAGE.ATK, elem.atk);
ceAttr.set(ABI_STAGE.DEF, elem.def);
ceAttr.set(ABI_STAGE.MDEF, elem.mdef);
return ceAttr;
}
arr = undefined;