增加不满297时没有超觉醒的判断,其他优化

This commit is contained in:
枫谷剑仙 2021-11-12 15:46:21 +08:00
parent ce8c441649
commit 9364e464dc
2 changed files with 25 additions and 22 deletions

View File

@ -395,8 +395,8 @@ function awokenCountInTeam(team, awokenIndex, solo, teamsCount) {
const assistCard = Cards[assist.id];
//启用的觉醒数组片段
let enableAwoken = card.awakenings.slice(0, mon.awoken);
//单人、3人时,大于等于100级时增加超觉醒
if ((solo || teamsCount === 3) && mon.sawoken >= 0 && mon.level >= 100) {
//单人、3人时,大于等于100级且297时增加超觉醒
if ((solo || teamsCount === 3) && mon.sawoken >= 0 && mon.level >= 100 && mon.plus.every(p=>p>=99)) {
const sAwokenT = card.superAwakenings[mon.sawoken];
if (sAwokenT >= 0)
enableAwoken = enableAwoken.concat(sAwokenT);
@ -508,31 +508,34 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
const dge = formation.dungeonEnchance;
const dgeRate = [dge.rate.hp, dge.rate.atk, dge.rate.rcv];
const isDge = dge.rarities.includes(memberCard.rarity) || memberCard.attrs.some(attr=>dge.attrs.includes(attr)) || memberCard.types.some(type=>dge.types.includes(type));
//储存点亮的觉醒
let awokenList = memberCard.awakenings.slice(0, member.awoken);
//单人、3人时,大于等于100级且297时增加超觉醒
if ((solo || teamsCount === 3) && member.sawoken >= 0 && member.level >= 100 && member.plus.every(p=>p>=99)) {
const sAwokenT = memberCard.superAwakenings[member.sawoken];
if (sAwokenT >= 0) awokenList.push(sAwokenT)
}
//如果有武器还要计算武器的觉醒
let enableBouns = false;
if (assistCard?.id > 0 && assistCard.enabled) {
const assistAwokenList = assistCard.awakenings.slice(0, assist.awoken); //储存武器点亮的觉醒
if (assistAwokenList.includes(49)) { //49是武器觉醒确认已经点亮了武器觉醒
awokenList.push(...assistAwokenList);
}
enableBouns = memberCard.attrs[0] === assistCard.attrs[0] || memberCard.attrs[0] == 6 || assistCard.attrs[0] == 6;
}
const abilitys = memberCurves.map((ab, idx) => {
const n_base = Math.round(curve(ab, member.level, memberCard.maxLevel, memberCard.limitBreakIncr, limitBreakIncr120[idx])); //等级基础三维
const n_plus = member.plus[idx] * plusAdd[idx]; //加值增加量
let n_assist_base = 0,
n_assist_plus = 0; //辅助的bonus
let awokenList = memberCard.awakenings.slice(0, member.awoken); //储存点亮的觉醒
//单人、3人时,大于等于100级时增加超觉醒
if ((solo || teamsCount === 3) && member.sawoken >= 0 && member.level >= 100) {
const sAwokenT = memberCard.superAwakenings[member.sawoken];
if (sAwokenT >= 0)
awokenList = awokenList.concat(sAwokenT);
}
//如果有武器还要计算武器的觉醒
if (assistCard && assistCard.id > 0 && assistCard.enabled) {
const assistAwokenList = assistCard.awakenings.slice(0, assist.awoken); //储存武器点亮的觉醒
if (assistAwokenList.includes(49)) //49是武器觉醒确认已经点亮了武器觉醒
{
awokenList = awokenList.concat(assistAwokenList);
}
if (memberCard.attrs[0] === assistCard.attrs[0] || memberCard.attrs[0] == 6 || assistCard.attrs[0] == 6) {
n_assist_base = Math.round(curve(assistCurves[idx], assist.level, assistCard.maxLevel, assistCard.limitBreakIncr, limitBreakIncr120[idx])); //辅助等级基础三维
n_assist_plus = assist.plus[idx] * plusAdd[idx]; //辅助加值增加量
}
//计算辅助的额外血量
if (assistCard?.id > 0 && assistCard.enabled && enableBouns) {
n_assist_base = Math.round(curve(assistCurves[idx], assist.level, assistCard.maxLevel, assistCard.limitBreakIncr, limitBreakIncr120[idx])); //辅助等级基础三维
n_assist_plus = assist.plus[idx] * plusAdd[idx]; //辅助加值增加量
}
//用来计算倍率觉醒的最终倍率是多少reduce用

View File

@ -3725,7 +3725,7 @@ function changeid(mon, monDom, latentDom) {
}
const sawoken = monDom.querySelector(".super-awoken");
if (sawoken) { //如果存在超觉醒的DOM且提供了超觉醒
if (mon.sawoken != undefined && mon.sawoken >= 0 && card.superAwakenings.length) {
if (mon.sawoken != null && mon?.sawoken >= 0 && card.superAwakenings.length && mon.level >= 100 && mon.plus.every(p=>p>=99)) {
sawoken.classList.remove(className_displayNone);
const sawokenIcon = sawoken.querySelector(".awoken-icon");
sawokenIcon.setAttribute("data-awoken-icon", card.superAwakenings[mon.sawoken]);