装备:淬火修改读取表

This commit is contained in:
luying
2021-07-30 17:17:32 +08:00
parent 6ab6a381e2
commit 36cdba3a7b
8 changed files with 42 additions and 59 deletions
+20 -10
View File
@@ -14,29 +14,39 @@ export interface DicQuenchQuality {
readonly singleRatioMax: number;
// 初始是否可以随机出
readonly initialAvailable: number;
// 暴击率
readonly critProbability: number;
// 暴击效果
readonly critEffect: number;
}
export const dicQuenchByQualityAndGrade = new Map<string, { min: number, max: number }>();
export const dicQuenchByQuality = new Map<number, { min: number, max: number }>(); // quality => {}
export const dicQuenchRangeByQualityAndGrade = new Map<string, { min: number, max: number }>();
export const dicQuenchRangeByQuality = new Map<number, { min: number, max: number }>(); // quality => {}
export const dicQuenchByQuality = new Map<number, Map<number, DicQuenchQuality>>(); // quality => grade => dic
export function loadQuenchQuality() {
dicQuenchByQuality.clear();
dicQuenchByQualityAndGrade.clear();
dicQuenchRangeByQuality.clear();
dicQuenchRangeByQualityAndGrade.clear();
let arr = readFileAndParse(FILENAME.DIC_QUENCH_QUALITY);
arr.forEach(o => {
if(o.initialAvailable == 1) {
if(!dicQuenchByQuality.has(o.quality)) {
dicQuenchByQuality.set(o.quality, { min: o.singleRatioMin, max: o.singleRatioMax });
if(!dicQuenchRangeByQuality.has(o.quality)) {
dicQuenchRangeByQuality.set(o.quality, { min: o.singleRatioMin, max: o.singleRatioMax });
} else {
if(o.singleRatioMin < dicQuenchByQuality.get(o.quality).min) {
dicQuenchByQuality.get(o.quality).min = o.singleRatioMin;
if(o.singleRatioMin < dicQuenchRangeByQuality.get(o.quality).min) {
dicQuenchRangeByQuality.get(o.quality).min = o.singleRatioMin;
}
if(o.singleRatioMax > dicQuenchByQuality.get(o.quality).max) {
dicQuenchByQuality.get(o.quality).max = o.singleRatioMax;
if(o.singleRatioMax > dicQuenchRangeByQuality.get(o.quality).max) {
dicQuenchRangeByQuality.get(o.quality).max = o.singleRatioMax;
}
}
dicQuenchByQualityAndGrade.set(`${o.quality}_${o.grade}`, { min: o.singleRatioMin, max: o.singleRatioMax });
dicQuenchRangeByQualityAndGrade.set(`${o.quality}_${o.grade}`, { min: o.singleRatioMin, max: o.singleRatioMax });
}
if(!dicQuenchByQuality.has(o.quality)) {
dicQuenchByQuality.set(o.quality, new Map<number, DicQuenchQuality>());
}
dicQuenchByQuality.get(o.quality).set(o.grade, o);
});
arr = undefined;
}