装备:修复天晶洗练没有变化的bug
This commit is contained in:
@@ -6,7 +6,7 @@ import { DicRandomEffectPool } from '../pubUtils/dictionary/DicRandomEffectPool'
|
|||||||
import { getJewelRandSe } from './role/rewardService';
|
import { getJewelRandSe } from './role/rewardService';
|
||||||
|
|
||||||
export function getRandSeResult(id: number, randSe: RandSe[], originSe: RandSe[] = [], originId?: number) {
|
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); // 上一轮随机出来的
|
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++;
|
startId++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = startId; i < randSe.length; i++) {
|
if(originId) { // 天晶继承的原天晶
|
||||||
newRandSe.push(randSe[i]);
|
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
|
return newRandSe
|
||||||
|
|||||||
Reference in New Issue
Block a user