装备:修复天晶洗练没有变化的bug

This commit is contained in:
luying
2022-04-07 19:25:06 +08:00
parent 92edc6a450
commit e1204b433f

View File

@@ -6,7 +6,7 @@ import { DicRandomEffectPool } from '../pubUtils/dictionary/DicRandomEffectPool'
import { getJewelRandSe } from './role/rewardService';
export function getRandSeResult(id: number, randSe: RandSe[], originSe: RandSe[] = [], originId?: number) {
let { lv } = gameData.jewel.get(id);
let { randomEffect, effectCount, lv } = gameData.jewel.get(id);
let chosen = randSe.filter(cur => cur.locked).map(cur => cur.seid); // 上一轮随机出来的
@@ -29,8 +29,32 @@ export function getRandSeResult(id: number, randSe: RandSe[], originSe: RandSe[]
startId++;
}
for (let i = startId; i < randSe.length; i++) {
newRandSe.push(randSe[i]);
if(originId) { // 天晶继承的原天晶
for (let i = startId; i < randSe.length; i++) {
newRandSe.push(randSe[i]);
}
} else { // 洗练
let randomResult: number[] = getRandEelm(randomEffect.filter(cur => !chosen.includes(cur)), effectCount); // 随机出的结果
if(randomResult.length < effectCount) { // 去上轮之后不够,把上轮加入
let chosenRandom = getRandEelm(chosen, effectCount - randomResult.length);
randomResult.push(...chosenRandom);
}
if(randomResult.length < effectCount) { // 还是不够
let allRandom = getRandEelm(randomEffect, effectCount - randomResult.length);
randomResult.push(...allRandom);
}
for (let i = startId; i < effectCount; i++) {
if(randSe[i]) {
if(randSe[i] && randSe[i].locked) {
newRandSe.push(randSe[i]);
} else {
newRandSe.push(getJewelRandSe(randSe[i].id, randomResult[i]));
}
} else {
newRandSe.push(getJewelRandSe(i + 1, randomResult[i]));
}
}
}
return newRandSe