新武将活动:修改字段以及ur武将处理

This commit is contained in:
luying
2022-10-12 10:35:14 +08:00
parent eccd9f0051
commit 9f5771e923
16 changed files with 79 additions and 69 deletions

View File

@@ -22,7 +22,9 @@ export interface DicHero {
// 武将碎片
readonly pieceId: number;
// 初始星级
readonly initialStars: number;
readonly initialStar: number;
// 初始星级
readonly initialColorStar: number;
// 合成碎片数量
readonly pieceCount: number;
// 主属性
@@ -38,7 +40,7 @@ export interface DicHero {
}
type KeysEnum<T> = { [P in keyof Required<T>]: true };
const DicHeroKeys: KeysEnum<DicHero> = {heroId: true, name: true, quality: true, camp: true, jobClass: true, jobid: true, skill: true, pieceId: true, initialStars: true, pieceCount: true, baseAbilityArr: true, baseAbilityUpArr: true, initialSkin: true, recruit: true, face_id: true, talentId: true};
const DicHeroKeys: KeysEnum<DicHero> = {heroId: true, name: true, quality: true, camp: true, jobClass: true, jobid: true, skill: true, pieceId: true, initialStar: true, initialColorStar: true, pieceCount: true, baseAbilityArr: true, baseAbilityUpArr: true, initialSkin: true, recruit: true, face_id: true, talentId: true};
export const dicHero = new Map<number, DicHero>();
export function loadHero() {
dicHero.clear();
@@ -48,6 +50,13 @@ export function loadHero() {
o.baseAbilityArr = parseBaseAbilityArr(o);
o.baseAbilityUpArr = parseBaseAbilityUpArr(o);
o.recruit = parseInt(o.recruit) == 1;
if(o.quality == 4) {
o.initialStar = 6;
o.initialColorStar = o.initialStars - 6;
} else {
o.initialStar = o.initialStars;
o.initialColorStar = 0;
}
dicHero.set(o.heroId, _.pick(o, Object.keys(DicHeroKeys)));
});
arr = undefined;

View File

@@ -10,16 +10,20 @@ export interface DicRecruit {
readonly actorId: number;
// 权重
readonly weight: number;
// 是否可以拜访
readonly canVisit: number;
// 是否可以许愿
readonly canHope: number;
}
export const dicRecruit = new Array<DicRecruit>();
export const dicRecruit = new Map<number, DicRecruit>();
export function loadRecruit() {
dicRecruit.splice(0, dicRecruit.length);
dicRecruit.clear();
let arr = readFileAndParse(FILENAME.DIC_RECRUIT);
arr.forEach(o => {
dicRecruit.push(o);
dicRecruit.set(o.actorId, o);
});
arr = undefined;