增加功能:仅显示被地下城增强的,用来限定搜索的合作范围。

This commit is contained in:
枫谷剑仙 2025-06-26 22:40:02 +08:00
parent a07ab6777d
commit 7e8230fd87
12 changed files with 66 additions and 38 deletions

View File

@ -344,6 +344,9 @@ label[for="fix-main-color"]::after{
.search-box label[for="sort-reverse"]::after{ .search-box label[for="sort-reverse"]::after{
content: "Reverse"; content: "Reverse";
} }
.search-box label[for="only-show-dungeon-enhance"]::after{
content: "Only enhanced by dungeons";
}
.search-box .additional-div::before{ .search-box .additional-div::before{
content: "Additional display:"; content: "Additional display:";
} }

View File

@ -343,6 +343,9 @@ label[for="fix-main-color"]::after{
.search-box label[for="sort-reverse"]::after{ .search-box label[for="sort-reverse"]::after{
content: "逆序"; content: "逆序";
} }
.search-box label[for="only-show-dungeon-enhance"]::after{
content: "ダンジョンによってのみ強化される";
}
.search-box .additional-div::before{ .search-box .additional-div::before{
content: "追加の表示:"; content: "追加の表示:";
} }

View File

@ -339,6 +339,9 @@ label[for="fix-main-color"]::after{
.search-box label[for="sort-reverse"]::after{ .search-box label[for="sort-reverse"]::after{
content: "역순"; content: "역순";
} }
.search-box label[for="only-show-dungeon-enhance"]::after{
content: "던전에 의해서만 강화됩니다";
}
.search-box .additional-div::before{ .search-box .additional-div::before{
content: "추가 표시:"; content: "추가 표시:";
} }

View File

@ -344,6 +344,9 @@ label[for="fix-main-color"]::after{
.search-box label[for="sort-reverse"]::after{ .search-box label[for="sort-reverse"]::after{
content: "逆序"; content: "逆序";
} }
.search-box label[for="only-show-dungeon-enhance"]::after{
content: "仅显示被地下城增强的";
}
.search-box .additional-div::before{ .search-box .additional-div::before{
content: "附加显示:"; content: "附加显示:";
} }

View File

@ -344,6 +344,9 @@ label[for="fix-main-color"]::after{
.search-box label[for="sort-reverse"]::after{ .search-box label[for="sort-reverse"]::after{
content: "逆序"; content: "逆序";
} }
.search-box label[for="only-show-dungeon-enhance"]::after{
content: "僅顯示被地下城增強的";
}
.search-box .additional-div::before{ .search-box .additional-div::before{
content: "附加顯示:"; content: "附加顯示:";
} }

View File

@ -1292,6 +1292,7 @@ const teamsCount = 2;
<div class="sort-div"><!--排序栏--> <div class="sort-div"><!--排序栏-->
<select class="sort-list"></select> <select class="sort-list"></select>
<input type="checkbox" class="switch-ipt" name="sort-reverse" id="sort-reverse"><label for="sort-reverse"></label> <input type="checkbox" class="switch-ipt" name="sort-reverse" id="sort-reverse"><label for="sort-reverse"></label>
<input type="checkbox" class="switch-ipt" name="only-show-dungeon-enhance" id="only-show-dungeon-enhance"><label for="only-show-dungeon-enhance"></label>
<div class="search-list-length"></div> <div class="search-list-length"></div>
</div> </div>
</div> </div>
@ -1785,7 +1786,7 @@ const teamsCount = 2;
<button class="upload-data brown-button"></button> <button class="upload-data brown-button"></button>
<input type="file" class="file-select display-none" multiple/> <input type="file" class="file-select display-none" multiple/>
<a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a> <a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a>
<input type="checkbox" name="box-have" id="box-have"><label for="box-have"></label> <input type="checkbox" name="box-have" id="box-have" class="switch-ipt"><label for="box-have"></label>
</div> </div>
<div class="mask-content"> <div class="mask-content">
<ul class="player-datas-list"></ul> <ul class="player-datas-list"></ul>

View File

@ -845,6 +845,26 @@ function calculateExp(member) {
expArray.push(Math.max(0, Math.min(member.level, 120) - 110) * 20000000); expArray.push(Math.max(0, Math.min(member.level, 120) - 110) * 20000000);
return expArray; 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) { function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
if (!member) return null; if (!member) return null;
@ -909,22 +929,7 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
//地下城强化 //地下城强化
const dge = formation.dungeonEnchance; const dge = formation.dungeonEnchance;
const dgeRate = [dge.rate.hp, dge.rate.atk, dge.rate.rcv]; const dgeRate = [dge.rate.hp, dge.rate.atk, dge.rate.rcv];
const isDge = (()=>{ const isDge = isDungeonEnhance(dge, member, assist);
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)) //符合类型
,
};
})();
//地下城阴阳加护强化 //地下城阴阳加护强化
if (dge.benefit) { //当存在加护 if (dge.benefit) { //当存在加护

View File

@ -5122,8 +5122,7 @@ function initialize() {
const s_add_show_abilities_with_awoken = searchBox.querySelector("#add-show-abilities-with-awoken"); //是否显示计算觉醒的三维 const s_add_show_abilities_with_awoken = searchBox.querySelector("#add-show-abilities-with-awoken"); //是否显示计算觉醒的三维
const searchResultCount = searchBox.querySelector(".search-list-length"); const searchResultCount = searchBox.querySelector(".search-list-length");
showSearch = function(searchArr, customAdditionalFunction) showSearch = function(searchArr, customAdditionalFunction) {
{
if (typeof(searchArr) === "number") { if (typeof(searchArr) === "number") {
searchArr = [searchArr]; searchArr = [searchArr];
} }
@ -5141,7 +5140,6 @@ function initialize() {
} }
searchBox.open = true; searchBox.open = true;
searchMonList.classList.remove(className_displayNone);
editBox.show(); editBox.show();
const createCardHead = editBox.createCardHead; const createCardHead = editBox.createCardHead;
@ -5165,11 +5163,10 @@ function initialize() {
customAddition: Array.isArray(customAdditionalFunction) ? customAdditionalFunction : (typeof customAdditionalFunction == "function" ? [customAdditionalFunction] : []) customAddition: Array.isArray(customAdditionalFunction) ? customAdditionalFunction : (typeof customAdditionalFunction == "function" ? [customAdditionalFunction] : [])
}; };
searchMonList.originalHeads = searchArr.map(card => { searchMonList.originalHeads = searchArr.map(card => {
if (card instanceof Member) { const avatarNode = createCardHead(card instanceof Member ? card : card.id, additionalOption);
return createCardHead(card, additionalOption); const isDge = isDungeonEnhance(formation.dungeonEnchance, card);
} else { avatarNode.classList.toggle("is-dge", isDge.awoken);
return createCardHead(card.id, additionalOption); return avatarNode;
}
}); });
searchMonList.customAddition = additionalOption.customAddition; searchMonList.customAddition = additionalOption.customAddition;
//对头像列表进行排序 //对头像列表进行排序
@ -5394,6 +5391,11 @@ function initialize() {
newOpt.setAttribute("data-tag", sfunc.tag); newOpt.setAttribute("data-tag", sfunc.tag);
s_sortList.options.add(newOpt); 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搜索 //id搜索
editBox.changeMonId = editBoxChangeMonId; editBox.changeMonId = editBoxChangeMonId;

View File

@ -54395,7 +54395,7 @@ const cachesMap = new Map([
], ],
[ [
"multi.html", "multi.html",
"7767c73c5f80725d6e4ef6c6f7356223" "87bcda44a4def639b642ab3fadc32cb7"
], ],
[ [
"script-custom_elements.js", "script-custom_elements.js",
@ -54411,15 +54411,15 @@ const cachesMap = new Map([
], ],
[ [
"script-universal_function.js", "script-universal_function.js",
"1d2c8fb8a30b8958ea6da3a7682498cd" "7de0374d14414c5894138630e2139578"
], ],
[ [
"script.js", "script.js",
"542d09d17802246336d198a547d95703" "fe31655ca750f6e030ae6f25b7c5b5a8"
], ],
[ [
"solo.html", "solo.html",
"95a7afd45c572ab804917e29d1783e60" "633cdb0ed0786321ae54451b6bd8e08b"
], ],
[ [
"style-fix-html2canvas.css", "style-fix-html2canvas.css",
@ -54431,7 +54431,7 @@ const cachesMap = new Map([
], ],
[ [
"style.css", "style.css",
"77791a5864f41d7577c130ad090776bf" "4922f21188a7c946fb4ecdc8bccdac1c"
], ],
[ [
"temp.js", "temp.js",
@ -54439,11 +54439,11 @@ const cachesMap = new Map([
], ],
[ [
"triple.html", "triple.html",
"56f9ee4a50b32f0d896b5154c801d45b" "04878ddb76de4998e8ee62bf91be60e2"
], ],
[ [
"languages/en.css", "languages/en.css",
"c1d5aca45b5b4379a2a553070b8852e9" "36c2996f2028568f455a0d4f0191ab77"
], ],
[ [
"languages/en.js", "languages/en.js",
@ -54451,7 +54451,7 @@ const cachesMap = new Map([
], ],
[ [
"languages/ja.css", "languages/ja.css",
"9435ea1636e9a8389502a7ce07d23caa" "2952bc658c8bc4232bba3586ac7e90b1"
], ],
[ [
"languages/ja.js", "languages/ja.js",
@ -54459,7 +54459,7 @@ const cachesMap = new Map([
], ],
[ [
"languages/ko.css", "languages/ko.css",
"9f2052af52e181a383c3ea25477649fd" "e15a2c776605ba0e87d368010a77fc40"
], ],
[ [
"languages/ko.js", "languages/ko.js",
@ -54471,7 +54471,7 @@ const cachesMap = new Map([
], ],
[ [
"languages/zh-hans.css", "languages/zh-hans.css",
"e236d607e29f36710817a2a3b27a5c8a" "5b79a32e58143a0adf0be2c7c46d0dd9"
], ],
[ [
"languages/zh-hans.js", "languages/zh-hans.js",
@ -54479,7 +54479,7 @@ const cachesMap = new Map([
], ],
[ [
"languages/zh-hant.css", "languages/zh-hant.css",
"6be62563e13e5263c704432960e2c41e" "aa3feff58a2ce832220fbf0eed921302"
], ],
[ [
"languages/zh-hant.js", "languages/zh-hant.js",

View File

@ -982,6 +982,7 @@ const teamsCount = 1;
<div class="sort-div"><!--排序栏--> <div class="sort-div"><!--排序栏-->
<select class="sort-list"></select> <select class="sort-list"></select>
<input type="checkbox" class="switch-ipt" name="sort-reverse" id="sort-reverse"><label for="sort-reverse"></label> <input type="checkbox" class="switch-ipt" name="sort-reverse" id="sort-reverse"><label for="sort-reverse"></label>
<input type="checkbox" class="switch-ipt" name="only-show-dungeon-enhance" id="only-show-dungeon-enhance"><label for="only-show-dungeon-enhance"></label>
<div class="search-list-length"></div> <div class="search-list-length"></div>
</div> </div>
</div> </div>
@ -1475,7 +1476,7 @@ const teamsCount = 1;
<button class="upload-data brown-button"></button> <button class="upload-data brown-button"></button>
<input type="file" class="file-select display-none" multiple/> <input type="file" class="file-select display-none" multiple/>
<a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a> <a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a>
<input type="checkbox" name="box-have" id="box-have"><label for="box-have"></label> <input type="checkbox" name="box-have" id="box-have" class="switch-ipt"><label for="box-have"></label>
</div> </div>
<div class="mask-content"> <div class="mask-content">
<ul class="player-datas-list"></ul> <ul class="player-datas-list"></ul>

View File

@ -2668,6 +2668,9 @@ body.use-sticky .sticky-box{
height: 30vh; height: 30vh;
resize: vertical; 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 .setting-box .row-mon-id .real-time-change-card-label
{ {

View File

@ -1827,6 +1827,7 @@ const teamsCount = 3;
<div class="sort-div"><!--排序栏--> <div class="sort-div"><!--排序栏-->
<select class="sort-list"></select> <select class="sort-list"></select>
<input type="checkbox" class="switch-ipt" name="sort-reverse" id="sort-reverse"><label for="sort-reverse"></label> <input type="checkbox" class="switch-ipt" name="sort-reverse" id="sort-reverse"><label for="sort-reverse"></label>
<input type="checkbox" class="switch-ipt" name="only-show-dungeon-enhance" id="only-show-dungeon-enhance"><label for="only-show-dungeon-enhance"></label>
<div class="search-list-length"></div> <div class="search-list-length"></div>
</div> </div>
</div> </div>
@ -2320,7 +2321,7 @@ const teamsCount = 3;
<button class="upload-data brown-button"></button> <button class="upload-data brown-button"></button>
<input type="file" class="file-select display-none" multiple/> <input type="file" class="file-select display-none" multiple/>
<a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a> <a class="how-to-use" target="_blank" href="doc/export-player-data.html"></a>
<input type="checkbox" name="box-have" id="box-have"><label for="box-have"></label> <input type="checkbox" name="box-have" id="box-have" class="switch-ipt"><label for="box-have"></label>
</div> </div>
<div class="mask-content"> <div class="mask-content">
<ul class="player-datas-list"></ul> <ul class="player-datas-list"></ul>