parent
285efd872d
commit
3584809d1a
|
@ -1478,7 +1478,7 @@ const teamsCount = 2;
|
|||
</div>
|
||||
|
||||
<template id="template-card-a">
|
||||
<a class="monster" target="_blank" data-cardid="" data-cards-pic-idx="" data-cards-pic-x="" data-cards-pic-y="" title=""><div class="attrs"><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div></div><div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div></div><div class="id"></div><div class="awoken-count-num"></div><div class="super-awoken display-none"><div class="awoken-icon"></div></div><div class="level"></div><div class="rarity"></div><div class="count-in-box"><span class="same-id"></span><span class="evo-tree"></span></div></a>
|
||||
<a class="monster" target="_blank" data-cardid="" data-cards-pic-idx="" data-cards-pic-x="" data-cards-pic-y="" title=""><div class="attrs"><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div></div><div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div></div><div class="id"></div><div class="awoken-count-num"></div><div class="super-awoken display-none"><div class="awoken-icon"></div></div><div class="level"></div><div class="rarity"></div><div class="count-in-box"><span class="same-id"></span><span class="evo-tree"></span></div></a>
|
||||
</template>
|
||||
</div>
|
||||
<svg id="interchange-line" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" height="100%" width="100%" style="display:none;">
|
||||
|
|
|
@ -4251,7 +4251,10 @@ const specialSearchFunctions = (function() {
|
|||
]},
|
||||
{group:true,name:"====== Awoken ======",otLangName:{chs:"======觉醒类======",cht:"======覺醒類======"}, functions: [
|
||||
{name:"Have Sync Awoken",otLangName:{chs:"有同步觉醒",cht:"有同步覺醒"},
|
||||
function:cards=>cards.filter(card=>card.syncAwakening)
|
||||
function:cards=>cards.filter(card=>card.syncAwakening),
|
||||
addition:card=>{if (card.syncAwakeningConditions) {
|
||||
return card.syncAwakeningConditions.map(c=>cardN(c.id)).nodeJoin();
|
||||
}}
|
||||
},
|
||||
{name:"8 latent grids",otLangName:{chs:"8格潜觉",cht:"8格潛覺"},
|
||||
function:cards=>cards.filter(card=>card.is8Latent)
|
||||
|
|
|
@ -949,27 +949,27 @@ function calculateAbility_max(id, solo, teamsCount, maxLevel = 110) {
|
|||
}
|
||||
//搜索卡片用
|
||||
function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rares, awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent, notWeapon}) {
|
||||
let cardsRange = cards.concat(); //这里需要复制一份原来的数组,不然若无筛选,后面的排序会改变初始Cards
|
||||
let cardsRange = [...cards]; //这里需要复制一份原来的数组,不然若无筛选,后面的排序会改变初始Cards
|
||||
if (canAssist) cardsRange = cardsRange.filter(card=>card.canAssist);
|
||||
if (canLv110) cardsRange = cardsRange.filter(card=>card.limitBreakIncr>0);
|
||||
if (is8Latent) cardsRange = cardsRange.filter(card=>card.is8Latent);
|
||||
if (notWeapon) cardsRange = cardsRange.filter(card=>!card.awakenings.includes(49) && //不是武器
|
||||
!card.stackable); //不可堆叠
|
||||
//属性
|
||||
const anyAttrsFlag = 0b1011111; //所有颜色的查找,注意右边才是最低位
|
||||
const anyAttrsFlag = 0b101_1111; //所有颜色的查找,注意右边才是最低位
|
||||
sAttrs = sAttrs.map(attr=>attr || anyAttrsFlag); //如果传入搜索为0,提高到任意色
|
||||
|
||||
if (sAttrs.some(attr=>(attr & anyAttrsFlag) !== anyAttrsFlag)) { //当任一属性不为任意颜色时才需要筛选属性,否则跳过属性筛选
|
||||
//如果固定顺序就直接使用当前颜色顺序;否则不考虑顺序时,去除任意色
|
||||
const attrNums = sAttrs.filter(attr=>fixMainColor || attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag)
|
||||
.map(attr=>{
|
||||
const attrNum = Bin.unflags(attr);
|
||||
if (attrNum.includes(6)) attrNum.push(undefined,-1); //如果是包含6的,就添加-1和undefined的值
|
||||
return attrNum;
|
||||
});
|
||||
// const attrNums = sAttrs.filter(attr=>fixMainColor || attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag)
|
||||
// .map(attr=>{
|
||||
// const attrNum = Bin.unflags(attr);
|
||||
// if (attrNum.includes(6)) attrNum.push(undefined,-1); //如果是包含6的,就添加-1和undefined的值
|
||||
// return attrNum;
|
||||
// });
|
||||
if (fixMainColor) {//如果固定了顺序
|
||||
//只有第一属性有搜索内容时才搜索无主属性
|
||||
const isSearchNoMainAttr = (sAttrs[0] ^ 0b1000000) > 0 && sAttrs.slice(1).every(attr=>(attr & anyAttrsFlag) === anyAttrsFlag);
|
||||
const isSearchNoMainAttr = (sAttrs[0] ^ 0b100_0000) > 0 && sAttrs.slice(1).every(attr=>(attr & anyAttrsFlag) === anyAttrsFlag);
|
||||
cardsRange = cardsRange.filter(({attrs:cAttrs}) => {
|
||||
//默认逻辑为,只要不是any,就判断这个颜色是否包含了对应的颜色
|
||||
//不能用怪物颜色来查找,因为怪物只有一个颜色就会提前退出循环,导致不搜索副属性
|
||||
|
@ -992,7 +992,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
else {//不限定顺序时
|
||||
//const notAnyAttrsCount = isAnyAttrs.filter(b=>!b).length;
|
||||
cardsRange = cardsRange.filter(({attrs:cAttrs, id}) => {
|
||||
cAttrs = cAttrs.concat();
|
||||
cAttrs = [...cAttrs];
|
||||
for (let i = 1; i < sAttrs.length; i++) {
|
||||
if (!Number.isInteger(cAttrs[i])) cAttrs[i] = 6;
|
||||
}
|
||||
|
@ -1024,7 +1024,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
//类型
|
||||
if (types.length > 0) {
|
||||
//所有type都满足,或只需要满足一个type
|
||||
let logicFunc = typeAndOr ? Array.prototype.every : Array.prototype.some;
|
||||
const logicFunc = typeAndOr ? Array.prototype.every : Array.prototype.some;
|
||||
cardsRange = cardsRange.filter(({types: cTypes}) => logicFunc.call(types, t => cTypes.includes(t)));
|
||||
}
|
||||
//稀有度
|
||||
|
@ -1032,7 +1032,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
cardsRange = cardsRange.filter(({rarity}) => rares.includes(rarity));
|
||||
}
|
||||
//觉醒
|
||||
let searchAwokens = [];
|
||||
const searchAwokens = [];
|
||||
//等效觉醒时,把大觉醒数量变成小觉醒数量
|
||||
if (equalAk) {
|
||||
awokens.forEach(ak=>{
|
||||
|
@ -1049,7 +1049,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
}
|
||||
});
|
||||
} else {
|
||||
searchAwokens = awokens.concat();
|
||||
searchAwokens.push(...awokens);
|
||||
}
|
||||
if (searchAwokens.length > 0) {
|
||||
cardsRange = cardsRange.filter(card => {
|
||||
|
|
12
script.js
12
script.js
|
@ -4278,12 +4278,14 @@ function initialize() {
|
|||
editBox.createCardHead = function(id, options = {}) {
|
||||
function clickHeadToNewMon(event) {
|
||||
event.preventDefault(); //取消链接的默认操作
|
||||
monstersID.value = this.card.id;
|
||||
monstersID.value = this.dataset.cardid;
|
||||
formIdSearch.onchange();
|
||||
}
|
||||
const cli = document.createElement("li");
|
||||
const cdom = cli.head = createCardA(options);
|
||||
cli.appendChild(cdom);
|
||||
|
||||
const cdom = cli.head = cli.appendChild(createCardA(options));
|
||||
cdom.onclick = clickHeadToNewMon;
|
||||
|
||||
let card;
|
||||
if (id instanceof Member) {
|
||||
changeid(id, cdom);
|
||||
|
@ -4402,7 +4404,6 @@ function initialize() {
|
|||
});
|
||||
}
|
||||
|
||||
cli.onclick = clickHeadToNewMon;
|
||||
return cli;
|
||||
};
|
||||
|
||||
|
@ -5060,9 +5061,8 @@ function initialize() {
|
|||
if (!heads || heads.length === 0) return; //没有数据时,直接返回
|
||||
const sortIndex = parseInt(s_sortList.value, 10);
|
||||
const reverse = s_sortReverse.checked;
|
||||
let headsArray = heads.concat();
|
||||
|
||||
headsArray.sort((head_a, head_b) => {
|
||||
const headsArray = heads.toSorted((head_a, head_b) => {
|
||||
const card_a = head_a.card,
|
||||
card_b = head_b.card;
|
||||
let sortNumber = sort_function_list[sortIndex].function(card_a, card_b);
|
||||
|
|
|
@ -30231,7 +30231,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-json_data.js",
|
||||
"982005039010a7e2128a6ce90d21718c"
|
||||
"37f21417e9c5c4be0685546aa6f280e0"
|
||||
],
|
||||
[
|
||||
"script-skill-parser.js",
|
||||
|
@ -30239,11 +30239,11 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-universal_function.js",
|
||||
"ca25f0fda84bb0030a2762ce51252f7e"
|
||||
"23209e5aee458faeb1282ae19fe7bc3e"
|
||||
],
|
||||
[
|
||||
"script.js",
|
||||
"6dc2f6824dc4cccecf17abf976f1787b"
|
||||
"c5a1df2c76abb1d5c99468c92c68e200"
|
||||
],
|
||||
[
|
||||
"solo.html",
|
||||
|
|
|
@ -1216,7 +1216,7 @@ const teamsCount = 1;
|
|||
</div>
|
||||
|
||||
<template id="template-card-a">
|
||||
<a class="monster" target="_blank" data-cardid="" data-cards-pic-idx="" data-cards-pic-x="" data-cards-pic-y="" title=""><div class="attrs"><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div></div><div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div></div><div class="id"></div><div class="awoken-count-num"></div><div class="super-awoken display-none"><div class="awoken-icon"></div></div><div class="level"></div><div class="rarity"></div><div class="count-in-box"><span class="same-id"></span><span class="evo-tree"></span></div></a>
|
||||
<a class="monster" target="_blank" data-cardid="" data-cards-pic-idx="" data-cards-pic-x="" data-cards-pic-y="" title=""><div class="attrs"><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div></div><div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div></div><div class="id"></div><div class="awoken-count-num"></div><div class="super-awoken display-none"><div class="awoken-icon"></div></div><div class="level"></div><div class="rarity"></div><div class="count-in-box"><span class="same-id"></span><span class="evo-tree"></span></div></a>
|
||||
</template>
|
||||
</div>
|
||||
<svg id="interchange-line" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" height="100%" width="100%" style="display:none;">
|
||||
|
|
17
style.css
17
style.css
|
@ -1331,6 +1331,14 @@ body:not(.solo) .awoken-icon[data-awoken-icon="64"]::after
|
|||
.team-leader .monster {
|
||||
border-color: var(--team-ft-color);
|
||||
}
|
||||
.team-members .monster,
|
||||
.team-assist .monster {
|
||||
cursor: grab;
|
||||
}
|
||||
.team-members .monster:active,
|
||||
.team-assist .monster:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
/*三维计算值*/
|
||||
.team-ability .abilitys
|
||||
|
@ -1609,7 +1617,8 @@ label[for="search-string"]::before {
|
|||
transform: scale(0.6);
|
||||
margin: calc(-100px * (1 - 0.6) / 2);
|
||||
}
|
||||
.rich-text .detail-mon .monster{
|
||||
.rich-text .detail-mon .monster,
|
||||
.custom-addition .detail-mon .monster{
|
||||
transform: scale(0.5);
|
||||
margin: calc(-100px * (1 - 0.5) / 2);
|
||||
}
|
||||
|
@ -2421,7 +2430,7 @@ input[disabled]+.awoken-icon:active,
|
|||
transform: scale(0.84);
|
||||
margin: -3px -1px;
|
||||
}
|
||||
.edit-box .awoken-ul .awoken-icon,
|
||||
.edit-box :where(.awoken-div,.row-awoken-sawoken) .awoken-ul .awoken-icon,
|
||||
.row-mon-awoken .awoken-count-num
|
||||
{
|
||||
cursor: pointer;
|
||||
|
@ -2742,10 +2751,10 @@ input[disabled]+.awoken-icon:active,
|
|||
|
||||
/*不允许使用的潜觉,不是手指,半透明,灰度*/
|
||||
.awoken-icon.unallowable-awoken,
|
||||
input[disabled]+.awoken-icon,
|
||||
.search-box .awoken-ul .awoken-count input[disabled]+.awoken-icon,
|
||||
.latent-icon.unallowable-latent
|
||||
{
|
||||
cursor: default !important;
|
||||
cursor: not-allowed;
|
||||
opacity: var(--search-icon-unchecked);
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
|
|
@ -2160,7 +2160,7 @@ const teamsCount = 3;
|
|||
</div>
|
||||
|
||||
<template id="template-card-a">
|
||||
<a class="monster" target="_blank" data-cardid="" data-cards-pic-idx="" data-cards-pic-x="" data-cards-pic-y="" title=""><div class="attrs"><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div></div><div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div></div><div class="id"></div><div class="awoken-count-num"></div><div class="super-awoken display-none"><div class="awoken-icon"></div></div><div class="level"></div><div class="rarity"></div><div class="count-in-box"><span class="same-id"></span><span class="evo-tree"></span></div></a>
|
||||
<a class="monster" target="_blank" data-cardid="" data-cards-pic-idx="" data-cards-pic-x="" data-cards-pic-y="" title=""><div class="attrs"><div class="attr"></div><div class="attr"></div><div class="attr"></div><div class="attr"></div></div><div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div></div><div class="id"></div><div class="awoken-count-num"></div><div class="super-awoken display-none"><div class="awoken-icon"></div></div><div class="level"></div><div class="rarity"></div><div class="count-in-box"><span class="same-id"></span><span class="evo-tree"></span></div></a>
|
||||
</template>
|
||||
</div>
|
||||
<svg id="interchange-line" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" height="100%" width="100%" style="display:none;">
|
||||
|
|
Loading…
Reference in New Issue