| @@ -248,6 +248,9 @@ | |||
| .search-box .attrs .fix-main-color-label::after{ | |||
| content: "Fix attr-1 for main-attr, attr-2 for sub-attr."; | |||
| } | |||
| .search-box .consider-equivalent-awoken-label::after{ | |||
| content: "Search for Equivalent Awoken"; | |||
| } | |||
| .attrs .attr-all::before{ | |||
| content: "All"; | |||
| } | |||
| @@ -241,6 +241,9 @@ | |||
| .search-box .attrs .fix-main-color-label::after{ | |||
| content: "限定 属性 1->主属性,属性 2->副属性"; | |||
| } | |||
| .search-box .consider-equivalent-awoken-label::after{ | |||
| content: "同時に同等の覚醒を検索"; | |||
| } | |||
| .attrs .attr-all::before{ | |||
| content: "無制限"; | |||
| } | |||
| @@ -241,6 +241,9 @@ | |||
| .search-box .attrs .fix-main-color-label::after{ | |||
| content: "제한 속성 1은 기본 속성 이며 속성 2 하위 속성입니다."; | |||
| } | |||
| .search-box .consider-equivalent-awoken-label::after{ | |||
| content: "동시에 해당 경계를 각성"; | |||
| } | |||
| .attrs .attr-all::before{ | |||
| content: "무제한"; | |||
| } | |||
| @@ -247,6 +247,9 @@ | |||
| .search-box .attrs .fix-main-color-label::after{ | |||
| content: "限制屬性 1 爲主屬性,屬性 2 爲副屬性"; | |||
| } | |||
| .search-box .consider-equivalent-awoken-label::after{ | |||
| content: "同時搜索等效覺醒"; | |||
| } | |||
| .attrs .attr-all::before{ | |||
| content: "不限"; | |||
| } | |||
| @@ -11,7 +11,7 @@ | |||
| <script type="text/javascript" src="languages/language-list.js"></script> | |||
| <script type="text/javascript" src="universal_function.js"></script> | |||
| <script type="text/javascript" src="script.js"></script> | |||
| <script type="text/javascript" src="http://html2canvas.hertzen.com/dist/html2canvas.min.js"></script> | |||
| <script type="text/javascript" src="html2canvas.min.js"></script> | |||
| <script type="text/javascript"> | |||
| const solo = false; | |||
| const teamsCount = 2; | |||
| @@ -36,7 +36,7 @@ var formation = new Formation(teamsCount,5); | |||
| <br> | |||
| <input type="checkbox" name="show-mon-id" class="config-checkbox-ipt" id="show-mon-id" onclick="toggleShowMonId();" checked><label class="config-checkbox-lbl show-mon-id-lbl" for="show-mon-id"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="btn-show-mon-skill-cd" class="config-checkbox-ipt" id="btn-show-mon-skill-cd" onclick="toggleShowMonSkillCd();"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="change-swap-to-copy" class="config-checkbox-ipt" id="change-swap-to-copy"><label class="config-checkbox-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="change-swap-to-copy" class="config-checkbox-ipt" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| </div> | |||
| <div class="status"><span class="icon"></span><span class="text"></span></div> | |||
| </div> | |||
| @@ -481,7 +481,7 @@ var formation = new Formation(teamsCount,5); | |||
| <li><input type="radio" name="attr-2" class="attr-radio" value="4" id="search-attr-2-4" /><label class="attr-t4" for="search-attr-2-4"><!--暗--></label></li> | |||
| <li><input type="radio" name="attr-2" class="attr-radio" value="-1" id="search-attr-2-none" /><label class="attr-none" for="search-attr-2-none"><!--无--></label></li> | |||
| </ul> | |||
| <label class="fix-main-color-label"><input type="checkbox" name="fix-main-color" class="fix-main-color" /></label> | |||
| <input type="checkbox" name="fix-main-color" class="config-checkbox-ipt" id="fix-main-color" checked><label class="config-checkbox-lbl fix-main-color-label" for="fix-main-color"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| </div> | |||
| <div class="types-div"><!--类型--> | |||
| <ul class="type-list"> | |||
| @@ -501,6 +501,7 @@ var formation = new Formation(teamsCount,5); | |||
| </div> | |||
| <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> | |||
| <ul class="awoken-ul"> | |||
| <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><!--攻击+--> | |||
| @@ -782,7 +783,6 @@ var formation = new Formation(teamsCount,5); | |||
| <div class="skill-datail"></div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="button-box"> | |||
| <button class="button-null"><!--留空格子--></button> | |||
| @@ -1991,15 +1991,19 @@ function refreshFormationAwokenCount(awokenDom,teams){ | |||
| const aicon = awokenUL.querySelector(".awoken-" + ai); | |||
| if (!aicon) continue; //如果没有这个觉醒图,直接跳过 | |||
| //搜索等效觉醒 | |||
| if (equivalent_awoken_small.indexOf(ai) >= 0) | |||
| const equalIndex = equivalent_awoken.findIndex(eak=>eak.small === ai || eak.big === ai); | |||
| if (equalIndex >= 0) | |||
| { | |||
| const equivalentAwoken = equivalent_awoken.filter((ak)=>{return ak.small == ai;})[0]; | |||
| const totalNum = awokenCountInFormation(teams, equivalentAwoken.small, solo) + | |||
| awokenCountInFormation(teams, equivalentAwoken.big, solo) * equivalentAwoken.times; | |||
| setCount(aicon, totalNum); | |||
| }else if(equivalent_awoken_big.indexOf(ai) >= 0) | |||
| { | |||
| continue; | |||
| const equivalentAwoken = equivalent_awoken[equalIndex]; | |||
| if (equivalentAwoken.small === ai) | |||
| { | |||
| const totalNum = awokenCountInFormation(teams, equivalentAwoken.small, solo) + | |||
| awokenCountInFormation(teams, equivalentAwoken.big, solo) * equivalentAwoken.times; | |||
| setCount(aicon, totalNum); | |||
| }else | |||
| { | |||
| continue; | |||
| } | |||
| }else | |||
| { | |||
| setCount(aicon,awokenCountInFormation(teams,ai,solo)); | |||
| @@ -394,7 +394,6 @@ var formation = new Formation(teamsCount,6); | |||
| <div class="monster-id"></div> | |||
| <div class="monster-rare"></div> | |||
| <div class="monster-cost"></div> | |||
| <!--<div class="monster-exp"></div>--> | |||
| </div> | |||
| <div class="monsterinfo-line"> | |||
| <div class="monster-name"></div> | |||
| @@ -430,7 +429,7 @@ var formation = new Formation(teamsCount,6); | |||
| <li><input type="radio" name="attr-2" class="attr-radio" value="4" id="search-attr-2-4" /><label class="attr-t4" for="search-attr-2-4"><!--暗--></label></li> | |||
| <li><input type="radio" name="attr-2" class="attr-radio" value="-1" id="search-attr-2-none" /><label class="attr-none" for="search-attr-2-none"><!--无--></label></li> | |||
| </ul> | |||
| <input type="checkbox" name="fix-main-color" class="config-checkbox-ipt" id="fix-main-color"><label class="config-checkbox-lbl fix-main-color-label" for="fix-main-color"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="fix-main-color" class="config-checkbox-ipt" id="fix-main-color" checked><label class="config-checkbox-lbl fix-main-color-label" for="fix-main-color"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| </div> | |||
| <div class="types-div"><!--类型--> | |||
| <ul class="type-list"> | |||
| @@ -450,7 +449,7 @@ var formation = new Formation(teamsCount,6); | |||
| </div> | |||
| <div class="awoken-div"><!--觉醒--> | |||
| <button class="awoken-clear" ></button> | |||
| <input type="checkbox" name="consider-equivalent-awoken" class="config-checkbox-ipt" id="consider-equivalent-awoken" checked><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="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> | |||
| <ul class="awoken-ul"> | |||
| <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><!--攻击+--> | |||
| @@ -11,7 +11,7 @@ | |||
| <script type="text/javascript" src="languages/language-list.js"></script> | |||
| <script type="text/javascript" src="universal_function.js"></script> | |||
| <script type="text/javascript" src="script.js"></script> | |||
| <script type="text/javascript" src="http://html2canvas.hertzen.com/dist/html2canvas.min.js"></script> | |||
| <script type="text/javascript" src="html2canvas.min.js"></script> | |||
| <script type="text/javascript"> | |||
| const solo = false; | |||
| const teamsCount = 3; | |||
| @@ -22,6 +22,7 @@ var formation = new Formation(teamsCount,6); | |||
| width: 756px; | |||
| min-width: 756px; | |||
| } | |||
| /*队伍之间的分割线*/ | |||
| .team-bigbox{ | |||
| border-top: 1px solid gray; | |||
| } | |||
| @@ -48,7 +49,7 @@ var formation = new Formation(teamsCount,6); | |||
| <br> | |||
| <input type="checkbox" name="show-mon-id" class="config-checkbox-ipt" id="show-mon-id" onclick="toggleShowMonId();" checked><label class="config-checkbox-lbl show-mon-id-lbl" for="show-mon-id"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="btn-show-mon-skill-cd" class="config-checkbox-ipt" id="btn-show-mon-skill-cd" onclick="toggleShowMonSkillCd();"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="change-swap-to-copy" class="config-checkbox-ipt" id="change-swap-to-copy"><label class="config-checkbox-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| <input type="checkbox" name="change-swap-to-copy" class="config-checkbox-ipt" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| </div> | |||
| <div class="status"><span class="icon"></span><span class="text"></span></div> | |||
| </div> | |||
| @@ -1066,7 +1067,7 @@ var formation = new Formation(teamsCount,6); | |||
| <li><input type="radio" name="attr-2" class="attr-radio" value="4" id="search-attr-2-4" /><label class="attr-t4" for="search-attr-2-4"><!--暗--></label></li> | |||
| <li><input type="radio" name="attr-2" class="attr-radio" value="-1" id="search-attr-2-none" /><label class="attr-none" for="search-attr-2-none"><!--无--></label></li> | |||
| </ul> | |||
| <label class="fix-main-color-label"><input type="checkbox" name="fix-main-color" class="fix-main-color" /></label> | |||
| <input type="checkbox" name="fix-main-color" class="config-checkbox-ipt" id="fix-main-color" checked><label class="config-checkbox-lbl fix-main-color-label" for="fix-main-color"><div class="config-checkbox-lbl-cicle"></div></label> | |||
| </div> | |||
| <div class="types-div"><!--类型--> | |||
| <ul class="type-list"> | |||
| @@ -1086,6 +1087,7 @@ var formation = new Formation(teamsCount,6); | |||
| </div> | |||
| <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> | |||
| <ul class="awoken-ul"> | |||
| <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><!--攻击+--> | |||
| @@ -23,8 +23,6 @@ const equivalent_awoken = [ | |||
| {small:19,big:53,times:2}, //手指 | |||
| {small:21,big:56,times:2}, //SB | |||
| ]; | |||
| const equivalent_awoken_small = equivalent_awoken.map(eak=>{return eak.small;}); | |||
| const equivalent_awoken_big = equivalent_awoken.map(eak=>{return eak.big;}); | |||
| //仿GM_xmlhttpRequest函数v1.3 | |||
| const GM_xmlhttpRequest = function(GM_param) { | |||
| const xhr = new XMLHttpRequest(); //创建XMLHttpRequest对象 | |||
| @@ -330,21 +328,36 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equal | |||
| cardsRange = cardsRange.filter(c=>{return types.some(t=>{return c.types.indexOf(t)>=0;});}); | |||
| } | |||
| //觉醒 | |||
| //等效觉醒时,事先去除大觉醒 | |||
| if (equalAk) | |||
| { | |||
| const bigEqualAwokens = awokens.filter(ak => equivalent_awoken.findIndex(eak => eak.big === ak.id) >= 0); //所有存在的大觉醒 | |||
| bigEqualAwokens.forEach(bak=>{ | |||
| const equivalentAwoken = equivalent_awoken.find(eak => eak.big === bak.id); | |||
| let smallEqualAwoken = awokens.find(ak => equivalentAwoken.small === ak.id); | |||
| if (!smallEqualAwoken) | |||
| { | |||
| smallEqualAwoken = {id:equivalentAwoken.small,num:0}; //如果没有就新建一个 | |||
| awokens.push(smallEqualAwoken); | |||
| } | |||
| smallEqualAwoken.num += bak.num * equivalentAwoken.times; //小觉醒添加大觉醒的数字 | |||
| }); | |||
| awokens = awokens.filter(ak => equivalent_awoken.findIndex(eak => eak.big === ak.id) < 0); //去除大觉醒 | |||
| } | |||
| if (awokens.length>0) | |||
| { | |||
| cardsRange = cardsRange.filter(card=>{return awokens.every(ak=>{ | |||
| cardsRange = cardsRange.filter(card => {return awokens.every(ak=>{ | |||
| if (equalAk) //如果开启等效觉醒 | |||
| { | |||
| //搜索等效觉醒 | |||
| if (equivalent_awoken_small.indexOf(ak.id) >= 0) | |||
| const equivalentAwoken = equivalent_awoken.find(eak => eak.small === ak.id); | |||
| if (equivalentAwoken) | |||
| { | |||
| const equivalentAwoken = equivalent_awoken.filter((eak)=>{return eak.small == ak.id;})[0]; | |||
| 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; | |||
| }else if(equivalent_awoken_big.indexOf(ak.id) >= 0) | |||
| { //属于大觉醒,直接忽略 | |||
| return true; | |||
| } | |||
| } | |||
| return card.awakenings.filter(cak=>{return cak == ak.id;}).length >= ak.num; | |||
| @@ -353,7 +366,11 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equal | |||
| //超觉醒 | |||
| if (sawokens.length>0) | |||
| { | |||
| cardsRange = cardsRange.filter(card=>{return sawokens.some(sak=>{return card.superAwakenings.indexOf(sak)>=0;});}); | |||
| cardsRange = cardsRange.filter(card=>{return sawokens.some(sak=>{ | |||
| const equivalentAwoken = equivalent_awoken.find(eak => eak.small === sak); | |||
| return card.superAwakenings.indexOf(sak)>=0 || | |||
| equalAk && equivalentAwoken && card.superAwakenings.indexOf(equivalentAwoken.big)>=0; //如果开启等效觉醒 | |||
| });}); | |||
| } | |||
| return cardsRange; | |||
| } | |||