装备:修复淬火范围bug

This commit is contained in:
luying
2021-08-05 13:42:21 +08:00
parent 9f80504022
commit 1a681c795a
2 changed files with 26 additions and 15 deletions

View File

@@ -20,8 +20,8 @@ export interface DicQuenchQuality {
readonly critEffect: number;
}
export const dicQuenchRangeByQualityAndGrade = new Map<string, { min: number, max: number }>();
export const dicQuenchRangeByQuality = new Map<number, { min: number, max: number }>(); // quality => {}
export const dicQuenchRangeByQualityAndGrade = new Map<string, { min: number, max: number, randMin: number, randMax: number }>();
export const dicQuenchRangeByQuality = new Map<number, { min: number, max: number, randMin: number, randMax: number }>(); // quality => {}
export const dicQuenchByQuality = new Map<number, Map<number, DicQuenchQuality>>(); // quality => grade => dic
export function loadQuenchQuality() {
dicQuenchByQuality.clear();
@@ -31,18 +31,29 @@ export function loadQuenchQuality() {
arr.forEach(o => {
if(o.initialAvailable == 1) {
if(!dicQuenchRangeByQuality.has(o.quality)) {
dicQuenchRangeByQuality.set(o.quality, { min: o.singleRatioMin, max: o.singleRatioMax });
} else {
if(o.singleRatioMin < dicQuenchRangeByQuality.get(o.quality).min) {
dicQuenchRangeByQuality.get(o.quality).min = o.singleRatioMin;
}
if(o.singleRatioMax > dicQuenchRangeByQuality.get(o.quality).max) {
dicQuenchRangeByQuality.get(o.quality).max = o.singleRatioMax;
}
}
dicQuenchRangeByQualityAndGrade.set(`${o.quality}_${o.grade}`, { min: o.singleRatioMin, max: o.singleRatioMax });
}
if(!dicQuenchRangeByQuality.has(o.quality)) {
dicQuenchRangeByQuality.set(o.quality, { min: o.singleRatioMin, max: o.singleRatioMax, randMin: o.singleRatioMin, randMax: o.singleRatioMax });
} else {
if(o.singleRatioMin < dicQuenchRangeByQuality.get(o.quality).min) {
dicQuenchRangeByQuality.get(o.quality).min = o.singleRatioMin;
}
if(o.singleRatioMax > dicQuenchRangeByQuality.get(o.quality).max) {
dicQuenchRangeByQuality.get(o.quality).max = o.singleRatioMax;
}
if(o.singleRatioMin < dicQuenchRangeByQuality.get(o.quality).randMin && o.initialAvailable == 1) {
dicQuenchRangeByQuality.get(o.quality).randMin = o.singleRatioMin;
}
if(o.singleRatioMax > dicQuenchRangeByQuality.get(o.quality).randMax && o.initialAvailable == 1) {
dicQuenchRangeByQuality.get(o.quality).randMax = o.singleRatioMax;
}
}
dicQuenchRangeByQualityAndGrade.set(`${o.quality}_${o.grade}`, { min: o.singleRatioMin, max: o.singleRatioMax, randMin: o.singleRatioMin, randMax: o.singleRatioMax });
if(!dicQuenchByQuality.has(o.quality)) {
dicQuenchByQuality.set(o.quality, new Map<number, DicQuenchQuality>());
}

View File

@@ -113,8 +113,8 @@ export async function getAddEquipInfo(roleId: string, roleName: string, weapon:
let grade = 0;
for(let [ attrId, attrValue ] of goodsAbility) {
if(attrValue > 0) {
let { min, max } = getQuenchByQualityAndGrade(quality, grade);
let rand = getRandValueByMinMax(min, max, 0);
let { randMin, randMax } = getQuenchByQualityAndGrade(quality, grade);
let rand = getRandValueByMinMax(randMin, randMax, 0);
console.log(quality, grade, rand)
grade = getQuenchGradeByValue(quality, rand);
randMain.push({