Browse Source

1、增加搜索觉醒时包含超觉醒;2、调整常用觉醒排序

tags/v8.0
枫谷剑仙 6 years ago
parent
commit
337075e5e2
11 changed files with 118 additions and 63 deletions
  1. +3
    -0
      languages/en.css
  2. +3
    -0
      languages/ja.css
  3. +3
    -0
      languages/ko.css
  4. +3
    -0
      languages/zh-TW.css
  5. +3
    -0
      languages/zh.css
  6. +1
    -1
      monsters-info/custom/chs.json
  7. +1
    -1
      monsters-info/custom/cht.json
  8. +1
    -1
      monsters-info/mon_ja.json
  9. +46
    -20
      script.js
  10. +20
    -19
      solo.html
  11. +34
    -21
      universal_function.js

+ 3
- 0
languages/en.css View File

@@ -251,6 +251,9 @@
.search-box .consider-equivalent-awoken-label::after{
content: "Search for Equivalent Awoken";
}
.search-box .include-super-awoken-label::after{
content: "Including Super Awoken";
}
.attrs .attr-all::before{
content: "All";
}


+ 3
- 0
languages/ja.css View File

@@ -244,6 +244,9 @@
.search-box .consider-equivalent-awoken-label::after{
content: "同時に同等の覚醒を検索";
}
.search-box .include-super-awoken-label::after{
content: "超覚醒を含む";
}
.attrs .attr-all::before{
content: "無制限";
}


+ 3
- 0
languages/ko.css View File

@@ -244,6 +244,9 @@
.search-box .consider-equivalent-awoken-label::after{
content: "동시에 해당 경계를 각성";
}
.search-box .include-super-awoken-label::after{
content: "슈퍼 각성 포함";
}
.attrs .attr-all::before{
content: "무제한";
}


+ 3
- 0
languages/zh-TW.css View File

@@ -250,6 +250,9 @@
.search-box .consider-equivalent-awoken-label::after{
content: "同時搜索等效覺醒";
}
.search-box .include-super-awoken-label::after{
content: "包括超覺醒";
}
.attrs .attr-all::before{
content: "不限";
}


+ 3
- 0
languages/zh.css View File

@@ -250,6 +250,9 @@
.search-box .consider-equivalent-awoken-label::after{
content: "同时搜索等效觉醒";
}
.search-box .include-super-awoken-label::after{
content: "包括超觉醒";
}
.attrs .attr-all::before{
content: "不限";
}


+ 1
- 1
monsters-info/custom/chs.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/custom/cht.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_ja.json
File diff suppressed because it is too large
View File


+ 46
- 20
script.js View File

@@ -677,6 +677,7 @@ function initialize()
const settingBox = editBox.querySelector(".setting-box");
const searchOpen = settingBox.querySelector(".row-mon-id .open-search");
searchOpen.onclick = function(){
s_includeSuperAwoken.onclick();
searchBox.classList.toggle("display-none");
};

@@ -694,21 +695,31 @@ function initialize()
const s_awokensEquivalent = searchBox.querySelector(".awoken-div #consider-equivalent-awoken"); //搜索等效觉醒

const s_sawokens = Array.prototype.slice.call(searchBox.querySelectorAll(".sawoken-div .sawoken-check"));
const s_sawokenDiv = searchBox.querySelector(".sawoken-div");
const s_sawokens = Array.prototype.slice.call(s_sawokenDiv.querySelectorAll(".sawoken-check"));
const s_includeSuperAwoken = searchBox.querySelector(".awoken-div #include-super-awoken"); //搜索超觉醒
s_includeSuperAwoken.onclick = function(){
if (this.checked)
s_sawokenDiv.classList.add("display-none");
else
s_sawokenDiv.classList.remove("display-none");
}

function search_awokenAdd1()
{
const countDom = this.parentNode.querySelector(".count");
let count = parseInt(countDom.innerHTML,10);
if (count<9)
{
count++;
countDom.innerHTML = count;
this.parentNode.classList.remove("zero");
}
}
s_awokensIcons.forEach((b,idx)=>{ //每种觉醒增加1
b.onclick = function(){
const countDom = s_awokensCounts[idx];
let count = parseInt(countDom.innerHTML,10);
if (count<9)
{
count++;
countDom.innerHTML = count;
b.parentNode.classList.remove("zero");
}
};
b.onclick = search_awokenAdd1;
});
function searchSubAwoken()
function search_awokenSub1()
{
let count = parseInt(this.innerHTML,10);
if (count>0)
@@ -722,7 +733,7 @@ function initialize()
}
}
s_awokensCounts.forEach((b,idx)=>{ //每种觉醒减少1
b.onclick = searchSubAwoken;
b.onclick = search_awokenSub1;
});

const awokenClear = searchBox.querySelector(".awoken-div .awoken-clear");
@@ -779,7 +790,6 @@ function initialize()
searchStart.onclick = function(){
const attr1Filter = s_attr1s.filter(returnCheckedInput).map(returnInputValue);
const attr2Filter = s_attr2s.filter(returnCheckedInput).map(returnInputValue);
const fixMainColor = s_fixMainColor.checked;
let attr1,attr2;
if (attr1Filter.length>0)
{
@@ -803,12 +813,28 @@ function initialize()
}
const typesFilter = s_types.filter(returnCheckedInput).map(returnInputValue).map(Str2Int);
const sawokensFilter = s_sawokens.filter(returnCheckedInput).map(returnInputValue).map(Str2Int);
const awokensFilter = s_awokensCounts.filter(btn=>{return parseInt(btn.innerHTML,10)>0;}).map(btn=>{
const awokensFilter = s_awokensCounts.filter(btn=>parseInt(btn.innerHTML,10)>0).map(btn=>{
return {id:parseInt(btn.value,10),num:parseInt(btn.innerHTML,10)};
});
console.debug("搜索条件",attr1,attr2,fixMainColor,typesFilter,awokensFilter,sawokensFilter,s_awokensEquivalent.checked);
const searchResult = searchCards(Cards,attr1,attr2,fixMainColor,typesFilter,awokensFilter,sawokensFilter,s_awokensEquivalent.checked);
console.debug("搜索结果",searchResult);
const searchResult = searchCards(Cards,
attr1,attr2,
s_fixMainColor.checked,
typesFilter,
awokensFilter,
sawokensFilter,
s_awokensEquivalent.checked,
s_includeSuperAwoken.checked
);
console.debug("搜索条件:属性[%d,%d],固定主副%s,类型:%o,觉醒:%o,超觉醒:%o,等效觉醒%s,搜超觉醒%s。\n搜索结果:%o",
attr1,attr2,
s_fixMainColor.checked,
typesFilter,
awokensFilter,
sawokensFilter,
s_awokensEquivalent.checked,
s_includeSuperAwoken.checked,
searchResult
);
showSearch(searchResult);
};
searchClose.onclick = function(){
@@ -847,8 +873,8 @@ function initialize()
};
monstersID.oninput = monstersID.onchange;
//觉醒
let monEditAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".row-mon-awoken .awoken-ul .awoken-icon"));
monEditAwokens.forEach((akDom,idx,domArr)=>{
const monEditAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".row-mon-awoken .awoken-ul .awoken-icon"));
monEditAwokens.forEach((akDom,idx)=>{
akDom.onclick = function(){
editBox.awokenCount = idx;
editBox.reCalculateAbility();


+ 20
- 19
solo.html View File

@@ -454,7 +454,21 @@ var formation = new Formation(teamsCount,6);
<div class="awoken-div"><!--觉醒-->
<button class="awoken-clear" ></button>
<input type="checkbox" name="consider-equivalent-awoken" class="config-checkbox-ipt" id="consider-equivalent-awoken"><label class="config-checkbox-lbl consider-equivalent-awoken-label" for="consider-equivalent-awoken"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" name="include-super-awoken" class="config-checkbox-ipt" id="include-super-awoken"><label class="config-checkbox-lbl include-super-awoken-label" for="include-super-awoken"><div class="config-checkbox-lbl-cicle"></div></label>
<ul class="awoken-ul">
<li class="awoken-count zero"><button class="awoken-icon awoken-43" value="43"></button><button class="count" value="43">0</button></li><!--7c-->
<li class="awoken-count zero"><button class="awoken-icon awoken-61" value="61"></button><button class="count" value="61">0</button></li><!--10c-->
<li class="awoken-count zero"><button class="awoken-icon awoken-48" value="48"></button><button class="count" value="48">0</button></li><!--破无效-->
<li class="awoken-count zero"><button class="awoken-icon awoken-49" value="49"></button><button class="count" value="49">0</button></li><!--武器觉醒-->
<li class="awoken-count zero"><button class="awoken-icon awoken-19" value="19"></button><button class="count" value="19">0</button></li><!--手指-->
<li class="awoken-count zero"><button class="awoken-icon awoken-21" value="21"></button><button class="count" value="21">0</button></li><!--SB-->
<li class="awoken-count zero"><button class="awoken-icon awoken-45" value="45"></button><button class="count" value="45">0</button></li><!--心追-->
<li class="awoken-count zero"><button class="awoken-icon awoken-10" value="10"></button><button class="count" value="10">0</button></li><!--防封-->
<li class="awoken-count zero"><button class="awoken-icon awoken-11" value="11"></button><button class="count" value="11">0</button></li><!--防暗-->
<li class="awoken-count zero"><button class="awoken-icon awoken-12" value="12"></button><button class="count" value="12">0</button></li><!--防废-->
<li class="awoken-count zero"><button class="awoken-icon awoken-13" value="13"></button><button class="count" value="13">0</button></li><!--防毒-->
<li class="awoken-count zero"><button class="awoken-icon awoken-54" value="54"></button><button class="count" value="54">0</button></li><!--防云-->
<li class="awoken-count zero"><button class="awoken-icon awoken-55" value="55"></button><button class="count" value="55">0</button></li><!--防封条-->
<li class="awoken-count zero"><button class="awoken-icon awoken-1" value="1"></button><button class="count" value="1">0</button></li><!--HP+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-2" value="2"></button><button class="count" value="2">0</button></li><!--攻击+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-3" value="3"></button><button class="count" value="3">0</button></li><!--回复+-->
@@ -464,18 +478,12 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count zero"><button class="awoken-icon awoken-7" value="7"></button><button class="count" value="7">0</button></li><!--光盾-->
<li class="awoken-count zero"><button class="awoken-icon awoken-8" value="8"></button><button class="count" value="8">0</button></li><!--暗盾-->
<li class="awoken-count zero"><button class="awoken-icon awoken-9" value="9"></button><button class="count" value="9">0</button></li><!--自回-->
<li class="awoken-count zero"><button class="awoken-icon awoken-10" value="10"></button><button class="count" value="10">0</button></li><!--防封-->
<li class="awoken-count zero"><button class="awoken-icon awoken-11" value="11"></button><button class="count" value="11">0</button></li><!--防暗-->
<li class="awoken-count zero"><button class="awoken-icon awoken-12" value="12"></button><button class="count" value="12">0</button></li><!--防废-->
<li class="awoken-count zero"><button class="awoken-icon awoken-13" value="13"></button><button class="count" value="13">0</button></li><!--防毒-->
<li class="awoken-count zero"><button class="awoken-icon awoken-14" value="14"></button><button class="count" value="14">0</button></li><!--火+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-15" value="15"></button><button class="count" value="15">0</button></li><!--水+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-16" value="16"></button><button class="count" value="16">0</button></li><!--木+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-17" value="17"></button><button class="count" value="17">0</button></li><!--光+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-18" value="18"></button><button class="count" value="18">0</button></li><!--暗+-->
<li class="awoken-count zero"><button class="awoken-icon awoken-19" value="19"></button><button class="count" value="19">0</button></li><!--手指-->
<li class="awoken-count zero"><button class="awoken-icon awoken-20" value="20"></button><button class="count" value="20">0</button></li><!--心解-->
<li class="awoken-count zero"><button class="awoken-icon awoken-21" value="21"></button><button class="count" value="21">0</button></li><!--SB-->
<li class="awoken-count zero"><button class="awoken-icon awoken-22" value="22"></button><button class="count" value="22">0</button></li><!--火横-->
<li class="awoken-count zero"><button class="awoken-icon awoken-23" value="23"></button><button class="count" value="23">0</button></li><!--水横-->
<li class="awoken-count zero"><button class="awoken-icon awoken-24" value="24"></button><button class="count" value="24">0</button></li><!--木横-->
@@ -497,25 +505,18 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count zero"><button class="awoken-icon awoken-40" value="40"></button><button class="count" value="40">0</button></li><!--觉醒杀-->
<li class="awoken-count zero"><button class="awoken-icon awoken-41" value="41"></button><button class="count" value="41">0</button></li><!--强化杀-->
<li class="awoken-count zero"><button class="awoken-icon awoken-42" value="42"></button><button class="count" value="42">0</button></li><!--卖钱杀-->
<li class="awoken-count zero"><button class="awoken-icon awoken-43" value="43"></button><button class="count" value="43">0</button></li><!--7c-->
<li class="awoken-count zero"><button class="awoken-icon awoken-44" value="44"></button><button class="count" value="44">0</button></li><!--5色破防-->
<li class="awoken-count zero"><button class="awoken-icon awoken-45" value="45"></button><button class="count" value="45">0</button></li><!--心追-->
<li class="awoken-count zero"><button class="awoken-icon awoken-46" value="46"></button><button class="count" value="46">0</button></li><!--全体HP-->
<li class="awoken-count zero"><button class="awoken-icon awoken-47" value="47"></button><button class="count" value="47">0</button></li><!--全体回复-->
<li class="awoken-count zero"><button class="awoken-icon awoken-48" value="48"></button><button class="count" value="48">0</button></li><!--破无效-->
<li class="awoken-count zero"><button class="awoken-icon awoken-49" value="49"></button><button class="count" value="49">0</button></li><!--武器觉醒-->
<li class="awoken-count zero"><button class="awoken-icon awoken-50" value="50"></button><button class="count" value="50">0</button></li><!--方块心追-->
<li class="awoken-count zero"><button class="awoken-icon awoken-51" value="51"></button><button class="count" value="51">0</button></li><!--5色溜-->
<li class="awoken-count zero"><button class="awoken-icon awoken-52" value="52"></button><button class="count" value="52">0</button></li><!--大防封-->
<li class="awoken-count zero"><button class="awoken-icon awoken-53" value="53"></button><button class="count" value="53">0</button></li><!--大手指-->
<li class="awoken-count zero"><button class="awoken-icon awoken-54" value="54"></button><button class="count" value="54">0</button></li><!--防云-->
<li class="awoken-count zero"><button class="awoken-icon awoken-55" value="55"></button><button class="count" value="55">0</button></li><!--防封条-->
<li class="awoken-count zero"><button class="awoken-icon awoken-56" value="56"></button><button class="count" value="56">0</button></li><!--大SB-->
<li class="awoken-count zero"><button class="awoken-icon awoken-57" value="57"></button><button class="count" value="57">0</button></li><!--满血强化-->
<li class="awoken-count zero"><button class="awoken-icon awoken-58" value="58"></button><button class="count" value="58">0</button></li><!--下半血强化-->
<li class="awoken-count zero"><button class="awoken-icon awoken-59" value="59"></button><button class="count" value="59">0</button></li><!--L盾-->
<li class="awoken-count zero"><button class="awoken-icon awoken-60" value="60"></button><button class="count" value="60">0</button></li><!--L解锁-->
<li class="awoken-count zero"><button class="awoken-icon awoken-61" value="61"></button><button class="count" value="61">0</button></li><!--10c-->
<li class="awoken-count zero"><button class="awoken-icon awoken-62" value="62"></button><button class="count" value="62">0</button></li><!--c珠-->
<li class="awoken-count zero"><button class="awoken-icon awoken-63" value="63"></button><button class="count" value="63">0</button></li><!--语音-->
<li class="awoken-count zero"><button class="awoken-icon awoken-64" value="64"></button><button class="count" value="64">0</button></li><!--奖励增加-->
@@ -561,7 +562,7 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="27" id="search-awoken-27" /><label class="awoken-icon awoken-27" for="search-awoken-27"></label></li><!--U-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="28" id="search-awoken-28" /><label class="awoken-icon awoken-28" for="search-awoken-28"></label></li><!--SX-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="29" id="search-awoken-29" /><label class="awoken-icon awoken-29" for="search-awoken-29"></label></li><!--心+-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="30" id="search-awoken-30" /><label class="awoken-icon awoken-30" for="search-awoken-30"></label></li><!--协力-->
<!--<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="30" id="search-awoken-30" /><label class="awoken-icon awoken-30" for="search-awoken-30"></label></li>--><!--协力-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="31" id="search-awoken-31" /><label class="awoken-icon awoken-31" for="search-awoken-31"></label></li><!--龙杀-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="32" id="search-awoken-32" /><label class="awoken-icon awoken-32" for="search-awoken-32"></label></li><!--神杀-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="33" id="search-awoken-33" /><label class="awoken-icon awoken-33" for="search-awoken-33"></label></li><!--恶魔杀-->
@@ -580,7 +581,7 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="46" id="search-awoken-46" /><label class="awoken-icon awoken-46" for="search-awoken-46"></label></li><!--全体HP-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="47" id="search-awoken-47" /><label class="awoken-icon awoken-47" for="search-awoken-47"></label></li><!--全体回复-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="48" id="search-awoken-48" /><label class="awoken-icon awoken-48" for="search-awoken-48"></label></li><!--破无效-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="49" id="search-awoken-49" /><label class="awoken-icon awoken-49" for="search-awoken-49"></label></li><!--武器觉醒-->
<!--<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="49" id="search-awoken-49" /><label class="awoken-icon awoken-49" for="search-awoken-49"></label></li>--><!--武器觉醒-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="50" id="search-awoken-50" /><label class="awoken-icon awoken-50" for="search-awoken-50"></label></li><!--方块心追-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="51" id="search-awoken-51" /><label class="awoken-icon awoken-51" for="search-awoken-51"></label></li><!--5色溜-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="52" id="search-awoken-52" /><label class="awoken-icon awoken-52" for="search-awoken-52"></label></li><!--大防封-->
@@ -594,11 +595,11 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="60" id="search-awoken-60" /><label class="awoken-icon awoken-60" for="search-awoken-60"></label></li><!--L解锁-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="61" id="search-awoken-61" /><label class="awoken-icon awoken-61" for="search-awoken-61"></label></li><!--10c-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="62" id="search-awoken-62" /><label class="awoken-icon awoken-62" for="search-awoken-62"></label></li><!--c珠-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="63" id="search-awoken-63" /><label class="awoken-icon awoken-63" for="search-awoken-63"></label></li><!--语音-->
<!--<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="63" id="search-awoken-63" /><label class="awoken-icon awoken-63" for="search-awoken-63"></label></li>--><!--语音-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="64" id="search-awoken-64" /><label class="awoken-icon awoken-64" for="search-awoken-64"></label></li><!--奖励增加-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="65" id="search-awoken-65" /><label class="awoken-icon awoken-65" for="search-awoken-65"></label></li><!--HP--->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="66" id="search-awoken-66" /><label class="awoken-icon awoken-66" for="search-awoken-66"></label></li><!--攻击--->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="67" id="search-awoken-67" /><label class="awoken-icon awoken-67" for="search-awoken-67"></label></li><!--回复--->
<!--<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="65" id="search-awoken-65" /><label class="awoken-icon awoken-65" for="search-awoken-65"></label></li>--><!--HP- -->
<!--<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="66" id="search-awoken-66" /><label class="awoken-icon awoken-66" for="search-awoken-66"></label></li>--><!--攻击- -->
<!--<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="67" id="search-awoken-67" /><label class="awoken-icon awoken-67" for="search-awoken-67"></label></li>--><!--回复- -->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="68" id="search-awoken-68" /><label class="awoken-icon awoken-68" for="search-awoken-68"></label></li><!--大防暗-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="69" id="search-awoken-69" /><label class="awoken-icon awoken-69" for="search-awoken-69"></label></li><!--大防废-->
<li class="awoken-count"><input type="checkbox" name="types" class="sawoken-check" value="70" id="search-awoken-70" /><label class="awoken-icon awoken-70" for="search-awoken-70"></label></li><!--大防毒-->


+ 34
- 21
universal_function.js View File

@@ -294,38 +294,38 @@ function calculateAbility(member = null, assist = null, solo = true)
return abilitys;
}
//搜索卡片用
function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equalAk)
function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equalAk,incSawoken)
{
let cardsRange = cards;
//属性
if (attr1 != null && attr1 === attr2)
{ //当两个颜色相同时,主副一样颜色的只需判断一次
cardsRange = cardsRange.filter(c=>{return c.attrs[0] == attr1 && c.attrs[1] == attr1;});
cardsRange = cardsRange.filter(c=>c.attrs[0] == attr1 && c.attrs[1] == attr1);
}else if (fixMainColor || attr2 == -1) //如果固定了顺序,或者副属性选的是无
{
if (attr1 != null)
{
cardsRange = cardsRange.filter(c=>{return c.attrs[0] == attr1;});
cardsRange = cardsRange.filter(c=>c.attrs[0] == attr1);
}
if (attr2 != null)
{
cardsRange = cardsRange.filter(c=>{return c.attrs[1] == attr2;});
cardsRange = cardsRange.filter(c=>c.attrs[1] == attr2);
}
}else //不限定顺序时
{
if (attr1 != null)
{
cardsRange = cardsRange.filter(c=>{return c.attrs.indexOf(attr1)>=0;});
cardsRange = cardsRange.filter(c=>c.attrs.indexOf(attr1)>=0);
}
if (attr2 != null)
{
cardsRange = cardsRange.filter(c=>{return c.attrs.indexOf(attr2)>=0;});
cardsRange = cardsRange.filter(c=>c.attrs.indexOf(attr2)>=0);
}
}
//类型
if (types.length>0)
{
cardsRange = cardsRange.filter(c=>{return types.some(t=>{return c.types.indexOf(t)>=0;});});
cardsRange = cardsRange.filter(c=>types.some(t=>c.types.indexOf(t)>=0));
}
//觉醒
@@ -348,23 +348,36 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equal
if (awokens.length>0)
{
cardsRange = cardsRange.filter(card => {return awokens.every(ak=>{
if (equalAk) //如果开启等效觉醒
{
//搜索等效觉醒
const equivalentAwoken = equivalent_awoken.find(eak => eak.small === ak.id);
if (equivalentAwoken)
{
const totalNum = card.awakenings.filter(cak=>{return cak == equivalentAwoken.small;}).length +
card.awakenings.filter(cak=>{return cak == equivalentAwoken.big;}).length * equivalentAwoken.times;
return totalNum >= ak.num;
}
cardsRange = cardsRange.filter(card => {
let cardAwakeningsArray = [];
if (incSawoken && card.superAwakenings.length > 0)
{ //如果搜索超觉醒,产生原始觉醒分别加上每个超觉醒的多个数组
cardAwakeningsArray = card.superAwakenings.map(sak=>card.awakenings.concat(sak));
}else
{ //单个原始觉醒数组
cardAwakeningsArray.push(card.awakenings);
}
return card.awakenings.filter(cak=>{return cak == ak.id;}).length >= ak.num;
});});
return cardAwakeningsArray.some(cardAwakening=>{ //重复每种包含超觉醒的觉醒数组,只要有一组符合要求就行
return awokens.every(ak=>{ //判断需要搜索的觉醒是不是全都在觉醒数组里
if (equalAk) //如果开启等效觉醒
{
//搜索等效觉醒
const equivalentAwoken = equivalent_awoken.find(eak => eak.small === ak.id);
if (equivalentAwoken)
{
const totalNum = cardAwakening.filter(cak=>cak == equivalentAwoken.small).length +
cardAwakening.filter(cak=>cak == equivalentAwoken.big).length * equivalentAwoken.times;
return totalNum >= ak.num;
}
}
return cardAwakening.filter(cak=>cak == ak.id).length >= ak.num;
});
});
});
}
//超觉醒
if (sawokens.length>0)
if (sawokens.length>0 && !incSawoken)
{
cardsRange = cardsRange.filter(card=>{return sawokens.some(sak=>{
const equivalentAwoken = equivalent_awoken.find(eak => eak.small === sak);


Loading…
Cancel
Save