更改怪物搜索的属性部分的代码
This commit is contained in:
parent
b61473c70c
commit
d88bcd3afe
|
@ -393,29 +393,25 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,typeAndOr,rares,awoken
|
|||
{
|
||||
let cardsRange = cards.concat(); //这里需要复制一份原来的数组,不然若无筛选,后面的排序会改变初始Cards
|
||||
//属性
|
||||
if (attr1 != null && attr1 === attr2)
|
||||
if (attr1 != null && attr1 === attr2 || //主副属性一致并不为空
|
||||
(attr1 === 6 && attr2 === -1)) //主副属性都为“无”
|
||||
{ //当两个颜色相同时,主副一样颜色的只需判断一次
|
||||
cardsRange = cardsRange.filter(c=>c.attrs[0] === attr1 && c.attrs[1] === attr1);
|
||||
}else if (fixMainColor || attr1 === 6 || attr2 === -1) //如果固定了顺序,或者主副属性选的是无
|
||||
}else if (fixMainColor) //如果固定了顺序
|
||||
{
|
||||
if (attr1 != null)
|
||||
{
|
||||
cardsRange = cardsRange.filter(c=>c.attrs[0] == attr1);
|
||||
}
|
||||
if (attr2 != null)
|
||||
{
|
||||
cardsRange = cardsRange.filter(c=>c.attrs[1] == attr2);
|
||||
}
|
||||
const a1null = attr1 === null, a2null = attr2 === null;
|
||||
cardsRange = cardsRange.filter(c=>
|
||||
(a1null ? true : c.attrs[0] === attr1) &&
|
||||
(a2null ? true : c.attrs[1] === attr2)
|
||||
);
|
||||
}else //不限定顺序时
|
||||
{
|
||||
if (attr1 != null)
|
||||
{
|
||||
cardsRange = cardsRange.filter(c=>c.attrs.includes(attr1));
|
||||
}
|
||||
if (attr2 != null)
|
||||
{
|
||||
cardsRange = cardsRange.filter(c=>c.attrs.includes(attr2));
|
||||
}
|
||||
const search_attrs = [attr1, attr2].filter(a => a !== null && a >= 0 && a<=5); //所有非空属性
|
||||
const anone = attr1 === 6 || attr2 === -1; //是否有“无”属性
|
||||
cardsRange = cardsRange.filter(c=>
|
||||
search_attrs.every(a=>c.attrs.includes(a)) &&
|
||||
(anone ? (c.attrs.includes(6) || c.attrs.includes(-1)) : true)
|
||||
);
|
||||
}
|
||||
//类型
|
||||
if (types.length>0)
|
||||
|
|
Loading…
Reference in New Issue