parent
4c032bacb3
commit
9368734449
|
@ -68,11 +68,14 @@
|
|||
.monsterinfo-box .monster-cost::before{
|
||||
content: "COST:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
.monsterinfo-box .monster-seriesId::before{
|
||||
content: "Series ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
content: "Collab ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-altName::before{
|
||||
content: "Series name:";
|
||||
content: "Alternative Name:";
|
||||
}
|
||||
.edit-box .setting-box .row-mon-level::before{
|
||||
content: "▼Monster Level";
|
||||
|
@ -251,6 +254,9 @@
|
|||
.search-box .consider-equivalent-awoken-label::after{
|
||||
content: "Search for Equivalent Awoken";
|
||||
}
|
||||
.search-box .can-assist-label::after{
|
||||
content: "Can be assist";
|
||||
}
|
||||
.search-box .include-super-awoken-label::after{
|
||||
content: "Including Super Awoken";
|
||||
}
|
||||
|
|
|
@ -67,11 +67,14 @@
|
|||
.monsterinfo-box .monster-cost::before{
|
||||
content: "コスト:";
|
||||
}
|
||||
.monsterinfo-box .monster-seriesId::before{
|
||||
content: "シリーズ ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
content: "シリーズ ID:";
|
||||
content: "コラボ ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-altName::before{
|
||||
content: "シリーズの名前:";
|
||||
content: "別名:";
|
||||
}
|
||||
.edit-box .setting-box .row-mon-level::before{
|
||||
content: "▼モンスターレベル";
|
||||
|
@ -244,6 +247,9 @@
|
|||
.search-box .consider-equivalent-awoken-label::after{
|
||||
content: "同時に同等の覚醒を検索";
|
||||
}
|
||||
.search-box .can-assist-label::after{
|
||||
content: "アシスト可能";
|
||||
}
|
||||
.search-box .include-super-awoken-label::after{
|
||||
content: "超覚醒を含む";
|
||||
}
|
||||
|
|
|
@ -67,11 +67,14 @@
|
|||
.monsterinfo-box .monster-cost::before{
|
||||
content: "코스트:";
|
||||
}
|
||||
.monsterinfo-box .monster-seriesId::before{
|
||||
content: "시리즈 ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
content: "시리즈 ID:";
|
||||
content: "콜라보 ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-altName::before{
|
||||
content: "시리즈 이름:";
|
||||
content: "대체 이름:";
|
||||
}
|
||||
.edit-box .setting-box .row-mon-level::before{
|
||||
content: "▼몬스터 레벨";
|
||||
|
@ -244,6 +247,9 @@
|
|||
.search-box .consider-equivalent-awoken-label::after{
|
||||
content: "동시에 해당 경계를 각성";
|
||||
}
|
||||
.search-box .can-assist-label::after{
|
||||
content: "지원 할 수 있습니다";
|
||||
}
|
||||
.search-box .include-super-awoken-label::after{
|
||||
content: "슈퍼 각성 포함";
|
||||
}
|
||||
|
|
|
@ -988,7 +988,7 @@ function parseSkillDescription(skill)
|
|||
str += strArr.map(s=>{
|
||||
return `<a class="detail-search monster-collabId" data-collabId="${s}" onclick="searchColla(this.getAttribute('data-collabId'));">${s}</a>`;
|
||||
}).join("、");
|
||||
str += `系列角色时,所有宠物的${getFixedHpAtkRcvString({hp:sk[3],atk:sk[4],rcv:sk[5]})}`;
|
||||
str += `合作角色时,所有宠物的${getFixedHpAtkRcvString({hp:sk[3],atk:sk[4],rcv:sk[5]})}`;
|
||||
break;
|
||||
case 176:
|
||||
//●◉○◍◯
|
||||
|
@ -1194,4 +1194,397 @@ function parseBigNumber(number)
|
|||
return number.toLocaleString();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//增加特殊搜索模式
|
||||
(function() {
|
||||
'use strict';
|
||||
const specialSearchFunctions = [
|
||||
{name:"临时的特殊搜索",function:()=>false},
|
||||
{name:"====主动技====",function:()=>false},
|
||||
{name:"所有 1 CD",function:()=>Cards.filter(card=>{
|
||||
if (card.activeSkillId == 0) return false;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
return skill.initialCooldown - (skill.maxLevel - 1) <= 1;
|
||||
})},
|
||||
{name:"所有换队长",function:()=>Cards.filter(card=>{
|
||||
const searchType = 93;
|
||||
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 = 173;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && skill.params[1])
|
||||
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]});
|
||||
}
|
||||
})},
|
||||
{name:"所有破伤吸",function:()=>Cards.filter(card=>{
|
||||
const searchType = 173;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && skill.params[3])
|
||||
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[3]});
|
||||
}
|
||||
})},
|
||||
{name:"所有双破吸",function:()=>Cards.filter(card=>{
|
||||
const searchType = 173;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && skill.params[1] && skill.params[3])
|
||||
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] && subskill.params[3]});
|
||||
}
|
||||
})},
|
||||
{name:"所有贯穿无效盾",function:()=>Cards.filter(card=>{
|
||||
const searchType = 191;
|
||||
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 = 196;
|
||||
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 = 117;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && skill.params[4])
|
||||
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[4]});
|
||||
}
|
||||
})},
|
||||
{name:"所有解封+觉醒",function:()=>Cards.filter(card=>{
|
||||
const searchType = 117;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && skill.params[0] && skill.params[4])
|
||||
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[0] && subskill.params[4]});
|
||||
}
|
||||
})},
|
||||
{name:"所有解锁",function:()=>Cards.filter(card=>{
|
||||
const searchType = 172;
|
||||
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];
|
||||
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 = 161;
|
||||
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 searchTypeArray = [156,168];
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (searchTypeArray.some(t=>{return skill.type == t;}))
|
||||
return true;
|
||||
else if (skill.type == 116 || skill.type == 118){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return searchTypeArray.some(t=>{return subskill.type == t;});});
|
||||
}
|
||||
})},
|
||||
{name:"所有生成特殊形状的(单独方块见下)",function:()=>Cards.filter(card=>{
|
||||
const searchType = 176;
|
||||
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:"临时的特所有生成3x3方块殊搜索",function:()=>Cards.filter(card=>{
|
||||
function is3x3(sk)
|
||||
{
|
||||
for (let si=0;si<3;si++)
|
||||
{
|
||||
if (sk[si] === sk[si+1] && sk[si] === sk[si+2] && //3行连续相等
|
||||
(si>0?(sk[si-1] & sk[si]) ===0:true) && //如果上一行存在,并且无交集(and为0)
|
||||
(si+2<4?(sk[si+3] & sk[si]) ===0:true) && //如果下一行存在,并且无交集(and为0)
|
||||
(sk[si] === 7 || sk[si] === 7<<1 || sk[si] === 7<<2 || sk[si] === 7<<3) //如果这一行满足任意2珠并联(二进制111=十进制7)
|
||||
)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
const searchType = 176;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && is3x3(skill.params))
|
||||
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 && is3x3(subskill.params)});
|
||||
}
|
||||
})},
|
||||
{name:"所有花火(按进化树排列)",function:()=>Cards.filter(card=>{
|
||||
function isOnly1(sk)
|
||||
{
|
||||
if (sk.length<2 || sk.indexOf(-1)==1) return true;
|
||||
else return false;
|
||||
}
|
||||
const searchType = 71;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && isOnly1(skill.params))
|
||||
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 && isOnly1(subskill.params)});
|
||||
}
|
||||
}).sort((a,b)=>{//优先按技能排列,其次按进化树排列
|
||||
return (a.activeSkillId - b.activeSkillId) || (a.evoRootId - b.evoRootId);
|
||||
})},
|
||||
{name:"所有顶毒",function:()=>Cards.filter(card=>{
|
||||
const searchType = 126;
|
||||
const skill = Skills[card.activeSkillId];
|
||||
if (skill.type == searchType && (skill.params[0] & 960) > 0) // 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[0] & 960) > 0});
|
||||
}
|
||||
})},
|
||||
{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:()=>false},
|
||||
{name:"所有普通追打",function:()=>Cards.filter(card=>{
|
||||
const searchType = 12;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"所有固伤追击",function:()=>Cards.filter(card=>{
|
||||
const searchTypeArray = [199,200,201];
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (searchTypeArray.some(t=>{return skill.type == t;}))
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return searchTypeArray.some(t=>{return subskill.type == t;});});
|
||||
}
|
||||
})},
|
||||
{name:"所有队长+C(按+C数从小到大排列)",function:()=>Cards.filter(card=>{
|
||||
const searchTypeArray = [192,194];
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (searchTypeArray.some(t=>{return skill.type == t && skill.params[3]>0;}))
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>Skills[id]);
|
||||
return subskills.some(subskill=>{return searchTypeArray.some(t=>{return subskill.type == t && subskill.params[3]>0;});});
|
||||
}
|
||||
}).sort((a,b)=>{
|
||||
const searchTypeArray = [192,194];
|
||||
const a_s = Skills[a.leaderSkillId], b_s = Skills[b.leaderSkillId];
|
||||
let a_pC = 0,b_pC = 0;
|
||||
a_pC = searchTypeArray.some(t => a_s.type === t) ?
|
||||
a_s.params[3] :
|
||||
a_s.params.map(id=>Skills[id]).find(subskill => searchTypeArray.some(t=>subskill.type === t)).params[3];
|
||||
b_pC = searchTypeArray.some(t=> b_s.type === t) ?
|
||||
b_s.params[3] :
|
||||
b_s.params.map(id=>Skills[id]).find(subskill => searchTypeArray.some(t=>subskill.type === t)).params[3];
|
||||
return a_pC - b_pC;
|
||||
})},
|
||||
{name:"所有毒无效",function:()=>Cards.filter(card=>{
|
||||
const searchType = 197;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"所有回血加盾",function:()=>Cards.filter(card=>{
|
||||
const searchType = 198;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType && skill.params[2])
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[2];});
|
||||
}
|
||||
})},
|
||||
{name:"所有回血解觉",function:()=>Cards.filter(card=>{
|
||||
const searchType = 198;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType && skill.params[3])
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType && subskill.params[3];});
|
||||
}
|
||||
})},
|
||||
{name:"所有76版",function:()=>Cards.filter(card=>{
|
||||
const searchTypeArray = [162,186];
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (searchTypeArray.some(t=>{return skill.type == t;}))
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return searchTypeArray.some(t=>{return subskill.type == t;});});
|
||||
}
|
||||
})},
|
||||
{name:"所有无天降",function:()=>Cards.filter(card=>{
|
||||
const searchTypeArray = [163,177];
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (searchTypeArray.some(t=>{return skill.type == t;}))
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return searchTypeArray.some(t=>{return subskill.type == t;});});
|
||||
}
|
||||
})},
|
||||
{name:"所有根性",function:()=>Cards.filter(card=>{
|
||||
const searchType = 14;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"指定队伍队员编号",function:()=>Cards.filter(card=>{
|
||||
const searchType = 125;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"指定队伍队员合作",function:()=>Cards.filter(card=>{
|
||||
const searchType = 175;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"指定队伍队员都是像素",function:()=>Cards.filter(card=>{
|
||||
const searchType = 203;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"增加掉落率",function:()=>Cards.filter(card=>{
|
||||
const searchType = 53;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"增加金币",function:()=>Cards.filter(card=>{
|
||||
const searchType = 54;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"增加经验",function:()=>Cards.filter(card=>{
|
||||
const searchType = 148;
|
||||
const skill = Skills[card.leaderSkillId];
|
||||
if (skill.type == searchType)
|
||||
return true;
|
||||
else if (skill.type == 138){
|
||||
const subskills = skill.params.map(id=>{return Skills[id];});
|
||||
return subskills.some(subskill=>{return subskill.type == searchType;});
|
||||
}
|
||||
})},
|
||||
{name:"====其他搜索====",function:()=>false},
|
||||
{name:"全部像素进化",function:()=>Cards.filter(card=>{
|
||||
return card.evoMaterials.indexOf(3826)>=0;
|
||||
})},
|
||||
{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;
|
||||
})},
|
||||
];
|
||||
|
||||
|
||||
|
||||
const searchBox = editBox.querySelector(".search-box");
|
||||
const controlDiv = searchBox.querySelector(".control-div");
|
||||
let fragment = document.createDocumentFragment();
|
||||
const specialSearch = fragment.appendChild(document.createElement("select"));
|
||||
specialSearchFunctions.forEach((sfunc,idx)=>{
|
||||
specialSearch.options.add(new Option(sfunc.name,idx));
|
||||
});
|
||||
specialSearch.onchange = function(){
|
||||
showSearch(specialSearchFunctions[parseInt(this.value,10)].function());
|
||||
}
|
||||
controlDiv.appendChild(fragment);
|
||||
})();
|
|
@ -70,11 +70,14 @@
|
|||
.monsterinfo-box .monster-cost::before{
|
||||
content: "消耗:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
.monsterinfo-box .monster-seriesId::before{
|
||||
content: "系列ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
content: "合作ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-altName::before{
|
||||
content: "系列名称:";
|
||||
content: "替代名稱:";
|
||||
}
|
||||
.edit-box .setting-box .row-mon-level::before{
|
||||
content: "▼怪物等級";
|
||||
|
@ -250,6 +253,9 @@
|
|||
.search-box .consider-equivalent-awoken-label::after{
|
||||
content: "同時搜索等效覺醒";
|
||||
}
|
||||
.search-box .can-assist-label::after{
|
||||
content: "可以作爲輔助";
|
||||
}
|
||||
.search-box .include-super-awoken-label::after{
|
||||
content: "包括超覺醒";
|
||||
}
|
||||
|
|
|
@ -70,11 +70,14 @@
|
|||
.monsterinfo-box .monster-cost::before{
|
||||
content: "消耗:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
.monsterinfo-box .monster-seriesId::before{
|
||||
content: "系列ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-collabId::before{
|
||||
content: "合作ID:";
|
||||
}
|
||||
.monsterinfo-box .monster-altName::before{
|
||||
content: "系列名称:";
|
||||
content: "替代名称:";
|
||||
}
|
||||
.edit-box .setting-box .row-mon-level::before{
|
||||
content: "▼怪物等级";
|
||||
|
@ -250,6 +253,9 @@
|
|||
.search-box .consider-equivalent-awoken-label::after{
|
||||
content: "同时搜索等效觉醒";
|
||||
}
|
||||
.search-box .can-assist-label::after{
|
||||
content: "可以作为辅助";
|
||||
}
|
||||
.search-box .include-super-awoken-label::after{
|
||||
content: "包括超觉醒";
|
||||
}
|
||||
|
|
|
@ -457,10 +457,13 @@ var formation = new Formation(teamsCount,5);
|
|||
<li class="type-name"><div class="type-icon"></div></li>
|
||||
</ul>
|
||||
<div class="monsterinfo-cell">
|
||||
<div class="monster-seriesId"></div>
|
||||
<div class="monster-collabId"></div>
|
||||
<div class="monster-altName"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="monsterinfo-cell">
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-box display-none">
|
||||
<div class="attrs"><!--属性-->
|
||||
|
@ -502,7 +505,7 @@ var formation = new Formation(teamsCount,5);
|
|||
<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>
|
||||
<input type="checkbox" name="can-assist" class="config-checkbox-ipt" id="can-assist"><label class="config-checkbox-lbl can-assist-label" for="can-assist"><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-->
|
||||
|
@ -577,6 +580,7 @@ var formation = new Formation(teamsCount,5);
|
|||
<li class="awoken-count zero"><button class="awoken-icon awoken-71" value="71"></button><button class="count" value="71">0</button></li><!--掉废-->
|
||||
<li class="awoken-count zero"><button class="awoken-icon awoken-72" value="72"></button><button class="count" value="72">0</button></li><!--掉毒-->
|
||||
</ul>
|
||||
<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>
|
||||
</div>
|
||||
<div class="sawoken-div"><!--超觉醒-->
|
||||
<button class="sawoken-clear" ></button>
|
||||
|
|
58
script.js
58
script.js
|
@ -635,12 +635,20 @@ function initialize()
|
|||
};
|
||||
|
||||
const smonsterinfoBox = editBox.querySelector(".monsterinfo-box");
|
||||
const mSeriesId = smonsterinfoBox.querySelector(".monster-seriesId");
|
||||
mSeriesId.onclick = function(){ //搜索系列
|
||||
const seriesId = parseInt(this.getAttribute('data-seriesId'),10);
|
||||
if (seriesId>0)
|
||||
{
|
||||
showSearch(Cards.filter(card=>{return card.seriesId == seriesId;}));
|
||||
}
|
||||
};
|
||||
const mCollabId = smonsterinfoBox.querySelector(".monster-collabId");
|
||||
mCollabId.onclick = function(){ //搜索合作
|
||||
const collabId = parseInt(this.getAttribute('data-collabId'));
|
||||
const collabId = parseInt(this.getAttribute('data-collabId'),10);
|
||||
if (collabId>0);
|
||||
{
|
||||
searchColla(this.getAttribute('data-collabId'));
|
||||
searchColla(collabId);
|
||||
}
|
||||
};
|
||||
const mAltName = smonsterinfoBox.querySelector(".monster-altName");
|
||||
|
@ -683,7 +691,7 @@ function initialize()
|
|||
|
||||
const s_attr1s = Array.prototype.slice.call(searchBox.querySelectorAll(".attrs .attr-list-1 .attr-radio"));
|
||||
const s_attr2s = Array.prototype.slice.call(searchBox.querySelectorAll(".attrs .attr-list-2 .attr-radio"));
|
||||
const s_fixMainColor = searchBox.querySelector(".attrs #fix-main-color");
|
||||
const s_fixMainColor = searchBox.querySelector("#fix-main-color");
|
||||
const s_types = Array.prototype.slice.call(searchBox.querySelectorAll(".types-div .type-check"));
|
||||
const s_awokensItems = Array.prototype.slice.call(searchBox.querySelectorAll(".awoken-div .awoken-count"));
|
||||
const s_awokensIcons = s_awokensItems.map(it=>{
|
||||
|
@ -693,16 +701,18 @@ function initialize()
|
|||
return it.querySelector(".count");
|
||||
});
|
||||
|
||||
const s_awokensEquivalent = searchBox.querySelector(".awoken-div #consider-equivalent-awoken"); //搜索等效觉醒
|
||||
const s_awokensEquivalent = searchBox.querySelector("#consider-equivalent-awoken"); //搜索等效觉醒
|
||||
const s_canAssist = searchBox.querySelector("#can-assist"); //只搜索辅助
|
||||
|
||||
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"); //搜索超觉醒
|
||||
const s_includeSuperAwoken = searchBox.querySelector("#include-super-awoken"); //搜索超觉醒
|
||||
s_includeSuperAwoken.onclick = function(){
|
||||
if (this.checked)
|
||||
s_sawokenDiv.classList.add("display-none");
|
||||
s_sawokenDiv.classList.add("display-none");
|
||||
else
|
||||
s_sawokenDiv.classList.remove("display-none");
|
||||
s_sawokenDiv.classList.remove("display-none");
|
||||
}
|
||||
|
||||
function search_awokenAdd1()
|
||||
|
@ -823,9 +833,10 @@ function initialize()
|
|||
awokensFilter,
|
||||
sawokensFilter,
|
||||
s_awokensEquivalent.checked,
|
||||
s_canAssist.checked,
|
||||
s_includeSuperAwoken.checked
|
||||
);
|
||||
console.debug("搜索条件:属性[%d,%d],固定主副%s,类型:%o,觉醒:%o,超觉醒:%o,等效觉醒%s,搜超觉醒%s。\n搜索结果:%o",
|
||||
console.debug("搜索条件:属性[%d,%d],固定主副%s,类型:%o,觉醒:%o,超觉醒:%o,等效觉醒%s,可做辅助%s,搜超觉醒%s。\n搜索结果:%o",
|
||||
attr1,attr2,
|
||||
s_fixMainColor.checked,
|
||||
typesFilter,
|
||||
|
@ -833,6 +844,7 @@ function initialize()
|
|||
sawokensFilter,
|
||||
s_awokensEquivalent.checked,
|
||||
s_includeSuperAwoken.checked,
|
||||
s_canAssist.checked,
|
||||
searchResult
|
||||
);
|
||||
showSearch(searchResult);
|
||||
|
@ -1014,11 +1026,20 @@ function initialize()
|
|||
|
||||
const rowSkill = settingBox.querySelector(".row-mon-skill");
|
||||
const skillBox = rowSkill.querySelector(".skill-box");
|
||||
const skillTitle = skillBox.querySelector(".skill-name");
|
||||
const skillCD = skillBox.querySelector(".skill-cd");
|
||||
const skillLevel = skillBox.querySelector(".m-skill-level");
|
||||
const skillLevel_1 = skillBox.querySelector(".m-skill-lv-1");
|
||||
const skillLevel_Max = skillBox.querySelector(".m-skill-lv-max");
|
||||
|
||||
skillTitle.onclick = function(){
|
||||
const skillId = parseInt(this.getAttribute("data-skillid"),10); //获得当前技能ID
|
||||
const s_cards = Cards.filter(card=>card.activeSkillId === skillId); //搜索同技能怪物
|
||||
if (s_cards.length > 1)
|
||||
{
|
||||
showSearch(s_cards); //显示
|
||||
}
|
||||
}
|
||||
skillLevel.onchange = function(){
|
||||
const card = Cards[editBox.mid] || Cards[0]; //怪物固定数据
|
||||
const skill = Skills[card.activeSkillId];
|
||||
|
@ -1381,7 +1402,7 @@ function interchangeCard(formArr,toArr)
|
|||
if(formArr[1] != toArr[1]) //从武器拖到非武器才改变类型
|
||||
{
|
||||
from = changeType(from,formArr[1]);
|
||||
if (!isCopy) to = ichangeType(to,toArr[1]);
|
||||
if (!isCopy) to = changeType(to,toArr[1]);
|
||||
}else if (isCopy)
|
||||
{
|
||||
const newFrom = new from.constructor();
|
||||
|
@ -1470,6 +1491,13 @@ function changeid(mon,monDom,latentDom)
|
|||
if (card.canAssist)
|
||||
{//可以辅助的满觉醒打黄色星星
|
||||
awokenIcon.classList.add("allowable-assist");
|
||||
if (card.awakenings.indexOf(49)>=0)
|
||||
{//武器
|
||||
awokenIcon.classList.add("wepon");
|
||||
}else
|
||||
{
|
||||
awokenIcon.classList.remove("wepon");
|
||||
}
|
||||
}else
|
||||
{
|
||||
awokenIcon.classList.remove("allowable-assist");
|
||||
|
@ -1478,6 +1506,7 @@ function changeid(mon,monDom,latentDom)
|
|||
{
|
||||
awokenIcon.classList.remove("full-awoken");
|
||||
awokenIcon.classList.remove("allowable-assist");
|
||||
awokenIcon.classList.remove("wepon");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1677,6 +1706,16 @@ function editBoxChangeMonId(id)
|
|||
mExp.innerHTML = card.exp.max;*/
|
||||
const mName = monInfoBox.querySelector(".monster-name");
|
||||
mName.innerHTML = returnMonsterNameArr(card, currentLanguage.searchlist, currentDataSource.code)[0];
|
||||
const mSeriesId = monInfoBox.querySelector(".monster-seriesId");
|
||||
mSeriesId.innerHTML = card.seriesId;
|
||||
mSeriesId.setAttribute("data-seriesId",card.seriesId);
|
||||
if (card.seriesId == 0)
|
||||
{
|
||||
mSeriesId.classList.add("display-none");
|
||||
}else
|
||||
{
|
||||
mSeriesId.classList.remove("display-none");
|
||||
}
|
||||
const mCollabId = monInfoBox.querySelector(".monster-collabId");
|
||||
mCollabId.innerHTML = card.collabId;
|
||||
mCollabId.setAttribute("data-collabId",card.collabId);
|
||||
|
@ -1815,6 +1854,7 @@ function editBoxChangeMonId(id)
|
|||
fragment.appendChild(skillBox);
|
||||
|
||||
skillTitle.innerHTML = descriptionToHTML(skill.name);
|
||||
skillTitle.setAttribute("data-skillid", skill.id);
|
||||
skillDetail.innerHTML = parseSkillDescription(skill);
|
||||
const t_maxLevel = card.overlay || card.types.indexOf(15)>=0 ? 1 : skill.maxLevel; //遇到不能升技的,最大等级强制为1
|
||||
skillLevel.max = t_maxLevel;
|
||||
|
|
|
@ -409,10 +409,13 @@ var formation = new Formation(teamsCount,6);
|
|||
<li class="type-name"><div class="type-icon"></div></li>
|
||||
</ul>
|
||||
<div class="monsterinfo-cell">
|
||||
<div class="monster-seriesId"></div>
|
||||
<div class="monster-collabId"></div>
|
||||
<div class="monster-altName"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="monsterinfo-cell">
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-box display-none">
|
||||
<div class="attrs"><!--属性-->
|
||||
|
@ -454,7 +457,7 @@ 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>
|
||||
<input type="checkbox" name="can-assist" class="config-checkbox-ipt" id="can-assist"><label class="config-checkbox-lbl can-assist-label" for="can-assist"><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-->
|
||||
|
@ -529,6 +532,7 @@ var formation = new Formation(teamsCount,6);
|
|||
<li class="awoken-count zero"><button class="awoken-icon awoken-71" value="71"></button><button class="count" value="71">0</button></li><!--掉废-->
|
||||
<li class="awoken-count zero"><button class="awoken-icon awoken-72" value="72"></button><button class="count" value="72">0</button></li><!--掉毒-->
|
||||
</ul>
|
||||
<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>
|
||||
</div>
|
||||
<div class="sawoken-div"><!--超觉醒-->
|
||||
<button class="sawoken-clear" ></button>
|
||||
|
|
28
style.css
28
style.css
|
@ -105,7 +105,7 @@ body{
|
|||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
transition: .2s ease-out;
|
||||
transition: .3s ease-out;
|
||||
background-color: #c6c6c6;
|
||||
box-shadow: 0 2px 4px 0 #0003;
|
||||
border-radius: 50%;
|
||||
|
@ -276,6 +276,14 @@ ul{
|
|||
text-shadow: none;
|
||||
background-position: 0 -38px;
|
||||
}
|
||||
/*武器*/
|
||||
.monster .awoken-count.allowable-assist.wepon{
|
||||
transform: scale(0.80) translateY(4px);
|
||||
width:32px;height:32px;
|
||||
background-image: url(images/awoken.png);
|
||||
background-position-x: 0;
|
||||
background-position-y: -1568px;
|
||||
}
|
||||
/*怪物-超觉醒*/
|
||||
.monster .super-awoken{
|
||||
position: absolute;
|
||||
|
@ -633,7 +641,7 @@ ul{
|
|||
font-family: 'FOT-KurokaneStd-EB', "Malgun Gothic", "맑은 고딕", "Gulim", AppleGothic;
|
||||
color: white;
|
||||
text-shadow: black 2px 2px 0;
|
||||
height: 100px;
|
||||
min-height: 100px;
|
||||
margin: 5px 0;
|
||||
background-image: linear-gradient(#798421,#394914);
|
||||
border-top: #B1BB39 solid 4px;
|
||||
|
@ -899,17 +907,25 @@ ul{
|
|||
.monsterinfo-box .monster-id{
|
||||
width:150px;
|
||||
}
|
||||
.monsterinfo-box .monster-seriesId,
|
||||
.monsterinfo-box .monster-collabId,
|
||||
.monsterinfo-box .monster-altName{
|
||||
.monsterinfo-box .monster-altName
|
||||
{
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
vertical-align: bottom;
|
||||
max-width: 270px;
|
||||
/*max-width: 270px;*/
|
||||
white-space:nowrap;
|
||||
text-overflow:ellipsis;
|
||||
overflow:hidden;
|
||||
}
|
||||
.monsterinfo-box .monster-seriesId:hover::after,
|
||||
.monsterinfo-box .monster-collabId:hover::after,
|
||||
.monsterinfo-box .monster-altName:hover::after
|
||||
{
|
||||
content: "🔍";
|
||||
}
|
||||
/*.monsterinfo-box .monster-id::before{
|
||||
content: "No.";
|
||||
}*/
|
||||
|
@ -1155,6 +1171,10 @@ ul{
|
|||
}
|
||||
.row-mon-skill .skill-title .skill-name{
|
||||
color: #84BAFC;
|
||||
cursor: pointer;
|
||||
}
|
||||
.row-mon-skill .skill-title .skill-name:hover::after{
|
||||
content: "🔍";
|
||||
}
|
||||
.row-mon-leader-skill .skill-title::before{
|
||||
/*content: "隊長技能";*/
|
||||
|
|
|
@ -1043,10 +1043,13 @@ var formation = new Formation(teamsCount,6);
|
|||
<li class="type-name"><div class="type-icon"></div></li>
|
||||
</ul>
|
||||
<div class="monsterinfo-cell">
|
||||
<div class="monster-seriesId"></div>
|
||||
<div class="monster-collabId"></div>
|
||||
<div class="monster-altName"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="monsterinfo-cell">
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-box display-none">
|
||||
<div class="attrs"><!--属性-->
|
||||
|
@ -1088,7 +1091,7 @@ 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>
|
||||
<input type="checkbox" name="can-assist" class="config-checkbox-ipt" id="can-assist"><label class="config-checkbox-lbl can-assist-label" for="can-assist"><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-->
|
||||
|
@ -1163,6 +1166,7 @@ var formation = new Formation(teamsCount,6);
|
|||
<li class="awoken-count zero"><button class="awoken-icon awoken-71" value="71"></button><button class="count" value="71">0</button></li><!--掉废-->
|
||||
<li class="awoken-count zero"><button class="awoken-icon awoken-72" value="72"></button><button class="count" value="72">0</button></li><!--掉毒-->
|
||||
</ul>
|
||||
<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>
|
||||
</div>
|
||||
<div class="sawoken-div"><!--超觉醒-->
|
||||
<button class="sawoken-clear" ></button>
|
||||
|
|
|
@ -294,9 +294,14 @@ function calculateAbility(member = null, assist = null, solo = true)
|
|||
return abilitys;
|
||||
}
|
||||
//搜索卡片用
|
||||
function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equalAk,incSawoken)
|
||||
function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equalAk,canAssist,incSawoken)
|
||||
{
|
||||
let cardsRange = cards;
|
||||
//是否允许作为辅助
|
||||
if (canAssist)
|
||||
{
|
||||
cardsRange = cardsRange.filter(c=>c.canAssist);
|
||||
}
|
||||
//属性
|
||||
if (attr1 != null && attr1 === attr2)
|
||||
{ //当两个颜色相同时,主副一样颜色的只需判断一次
|
||||
|
@ -328,7 +333,6 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equal
|
|||
cardsRange = cardsRange.filter(c=>types.some(t=>c.types.indexOf(t)>=0));
|
||||
}
|
||||
//觉醒
|
||||
|
||||
//等效觉醒时,事先去除大觉醒
|
||||
if (equalAk)
|
||||
{
|
||||
|
@ -376,6 +380,7 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equal
|
|||
});
|
||||
});
|
||||
}
|
||||
|
||||
//超觉醒
|
||||
if (sawokens.length>0 && !incSawoken)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue