解析修改:heroHandler

This commit is contained in:
luying
2020-12-15 15:13:39 +08:00
parent 87cdd7a80f
commit ea4fa1176b
4 changed files with 49 additions and 16 deletions

View File

@@ -62,6 +62,12 @@ export const gameData = {
friendShipLevel: dicFriendShipLevel
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
/**
* 根据主公当前经验获得当前等级
* @param exp 累积经验
*/
export function getLvByExp(exp: number) {
let curLv = 0;
let entries = gameData.kingexp.entries();
@@ -73,10 +79,18 @@ export function getLvByExp(exp: number) {
return curLv;
}
/**
* 根据主公当前等级获得累积经验1=> 1级满经验
* @param lv 等级
*/
export function getExpByLv(lv: number) {
return gameData.kingexp.get(lv);
}
/**
* 根据武将当前经验获得当前等级
* @param exp 累积经验
*/
export function getHeroLvByExp(exp: number) {
let curLv = 0;
let entries = gameData.charexp.entries();
@@ -88,6 +102,10 @@ export function getHeroLvByExp(exp: number) {
return curLv;
}
/**
* 根据武将当前等级获得累积经验1=> 1级满经验
* @param lv
*/
export function getHeroExpByLv(lv: number) {
return gameData.charexp.get(lv);
}
@@ -137,4 +155,17 @@ export function getHeroStarByQuality(quality: number, star: number) {
export function getHeroWakeByQuality(quality: number, star: number) {
return gameData.heroWake.get(`${quality}_${star}`);
}
export function getMaxGradeByjobClass(jobClass: number) {
const job = gameData.jobClassMaxGrades.get(jobClass);
return job?.jobid;
}
export function getJobByGradeAndClass(jobClass: number, grade: number) {
return gameData.jobClassAndgrades.get(jobClass +'_' + grade);
}
export function getFriendShipById(shipId: number, level: number) {
return gameData.friendShips.get(shipId +'_' + level);
}

View File

@@ -1,5 +1,5 @@
// 武将技能表
import {parseReward, decodeArrayListStr, readJsonFile} from '../util'
import {parseReward, readJsonFile} from '../util'
import { FILENAME } from '../../consts/consts'
import { RewardInter } from '../interface';

View File

@@ -1,6 +1,7 @@
// 兵种表
import {readJsonFile, parseNumberList} from '../util'
import {readJsonFile, parseNumberList, parseReward} from '../util'
import { FILENAME } from '../../consts/consts'
import { RewardInter } from '../interface';
export interface DicJob {
// 兵种id
@@ -17,6 +18,10 @@ export interface DicJob {
readonly type: number;
// 特性
readonly seid: Array<number>;
// 训练消耗
readonly trainingConsume: Array<RewardInter>;
// 升阶消耗
readonly upGradeConsume: Array<RewardInter>;
// 生命训练提升
readonly hp: number;
// 攻击力训练提升
@@ -41,6 +46,8 @@ export const jobClassAndgrades = new Map<string, {jobid:number, unlockLevel:numb
arr.forEach(o => {
o.seid = parseNumberList(o.seid);
o.trainingConsume = parseReward(o.trainingConsume);
o.upGradeConsume = parseReward(o.upGradeConsume);
dicJob.set(o.jobid, o);
let jobClass = jobClassMaxGrades.get(o.job_class);
if (!!jobClass && jobClass.grade < o.grade) {