diff --git a/multi.html b/multi.html
index bf29e722..f5fe099a 100644
--- a/multi.html
+++ b/multi.html
@@ -1608,9 +1608,9 @@
diff --git a/script-universal_function.js b/script-universal_function.js
index afddc237..bd5b673d 100644
--- a/script-universal_function.js
+++ b/script-universal_function.js
@@ -797,15 +797,6 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
];
const memberCurves = [memberCard?.hp, memberCard?.atk, memberCard?.rcv];
const assistCurves = assistCard?.canAssist && [assistCard.hp, assistCard.atk, assistCard.rcv];
-
- 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)) || //符合类型
- dge?.collabs?.includes(memberCard.collabId) || //符合合作
- dge?.gachas?.some(n=>memberCard.gachaIds.includes(n)); //符合抽蛋桶
-
//储存点亮的觉醒
let awokenList = memberCard.awakenings.slice(0, member.awoken);
@@ -826,6 +817,25 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
enableBouns = memberCard.attrs[0] === assistCard.attrs[0] || memberCard.attrs[0] == 6 || assistCard.attrs[0] == 6;
}
+ //地下城强化
+ const dge = formation.dungeonEnchance;
+ const dgeRate = [dge.rate.hp, dge.rate.atk, dge.rate.rcv];
+ const isDge = (memberAttrsTypesWithWeapon=>{
+ const baseBool = dge.rarities.includes(memberCard.rarity) //符合星级
+ || dge?.collabs?.includes(memberCard.collabId) //符合合作
+ ||dge?.gachas?.some(n=>memberCard.gachaIds.includes(n)); //符合抽蛋桶
+ return {
+ awoken: baseBool //计算武器觉醒
+ || memberAttrsTypesWithWeapon.attrs.some(attr=>dge.attrs.includes(attr)) //符合属性
+ || memberAttrsTypesWithWeapon.types.some(type=>dge.types.includes(type)) //符合类型
+ ,
+ noAwoken: baseBool //不计算武器觉醒
+ || memberCard.attrs.some(attr=>dge.attrs.includes(attr)) //符合属性
+ || memberCard.types.some(type=>dge.types.includes(type)) //符合类型
+ ,
+ };
+ })(member.getAttrsTypesWithWeapon(assist));
+
//地下城阴阳加护强化
if (dge.benefit) { //当存在加护
const benefitAwokens = [128 , 129]; //0b1是阳,0b10是阴,可以两者都强化
@@ -885,25 +895,26 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
return previous + la.scale * latentCount;
}, 0) :
0;
- let dgeScale = 1; //地下城强化
- if (isDge && dgeRate[idx] !== 1) {
- dgeScale = dgeRate[idx];
- //计算攻击力,有浮游觉醒,且比例小于1时
- if (idx === 1 && dgeScale < 1 && awokenList.includes(106)) {
- //比例乘以20,但是不得大于1
- dgeScale = Math.min(1, rate * 20);
- }
+
+
+ const dgeScale = { //地下城强化比例
+ awoken: isDge.awoken && dgeRate[idx] !== 1 ? dgeRate[idx] : 1,
+ noAwoken: isDge.noAwoken && dgeRate[idx] !== 1 ? dgeRate[idx] : 1,
+ };
+ if (idx === 1 && dgeScale.awoken < 1 && awokenList.includes(106)) {
+ //觉醒有浮游,比例乘以20
+ dgeScale.awoken = Math.min(1, dgeScale.awoken * 20);
}
let reValue = Math.round(n_base * n_previousAwokenScale) + n_plus +
Math.round(n_base * n_latentScale) + n_awoken +
Math.round((n_assist_base + n_assist_plus) * bonusScale[idx]);
//觉醒生效时的协力、1.5三维、阴阳、熟成等的倍率
- reValue = Math.floor(reValue * latterAwokenScale[idx].reduce(calculateAwokenScale, 1) * dgeScale);
+ reValue = Math.floor(reValue * latterAwokenScale[idx].reduce(calculateAwokenScale, 1) * dgeScale.awoken);
//因为语音觉醒觉醒无效也生效,所以这里需要计算
let reValueNoAwoken = Math.round(n_base * n_previousAwokenScale) + n_plus +
Math.round((n_assist_base + n_assist_plus) * bonusScale[idx]);
- reValueNoAwoken = Math.floor(reValueNoAwoken * dgeScale)
+ reValueNoAwoken = Math.floor(reValueNoAwoken * dgeScale.noAwoken)
if (idx < 2) //idx顺序为HP、ATK、RCV
{ //HP和ATK最低为1
diff --git a/service-worker.js b/service-worker.js
index 3cc69975..377bd6d1 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -33499,7 +33499,7 @@ const cachesMap = new Map([
],
[
"multi.html",
- "30b245a3cb46e63d025daa1e542a5062"
+ "ab50928a604685c3c53033df1ca2f8f9"
],
[
"script-custom_elements.js",
@@ -33515,7 +33515,7 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
- "b174b63d715ff8bc139c484b6e6e49c5"
+ "d6f10d009ef4d6b6cae7d833ac3a7422"
],
[
"script.js",
@@ -33523,7 +33523,7 @@ const cachesMap = new Map([
],
[
"solo.html",
- "f7f862a75c625703ae9cdf609fb4f33d"
+ "755dbcca9b0bca24d36b8b1f602fd214"
],
[
"style-fix-html2canvas.css",
@@ -33543,7 +33543,7 @@ const cachesMap = new Map([
],
[
"triple.html",
- "65f7c3709167adf5cb0c961535604679"
+ "374c82a640ba53a6431abe49673802b0"
],
[
"languages/en.css",
diff --git a/solo.html b/solo.html
index ae4bcdba..94e9df14 100644
--- a/solo.html
+++ b/solo.html
@@ -1424,9 +1424,9 @@