From be612da6bb664941233e329e2124c8f488f93fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Tue, 19 Aug 2025 02:14:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0v22.6=E6=96=B0=E6=BD=9C?= =?UTF-8?q?=E8=A7=89=E5=8D=81=E5=AD=97=E8=BF=BD=E9=83=A8=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- multi.html | 37 ++++++++++-------- script-json_data.js | 4 +- script-universal_function.js | 1 + script.js | 76 ++++++++++++++++++++++++++++++------ solo.html | 37 ++++++++++-------- style-monsterimages.css | 12 +++++- triple.html | 37 ++++++++++-------- 7 files changed, 140 insertions(+), 64 deletions(-) diff --git a/multi.html b/multi.html index fe7db0c5..825b660e 100644 --- a/multi.html +++ b/multi.html @@ -1425,14 +1425,15 @@ const teamsCount = 2;
  • -
  • -
  • +
  • +
  • +
  • @@ -1586,6 +1587,10 @@ const teamsCount = 2; + +
  • + +
  • @@ -1598,27 +1603,32 @@ const teamsCount = 2;
  • - -
  • - -
  • - -
  • + +
  • - +
  • - -->
  • + + +
  • + + +
  • @@ -1629,11 +1639,6 @@ const teamsCount = 2;
  • - -
  • - - -
  • diff --git a/script-json_data.js b/script-json_data.js index af68a86c..3d8c23fb 100644 --- a/script-json_data.js +++ b/script-json_data.js @@ -521,6 +521,7 @@ const allowable_latent = { {latent:46,awoken:45}, //心追解云封 {latent:47,awoken:59}, //心L大SB {latent:48,awoken:60}, //L解禁武器 + {latent:50,awoken:78}, //十字追部位 ], } //等效觉醒列表 @@ -571,7 +572,8 @@ const official_badge_sorting = [ //20是没有启用的全属性徽章,现在 28, 29, 30, 65, 31, 15, 16, 70, 32, 33, 34, 35, 36, 37, 38, 62, 39, 40, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, - 60, 61, 63, 64, 66, 67, 68, 69 + 60, 61, 63, 64, 66, 67, 68, 69, + 70, 71 ] //官方的觉醒排列顺序 const official_awoken_sorting = [ diff --git a/script-universal_function.js b/script-universal_function.js index 10c7903e..e90e71b5 100644 --- a/script-universal_function.js +++ b/script-universal_function.js @@ -724,6 +724,7 @@ function latentUseHole(latentId) { case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 43: case 44: case 45: + case 50: { return 2; } diff --git a/script.js b/script.js index 68f2a0f0..fee31a26 100644 --- a/script.js +++ b/script.js @@ -6124,12 +6124,12 @@ function refreshLatent(latents, member, latentsNode, option = {}) { //如果传入了武器,就添加有效觉醒 for (let ai = 0; ai < iconArr.length; ai++) { const icon = iconArr[ai], latent = latents[latentIndex]; + let unallowableLatent = false; if (latent != undefined && ai >= usedHoleN && ai < maxLatentCount) //有潜觉 { const thisHoleN = latentUseHole(latent); icon.setAttribute("data-latent-icon", latent); icon.setAttribute("data-latent-hole", thisHoleN); - let unallowableLatent = false; //搜索需要觉醒的潜觉 const needAwokenLatent = allowable_latent.needAwoken.find(obj=>obj.latent == latent); if (needAwokenLatent) { //如果是需要觉醒的潜觉 @@ -6145,13 +6145,13 @@ function refreshLatent(latents, member, latentsNode, option = {}) { if (needAwokens.isDisjointFrom(effectiveAwokens)) unallowableLatent = true; } - icon.classList.toggle('unallowable-latent', unallowableLatent); usedHoleN += thisHoleN; latentIndex++; } else { icon.removeAttribute("data-latent-icon"); icon.removeAttribute("data-latent-hole"); } + icon.classList.toggle('unallowable-latent', unallowableLatent); } }; //点击怪物头像,出现编辑窗 @@ -7094,17 +7094,25 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti, option) { } //L解禁武器 if (targetIcon = awokenEffectDom.querySelector(".latent-icon[data-latent-icon=\"48\"]")) { + const latentId = parseInt(targetIcon.dataset.latentIcon, 10); + const awokenId = allowable_latent.needAwoken.find(obj=>obj.latent === latentId)?.awoken; + const equivalentAwoken = equivalent_awoken.find(eak => eak.small === awokenId); const orbs = Array.from(targetIcon.parentElement.querySelectorAll(".orb-list .orb")); - const equivalentAwoken = equivalent_awoken.find(eak => eak.small === 60); - let count = new Array(orbs.length).fill(0); + const count = new Array(orbs.length).fill(0); for (let mi=0; mi < members.length; mi++) { const memberData = members[mi]; - //const assistData = assists[mi]; //L解禁武器,武器上的L无意义 - if (memberData?.latent?.includes(48)) { - let effectiveAwokens = memberData.effectiveAwokens(); - let thisAwokenNum = effectiveAwokens.filter(ak=>ak==equivalentAwoken.small).length + effectiveAwokens.filter(ak=>ak==equivalentAwoken.big).length * equivalentAwoken.times; + const assistData = void 0; //assists[mi]; //L解禁武器,武器上的L无意义 + const latentCount = memberData.latent.filter(id=>id===latentId).length; + + if (latentCount > 0) { + let effectiveAwokens = memberData.effectiveAwokens(assistData); + let thisAwokenNum = ( + effectiveAwokens.filter(ak=>ak===equivalentAwoken.small).length + + effectiveAwokens.filter(ak=>ak===equivalentAwoken.big).length + * equivalentAwoken.times) + * latentCount; if (thisAwokenNum == 0) continue; - const {attrs=[]} = memberData.getAttrsTypesWithWeapon() || {}; + const {attrs=[]} = memberData.getAttrsTypesWithWeapon(assistData) || {}; attrs.distinct().forEach(attr=>{ count[attr] += thisAwokenNum; }); @@ -7136,17 +7144,57 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti, option) { orb.setAttribute(dataAttrName,count[oi]); }); } + //十字追部位 + if (targetIcon = awokenEffectDom.querySelector(".latent-icon[data-latent-icon=\"50\"]")) { + const latentId = parseInt(targetIcon.dataset.latentIcon, 10); + const awokenId = allowable_latent.needAwoken.find(obj=>obj.latent === latentId)?.awoken; + const equivalentAwoken = equivalent_awoken.find(eak => eak.small === awokenId); + const orbs = Array.from(targetIcon.parentElement.querySelectorAll(".orb-list .orb")); + const count = new Array(orbs.length).fill(0); + for (let mi=0; mi < members.length; mi++) { + const memberData = members[mi]; + const assistData = assists[mi]; + const latentCount = memberData.latent.filter(id=>id===latentId).length; + + if (latentCount > 0) { + let effectiveAwokens = memberData.effectiveAwokens(assistData); + let thisAwokenNum = ( + effectiveAwokens.filter(ak=>ak===equivalentAwoken.small).length + + effectiveAwokens.filter(ak=>ak===equivalentAwoken.big).length + * equivalentAwoken.times) + * latentCount; + if (thisAwokenNum == 0) continue; + const {attrs=[]} = memberData.getAttrsTypesWithWeapon(assistData) || {}; + attrs.distinct().forEach(attr=>{ + count[attr] += thisAwokenNum; + }); + } else { + continue; + } + } + orbs.forEach((orb,oi)=>{ + orb.setAttribute(dataAttrName,count[oi]); + }); + } //U解禁消 if (targetIcon = awokenEffectDom.querySelector(".latent-icon[data-latent-icon=\"41\"]")) { + const latentId = parseInt(targetIcon.dataset.latentIcon, 10); + const awokenId = allowable_latent.needAwoken.find(obj=>obj.latent === latentId)?.awoken; + const equivalentAwoken = equivalent_awoken.find(eak => eak.small === awokenId); const orbs = Array.from(targetIcon.parentElement.querySelectorAll(".orb-list .orb")); - const equivalentAwoken = equivalent_awoken.find(eak => eak.small === 27); - let count = new Array(orbs.length).fill(0); + const count = new Array(orbs.length).fill(0); for (let mi=0; mi < members.length; mi++) { const memberData = members[mi]; const assistData = assists[mi]; - if (memberData?.latent?.includes(41)) { + const latentCount = memberData.latent.filter(id=>id===latentId).length; + + if (latentCount > 0) { let effectiveAwokens = memberData.effectiveAwokens(assistData); - let thisAwokenNum = effectiveAwokens.filter(ak=>ak==equivalentAwoken.small).length + effectiveAwokens.filter(ak=>ak==equivalentAwoken.big).length * equivalentAwoken.times; + let thisAwokenNum = ( + effectiveAwokens.filter(ak=>ak===equivalentAwoken.small).length + + effectiveAwokens.filter(ak=>ak===equivalentAwoken.big).length + * equivalentAwoken.times) + * latentCount; if (thisAwokenNum == 0) continue; const {attrs=[]} = memberData.getAttrsTypesWithWeapon(assistData) || {}; attrs.distinct().forEach(attr=>{ @@ -7296,6 +7344,7 @@ function highlightAwokenMember(event, teamIndex) { case 46: return 45; //心追解云封 case 47: return 59; //心L SB+ case 48: return 60; //L解封武器 + case 50: return 78; //十字追部位 default: return; } } else { @@ -7710,6 +7759,7 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) { case 63: case 64: return member.card.gachaIds.includes(15) ? 1.15 : 1; //女仆管家 case 66: case 67: return member.card.gachaIds.includes(13) ? 1.15 : 1; //酒桶 case 68: case 69: return member.card.gachaIds.includes(8) ? 1.15 : 1; //龙契士&龙唤士桶(对桶外合作id不生效) + case 70: case 71: return member.card.collabId === 93 ? 1.15 : 1; //鬼灭之刃 default: return 1; } } diff --git a/solo.html b/solo.html index 285d4753..28dc6a19 100644 --- a/solo.html +++ b/solo.html @@ -1115,14 +1115,15 @@ const teamsCount = 1;
  • -
  • -
  • +
  • +
  • +
  • @@ -1276,6 +1277,10 @@ const teamsCount = 1; + +
  • + +
  • @@ -1288,27 +1293,32 @@ const teamsCount = 1;
  • - -
  • - -
  • - -
  • + +
  • - +
  • - -->
  • + + +
  • + + +
  • @@ -1319,11 +1329,6 @@ const teamsCount = 1;
  • - -
  • - - -
  • diff --git a/style-monsterimages.css b/style-monsterimages.css index 3e1a7ad2..f2b4c1d7 100644 --- a/style-monsterimages.css +++ b/style-monsterimages.css @@ -1366,7 +1366,7 @@ .latent-icon[data-latent-icon='41']::before{ /*U解禁消*/ --icon-y-index: 41; } -.latent-icon[data-latent-icon='42']::before{ /*伤害上限×2*/ +.latent-icon[data-latent-icon='42']::before{ /*伤害上限×4*/ --icon-y-index: 42; } .latent-icon[data-latent-icon='43']::before{ /*HP++*/ @@ -1387,9 +1387,12 @@ .latent-icon[data-latent-icon='48']::before{ /*L解禁武器*/ --icon-y-index: 48; } -.latent-icon[data-latent-icon='49']::before{ /*伤害上限×3*/ +.latent-icon[data-latent-icon='49']::before{ /*伤害上限×8*/ --icon-y-index: 49; } +.latent-icon[data-latent-icon='50']::before{ /*十字追部位*/ + --icon-y-index: 50; +} :is(:lang(en), :lang(ko)) .latent-icon:where( [data-latent-icon='17'], [data-latent-icon='37'], @@ -1419,6 +1422,7 @@ [data-latent-icon='46'], [data-latent-icon='47'], [data-latent-icon='48'], + [data-latent-icon='50'], ){ /*所以横向占两格*/ grid-column: span 2; } @@ -1431,6 +1435,7 @@ [data-latent-icon='46'], [data-latent-icon='47'], [data-latent-icon='48'], + [data-latent-icon='50'], )::after { content: ""; @@ -1456,6 +1461,9 @@ .latent-icon.show-enabling-awokwn[data-latent-icon='48']::after{ /*心L大SB*/ --icon-y-index: 60; } +.latent-icon.show-enabling-awokwn[data-latent-icon='50']::after{ /*十字追部位*/ + --icon-y-index: 78; +} /* 额外有 x1.5 的 6格觉醒 */ .level-super-break .latent-icon:where( diff --git a/triple.html b/triple.html index 8c1771c4..640e6379 100644 --- a/triple.html +++ b/triple.html @@ -1960,14 +1960,15 @@ const teamsCount = 3;
  • -
  • -
  • +
  • +
  • +
  • @@ -2121,6 +2122,10 @@ const teamsCount = 3; + +
  • + +
  • @@ -2133,27 +2138,32 @@ const teamsCount = 3;
  • - -
  • - -
  • - -
  • + +
  • - +
  • - -->
  • + + +
  • + + +
  • @@ -2164,11 +2174,6 @@ const teamsCount = 3;
  • - -
  • - - -