重新修订不限定属性顺序时的搜索
This commit is contained in:
parent
b60dc1076a
commit
d568702e34
|
@ -959,7 +959,7 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
if (notWeapon) cardsRange = cardsRange.filter(card=>!card.awakenings.includes(49) && //不是武器
|
||||
!card.stackable); //不可堆叠
|
||||
//属性
|
||||
const anyAttrsFlag = 0b1111101;
|
||||
const anyAttrsFlag = 0b1011111;
|
||||
const isAnyAttrs = sAttrs.map(attr=>attr === 0 || (attr & anyAttrsFlag) == anyAttrsFlag);
|
||||
if (isAnyAttrs.some(any=>!any)) { //当任一属性不为任意颜色时才需要筛选属性,否则跳过属性筛选
|
||||
//如果固定顺序就直接使用当前颜色顺序;否则不考虑顺序时,去除任意色
|
||||
|
@ -979,8 +979,9 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
});
|
||||
}
|
||||
else {//不限定顺序时
|
||||
const attrFlags = sAttrs.filter(attr=>attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag);
|
||||
const notAnyAttrsCount = isAnyAttrs.filter(b=>!b).length;
|
||||
//const attrFlags = sAttrs.filter(attr=>attr > 0 && (attr & anyAttrsFlag) !== anyAttrsFlag);
|
||||
const attrFlags = sAttrs.map(attr=>attr || anyAttrsFlag);
|
||||
//const notAnyAttrsCount = isAnyAttrs.filter(b=>!b).length;
|
||||
cardsRange = cardsRange.filter(({attrs:cAttrs_, id}) => {
|
||||
const cAttrs = cAttrs_.concat();
|
||||
if (cAttrs[1] == undefined) cAttrs[1] = 6;
|
||||
|
@ -997,11 +998,12 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
// const columValue = matrix3x3.reduce((p,v)=>p | v[i],0);
|
||||
// columValues.push(columValue);
|
||||
// }
|
||||
if (!rowValues.every(Boolean)) return false; //如果有哪个选择器没有匹配上,直接跳过
|
||||
|
||||
const crossValue = cAttrs.map((cAttr, idx, arr)=> {
|
||||
return arr.filter(item=>item===cAttr).length <= rowValues.filter(item=>item & 1 << cAttr).length;
|
||||
});
|
||||
const match = rowValues.every(Boolean) && crossValue.every(Boolean);
|
||||
const match = crossValue.every(Boolean);
|
||||
// if (match) {
|
||||
// console.debug("id: %d, matrix3x3: %o, rowValues: %o, columValues: %o, crossValue: %o", id, matrix3x3, rowValues, columValues, crossValue);
|
||||
// }
|
||||
|
|
|
@ -6167,7 +6167,7 @@ function editMember(teamNum, isAssist, indexInTeam) {
|
|||
//超觉醒
|
||||
//const monEditCurrentSAwokenRow = monEditOuterAwokensRow.querySelector(".current-super-awoken");
|
||||
const mSAwokenIcon = monEditOuterAwokensRow.querySelector("#current-super-awoken-icon");
|
||||
mSAwokenIcon.setAttribute("data-awoken-icon", mon.sawoken);
|
||||
mSAwokenIcon.setAttribute("data-awoken-icon", mon.sawoken ?? 0);
|
||||
|
||||
const monEditLv = settingBox.querySelector(".row-mon-level .m-level");
|
||||
monEditLv.value = mon.level || 1;
|
||||
|
@ -6330,7 +6330,6 @@ function editBoxChangeMonId(id) {
|
|||
|
||||
//超觉醒
|
||||
const mSAwokenIcon = monEditOuterAwokensRow.querySelector("#current-super-awoken-icon");
|
||||
mSAwokenIcon.classList.toggle("sync-awakening", Boolean(card.syncAwakening));
|
||||
|
||||
const monEditSAwokensRow = monEditOuterAwokensRow.querySelector(".row-mon-super-awoken");
|
||||
const monEditSAwokensUl = monEditSAwokensRow.querySelector(".awoken-ul");
|
||||
|
@ -6378,6 +6377,7 @@ function editBoxChangeMonId(id) {
|
|||
btn.onclick = setSAwoken;
|
||||
monEditSAwokensUl.append(btn);
|
||||
});
|
||||
mSAwokenIcon.classList.toggle("sync-awakening", Boolean(card.syncAwakening));
|
||||
|
||||
const monEditLvMax = settingBox.querySelector(".m-level-btn-max");
|
||||
//monEditLvMax.textContent = monEditLvMax.value = card.maxLevel;
|
||||
|
|
|
@ -27603,11 +27603,11 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-universal_function.js",
|
||||
"368b8e11f5445f28cb3ffaa422a93cda"
|
||||
"6a6e0f1227206a263e2dde6995889bcb"
|
||||
],
|
||||
[
|
||||
"script.js",
|
||||
"9693e440ea12bd7b170a4453055c5467"
|
||||
"e51ac34e750f596abdb654eb315fe345"
|
||||
],
|
||||
[
|
||||
"solo.html",
|
||||
|
|
Loading…
Reference in New Issue