parent
285efd872d
commit
3584809d1a
|
@ -1478,7 +1478,7 @@ const teamsCount = 2;
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template id="template-card-a">
|
<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>
|
</template>
|
||||||
</div>
|
</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;">
|
<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: [
|
{group:true,name:"====== Awoken ======",otLangName:{chs:"======觉醒类======",cht:"======覺醒類======"}, functions: [
|
||||||
{name:"Have Sync Awoken",otLangName:{chs:"有同步觉醒",cht:"有同步覺醒"},
|
{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格潛覺"},
|
{name:"8 latent grids",otLangName:{chs:"8格潜觉",cht:"8格潛覺"},
|
||||||
function:cards=>cards.filter(card=>card.is8Latent)
|
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}) {
|
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 (canAssist) cardsRange = cardsRange.filter(card=>card.canAssist);
|
||||||
if (canLv110) cardsRange = cardsRange.filter(card=>card.limitBreakIncr>0);
|
if (canLv110) cardsRange = cardsRange.filter(card=>card.limitBreakIncr>0);
|
||||||
if (is8Latent) cardsRange = cardsRange.filter(card=>card.is8Latent);
|
if (is8Latent) cardsRange = cardsRange.filter(card=>card.is8Latent);
|
||||||
if (notWeapon) cardsRange = cardsRange.filter(card=>!card.awakenings.includes(49) && //不是武器
|
if (notWeapon) cardsRange = cardsRange.filter(card=>!card.awakenings.includes(49) && //不是武器
|
||||||
!card.stackable); //不可堆叠
|
!card.stackable); //不可堆叠
|
||||||
//属性
|
//属性
|
||||||
const anyAttrsFlag = 0b1011111; //所有颜色的查找,注意右边才是最低位
|
const anyAttrsFlag = 0b101_1111; //所有颜色的查找,注意右边才是最低位
|
||||||
sAttrs = sAttrs.map(attr=>attr || anyAttrsFlag); //如果传入搜索为0,提高到任意色
|
sAttrs = sAttrs.map(attr=>attr || anyAttrsFlag); //如果传入搜索为0,提高到任意色
|
||||||
|
|
||||||
if (sAttrs.some(attr=>(attr & anyAttrsFlag) !== anyAttrsFlag)) { //当任一属性不为任意颜色时才需要筛选属性,否则跳过属性筛选
|
if (sAttrs.some(attr=>(attr & anyAttrsFlag) !== anyAttrsFlag)) { //当任一属性不为任意颜色时才需要筛选属性,否则跳过属性筛选
|
||||||
//如果固定顺序就直接使用当前颜色顺序;否则不考虑顺序时,去除任意色
|
//如果固定顺序就直接使用当前颜色顺序;否则不考虑顺序时,去除任意色
|
||||||
const attrNums = sAttrs.filter(attr=>fixMainColor || attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag)
|
// const attrNums = sAttrs.filter(attr=>fixMainColor || attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag)
|
||||||
.map(attr=>{
|
// .map(attr=>{
|
||||||
const attrNum = Bin.unflags(attr);
|
// const attrNum = Bin.unflags(attr);
|
||||||
if (attrNum.includes(6)) attrNum.push(undefined,-1); //如果是包含6的,就添加-1和undefined的值
|
// if (attrNum.includes(6)) attrNum.push(undefined,-1); //如果是包含6的,就添加-1和undefined的值
|
||||||
return attrNum;
|
// return attrNum;
|
||||||
});
|
// });
|
||||||
if (fixMainColor) {//如果固定了顺序
|
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}) => {
|
cardsRange = cardsRange.filter(({attrs:cAttrs}) => {
|
||||||
//默认逻辑为,只要不是any,就判断这个颜色是否包含了对应的颜色
|
//默认逻辑为,只要不是any,就判断这个颜色是否包含了对应的颜色
|
||||||
//不能用怪物颜色来查找,因为怪物只有一个颜色就会提前退出循环,导致不搜索副属性
|
//不能用怪物颜色来查找,因为怪物只有一个颜色就会提前退出循环,导致不搜索副属性
|
||||||
|
@ -992,7 +992,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
||||||
else {//不限定顺序时
|
else {//不限定顺序时
|
||||||
//const notAnyAttrsCount = isAnyAttrs.filter(b=>!b).length;
|
//const notAnyAttrsCount = isAnyAttrs.filter(b=>!b).length;
|
||||||
cardsRange = cardsRange.filter(({attrs:cAttrs, id}) => {
|
cardsRange = cardsRange.filter(({attrs:cAttrs, id}) => {
|
||||||
cAttrs = cAttrs.concat();
|
cAttrs = [...cAttrs];
|
||||||
for (let i = 1; i < sAttrs.length; i++) {
|
for (let i = 1; i < sAttrs.length; i++) {
|
||||||
if (!Number.isInteger(cAttrs[i])) cAttrs[i] = 6;
|
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) {
|
if (types.length > 0) {
|
||||||
//所有type都满足,或只需要满足一个type
|
//所有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)));
|
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));
|
cardsRange = cardsRange.filter(({rarity}) => rares.includes(rarity));
|
||||||
}
|
}
|
||||||
//觉醒
|
//觉醒
|
||||||
let searchAwokens = [];
|
const searchAwokens = [];
|
||||||
//等效觉醒时,把大觉醒数量变成小觉醒数量
|
//等效觉醒时,把大觉醒数量变成小觉醒数量
|
||||||
if (equalAk) {
|
if (equalAk) {
|
||||||
awokens.forEach(ak=>{
|
awokens.forEach(ak=>{
|
||||||
|
@ -1049,7 +1049,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
searchAwokens = awokens.concat();
|
searchAwokens.push(...awokens);
|
||||||
}
|
}
|
||||||
if (searchAwokens.length > 0) {
|
if (searchAwokens.length > 0) {
|
||||||
cardsRange = cardsRange.filter(card => {
|
cardsRange = cardsRange.filter(card => {
|
||||||
|
|
12
script.js
12
script.js
|
@ -4278,12 +4278,14 @@ function initialize() {
|
||||||
editBox.createCardHead = function(id, options = {}) {
|
editBox.createCardHead = function(id, options = {}) {
|
||||||
function clickHeadToNewMon(event) {
|
function clickHeadToNewMon(event) {
|
||||||
event.preventDefault(); //取消链接的默认操作
|
event.preventDefault(); //取消链接的默认操作
|
||||||
monstersID.value = this.card.id;
|
monstersID.value = this.dataset.cardid;
|
||||||
formIdSearch.onchange();
|
formIdSearch.onchange();
|
||||||
}
|
}
|
||||||
const cli = document.createElement("li");
|
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;
|
let card;
|
||||||
if (id instanceof Member) {
|
if (id instanceof Member) {
|
||||||
changeid(id, cdom);
|
changeid(id, cdom);
|
||||||
|
@ -4402,7 +4404,6 @@ function initialize() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cli.onclick = clickHeadToNewMon;
|
|
||||||
return cli;
|
return cli;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -5060,9 +5061,8 @@ function initialize() {
|
||||||
if (!heads || heads.length === 0) return; //没有数据时,直接返回
|
if (!heads || heads.length === 0) return; //没有数据时,直接返回
|
||||||
const sortIndex = parseInt(s_sortList.value, 10);
|
const sortIndex = parseInt(s_sortList.value, 10);
|
||||||
const reverse = s_sortReverse.checked;
|
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,
|
const card_a = head_a.card,
|
||||||
card_b = head_b.card;
|
card_b = head_b.card;
|
||||||
let sortNumber = sort_function_list[sortIndex].function(card_a, card_b);
|
let sortNumber = sort_function_list[sortIndex].function(card_a, card_b);
|
||||||
|
|
|
@ -30231,7 +30231,7 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script-json_data.js",
|
"script-json_data.js",
|
||||||
"982005039010a7e2128a6ce90d21718c"
|
"37f21417e9c5c4be0685546aa6f280e0"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script-skill-parser.js",
|
"script-skill-parser.js",
|
||||||
|
@ -30239,11 +30239,11 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script-universal_function.js",
|
"script-universal_function.js",
|
||||||
"ca25f0fda84bb0030a2762ce51252f7e"
|
"23209e5aee458faeb1282ae19fe7bc3e"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script.js",
|
"script.js",
|
||||||
"6dc2f6824dc4cccecf17abf976f1787b"
|
"c5a1df2c76abb1d5c99468c92c68e200"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"solo.html",
|
"solo.html",
|
||||||
|
|
|
@ -1216,7 +1216,7 @@ const teamsCount = 1;
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template id="template-card-a">
|
<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>
|
</template>
|
||||||
</div>
|
</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;">
|
<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 {
|
.team-leader .monster {
|
||||||
border-color: var(--team-ft-color);
|
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
|
.team-ability .abilitys
|
||||||
|
@ -1609,7 +1617,8 @@ label[for="search-string"]::before {
|
||||||
transform: scale(0.6);
|
transform: scale(0.6);
|
||||||
margin: calc(-100px * (1 - 0.6) / 2);
|
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);
|
transform: scale(0.5);
|
||||||
margin: calc(-100px * (1 - 0.5) / 2);
|
margin: calc(-100px * (1 - 0.5) / 2);
|
||||||
}
|
}
|
||||||
|
@ -2421,7 +2430,7 @@ input[disabled]+.awoken-icon:active,
|
||||||
transform: scale(0.84);
|
transform: scale(0.84);
|
||||||
margin: -3px -1px;
|
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
|
.row-mon-awoken .awoken-count-num
|
||||||
{
|
{
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@ -2742,10 +2751,10 @@ input[disabled]+.awoken-icon:active,
|
||||||
|
|
||||||
/*不允许使用的潜觉,不是手指,半透明,灰度*/
|
/*不允许使用的潜觉,不是手指,半透明,灰度*/
|
||||||
.awoken-icon.unallowable-awoken,
|
.awoken-icon.unallowable-awoken,
|
||||||
input[disabled]+.awoken-icon,
|
.search-box .awoken-ul .awoken-count input[disabled]+.awoken-icon,
|
||||||
.latent-icon.unallowable-latent
|
.latent-icon.unallowable-latent
|
||||||
{
|
{
|
||||||
cursor: default !important;
|
cursor: not-allowed;
|
||||||
opacity: var(--search-icon-unchecked);
|
opacity: var(--search-icon-unchecked);
|
||||||
filter: grayscale(100%);
|
filter: grayscale(100%);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2160,7 +2160,7 @@ const teamsCount = 3;
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template id="template-card-a">
|
<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>
|
</template>
|
||||||
</div>
|
</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;">
|
<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