From 2201b12f970b98c151b29dcb0c0386ada5eb1ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Mon, 24 Feb 2020 04:21:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BE=88=E5=A4=9A=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E6=8A=80=E8=83=BD=E6=90=9C=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/zh-CN.js | 158 +++++++++++++++++++++++++++++++++++++++++---- script.js | 12 +++- 2 files changed, 155 insertions(+), 15 deletions(-) diff --git a/languages/zh-CN.js b/languages/zh-CN.js index 8ce22a30..0ab005c7 100644 --- a/languages/zh-CN.js +++ b/languages/zh-CN.js @@ -210,7 +210,7 @@ function parseSkillDescription(skill) str = `如当前 HP 在 HP 上限的${sk[0]}%以上的话,受到单一次致命攻击时,${sk[1]<100?`有${sk[1]}的几率`:"将"}会以1点 HP 生还`; break; case 15: - str = `操作时间延长${sk[0]>0?`延长`:`减少`}${Math.abs(sk[0]/100)}秒`; + str = `操作时间${sk[0]>0?`延长`:`减少`}${Math.abs(sk[0]/100)}秒`; break; case 16: str = `受到的所有伤害减少${sk[0]}%`; @@ -676,7 +676,6 @@ function parseSkillDescription(skill) break; case 152: str = `将${getOrbsAttrString(sk[0])}宝珠锁定`; - //if (sk[1]!=42 && sk[1]!=99) str += `,还有未知 参数[1]:${sk[1]}`; if (sk[1] < 42) str += `${sk[1]}个`; break; case 153: @@ -1159,8 +1158,11 @@ function parseSkillDescription(skill) str = `变身为${cardN(sk[0])}`; break; case 203: - str = `队员组成全是像素进化时,`; - if (sk[0]) str += getAttrTypeString(flags(sk[0])); + str = `队员组成全是`; + if (sk[0] === 0) str += "像素进化"; + else if (sk[0] === 2)str += "转生或超转生"; + else str += "未知新类型"; + str += `时,`; str += "宠物的" + getFixedHpAtkRcvString({hp:sk[1],atk:sk[2],rcv:sk[3]}); break; case 205: @@ -1297,6 +1299,16 @@ function parseBigNumber(number) return subskills.some(subskill=>{return subskill.type == searchType}); } })}, + {name:"所有上锁",function:()=>Cards.filter(card=>{ + const searchType = 152; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, {name:"所有变身",function:()=>Cards.filter(card=>{ const searchType = 202; const skill = Skills[card.activeSkillId]; @@ -1377,6 +1389,16 @@ function parseBigNumber(number) }).sort((a,b)=>{//优先按技能排列,其次按进化树排列 return (a.activeSkillId - b.activeSkillId) || (a.evoRootId - b.evoRootId); })}, + {name:"所有99回合掉落",function:()=>Cards.filter(card=>{ + const searchType = 126; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType && skill.params[1] >= 99) // 960 = 二进制 1111000000 + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[1] >= 99}); + } + })}, {name:"所有顶毒",function:()=>Cards.filter(card=>{ const searchType = 126; const skill = Skills[card.activeSkillId]; @@ -1387,14 +1409,124 @@ function parseBigNumber(number) return subskills.some(subskill=>{return subskill.type == searchType && (subskill.params[0] & 960) > 0}); } })}, - {name:"所有99回合掉落",function:()=>Cards.filter(card=>{ - const searchType = 126; + {name:"所有顶回复",function:()=>Cards.filter(card=>{ + const searchType = 50; const skill = Skills[card.activeSkillId]; - if (skill.type == searchType && skill.params[1] >= 99) // 960 = 二进制 1111000000 + if (skill.type == searchType && skill.params[1] === 5) return true; else if (skill.type == 116 || skill.type == 118){ const subskills = skill.params.map(id=>{return Skills[id];}); - return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[1] >= 99}); + return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[1] === 5;}); + } + })}, + {name:"所有顶手指",function:()=>Cards.filter(card=>{ + const searchType = 132; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有主动无天降",function:()=>Cards.filter(card=>{ + const searchType = 184; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有溜",function:()=>Cards.filter(card=>{ + const searchType = 146; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有威吓",function:()=>Cards.filter(card=>{ + const searchType = 18; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有破防",function:()=>Cards.filter(card=>{ + const searchType = 19; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有破防100%",function:()=>Cards.filter(card=>{ + const searchType = 19; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType && skill.params[1]>=100) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[1]>=100}); + } + })}, + {name:"所有中毒",function:()=>Cards.filter(card=>{ + const searchType = 4; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有减伤",function:()=>Cards.filter(card=>{ + const searchType = 3; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有无敌(减伤100%)",function:()=>Cards.filter(card=>{ + const searchType = 3; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType && skill.params[1]>=100) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[1]>=100}); + } + })}, + {name:"所有时间暂停",function:()=>Cards.filter(card=>{ + const searchType = 5; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); + } + })}, + {name:"所有刷版",function:()=>Cards.filter(card=>{ + const searchType = 10; + const skill = Skills[card.activeSkillId]; + if (skill.type == searchType) + return true; + else if (skill.type == 116 || skill.type == 118){ + const subskills = skill.params.map(id=>{return Skills[id];}); + return subskills.some(subskill=>{return subskill.type == searchType}); } })}, {name:"====队长技====",function:()=>false}, @@ -1519,7 +1651,7 @@ function parseBigNumber(number) return subskills.some(subskill=>{return subskill.type == searchType;}); } })}, - {name:"指定队伍队员都是像素",function:()=>Cards.filter(card=>{ + {name:"指定队伍队员类型",function:()=>Cards.filter(card=>{ const searchType = 203; const skill = Skills[card.leaderSkillId]; if (skill.type == searchType) @@ -1563,15 +1695,15 @@ function parseBigNumber(number) {name:"全部像素进化",function:()=>Cards.filter(card=>{ return card.evoMaterials.indexOf(3826)>=0; })}, + {name:"全部8格潜觉(转生、超转生)",function:()=>Cards.filter(card=>{ + return card.is8Latent; + })}, {name:"全部110级三维成长100%",function:()=>Cards.filter(card=>{ return card.limitBreakIncr>=100; })}, {name:"全部珠子皮肤",function:()=>Cards.filter(card=>{ return card.blockSkinId>0; })}, - {name:"全部8格浅觉",function:()=>Cards.filter(card=>{ - return card.is8Latent; - })}, ]; @@ -1584,7 +1716,7 @@ function parseBigNumber(number) specialSearch.options.add(new Option(sfunc.name,idx)); }); specialSearch.onchange = function(){ - showSearch(specialSearchFunctions[parseInt(this.value,10)].function()); + searchBox.startSearch(specialSearchFunctions[parseInt(this.value,10)].function()); } controlDiv.appendChild(fragment); })(); \ No newline at end of file diff --git a/script.js b/script.js index dc4c4e4b..986cde3c 100644 --- a/script.js +++ b/script.js @@ -797,7 +797,7 @@ function initialize() } searchMonList.classList.remove("display-none"); }; - searchStart.onclick = function(){ + const startSearch = function(cards){ const attr1Filter = s_attr1s.filter(returnCheckedInput).map(returnInputValue); const attr2Filter = s_attr2s.filter(returnCheckedInput).map(returnInputValue); let attr1,attr2; @@ -826,7 +826,7 @@ function initialize() const awokensFilter = s_awokensCounts.filter(btn=>parseInt(btn.innerHTML,10)>0).map(btn=>{ return {id:parseInt(btn.value,10),num:parseInt(btn.innerHTML,10)}; }); - const searchResult = searchCards(Cards, + const searchResult = searchCards(cards, attr1,attr2, s_fixMainColor.checked, typesFilter, @@ -849,6 +849,10 @@ function initialize() ); showSearch(searchResult); }; + searchBox.startSearch = startSearch; + searchStart.onclick = function(){ + startSearch(Cards); + }; searchClose.onclick = function(){ searchBox.classList.add("display-none"); }; @@ -864,6 +868,10 @@ function initialize() s_awokensItems.forEach(t=>{ t.classList.add("zero"); }); + s_awokensEquivalent.checked = false; + s_canAssist.checked = false; + s_includeSuperAwoken.checked = false; + s_sawokens.forEach(t=>{ t.checked = false; });