diff --git a/languages/en.css b/languages/en.css index a8f792e8..ca73b22f 100644 --- a/languages/en.css +++ b/languages/en.css @@ -344,6 +344,9 @@ label[for="fix-main-color"]::after{ .search-box label[for="sort-reverse"]::after{ content: "Reverse"; } +.search-box label[for="only-show-dungeon-enhance"]::after{ + content: "Only enhanced by dungeons"; +} .search-box .additional-div::before{ content: "Additional display:"; } diff --git a/languages/ja.css b/languages/ja.css index f0022ca2..a9436e69 100644 --- a/languages/ja.css +++ b/languages/ja.css @@ -343,6 +343,9 @@ label[for="fix-main-color"]::after{ .search-box label[for="sort-reverse"]::after{ content: "逆序"; } +.search-box label[for="only-show-dungeon-enhance"]::after{ + content: "ダンジョンによってのみ強化される"; +} .search-box .additional-div::before{ content: "追加の表示:"; } diff --git a/languages/ko.css b/languages/ko.css index fa3edb18..01674971 100644 --- a/languages/ko.css +++ b/languages/ko.css @@ -339,6 +339,9 @@ label[for="fix-main-color"]::after{ .search-box label[for="sort-reverse"]::after{ content: "역순"; } +.search-box label[for="only-show-dungeon-enhance"]::after{ + content: "던전에 의해서만 강화됩니다"; +} .search-box .additional-div::before{ content: "추가 표시:"; } diff --git a/languages/zh-hans.css b/languages/zh-hans.css index 923bc8a1..0b908d7c 100644 --- a/languages/zh-hans.css +++ b/languages/zh-hans.css @@ -344,6 +344,9 @@ label[for="fix-main-color"]::after{ .search-box label[for="sort-reverse"]::after{ content: "逆序"; } +.search-box label[for="only-show-dungeon-enhance"]::after{ + content: "仅显示被地下城增强的"; +} .search-box .additional-div::before{ content: "附加显示:"; } diff --git a/languages/zh-hant.css b/languages/zh-hant.css index 747ecbb8..65f88708 100644 --- a/languages/zh-hant.css +++ b/languages/zh-hant.css @@ -344,6 +344,9 @@ label[for="fix-main-color"]::after{ .search-box label[for="sort-reverse"]::after{ content: "逆序"; } +.search-box label[for="only-show-dungeon-enhance"]::after{ + content: "僅顯示被地下城增強的"; +} .search-box .additional-div::before{ content: "附加顯示:"; } diff --git a/multi.html b/multi.html index 7025c579..54b854bf 100644 --- a/multi.html +++ b/multi.html @@ -1292,6 +1292,7 @@ const teamsCount = 2;
+
@@ -1785,7 +1786,7 @@ const teamsCount = 2; - +
diff --git a/script-universal_function.js b/script-universal_function.js index 93a42af6..10c7903e 100644 --- a/script-universal_function.js +++ b/script-universal_function.js @@ -845,6 +845,26 @@ function calculateExp(member) { expArray.push(Math.max(0, Math.min(member.level, 120) - 110) * 20000000); return expArray; } +function isDungeonEnhance(dge, member, assist) { + const memberCard = Cards[member.id]; + const memberAttrsTypesWithWeapon = (typeof member.getAttrsTypesWithWeapon === "function" && assist instanceof MemberAssist) + ? member.getAttrsTypesWithWeapon(assist) + : memberCard; + + 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)) //符合类型 + , + }; +} //计算怪物的能力 function calculateAbility(member, assist = null, solo = true, teamsCount = 1) { if (!member) return null; @@ -909,22 +929,7 @@ 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 = (()=>{ - const memberAttrsTypesWithWeapon = typeof member.getAttrsTypesWithWeapon === "function" ? member.getAttrsTypesWithWeapon(assist) : memberCard; - 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)) //符合类型 - , - }; - })(); + const isDge = isDungeonEnhance(dge, member, assist); //地下城阴阳加护强化 if (dge.benefit) { //当存在加护 diff --git a/script.js b/script.js index 75e4514e..5a8e70ff 100644 --- a/script.js +++ b/script.js @@ -5122,8 +5122,7 @@ function initialize() { const s_add_show_abilities_with_awoken = searchBox.querySelector("#add-show-abilities-with-awoken"); //是否显示计算觉醒的三维 const searchResultCount = searchBox.querySelector(".search-list-length"); - showSearch = function(searchArr, customAdditionalFunction) - { + showSearch = function(searchArr, customAdditionalFunction) { if (typeof(searchArr) === "number") { searchArr = [searchArr]; } @@ -5141,7 +5140,6 @@ function initialize() { } searchBox.open = true; - searchMonList.classList.remove(className_displayNone); editBox.show(); const createCardHead = editBox.createCardHead; @@ -5165,11 +5163,10 @@ function initialize() { customAddition: Array.isArray(customAdditionalFunction) ? customAdditionalFunction : (typeof customAdditionalFunction == "function" ? [customAdditionalFunction] : []) }; searchMonList.originalHeads = searchArr.map(card => { - if (card instanceof Member) { - return createCardHead(card, additionalOption); - } else { - return createCardHead(card.id, additionalOption); - } + const avatarNode = createCardHead(card instanceof Member ? card : card.id, additionalOption); + const isDge = isDungeonEnhance(formation.dungeonEnchance, card); + avatarNode.classList.toggle("is-dge", isDge.awoken); + return avatarNode; }); searchMonList.customAddition = additionalOption.customAddition; //对头像列表进行排序 @@ -5394,6 +5391,11 @@ function initialize() { newOpt.setAttribute("data-tag", sfunc.tag); s_sortList.options.add(newOpt); }); + const s_isDge = document.getElementById("only-show-dungeon-enhance"); + s_isDge.onchange = function(){ + searchMonList.classList.toggle(this.id, this.checked); + } + s_isDge.onchange(); //id搜索 editBox.changeMonId = editBoxChangeMonId; diff --git a/service-worker.js b/service-worker.js index 7412de35..cba1b161 100644 --- a/service-worker.js +++ b/service-worker.js @@ -54395,7 +54395,7 @@ const cachesMap = new Map([ ], [ "multi.html", - "7767c73c5f80725d6e4ef6c6f7356223" + "87bcda44a4def639b642ab3fadc32cb7" ], [ "script-custom_elements.js", @@ -54411,15 +54411,15 @@ const cachesMap = new Map([ ], [ "script-universal_function.js", - "1d2c8fb8a30b8958ea6da3a7682498cd" + "7de0374d14414c5894138630e2139578" ], [ "script.js", - "542d09d17802246336d198a547d95703" + "fe31655ca750f6e030ae6f25b7c5b5a8" ], [ "solo.html", - "95a7afd45c572ab804917e29d1783e60" + "633cdb0ed0786321ae54451b6bd8e08b" ], [ "style-fix-html2canvas.css", @@ -54431,7 +54431,7 @@ const cachesMap = new Map([ ], [ "style.css", - "77791a5864f41d7577c130ad090776bf" + "4922f21188a7c946fb4ecdc8bccdac1c" ], [ "temp.js", @@ -54439,11 +54439,11 @@ const cachesMap = new Map([ ], [ "triple.html", - "56f9ee4a50b32f0d896b5154c801d45b" + "04878ddb76de4998e8ee62bf91be60e2" ], [ "languages/en.css", - "c1d5aca45b5b4379a2a553070b8852e9" + "36c2996f2028568f455a0d4f0191ab77" ], [ "languages/en.js", @@ -54451,7 +54451,7 @@ const cachesMap = new Map([ ], [ "languages/ja.css", - "9435ea1636e9a8389502a7ce07d23caa" + "2952bc658c8bc4232bba3586ac7e90b1" ], [ "languages/ja.js", @@ -54459,7 +54459,7 @@ const cachesMap = new Map([ ], [ "languages/ko.css", - "9f2052af52e181a383c3ea25477649fd" + "e15a2c776605ba0e87d368010a77fc40" ], [ "languages/ko.js", @@ -54471,7 +54471,7 @@ const cachesMap = new Map([ ], [ "languages/zh-hans.css", - "e236d607e29f36710817a2a3b27a5c8a" + "5b79a32e58143a0adf0be2c7c46d0dd9" ], [ "languages/zh-hans.js", @@ -54479,7 +54479,7 @@ const cachesMap = new Map([ ], [ "languages/zh-hant.css", - "6be62563e13e5263c704432960e2c41e" + "aa3feff58a2ce832220fbf0eed921302" ], [ "languages/zh-hant.js", diff --git a/solo.html b/solo.html index 87a5c067..4bd2efef 100644 --- a/solo.html +++ b/solo.html @@ -982,6 +982,7 @@ const teamsCount = 1;
+
@@ -1475,7 +1476,7 @@ const teamsCount = 1; - +
diff --git a/style.css b/style.css index 5fb44887..530133f4 100644 --- a/style.css +++ b/style.css @@ -2668,6 +2668,9 @@ body.use-sticky .sticky-box{ height: 30vh; resize: vertical; } +.search-mon-list.only-show-dungeon-enhance>li:not(.is-dge) { + display: none; +} .setting-box .row-mon-id .real-time-change-card-label { diff --git a/triple.html b/triple.html index 22842675..7b3c6787 100644 --- a/triple.html +++ b/triple.html @@ -1827,6 +1827,7 @@ const teamsCount = 3;
+
@@ -2320,7 +2321,7 @@ const teamsCount = 3; - +