| @@ -862,16 +862,16 @@ var formation = new Formation(teamsCount,5); | |||
| </div> | |||
| <div class="rare-div"><!--稀有星级--> | |||
| <div class="rare-list"> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="1" checked/><div class="rare-icon" data-rare-icon="1"></div><input type="radio" class="rare-radio" name="rare-high" value="1" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="2" /><div class="rare-icon" data-rare-icon="2"></div><input type="radio" class="rare-radio" name="rare-high" value="2" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="3" /><div class="rare-icon" data-rare-icon="3"></div><input type="radio" class="rare-radio" name="rare-high" value="3" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="4" /><div class="rare-icon" data-rare-icon="4"></div><input type="radio" class="rare-radio" name="rare-high" value="4" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="5" /><div class="rare-icon" data-rare-icon="5"></div><input type="radio" class="rare-radio" name="rare-high" value="5" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="6" /><div class="rare-icon" data-rare-icon="6"></div><input type="radio" class="rare-radio" name="rare-high" value="6" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="7" /><div class="rare-icon" data-rare-icon="7"></div><input type="radio" class="rare-radio" name="rare-high" value="7" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="8" /><div class="rare-icon" data-rare-icon="8"></div><input type="radio" class="rare-radio" name="rare-high" value="8" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="9" /><div class="rare-icon" data-rare-icon="9"></div><input type="radio" class="rare-radio" name="rare-high" value="9" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="10" /><div class="rare-icon" data-rare-icon="10"></div><input type="radio" class="rare-radio" name="rare-high" value="10" checked/> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="1" id="search-rare-1" checked /><label class="rare-icon" data-rare-icon="1" for="search-rare-1"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="2" id="search-rare-2" checked /><label class="rare-icon" data-rare-icon="2" for="search-rare-2"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="3" id="search-rare-3" checked /><label class="rare-icon" data-rare-icon="3" for="search-rare-3"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="4" id="search-rare-4" checked /><label class="rare-icon" data-rare-icon="4" for="search-rare-4"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="5" id="search-rare-5" checked /><label class="rare-icon" data-rare-icon="5" for="search-rare-5"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="6" id="search-rare-6" checked /><label class="rare-icon" data-rare-icon="6" for="search-rare-6"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="7" id="search-rare-7" checked /><label class="rare-icon" data-rare-icon="7" for="search-rare-7"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="8" id="search-rare-8" checked /><label class="rare-icon" data-rare-icon="8" for="search-rare-8"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="9" id="search-rare-9" checked /><label class="rare-icon" data-rare-icon="9" for="search-rare-9"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="10" id="search-rare-10" checked /><label class="rare-icon" data-rare-icon="10" for="search-rare-10"></label> | |||
| </div> | |||
| <button class="rare-clear brown-button"></button> | |||
| </div> | |||
| @@ -679,7 +679,7 @@ function calculateAbility_max(id, solo, teamsCount, maxLevel = 110) { | |||
| } | |||
| } | |||
| //搜索卡片用 | |||
| function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rares:[rareLow, rareHigh], awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent}) { | |||
| function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rares, awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent}) { | |||
| let cardsRange = cards.concat(); //这里需要复制一份原来的数组,不然若无筛选,后面的排序会改变初始Cards | |||
| if (canAssist) cardsRange = cardsRange.filter(card=>card.canAssist); | |||
| if (canLv110) cardsRange = cardsRange.filter(card=>card.limitBreakIncr>0); | |||
| @@ -716,14 +716,13 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare | |||
| } | |||
| //类型 | |||
| if (types.length > 0) { | |||
| cardsRange = cardsRange.filter(({types: cTypes}) => | |||
| //所有type都满足,或只需要满足一个type | |||
| types[typeAndOr ? 'every' : 'some'](t => cTypes.includes(t)) | |||
| ); | |||
| //所有type都满足,或只需要满足一个type | |||
| let logicFunc = typeAndOr ? Array.prototype.every : Array.prototype.some; | |||
| cardsRange = cardsRange.filter(({types: cTypes}) => logicFunc.call(types, t => cTypes.includes(t))); | |||
| } | |||
| //稀有度 | |||
| if (rareLow !== 1 || rareHigh !== 10) { //不是1~10时才进行筛选 | |||
| cardsRange = cardsRange.filter(({rarity}) => rarity >= rareLow && rarity <= rareHigh); | |||
| if (rares.length < 10) { //不是1~10时才进行筛选 | |||
| cardsRange = cardsRange.filter(({rarity}) => rares.includes(rarity)); | |||
| } | |||
| //觉醒 | |||
| let searchAwokens = []; | |||
| @@ -3539,45 +3539,12 @@ function initialize() { | |||
| //稀有度筛选 | |||
| const s_rareDiv = searchBox.querySelector(".rare-div"); | |||
| const s_rareLst = s_rareDiv.querySelector(".rare-list"); | |||
| const s_rareIcons = Array.from(s_rareLst.querySelectorAll(".rare-icon")); | |||
| const s_rareLows = Array.from(s_rareLst.querySelectorAll("input[name='rare-low']")); | |||
| const s_rareHighs = Array.from(s_rareLst.querySelectorAll("input[name='rare-high']")); | |||
| function s_rareIcons_onclick() | |||
| { | |||
| const thisValue = parseInt(this.getAttribute("data-rare-icon"),10); | |||
| const radioLow = s_rareLows.find(radio=>radio.checked); | |||
| const radioHigh = s_rareHighs.find(radio=>radio.checked); | |||
| const rangeLow = radioLow ? parseInt(radioLow.value,10) : 1; | |||
| const rangeHigh = radioHigh ? parseInt(radioHigh.value,10) : 10; | |||
| s_rareLows.find(radio=>parseInt(radio.value,10) == ( | |||
| rangeLow != rangeHigh ? | |||
| thisValue : | |||
| ( | |||
| thisValue == rangeLow ? | |||
| 1 : | |||
| Math.min(thisValue,rangeLow) | |||
| ) | |||
| )).checked = true; | |||
| s_rareHighs.find(radio=>parseInt(radio.value,10) == ( | |||
| rangeLow != rangeHigh ? | |||
| thisValue : | |||
| ( | |||
| thisValue == rangeLow ? | |||
| 10 : | |||
| Math.max(thisValue,rangeHigh) | |||
| ) | |||
| )).checked = true; | |||
| } | |||
| s_rareIcons.forEach(icon=>icon.onclick = s_rareIcons_onclick); | |||
| const s_rareChecks = Array.from(s_rareLst.querySelectorAll("input[name='search-rare']")); | |||
| const s_rareClear = s_rareDiv.querySelector(".rare-clear"); | |||
| s_rareClear.onclick = function(){ | |||
| s_rareLows[0].checked = true; | |||
| s_rareHighs[s_rareHighs.length-1].checked = true; | |||
| s_rareChecks.forEach(i => i.checked = true); | |||
| } | |||
| //const s_rare = s_rareLi.map(li=>li.querySelector(".rare-check")); //checkbox集合 | |||
| const s_awokensDiv = searchBox.querySelector(".awoken-div"); | |||
| const s_awokensUl = s_awokensDiv.querySelector(":scope .all-awokens .awoken-ul"); | |||
| const s_awokensLi = Array.from(s_awokensUl.querySelectorAll(".awoken-count")); | |||
| @@ -3923,7 +3890,7 @@ function initialize() { | |||
| s_add_show_abilities_with_awoken.onchange = reShowSearch; | |||
| //恢复搜索状态 | |||
| searchBox.recoverySearchStatus = function({attrs, fixMainColor, types, typeAndOr, rares:[rareLow, rareHigh], awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent, specialFilters}) { | |||
| searchBox.recoverySearchStatus = function({attrs, fixMainColor, types, typeAndOr, rares, awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent, specialFilters}) { | |||
| //属性这里是用的2进制写 | |||
| attrs.forEach((attr, ai)=>{ | |||
| const attr_list = s_attr_lists[ai]; | |||
| @@ -3934,8 +3901,7 @@ function initialize() { | |||
| s_fixMainColor.checked = fixMainColor; | |||
| s_types.filter(opt=>types.includes(parseInt(opt.value,10))).forEach(opt=>opt.checked = true); | |||
| s_typeAndOr.checked = typeAndOr; | |||
| (s_rareLows.find(opt=>parseInt(opt.value,10) == rareLow) || s_rareLows[0]).checked = true; | |||
| (s_rareHighs.find(opt=>parseInt(opt.value,10) == rareHigh) || s_rareHighs[s_rareHighs.length-1]).checked = true; | |||
| s_rareChecks.filter(opt=>rares.includes(parseInt(opt.value,10))).forEach(opt=>opt.checked = true); | |||
| s_selectedAwokensUl.innerHTML = ""; | |||
| //添加觉醒 | |||
| @@ -3971,10 +3937,7 @@ function initialize() { | |||
| searchBox.getSearchOptions = function(){ | |||
| const attrs = s_attr_lists.map(list=>parseInt(returnRadiosValue(list), 2) || 0); | |||
| const types = returnCheckBoxsValues(s_types).map(Str2Int); | |||
| const rares = [ | |||
| parseInt(returnRadiosValue(s_rareLows), 10), | |||
| parseInt(returnRadiosValue(s_rareHighs), 10), | |||
| ]; | |||
| const rares = returnCheckBoxsValues(s_rareChecks).map(Str2Int); | |||
| const sawokens = returnCheckBoxsValues(s_sawokens).map(Str2Int); | |||
| const awokens = s_awokensIcons.filter(btn => parseInt(btn.getAttribute("data-awoken-count"), 10) > 0).map(btn => { | |||
| return { | |||
| @@ -697,16 +697,16 @@ var formation = new Formation(teamsCount,6); | |||
| </div> | |||
| <div class="rare-div"><!--稀有星级--> | |||
| <div class="rare-list"> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="1" checked/><div class="rare-icon" data-rare-icon="1"></div><input type="radio" class="rare-radio" name="rare-high" value="1" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="2" /><div class="rare-icon" data-rare-icon="2"></div><input type="radio" class="rare-radio" name="rare-high" value="2" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="3" /><div class="rare-icon" data-rare-icon="3"></div><input type="radio" class="rare-radio" name="rare-high" value="3" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="4" /><div class="rare-icon" data-rare-icon="4"></div><input type="radio" class="rare-radio" name="rare-high" value="4" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="5" /><div class="rare-icon" data-rare-icon="5"></div><input type="radio" class="rare-radio" name="rare-high" value="5" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="6" /><div class="rare-icon" data-rare-icon="6"></div><input type="radio" class="rare-radio" name="rare-high" value="6" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="7" /><div class="rare-icon" data-rare-icon="7"></div><input type="radio" class="rare-radio" name="rare-high" value="7" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="8" /><div class="rare-icon" data-rare-icon="8"></div><input type="radio" class="rare-radio" name="rare-high" value="8" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="9" /><div class="rare-icon" data-rare-icon="9"></div><input type="radio" class="rare-radio" name="rare-high" value="9" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="10" /><div class="rare-icon" data-rare-icon="10"></div><input type="radio" class="rare-radio" name="rare-high" value="10" checked/> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="1" id="search-rare-1" checked /><label class="rare-icon" data-rare-icon="1" for="search-rare-1"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="2" id="search-rare-2" checked /><label class="rare-icon" data-rare-icon="2" for="search-rare-2"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="3" id="search-rare-3" checked /><label class="rare-icon" data-rare-icon="3" for="search-rare-3"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="4" id="search-rare-4" checked /><label class="rare-icon" data-rare-icon="4" for="search-rare-4"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="5" id="search-rare-5" checked /><label class="rare-icon" data-rare-icon="5" for="search-rare-5"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="6" id="search-rare-6" checked /><label class="rare-icon" data-rare-icon="6" for="search-rare-6"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="7" id="search-rare-7" checked /><label class="rare-icon" data-rare-icon="7" for="search-rare-7"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="8" id="search-rare-8" checked /><label class="rare-icon" data-rare-icon="8" for="search-rare-8"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="9" id="search-rare-9" checked /><label class="rare-icon" data-rare-icon="9" for="search-rare-9"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="10" id="search-rare-10" checked /><label class="rare-icon" data-rare-icon="10" for="search-rare-10"></label> | |||
| </div> | |||
| <button class="rare-clear brown-button"></button> | |||
| </div> | |||
| @@ -1783,16 +1783,16 @@ var formation = new Formation(teamsCount,6); | |||
| </div> | |||
| <div class="rare-div"><!--稀有星级--> | |||
| <div class="rare-list"> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="1" checked/><div class="rare-icon" data-rare-icon="1"></div><input type="radio" class="rare-radio" name="rare-high" value="1" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="2" /><div class="rare-icon" data-rare-icon="2"></div><input type="radio" class="rare-radio" name="rare-high" value="2" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="3" /><div class="rare-icon" data-rare-icon="3"></div><input type="radio" class="rare-radio" name="rare-high" value="3" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="4" /><div class="rare-icon" data-rare-icon="4"></div><input type="radio" class="rare-radio" name="rare-high" value="4" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="5" /><div class="rare-icon" data-rare-icon="5"></div><input type="radio" class="rare-radio" name="rare-high" value="5" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="6" /><div class="rare-icon" data-rare-icon="6"></div><input type="radio" class="rare-radio" name="rare-high" value="6" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="7" /><div class="rare-icon" data-rare-icon="7"></div><input type="radio" class="rare-radio" name="rare-high" value="7" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="8" /><div class="rare-icon" data-rare-icon="8"></div><input type="radio" class="rare-radio" name="rare-high" value="8" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="9" /><div class="rare-icon" data-rare-icon="9"></div><input type="radio" class="rare-radio" name="rare-high" value="9" /> | |||
| <input type="radio" class="rare-radio" name="rare-low" value="10" /><div class="rare-icon" data-rare-icon="10"></div><input type="radio" class="rare-radio" name="rare-high" value="10" checked/> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="1" id="search-rare-1" checked /><label class="rare-icon" data-rare-icon="1" for="search-rare-1"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="2" id="search-rare-2" checked /><label class="rare-icon" data-rare-icon="2" for="search-rare-2"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="3" id="search-rare-3" checked /><label class="rare-icon" data-rare-icon="3" for="search-rare-3"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="4" id="search-rare-4" checked /><label class="rare-icon" data-rare-icon="4" for="search-rare-4"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="5" id="search-rare-5" checked /><label class="rare-icon" data-rare-icon="5" for="search-rare-5"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="6" id="search-rare-6" checked /><label class="rare-icon" data-rare-icon="6" for="search-rare-6"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="7" id="search-rare-7" checked /><label class="rare-icon" data-rare-icon="7" for="search-rare-7"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="8" id="search-rare-8" checked /><label class="rare-icon" data-rare-icon="8" for="search-rare-8"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="9" id="search-rare-9" checked /><label class="rare-icon" data-rare-icon="9" for="search-rare-9"></label> | |||
| <input type="checkbox" class="rare-check" name="search-rare" value="10" id="search-rare-10" checked /><label class="rare-icon" data-rare-icon="10" for="search-rare-10"></label> | |||
| </div> | |||
| <button class="rare-clear brown-button"></button> | |||
| </div> | |||